/*
 * KAPSAM SARMALAYICISI — .eb-scope-kurumsal
 *
 * kurumsal.css'teki .eb-adimlar* ve .eb-yorum* kuralları kapsamsızdı ve tüm
 * parts/*.css her sayfada yüklendiği için ANA SAYFAYA sızıyordu. Denetim
 * hasarı ölçtü (CSSOM ile kazanan bildirim tespiti):
 *   .eb-adimlar        → border-radius 16px + border-top + background sızıyor
 *                        (ana sayfa padding:0/margin:0 diyor, kutu istemiyor)
 *   .eb-yorum          → box-shadow sızıyor
 *   .eb-yorum__metin p → font-size 19px (ana sayfa 17px istiyor, +%11,8)
 *                        line-height 1,5 (ana sayfa 1,62 istiyor), color
 * Alfabetik yükleme sırası home → kurumsal olduğu için kurumsal kazanıyordu.
 */
/* ============================================================================
   Kurumsal sayfalar — page.php · hakkımızda · iletişim · teklif al ·
   fiyat hesaplayıcı
   ----------------------------------------------------------------------------
   Kurallar (docs/04-tasarim-sistemi.md §4):
     · Renk / font-size / boşluk DEĞERLERİ yazılmaz, theme.json token'ları
       tüketilir. Saydamlık gereken yerlerde color-mix() ile token karıştırılır.
     · Breakpoint YALNIZCA 1080 / 900 / 640. Onun dışındaki her esneme
       auto-fit + minmax ile akışkan yapılır — yeni kırılma noktası eklenmez.
     · Yeni ızgara tanımlayan her yer çocuklarına min-width:0 verir.
     · Dokunma alanları min-height:44px; sabit yükseklik yok.
   ========================================================================= */

/* ------------------------------------------------------- sayfa başlığı bandı */

.eb-phead {
	padding-block: var(--wp--preset--spacing--40);
	background: var(--wp--preset--color--surface);
	border-bottom: 1px solid var(--wp--preset--color--line-soft);
}

.eb-phead__baslik {
	margin: var(--wp--preset--spacing--30) 0 0;
	max-width: 34ch;
}

/* --------------------------------------------------- doküman düzeni (page.php)
   Sol sütun içindekiler, sağ sütun gövde. 3+ H2 yoksa tek sütun. */

.eb-doc {
	display: grid;
	grid-template-columns: 240px minmax(0, 1fr);
	gap: var(--wp--preset--spacing--60);
	align-items: start;
}
.eb-doc > * { min-width: 0; }
.eb-doc--tek { grid-template-columns: minmax(0, 1fr); }

.eb-doc__toc {
	position: sticky;
	top: calc(var(--eb-header-h) + 20px);
	padding: var(--wp--preset--spacing--40);
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: var(--eb-r-lg);
}
.eb-doc__toc ol {
	list-style: none;
	margin: var(--wp--preset--spacing--30) 0 0;
	padding: 0;
	display: grid;
	gap: 2px;
}
.eb-doc__toc a {
	display: flex;
	align-items: center;
	gap: 10px;
	min-height: 44px;
	padding: 8px 10px;
	border-radius: var(--eb-r-sm);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 600;
	line-height: 1.35;
	text-decoration: none;
	color: var(--wp--preset--color--ink-soft);
}
.eb-doc__toc a:hover {
	background: var(--wp--preset--color--base);
	color: var(--wp--preset--color--accent);
}
.eb-doc__no {
	flex: none;
	display: inline-grid;
	place-items: center;
	width: 24px;
	height: 24px;
	border-radius: 50%;
	background: var(--wp--preset--color--base);
	font-size: var(--wp--preset--font-size--eyebrow);
	font-weight: 700;
	color: var(--wp--preset--color--accent);
}

.eb-doc__bos { color: var(--wp--preset--color--muted); }

/* Çapa ile gelen başlık sabit header'ın altında kalmasın. */
.eb-doc__govde :is(h2, h3)[id] { scroll-margin-top: calc(var(--eb-header-h) + 20px); }

