/* ============================================================================
   ANA SAYFA — bölüm CSS'i
   ----------------------------------------------------------------------------
   Sözleşme: docs/06-sayfa-bolumleri.md §4 (10 bölüm, sırayla).
   Renk/tipografi/boşluk değerleri BURAYA elle yazılmaz; tek doğruluk kaynağı
   theme.json. Ara tonlar color-mix() ile TOKENLERDEN türetilir — ham hex yok.

   Breakpoint'ler app.css ile aynı üç değer: 1080px · 900px · 640px. Yeni yok.
   Yazım yönü masaüstünden aşağıya (app.css de böyle), yani taban kurallar
   1440px hedefini anlatır, max-width sorguları daraltır.
   ========================================================================= */

:root {
	/* Koyu zemin üzerinde okunur kiremit. Ham accent (#C8552B) ink üzerinde
	   ~2.9:1 kalıyor ve büyük başlık için bile sınırda; %60 accent + %40 krem
	   karışımı ~6:1 veriyor ve renk hâlâ kiremit. */
	/* theme.json'daki accent-on-dark token'ı ile BİREBİR AYNI renge çıkıyordu
	   (#7A8DAD, ink üstünde 4,68:1). İki kaynak tutmak yerine token'a bağlandı;
	   o token da böylece ölü olmaktan çıktı. */
	--eb-h-accent-soft: var(--wp--preset--color--accent-on-dark);
	/* Koyu zeminde gövde metni */
	--eb-h-on-ink: color-mix(in srgb, var(--wp--preset--color--base) 78%, var(--wp--preset--color--ink));
	--eb-h-on-ink-soft: color-mix(in srgb, var(--wp--preset--color--base) 60%, var(--wp--preset--color--ink));
	--eb-h-quote-gap: 20px;
}

/* Ana sayfanın tüm bölümleri. Metin linkleri de 44px dokunma alanı almalı;
   inline-flex olduğu için min-height görünümü değiştirmiyor. */
.eb-hsec .eb-linkarrow { min-height: 44px; }

/* ==========================================================================
   1 · HERO
   hero_bg_image_id DB'de NULL. eb_frame boş durumu ANA görünüm: koyu marka
   deseni + gradyan perde. Görsel gelirse aynı perde onu da karartıyor.
   Arka plan DEKORATİF olduğu için eb_frame'e placeholder metni verilmiyor —
   H1'in üstüne "görsel bekleniyor" yazısı düşmesin ve ekran okuyucu arka
   planı okumasın (eb_frame o durumda aria-hidden basıyor).
   ========================================================================== */

.eb-hero {
	position: relative;
	background: var(--wp--preset--color--ink);
	color: var(--wp--preset--color--surface-alt);
	overflow: hidden;
}

.eb-hero__media { position: absolute; inset: 0; }
.eb-hero__media .eb-frame { height: 100%; border-radius: 0; border: 0; }

/* Boş çerçeve normalde krem; hero bağlamında koyu marka desenine dönüyor. */
.eb-hero__media .eb-frame--empty { background: var(--wp--preset--color--ink); border: 0; }
.eb-hero__media .eb-frame__pattern {
	background:
		repeating-linear-gradient(135deg,
			color-mix(in srgb, var(--wp--preset--color--accent) 20%, transparent) 0 12px,
			transparent 12px 26px),
		linear-gradient(155deg, var(--wp--preset--color--ink-soft), var(--wp--preset--color--ink) 70%);
}

.eb-hero__perde {
	position: absolute;
	inset: 0;
	background: linear-gradient(to top,
		color-mix(in srgb, var(--wp--preset--color--ink) 92%, transparent) 0%,
		color-mix(in srgb, var(--wp--preset--color--ink) 62%, transparent) 45%,
		color-mix(in srgb, var(--wp--preset--color--ink) 35%, transparent) 72%,
		color-mix(in srgb, var(--wp--preset--color--ink) 20%, transparent) 100%);
}

.eb-hero__icerik {
	position: relative;
	min-height: clamp(520px, 72vh, 740px);
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	gap: var(--wp--preset--spacing--40);
	padding-block: var(--wp--preset--spacing--70) var(--wp--preset--spacing--60);
}

.eb-hero__badge { align-self: flex-start; }