/* İKİ KOLONLU DOC'TA GÖVDE ORTALANMAZ.
   page.php gövdeye .eb-prose--merkez veriyor. Bu, TOC'suz (.eb-doc--tek)
   varyantta doğru: kolon 1392px, metin ekseni ortalanır ve diğer sayfalarla
   aynı yere düşer. Ama TOC varken kolon 1096px'e iniyor ve ortalama metni
   kolonun İÇİNDE kaydırıyordu: içindekilerle gövde arasında 216px boşluk,
   gövdenin sağında 178px ölü alan (1440px'te ölçüldü). H1 kapsayıcı kenarında
   (24) dururken gövde 478'de kalıyordu.
   Çözüm: iki kolonluda gövde kolonun başına yapışır, ölçüsü metin ekseninde
   kalır — sidebar + makale + sağ pay, standart doküman düzeni. */
.eb-doc:not(.eb-doc--tek) .eb-doc__govde { margin-inline: 0; }

/* -------------------------------------------------------------- CTA bandı */

.eb-ctaband__kart {
	overflow: hidden;
	border-radius: var(--eb-r-xl);
	background: var(--wp--preset--color--ink);
	color: var(--wp--preset--color--surface-alt);
	box-shadow: var(--wp--preset--shadow--panel);
}
.eb-ctaband__kart > .eb-stripe--wide { display: block; }

.eb-ctaband__ic {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: var(--wp--preset--spacing--50);
	padding: var(--wp--preset--spacing--60) var(--wp--preset--spacing--50);
}
.eb-ctaband__metin { min-width: 0; }
.eb-ctaband__baslik {
	margin: 0;
	max-width: 30ch;
	color: var(--wp--preset--color--surface-alt);
}
.eb-ctaband__alt {
	margin: var(--wp--preset--spacing--20) 0 0;
	max-width: 46ch;
	color: color-mix(in srgb, var(--wp--preset--color--surface-alt) 74%, transparent);
}
.eb-ctaband__dugmeler {
	display: flex;
	flex-wrap: wrap;
	gap: var(--wp--preset--spacing--30);
}

/* --------------------------------------------------------- iletişim kartları */

.eb-kkartlar {
	display: grid;
	gap: var(--wp--preset--spacing--30);
	margin-top: var(--wp--preset--spacing--50);
}
.eb-kkartlar > * { min-width: 0; }

.eb-kkart {
	display: flex;
	align-items: center;
	gap: var(--wp--preset--spacing--30);
	min-height: 72px;
	padding: var(--wp--preset--spacing--30) var(--wp--preset--spacing--40);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: var(--eb-r-lg);
	background: var(--wp--preset--color--surface);
	text-decoration: none;
	color: var(--wp--preset--color--ink);
	transition: border-color .18s var(--eb-ease), background-color .18s var(--eb-ease);
}
a.eb-kkart:hover {
	border-color: var(--wp--preset--color--accent);
	background: var(--wp--preset--color--surface-alt);
	color: var(--wp--preset--color--ink);
}
.eb-kkart .eb-icon:last-child {
	margin-left: auto;
	color: var(--wp--preset--color--muted-warm);
}

.eb-kkart__ikon {
	flex: none;
	display: inline-grid;
	place-items: center;
	width: 44px;
	height: 44px;
	border-radius: var(--eb-r);
	background: var(--wp--preset--color--base);
	color: var(--wp--preset--color--accent);
}
.eb-kkart--wa .eb-kkart__ikon {
	background: color-mix(in srgb, var(--wp--preset--color--accent) 14%, transparent);
}

.eb-kkart__metin {
	display: flex;
	flex-direction: column;
	gap: 2px;
	min-width: 0;
}
.eb-kkart__etiket {
	font-size: var(--wp--preset--font-size--eyebrow);
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--wp--preset--color--muted-warm);
}
.eb-kkart__deger {
	font-weight: 600;
	line-height: 1.4;
	overflow-wrap: break-word;
}

/* ----------------------------------------------------------- hakkımızda hero */

.eb-hk-hero__baslik { margin: var(--wp--preset--spacing--30) 0 0; }
.eb-hk-hero__metin { margin-top: var(--wp--preset--spacing--40); }
.eb-hk-hero__metin > * { max-width: 46ch; }
.eb-hk-hero__aksiyon {
	display: flex;
	flex-wrap: wrap;
	gap: var(--wp--preset--spacing--30);
	margin-top: var(--wp--preset--spacing--50);
}

/* ------------------------------------------------------------------ yorumlar */

.eb-scope-kurumsal .eb-yorum {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--30);
	margin: 0;
	padding: var(--wp--preset--spacing--40);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: var(--eb-r-lg);
	background: var(--wp--preset--color--surface-alt);
	box-shadow: var(--wp--preset--shadow--card);
}
.eb-scope-kurumsal .eb-yorum__metin { margin: 0; }
.eb-scope-kurumsal .eb-yorum__metin p {
	margin: 0;
	font-size: var(--wp--preset--font-size--large);
	line-height: 1.5;
	color: var(--wp--preset--color--ink-soft);
}
.eb-scope-kurumsal .eb-yorum__kim {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--wp--preset--spacing--20);
	margin-top: auto;
	padding-top: var(--wp--preset--spacing--30);
	border-top: 1px solid var(--wp--preset--color--line-soft);
}
.eb-scope-kurumsal .eb-yorum__ad {
	font-weight: 700;
	color: var(--wp--preset--color--ink);
}

/* ------------------------------------- hizmet bölgemiz: liste → etiket bulutu
   İlçe listesi core/list olarak geliyor; canlıdaki görünüm etiket bulutuydu. */

.eb-hk-liste ul.wp-block-list {
	max-width: 100%;
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: var(--wp--preset--spacing--20);
}
.eb-hk-liste ul.wp-block-list > li {
	padding: 8px 16px;
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 999px;
	background: var(--wp--preset--color--surface);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 600;
	color: var(--wp--preset--color--ink-soft);
}

/* --------------------------------------------------- iletişim / teklif düzeni */

.eb-il-baslik,
.eb-tk-baslik { margin: var(--wp--preset--spacing--30) 0 0; }

.eb-il-lead { margin-top: var(--wp--preset--spacing--30); }
.eb-il-lead > * { max-width: 46ch; }

.eb-tk-lead {
	margin: var(--wp--preset--spacing--30) 0 0;
	max-width: 48ch;
	color: var(--wp--preset--color--body);
}

.eb-tk-hesap { margin: var(--wp--preset--spacing--50) 0 0; }

/* Form kolonu üstte dursun: dar ekranda form önce gelmesi istenmiyor,
   canlıdaki sıra da bilgi → form. */
.eb-il-duzen,
.eb-tk-duzen { align-items: start; }

/* ------------------------------------------------------------ "Nasıl İşler?" */

.eb-scope-kurumsal .eb-adimlar {
	margin-top: var(--wp--preset--spacing--50);
	padding: var(--wp--preset--spacing--40);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: var(--eb-r-lg);
	background: var(--wp--preset--color--surface);
}
.eb-scope-kurumsal .eb-adimlar__liste {
	list-style: none;
	margin: var(--wp--preset--spacing--30) 0 0;
	padding: 0;
	display: grid;
	gap: var(--wp--preset--spacing--30);
	counter-reset: none;
}
.eb-scope-kurumsal .eb-adimlar__liste > li {
	display: flex;
	align-items: flex-start;
	gap: var(--wp--preset--spacing--30);
	min-width: 0;
	color: var(--wp--preset--color--body);
}
.eb-scope-kurumsal .eb-adimlar__no {
	flex: none;
	display: inline-grid;
	place-items: center;
	width: 28px;
	height: 28px;
	border-radius: 50%;
	background: var(--wp--preset--color--accent);
	color: var(--wp--preset--color--surface-alt);
	font-size: var(--wp--preset--font-size--eyebrow);
	font-weight: 700;
}