.eb-hero__baslik {
	margin: 0;
	max-width: 22ch;
	font-size: var(--wp--preset--font-size--hero);
	color: var(--wp--preset--color--surface-alt);
	text-wrap: balance;
}
.eb-hero__accent { color: var(--eb-h-accent-soft); }

.eb-hero__lead {
	margin: 0;
	max-width: 52ch;
	font-size: var(--wp--preset--font-size--large);
	color: var(--eb-h-on-ink);
}

.eb-hero__aksiyon { display: flex; flex-wrap: wrap; gap: 14px; }

.eb-hero__kesfet {
	display: inline-flex;
	align-items: center;
	align-self: flex-start;
	gap: 8px;
	min-height: 44px;
	margin-top: var(--wp--preset--spacing--20);
	font-size: var(--wp--preset--font-size--eyebrow);
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;
	text-decoration: none;
	color: var(--eb-h-on-ink-soft);
}
.eb-hero__kesfet:hover { color: var(--wp--preset--color--surface-alt); }
.eb-hero__kesfet .eb-icon { animation: eb-h-zipla 2.2s var(--eb-ease) infinite; }

@keyframes eb-h-zipla {
	0%, 100% { transform: translateY(0); }
	50%      { transform: translateY(4px); }
}

/* ==========================================================================
   2 · İSTATİSTİK BANDI
   eb_home_stats → value / suffix / label / description.
   Sayaç progressive enhancement: değer sunucudan BASILI gelir, JS yalnızca
   0'dan hedefe sayar (assets/js/app.js → sayaclar()). data-eb-count yalnız
   sayının kendisinde; sonek kardeş span'de kaldığı için animasyon sırasında
   kaybolmuyor.
   ========================================================================== */

.eb-stats {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: var(--wp--preset--spacing--40) var(--wp--preset--spacing--50);
	padding-block: var(--wp--preset--spacing--50);
}
.eb-stats > * { min-width: 0; }

.eb-stat { text-align: center; }
.eb-stat__deger {
	display: block;
	font-family: var(--wp--preset--font-family--display);
	font-size: var(--wp--preset--font-size--heading-xl);
	font-weight: 800;
	line-height: 1;
	letter-spacing: -.02em;
	color: var(--wp--preset--color--ink);
	/* Sayarken hane genişliği oynamasın, düzen zıplamasın. */
	font-variant-numeric: tabular-nums;
}
.eb-stat__sonek { color: var(--wp--preset--color--accent); }
.eb-stat__etiket {
	margin: 10px 0 0;
	font-weight: 600;
	color: var(--wp--preset--color--ink-soft);
}
/* Prototipte YOK, DB'de var → eklendi (docs §4, bölüm 2). */
.eb-stat__aciklama {
	margin: 3px 0 0;
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--muted-warm);
}

/* ==========================================================================
   3 · ÜRÜN KATEGORİLERİ
   Görsel yok (0 ek dosya) → kart, boş çerçeve + dolu metin bloğu üzerine
   kuruldu. Prototipin "görselin üstüne beyaz yazı" düzeni görselsiz durumda
   okunmaz olurdu. Açıklama uzun SEO metni; kırpılmıyor, alt link
   margin-top:auto ile hizalanıyor.
   ========================================================================== */

.eb-katgrid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: var(--wp--preset--spacing--40);
}
.eb-katgrid > * { min-width: 0; }

.eb-kart {
	display: flex;
	flex-direction: column;
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: var(--eb-r-lg);
	overflow: hidden;
	text-decoration: none;
	transition: border-color .18s var(--eb-ease), box-shadow .18s var(--eb-ease), transform .18s var(--eb-ease);
}
.eb-kart:hover {
	border-color: color-mix(in srgb, var(--wp--preset--color--accent) 45%, var(--wp--preset--color--line));
	box-shadow: var(--wp--preset--shadow--card);
	transform: translateY(-2px);
}
.eb-kart .eb-frame { border-radius: 0; border: 0; }
.eb-kart__ic {
	display: flex;
	flex-direction: column;
	gap: 9px;
	flex: 1;
	padding: var(--wp--preset--spacing--40);
}
.eb-kart__ust { display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap; }
.eb-kart__ad {
	margin: 0;
	font-family: var(--wp--preset--font-family--display);
	font-size: var(--wp--preset--font-size--heading-sm);
	font-weight: 700;
	line-height: 1.25;
	color: var(--wp--preset--color--ink);
}
.eb-kart__metin {
	margin: 0;
	font-size: var(--wp--preset--font-size--small);
	line-height: 1.6;
	color: var(--wp--preset--color--body);
}
.eb-kart__alt { margin-top: auto; padding-top: 4px; }