/* ------------------------------------------------------------------- formlar */

/* Sticky form paneli h=1102px, viewport 900px → hiç yapışmıyordu
   (rectTop=-668, stuck=false). Denetim "overflow atası" hipotezini çürüttü;
   sebep sadece yükseklik. Panel kendi içinde kaydırılır. */
.eb-formkart {
	padding: var(--wp--preset--spacing--50);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: var(--eb-r-xl);
	background: var(--wp--preset--color--surface);
	box-shadow: var(--wp--preset--shadow--card);
}

.eb-formkart.eb-sticky {
	max-height: calc(100dvh - var(--eb-header-h) - var(--wp--preset--spacing--50));
	overflow-y: auto;
	overscroll-behavior: contain;
}

.eb-formkart__baslik { margin: 0; }
.eb-formkart__alt {
	margin: var(--wp--preset--spacing--20) 0 var(--wp--preset--spacing--40);
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--muted);
}

.eb-form {
	display: grid;
	gap: var(--wp--preset--spacing--40);
}
.eb-form > * { min-width: 0; }

.eb-form__alt {
	margin: 0;
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--muted);
}

/* KVKK onayı — eb_field() checkbox üretmiyor, işaretleme burada. */
.eb-check {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	gap: var(--wp--preset--spacing--30);
	align-items: start;
}
.eb-check__giris {
	width: 22px;
	height: 22px;
	margin: 1px 0 0;
	accent-color: var(--wp--preset--color--accent);
}
.eb-check__etiket {
	font-size: var(--wp--preset--font-size--small);
	line-height: 1.55;
	color: var(--wp--preset--color--body);
	/* Kutu küçük olsa da tıklama alanı 44px'i geçsin. */
	min-height: 44px;
	display: flex;
	align-items: center;
	flex-wrap: wrap;
}

.eb-basarili {
	display: grid;
	justify-items: center;
	gap: var(--wp--preset--spacing--30);
	text-align: center;
}
.eb-basarili__ikon {
	display: inline-grid;
	place-items: center;
	width: 56px;
	height: 56px;
	border-radius: 50%;
	background: color-mix(in srgb, var(--wp--preset--color--accent) 14%, transparent);
	color: var(--wp--preset--color--accent);
}
.eb-basarili__baslik { margin: 0; }

/* ---------------------------------------------------------------- diyaloglar */

.eb-modal {
	margin: auto;
	padding: 0;
	border: 0;
	background: transparent;
	width: min(440px, calc(100vw - 2 * var(--eb-gutter)));
}
.eb-modal::backdrop {
	background: color-mix(in srgb, var(--wp--preset--color--ink) 58%, transparent);
}
.eb-modal__ic {
	display: grid;
	justify-items: center;
	gap: var(--wp--preset--spacing--30);
	padding: var(--wp--preset--spacing--50);
	border-radius: var(--eb-r-xl);
	background: var(--wp--preset--color--surface);
	text-align: center;
}
.eb-modal__ic > * { min-width: 0; }
.eb-modal__ic p { margin: 0; color: var(--wp--preset--color--body); }
.eb-modal__ic form { width: 100%; }
.eb-modal__baslik { margin: 0; }
.eb-modal__ikon {
	display: inline-grid;
	place-items: center;
	width: 56px;
	height: 56px;
	border-radius: 50%;
}
.eb-modal__ikon--ok {
	background: color-mix(in srgb, var(--wp--preset--color--accent) 14%, transparent);
	color: var(--wp--preset--color--accent);
}
.eb-modal__ikon--err {
	background: color-mix(in srgb, var(--wp--preset--color--danger) 14%, transparent);
	color: var(--wp--preset--color--danger);
}

/* ------------------------------------------------------------ hesaplayıcı */

/* BİLİNÇLİ SAPMA: 860px, --eb-metin-eksen (760px) değil.
   Hesaplayıcı okunan metin değil, bir form widget'ı: 4 ürün tipi kartı tek
   sıraya bu genişlikte sığıyor, 760'ta sıkışıyor. Sayfadaki TEK içerik bloğu
   ve bölüm başlığı da içinde olduğu için sayfa içi eksen çakışması yok
   (ölçüldü: başlık ve form aynı solda). */
.eb-hs {
	max-width: 860px;
	margin-inline: auto;
}

.eb-hs__baslik { margin: var(--wp--preset--spacing--30) 0 0; }
.eb-hs__lead {
	margin: var(--wp--preset--spacing--30) 0 0;
	max-width: 56ch;
	color: var(--wp--preset--color--body);
}

.eb-hs__kart {
	display: grid;
	gap: var(--wp--preset--spacing--50);
	margin-top: var(--wp--preset--spacing--50);
	padding: var(--wp--preset--spacing--50);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: var(--eb-r-xl);
	background: var(--wp--preset--color--surface);
	box-shadow: var(--wp--preset--shadow--card);
}
.eb-hs__kart > * { min-width: 0; }

.eb-hs__grup {
	margin: 0;
	padding: 0;
	border: 0;
	min-width: 0;
}
.eb-hs__legend {
	padding: 0;
	margin-bottom: var(--wp--preset--spacing--30);
	font-family: var(--wp--preset--font-family--display);
	font-size: var(--wp--preset--font-size--heading-sm);
	font-weight: 700;
	color: var(--wp--preset--color--ink);
}

/* Ürün tipi kutucukları: auto-fit ile 320px'ten 1440px'e kadar akışkan. */
.eb-hs__tipler {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
	gap: var(--wp--preset--spacing--30);
}
.eb-hs__tipler > * { min-width: 0; }

.eb-hs__tip { display: block; cursor: pointer; }
.eb-hs__tip input {
	position: absolute;
	width: 1px;
	height: 1px;
	opacity: 0;
	pointer-events: none;
}
.eb-hs__tipic {
	display: flex;
	flex-direction: column;
	gap: 3px;
	min-height: 76px;
	justify-content: center;
	padding: var(--wp--preset--spacing--30);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: var(--eb-r);
	background: var(--wp--preset--color--base);
	transition: border-color .18s var(--eb-ease), background-color .18s var(--eb-ease);
}
.eb-hs__tipic strong {
	font-family: var(--wp--preset--font-family--display);
	color: var(--wp--preset--color--ink);
}
.eb-hs__tipic small {
	font-size: var(--wp--preset--font-size--small);
	line-height: 1.35;
	color: var(--wp--preset--color--muted);
}
.eb-hs__tip:hover .eb-hs__tipic { border-color: var(--wp--preset--color--muted-warm); }
.eb-hs__tip input:checked + .eb-hs__tipic {
	border-color: var(--wp--preset--color--accent);
	background: color-mix(in srgb, var(--wp--preset--color--accent) 9%, var(--wp--preset--color--surface));
}
.eb-hs__tip input:focus-visible + .eb-hs__tipic {
	outline: 2px solid var(--wp--preset--color--accent);
	outline-offset: 2px;
}

.eb-hs__olculer {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
	gap: var(--wp--preset--spacing--40);
}
.eb-hs__olculer > * { min-width: 0; }

.eb-hs__sonuc {
	display: grid;
	gap: var(--wp--preset--spacing--20);
	padding: var(--wp--preset--spacing--50);
	border-radius: var(--eb-r-lg);
	background: var(--wp--preset--color--ink);
	color: var(--wp--preset--color--surface-alt);
}
.eb-hs__sonuc > * { min-width: 0; }
.eb-hs__sonuc .eb-kicker { color: color-mix(in srgb, var(--wp--preset--color--surface-alt) 62%, transparent); }