/* Kartın tamamı link olduğu için içeride <a> yok; linkarrow görünümü span. */
.eb-kart .eb-linkarrow { min-height: 32px; }
.eb-kart:hover .eb-linkarrow { color: var(--wp--preset--color--accent-dark); }
.eb-kart:hover .eb-linkarrow .eb-icon { transform: translateX(3px); }

/* ==========================================================================
   4 · NEDEN BİZ
   why_us_heading / why_us_subheading + 4 madde (icon enum → eb_why_us_icon).
   ========================================================================== */

.eb-neden .eb-split { align-items: start; }
.eb-neden__giris { display: grid; gap: var(--wp--preset--spacing--30); }
.eb-neden__giris h2 { margin: 0; }
.eb-neden__giris > p { margin: 0; font-size: var(--wp--preset--font-size--large); color: var(--wp--preset--color--body); }
/* Link paragrafı lead tipografisini almasın. */
.eb-neden__link { font-size: var(--wp--preset--font-size--medium); }

.eb-neden__grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: var(--wp--preset--spacing--40);
}
.eb-neden__grid > * { min-width: 0; }

.eb-nkart {
	background: var(--wp--preset--color--base);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: var(--eb-r-lg);
	padding: var(--wp--preset--spacing--40);
}
.eb-nkart__ikon {
	display: inline-grid;
	place-items: center;
	width: 46px;
	height: 46px;
	margin-bottom: 14px;
	border-radius: var(--eb-r);
	background: var(--wp--preset--color--ink);
	color: var(--eb-h-accent-soft);
}
.eb-nkart__ad {
	margin: 0 0 6px;
	font-family: var(--wp--preset--font-family--display);
	font-size: var(--wp--preset--font-size--heading-sm);
	font-weight: 700;
	line-height: 1.3;
}
.eb-nkart p { margin: 0; font-size: var(--wp--preset--font-size--small); line-height: 1.6; color: var(--wp--preset--color--body); }

/* ==========================================================================
   5 · SON PROJELER
   featured_on_homepage referanslar, tarih DESC, LIMIT 6.
   Masaüstü düzeni 3×3 hücreye TAM oturur — boşluk kalmıyor:
       [ 1 1 2 ]
       [ 1 1 3 ]
       [ 4 5 6 ]
   ≤1080px'te vitrin ayrıcalığı kalkar, düz 2 kolon olur (6 kart = 3 satır).
   ========================================================================== */

.eb-projeler__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: var(--wp--preset--spacing--40);
}
.eb-projeler__grid > * { min-width: 0; }

.eb-proje__ic { display: grid; gap: 5px; padding: var(--wp--preset--spacing--40); }
.eb-proje__ad {
	margin: 0;
	font-family: var(--wp--preset--font-family--display);
	font-size: var(--wp--preset--font-size--heading-sm);
	font-weight: 700;
	line-height: 1.3;
	color: var(--wp--preset--color--ink);
}
.eb-proje__ilce {
	font-size: var(--wp--preset--font-size--small);
	font-weight: 600;
	color: var(--wp--preset--color--muted-warm);
}

/* Vitrin kartı: 2×2 hücre. Yüksekliği komşu satırlar belirlediği için
   çerçeveye sabit oran değil, esneme + min-height verildi. */
.eb-proje--vitrin { grid-column: span 2; grid-row: span 2; }
.eb-proje--vitrin .eb-frame { aspect-ratio: auto; flex: 1; min-height: 320px; }
.eb-proje--vitrin .eb-proje__ad { font-size: var(--wp--preset--font-size--heading-md); }

.eb-projeler__mobil { display: none; margin-top: var(--wp--preset--spacing--40); }

/* ==========================================================================
   6 · SÜREÇ
   process_heading / process_subheading + 4 adım (numara _order'dan).
   ========================================================================== */