.eb-hs__fiyat {
	font-family: var(--wp--preset--font-family--display);
	font-size: var(--wp--preset--font-size--heading-lg);
	font-weight: 800;
	line-height: 1.1;
	letter-spacing: -.02em;
	/* Uzun fiyat dizesi dar ekranda kutuyu patlatmasın. */
	overflow-wrap: break-word;
}
.eb-hs__alan {
	font-size: var(--wp--preset--font-size--small);
	color: color-mix(in srgb, var(--wp--preset--color--surface-alt) 74%, transparent);
}
.eb-hs__uyari {
	margin: var(--wp--preset--spacing--30) 0 0;
	font-size: var(--wp--preset--font-size--small);
	line-height: 1.55;
	color: color-mix(in srgb, var(--wp--preset--color--surface-alt) 68%, transparent);
}
.eb-hs__aksiyon {
	display: flex;
	flex-wrap: wrap;
	gap: var(--wp--preset--spacing--30);
	margin-top: var(--wp--preset--spacing--30);
}

.eb-hs__sonuc--bos {
	background: var(--wp--preset--color--base);
	color: var(--wp--preset--color--ink);
	border: 1px dashed var(--wp--preset--color--line);
	gap: var(--wp--preset--spacing--30);
}
.eb-hs__sonuc--bos p { margin: 0; }

.eb-hs__tablo { display: grid; gap: var(--wp--preset--spacing--30); }

/* ------------------------------------------------------------------- tablo */

.eb-tablo {
	width: 100%;
	border-collapse: collapse;
	font-size: var(--wp--preset--font-size--small);
}
.eb-tablo :is(th, td) {
	padding: 11px 14px;
	border: 1px solid var(--wp--preset--color--line);
	text-align: left;
	vertical-align: top;
}
.eb-tablo thead th {
	background: var(--wp--preset--color--base);
	font-size: var(--wp--preset--font-size--eyebrow);
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--wp--preset--color--muted-warm);
	white-space: nowrap;
}
.eb-tablo tbody th {
	background: var(--wp--preset--color--surface-alt);
	font-weight: 700;
	color: var(--wp--preset--color--ink);
	white-space: nowrap;
}
.eb-tablo td { color: var(--wp--preset--color--body); }
.eb-tablo__sayi {
	font-variant-numeric: tabular-nums;
	font-weight: 700;
	color: var(--wp--preset--color--ink) !important;
	white-space: nowrap;
}

/* ============================================================== responsive */

@media (max-width: 1080px) {
	.eb-doc { grid-template-columns: minmax(0, 1fr); }
	.eb-doc__toc { position: static; }
	/* İçindekiler dar ekranda gövdeden önce dursun (DOM sırası zaten böyle). */
}

@media (max-width: 900px) {
	.eb-formkart,
	.eb-hs__kart { padding: var(--wp--preset--spacing--40); }
	.eb-ctaband__ic { padding: var(--wp--preset--spacing--50) var(--wp--preset--spacing--40); }
	.eb-hs__sonuc { padding: var(--wp--preset--spacing--40); }
}

@media (max-width: 640px) {
	.eb-ctaband__dugmeler,
	.eb-hs__aksiyon { flex-direction: column; align-items: stretch; }
	.eb-ctaband__dugmeler .eb-btn,
	.eb-hs__aksiyon .eb-btn { width: 100%; }

	.eb-kkart { padding: var(--wp--preset--spacing--30); }
	.eb-formkart { padding: var(--wp--preset--spacing--40) var(--wp--preset--spacing--30); }

	/* Alt aksiyon barı 640px altında görünüyor — sticky form kolonu onunla
	   çakışmasın diye sabitlemeyi tamamen bırak (app.css .eb-sticky'yi 1080'de
	   zaten statik yapıyor; burası yalnızca güvenlik ağı). */
	.eb-sticky { position: static; }
}


/* CTA bölüm sarmalayıcısı. Görsel kimlik .eb-ctaband__kart'ta; bu selector
   yalnızca bölüm boşluğunu taşır. Adı bilinçli olarak .eb-ctaband DEĞİL —
   o ad bir bileşen adı ve home.css onu kapsamsız tanımlıyordu, section'a
   verilince çift şerit üretiyordu. */
.eb-ctasec { padding-block: 0 var(--wp--preset--spacing--70); }