.eb-scope-home .eb-adimlar {
	position: relative;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: var(--wp--preset--spacing--50);
	list-style: none;
	margin: 0;
	padding: 0;
}
.eb-scope-home .eb-adimlar > * { min-width: 0; }

/* Adımları birbirine bağlayan kesikli çizgi. Daireler position:relative
   olduğu için boyama sırasında çizginin ÜSTÜNDE kalıyorlar. */
.eb-scope-home .eb-adimlar::before {
	content: "";
	position: absolute;
	top: 27px;
	left: 12%;
	right: 12%;
	border-top: 2px dashed color-mix(in srgb, var(--wp--preset--color--line) 70%, var(--wp--preset--color--muted-warm));
}

.eb-adim { text-align: center; }
.eb-adim__no {
	position: relative;
	display: inline-grid;
	place-items: center;
	width: 54px;
	height: 54px;
	margin-bottom: 14px;
	border: 2px solid var(--wp--preset--color--accent);
	border-radius: 50%;
	background: var(--wp--preset--color--surface);
	font-family: var(--wp--preset--font-family--display);
	font-size: var(--wp--preset--font-size--heading-sm);
	font-weight: 800;
	line-height: 1;
	color: var(--wp--preset--color--accent);
}
.eb-adim__ad {
	margin: 0 0 8px;
	font-family: var(--wp--preset--font-family--display);
	font-size: var(--wp--preset--font-size--heading-sm);
	font-weight: 700;
	line-height: 1.3;
}
.eb-adim p {
	margin: 0 auto;
	max-width: 32ch;
	font-size: var(--wp--preset--font-size--small);
	line-height: 1.6;
	color: var(--wp--preset--color--body);
}

.eb-surec__alt { margin-top: var(--wp--preset--spacing--60); text-align: center; }

/* ==========================================================================
   7 · MÜŞTERİ YORUMLARI
   testimonials WHERE featured, created_at DESC, LIMIT 6 — 6 GERÇEK kayıt.
   Prototipin uydurma yorumları ve 5 yıldız rozeti kullanılmadı: DB'de puan
   alanı yok, yıldız basmak veri uydurmak olurdu.

   Şerit: kayan bant (app.js → data-eb-marquee ile hover'da durur, CSS de
   :hover ile durduruyor, yani JS'siz de çalışır). İkinci kopya aria-hidden.
   Kartlarda odaklanabilir öğe YOK, o yüzden kayan bant klavye tuzağı kurmuyor.
   Hareket azaltma isteğinde animasyon iptal edilip şerit elle kaydırılabilir
   hale geliyor ve kopya gizleniyor (içerik iki kez okunmasın).
   ========================================================================== */

/* Kenar solması. Maske yalnız alfa kanalını kullanır; currentColor'ın alfası 1
   olduğu için ham renk yazmadan opak durak elde ediliyor. */
.eb-scope-home .eb-yorumlar__serit {
	overflow: hidden;
	-webkit-mask-image: linear-gradient(90deg, transparent, currentColor 5%, currentColor 95%, transparent);
	mask-image: linear-gradient(90deg, transparent, currentColor 5%, currentColor 95%, transparent);
}
.eb-scope-home .eb-yorumlar__ray {
	display: flex;
	width: max-content;
	padding-block: 4px;
	animation: eb-h-marq 64s linear infinite;
}
/* İki kopyanın sarmalayıcısı düzene karışmasın; figure'lar ray'in doğrudan
   flex çocuğu olarak kalsın. */
.eb-scope-home .eb-yorumlar__oblok { display: contents; }
.eb-scope-home .eb-yorumlar__serit:hover .eb-yorumlar__ray,
.eb-scope-home .eb-yorumlar__serit.is-paused .eb-yorumlar__ray { animation-play-state: paused; }

/* Boşluk flex gap ile değil margin ile veriliyor: -50% kaydırmada kart+boşluk
   ritmi tam bölünsün, döngü başa dönerken zıplama olmasın. */
.eb-scope-home .eb-yorum {
	flex: none;
	width: min(340px, 78vw);
	/* figure'ün UA margin'i sıfırlanır, sağ boşluk KORUNUR. Ayrı bir
	   `.eb-yorum { margin: 0 }` kuralı vardı ve bir satır önceki
	   margin-right'ı eziyordu (shorthand longhand'i ezer, aynı özgüllükte
	   sonraki kazanır) → kartlar birbirine değiyordu. Tek kuralda birleşti. */
	margin: 0 var(--eb-h-quote-gap) 0 0;
	display: flex;
	flex-direction: column;
	gap: 14px;
	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-scope-home .eb-yorum__metin { margin: 0; color: var(--wp--preset--color--ink-soft); line-height: 1.62; }
.eb-scope-home .eb-yorum__metin p { margin: 0; }
.eb-scope-home .eb-yorum__kisi { display: flex; align-items: center; gap: 12px; margin-top: auto; }
.eb-scope-home .eb-yorum__bas {
	display: inline-grid;
	place-items: center;
	flex: none;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: color-mix(in srgb, var(--wp--preset--color--accent) 14%, var(--wp--preset--color--base));
	font-family: var(--wp--preset--font-family--display);
	font-size: var(--wp--preset--font-size--medium);
	font-weight: 800;
	color: var(--wp--preset--color--accent-dark);
}
.eb-scope-home .eb-yorum__ad { font-weight: 700; color: var(--wp--preset--color--ink); }
.eb-scope-home .eb-yorum__meta { display: block; font-size: var(--wp--preset--font-size--small); color: var(--wp--preset--color--muted-warm); }

@keyframes eb-h-marq {
	from { transform: translateX(0); }
	to   { transform: translateX(-50%); }
}

/* app.css hareket azaltmada yalnızca animation-DURATION'ı !important ile
   kısıyor; animation-name'i burada kapatmak süreyi anlamsız kılıyor. */
@media (prefers-reduced-motion: reduce) {
	.eb-scope-home .eb-yorumlar__ray { animation-name: none; }
	.eb-scope-home .eb-yorumlar__serit { overflow-x: auto; }
	.eb-scope-home .eb-yorumlar__kopya { display: none; }
	.eb-hero__kesfet .eb-icon { animation-name: none; }
}

/* ==========================================================================
   8 · BLOG
   blog_section_show / _heading / _subheading / _count + son N yazı.
   Rozet: pillar terimi (slug adla aynı, görünen etiket eşlenerek türetiliyor).
   Özet canlıda yok, prototipte var; docs §4 "excerpt eklenebilir" diyor → var.
   ========================================================================== */

.eb-yazi__ic { display: flex; flex-direction: column; gap: 10px; flex: 1; padding: var(--wp--preset--spacing--40); }
.eb-yazi__ust { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.eb-yazi__tarih { font-size: var(--wp--preset--font-size--small); color: var(--wp--preset--color--muted-warm); }
.eb-yazi__ad {
	margin: 0;
	font-family: var(--wp--preset--font-family--display);
	font-size: var(--wp--preset--font-size--heading-sm);
	font-weight: 700;
	line-height: 1.3;
	color: var(--wp--preset--color--ink);
	text-wrap: pretty;
}
.eb-yazi__ozet { margin: 0; font-size: var(--wp--preset--font-size--small); line-height: 1.6; color: var(--wp--preset--color--body); }

/* ==========================================================================
   9 · SSS
   <details>/<summary> — JS'siz de açılıp kapanıyor. data-eb-accordion yalnız
   "bir seferde biri açık" iyileştirmesini ekliyor. İlki açık (canlıda da öyle).
   ========================================================================== */

/* 54rem (864px) elle yazılmıştı; tüm okuma kolonlarıyla aynı eksene bağlandı. */
.eb-sss { max-width: var(--eb-metin-eksen); margin-inline: auto; }
.eb-sss__oge { border-bottom: 1px solid var(--wp--preset--color--line); }
.eb-sss__oge:first-child { border-top: 1px solid var(--wp--preset--color--line); }

.eb-sss__oge > summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	min-height: 56px;
	padding: 16px 4px;
	list-style: none;
	cursor: pointer;
	font-size: var(--wp--preset--font-size--large);
	font-weight: 600;
	color: var(--wp--preset--color--ink);
}
.eb-sss__oge > summary::-webkit-details-marker { display: none; }
.eb-sss__oge > summary:hover { color: var(--wp--preset--color--accent); }

.eb-sss__ikon {
	display: inline-grid;
	place-items: center;
	flex: none;
	width: 32px;
	height: 32px;
	border-radius: 50%;
	background: var(--wp--preset--color--line-soft);
	color: var(--wp--preset--color--ink);
	transition: transform .25s var(--eb-ease);
}
.eb-sss__oge[open] .eb-sss__ikon { transform: rotate(180deg); }

.eb-sss__cevap {
	margin: 0;
	padding: 0 48px var(--wp--preset--spacing--40) 4px;
	color: var(--wp--preset--color--body);
}

/* ==========================================================================
   10 · CTA BANDI
   cta_heading / cta_subheading / cta_wa_message.
   ========================================================================== */

.eb-cta { padding-block: 0 var(--wp--preset--spacing--80); }

.eb-scope-home .eb-ctaband {
	position: relative;
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: var(--wp--preset--spacing--50);
	padding: var(--wp--preset--spacing--70) var(--wp--preset--spacing--60);
	border-radius: var(--eb-r-xl);
	background: var(--wp--preset--color--ink);
	color: var(--wp--preset--color--surface-alt);
}
.eb-scope-home .eb-ctaband::before {
	content: "";
	position: absolute;
	inset-inline: 0;
	top: 0;
	height: 8px;
	background: repeating-linear-gradient(90deg,
		var(--wp--preset--color--accent) 0 28px,
		var(--wp--preset--color--ink) 28px 56px);
}
.eb-scope-home .eb-ctaband__metin { max-width: 46ch; }
.eb-scope-home .eb-ctaband__metin h2 {
	margin: 0;
	color: var(--wp--preset--color--surface-alt);
	text-wrap: balance;
}
.eb-scope-home .eb-ctaband__metin p { margin: 12px 0 0; color: var(--eb-h-on-ink); }
.eb-scope-home .eb-ctaband__butonlar { display: flex; flex-wrap: wrap; gap: 14px; }

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

@media (max-width: 1080px) {
	.eb-katgrid { grid-template-columns: repeat(2, 1fr); }
	.eb-projeler__grid { grid-template-columns: repeat(2, 1fr); }

	/* Vitrin ayrıcalığı kalkıyor; çerçeve kendi oranına (3:2) dönmeli. */
	.eb-proje--vitrin { grid-column: auto; grid-row: auto; }
	.eb-proje--vitrin .eb-frame { aspect-ratio: 3 / 2; flex: none; min-height: 0; }
	.eb-proje--vitrin .eb-proje__ad { font-size: var(--wp--preset--font-size--heading-sm); }

	.eb-scope-home .eb-adimlar { grid-template-columns: repeat(2, 1fr); }
	.eb-scope-home .eb-adimlar::before { display: none; }
}

@media (max-width: 900px) {
	.eb-stats { grid-template-columns: repeat(2, 1fr); }
	.eb-neden__grid { grid-template-columns: repeat(2, 1fr); }
	.eb-scope-home .eb-ctaband { padding: var(--wp--preset--spacing--60) var(--wp--preset--spacing--50); }
}

@media (max-width: 640px) {
	.eb-hero__icerik { min-height: clamp(480px, 78vh, 620px); }
	.eb-hero__aksiyon > .eb-btn { flex: 1 1 100%; }

	.eb-katgrid { grid-template-columns: 1fr; }
	.eb-projeler__grid { grid-template-columns: 1fr; }
	.eb-neden__grid { grid-template-columns: 1fr; }
	.eb-scope-home .eb-adimlar { grid-template-columns: 1fr; gap: var(--wp--preset--spacing--40); }

	/* "Tümünü Gör" bölüm başlığında gizlenip listenin altına iniyor —
	   canlı sitedeki davranış bu (docs §4, bölüm 5). */
	.eb-projeler .eb-sechead__aside { display: none; }
	.eb-projeler__mobil { display: block; }

	.eb-sss__cevap { padding-right: var(--wp--preset--spacing--40); }
	.eb-scope-home .eb-ctaband { padding: var(--wp--preset--spacing--50) var(--wp--preset--spacing--40); }
	.eb-scope-home .eb-ctaband__butonlar { width: 100%; }
	.eb-scope-home .eb-ctaband__butonlar > .eb-btn { flex: 1 1 100%; }
}
