/**
 * CEA Çiftlik - ana biçem dosyası
 *
 * Karakter: sıcak, el yapımı, hikâye anlatan. Doku hissi yalnızca CSS ile
 * (ince çizgi desenleri ve yumuşak geçişler) üretilir; ikili görsel varlık
 * kullanılmaz. Uzaktan yazı tipi ya da betik çekilmez.
 *
 * İçindekiler
 * 1.  Değişkenler
 * 2.  Doku ve temel tipografi
 * 3.  Yerleşim
 * 4.  Üst bilgi çubuğu
 * 5.  Site üst bilgisi, kimlik, sepet
 * 6.  Gezinme ve hasat şeridi
 * 7.  Çiftlik sözü şeridi
 * 8.  Arama formu
 * 9.  Sayfa ve bölüm başlıkları
 * 10. Yazı kartları ve tek yazı
 * 11. Üretici kartı ve üretici sayfası
 * 12. Beyan etiketleri, mevsim rozetleri, birim fiyat
 * 13. Veri tabloları
 * 14. Formlar
 * 15. Düğmeler
 * 16. Blok içerik biçimleri
 * 17. Sayfalama ve gezinme
 * 18. Kenar çubuğu ve bileşenler
 * 19. Mağaza düzeni ve filtre paneli
 * 20. Yorumlar
 * 21. 404 ve içerik yok
 * 22. Alt bilgi
 * 23. Duyarlılık ve erişilebilirlik
 * 23a. Duyarlılık tabanı (dokunma, form, taşma)
 * 24. Yazdırma
 *
 * KIRILMA NOKTALARI
 * arac/duyarlilik-denetle.php bu listeyi CSS'teki @media kurallarıyla BİREBİR
 * karşılaştırır: listede olmayan bir kırılma noktası ya da kullanılmayan bir
 * liste satırı hata üretir. Böylece kırılma noktası kümesi sessizce dağılmaz.
 *   min-width: 641px  — başlık arama alanı tek satıra çıkar
 *   min-width: 861px  — ürün sayfası iki sütun olur
 *   max-width: 700px  — telefon: sepet ve ödeme tabloları kendi kabında kayar
 *   max-width: 960px  — tablet ve altı: menü katlanır
 *   min-width: 961px  — masaüstü: kenar çubuğu ve mağaza filtresi yan sütuna geçer
 */

/* ==========================================================================
   1. Değişkenler
   ========================================================================== */

:root {
	/*
	 * Renk kullanım kuralı (WCAG 2.1 · 1.4.3 metin, 1.4.11 grafik öge):
	 *
	 * --cea-toprak / --cea-yesil METİN renkleridir ve üzerine BEYAZ metin
	 * yazılan düğme, rozet, etkin sekme zeminlerinde de bunlar kullanılır.
	 * Varsayılanlar beyazda 7,09:1 (#92400e) ve 5,02:1 (#15803d) verir;
	 * Özelleştirici'den gelen renkler cea_ciftlik_okunur_ton() ile en az
	 * 4,5:1'e koyulaştırılır. Kontrast oranı simetrik olduğu için aynı değer
	 * beyaz metin taşıyan zeminde de eşiği geçer.
	 *
	 * --cea-toprak-dolgu / --cea-yesil-dolgu YALNIZCA metin taşımayan süsleme
	 * ögeleri içindir: dekoratif madde işareti, bilgi kutusu şeridi, gradyan.
	 * Bu değişkenler Özelleştirici'den geleni HAM olarak taşır; üzerlerine
	 * metin yazılmaz ve durum bildirmezler.
	 *
	 * --cea-cizgi ve --cea-cizgi-koyu yalnızca kenarlık/dolgu içindir; metin
	 * rengi olarak kullanılmaz.
	 */
	--cea-toprak: #92400e;
	--cea-toprak-metin: #92400e;
	--cea-toprak-dolgu: #92400e;
	--cea-toprak-koyu: #6b2e08;
	--cea-yesil: #15803d;
	--cea-yesil-metin: #15803d;
	--cea-yesil-dolgu: #15803d;
	--cea-yesil-acik: #dcf0e2;
	--cea-hasat: #a16207;
	--cea-hasat-acik: #fbebcb;

	/*
	 * Hata rengi. Beyaz kart zemininde 6,47:1, uyarı kutusunun hasat-açık
	 * zemininde (#fbebcb) 5,50:1 verir; ikisi de gövde metni eşiğini geçer.
	 * Renk tek gösterge değildir: hatalı alanın kenarlığı kalınlaşır, altına
	 * metin iletisi basılır ve alan aria-invalid="true" taşır.
	 */
	--cea-hata: #b91c1c;

	--cea-baslik: #3c2a16;
	--cea-metin: #57493c;
	--cea-metin-soluk: #7a6a5a;

	--cea-zemin: #fff9f1;
	--cea-kart: #ffffff;
	--cea-cizgi: #eadcc9;
	--cea-cizgi-koyu: #d8c4a8;

	--cea-font-baslik: Lora, Georgia, "Times New Roman", "Palatino Linotype", serif;
	--cea-font-govde: Raleway, "Segoe UI", system-ui, -apple-system, "Helvetica Neue", Arial, sans-serif;
	--cea-font-mono: "Cascadia Mono", Consolas, "SFMono-Regular", Menlo, monospace;

	--cea-kap: 1160px;
	--cea-bosluk: 1.75rem;
	--cea-radyus-kart: 18px;
	--cea-radyus-form: 12px;
	--cea-radyus-yuvarlak: 999px;
	--cea-golge: 0 1px 2px rgba(60, 42, 22, 0.06), 0 12px 28px rgba(60, 42, 22, 0.09);
	--cea-golge-vurgu: 0 18px 42px rgba(60, 42, 22, 0.18);
	--cea-gecis: 180ms ease-out;
	--cea-dokunma: 44px;
	--cea-urun-kolon: 3;

	/* Doku: 6 piksel aralıklı, çok soluk eğik çizgiler. */
	--cea-doku: repeating-linear-gradient(
		135deg,
		rgba(146, 64, 14, 0.035) 0,
		rgba(146, 64, 14, 0.035) 1px,
		transparent 1px,
		transparent 7px
	);
}

/* ==========================================================================
   2. Doku ve temel tipografi
   ========================================================================== */

*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	-webkit-text-size-adjust: 100%;
	scroll-behavior: smooth;
}

body {
	margin: 0;
	background-color: var(--cea-zemin);
	background-image: var(--cea-doku);
	color: var(--cea-metin);
	font-family: var(--cea-font-govde);
	font-size: 1.0625rem;
	line-height: 1.75;
	-webkit-font-smoothing: antialiased;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	margin: 0 0 0.55em;
	color: var(--cea-baslik);
	font-family: var(--cea-font-baslik);
	font-weight: 600;
	line-height: 1.22;
	text-wrap: balance;
}

h1 {
	font-size: clamp(2rem, 1.35rem + 2.6vw, 3.1rem);
}

h2 {
	font-size: clamp(1.55rem, 1.2rem + 1.4vw, 2.25rem);
}

h3 {
	font-size: clamp(1.25rem, 1.08rem + 0.75vw, 1.65rem);
}

h4 {
	font-size: 1.15rem;
}

p,
ul,
ol,
dl,
figure,
pre,
blockquote {
	margin: 0 0 var(--cea-bosluk);
}

a {
	color: var(--cea-toprak-metin);
	text-decoration-thickness: 1px;
	text-underline-offset: 0.2em;
	transition: color var(--cea-gecis);
}

a:hover,
a:focus {
	color: var(--cea-yesil-metin);
}

/*
 * Odak halkası okunur yeşil türevi kullanır: varsayılan #15803d beyaz zeminde
 * 5,02:1, Özelleştirici'den gelen renk cea_ciftlik_okunur_ton() ile en az
 * 4,5:1'e çekilir. İkisi de grafik öge eşiği olan 3:1'i geçer.
 */
:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
	outline: 3px solid var(--cea-yesil);
	outline-offset: 2px;
	border-radius: var(--cea-radyus-form);
}

/*
 * Koyu yüzeylerde halka beyaza çevrilir. Yeşil halka toprak-koyu zeminde
 * yalnızca 2,07:1 veriyordu (eşik 3:1); beyaz halka aynı zeminde 10,40:1
 * verir. Halka hiçbir yerde kaldırılmaz, yalnızca rengi değişir.
 */
.ust-cubuk :where(a, button, input, select, summary, [tabindex]):focus-visible,
.soz-serit :where(a, button, summary, [tabindex]):focus-visible,
.site-alt-bilgi :where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
	outline-color: #ffffff;
}

img,
svg,
video,
iframe,
embed,
object {
	max-width: 100%;
	height: auto;
}

figure img {
	border-radius: var(--cea-radyus-kart);
}

hr {
	height: 1px;
	margin: 3.25rem 0;
	border: 0;
	background-image: repeating-linear-gradient(
		90deg,
		var(--cea-cizgi-koyu) 0,
		var(--cea-cizgi-koyu) 10px,
		transparent 10px,
		transparent 18px
	);
}

code,
kbd,
pre,
samp {
	font-family: var(--cea-font-mono);
	font-size: 0.9em;
}

pre {
	overflow-x: auto;
	padding: 1rem 1.15rem;
	border-radius: var(--cea-radyus-form);
	background-color: var(--cea-hasat-acik);
}

blockquote {
	padding-left: 1.75rem;
	/* Süsleme şeridi: metin taşımaz, durum bildirmez. */
	border-left: 4px solid var(--cea-yesil-dolgu);
	color: var(--cea-baslik);
	font-family: var(--cea-font-baslik);
	font-size: 1.15rem;
	font-style: italic;
}

blockquote cite {
	display: block;
	margin-top: 0.6rem;
	color: var(--cea-metin-soluk);
	font-family: var(--cea-font-govde);
	font-size: 0.875rem;
	font-style: normal;
}

/* ==========================================================================
   3. Yerleşim
   ========================================================================== */

.kap {
	width: 100%;
	max-width: var(--cea-kap);
	margin-inline: auto;
	padding-inline: 1.25rem;
}

.site {
	display: flex;
	min-height: 100vh;
	flex-direction: column;
}

.site-govde {
	flex: 1 0 auto;
	padding-block: 2.75rem 4.5rem;
}

.site-govde__kap {
	display: grid;
	gap: 3.25rem;
}

.icerik-alani,
.kenar-cubugu {
	min-width: 0;
}

.icerik-alani--ana > * + * {
	margin-top: 4rem;
}

/* ==========================================================================
   4. Üst bilgi çubuğu
   ========================================================================== */

.ust-cubuk {
	background-color: var(--cea-toprak-koyu);
	color: rgba(255, 249, 241, 0.9);
	font-size: 0.85rem;
}

.ust-cubuk__kap {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 0.3rem 1.5rem;
	min-height: 42px;
}

.iletisim-satiri {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.25rem 1.25rem;
}

.iletisim-satiri__oge {
	display: inline-flex;
	min-height: var(--cea-dokunma);
	align-items: center;
	color: inherit;
	text-decoration: none;
}

.iletisim-satiri__oge:hover,
.iletisim-satiri__oge:focus {
	color: var(--cea-kart);
	text-decoration: underline;
}

.kip-etiketi {
	margin: 0;
	color: var(--cea-hasat-acik);
	font-size: 0.8rem;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.hesap-gezinme__liste {
	display: flex;
	flex-wrap: wrap;
	gap: 0.25rem 1.15rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.hesap-gezinme__baglanti {
	display: inline-flex;
	min-height: var(--cea-dokunma);
	align-items: center;
	color: inherit;
	text-decoration: none;
}

.hesap-gezinme__baglanti:hover,
.hesap-gezinme__baglanti:focus {
	color: var(--cea-kart);
	text-decoration: underline;
}

/* ==========================================================================
   5. Site üst bilgisi, kimlik, sepet
   ========================================================================== */

.site-ust-bilgi {
	position: relative;
	background-color: var(--cea-kart);
	border-bottom: 1px solid var(--cea-cizgi);
}

.site-ust-bilgi::after {
	content: "";
	position: absolute;
	right: 0;
	bottom: -4px;
	left: 0;
	height: 4px;
	background-image: repeating-linear-gradient(
		90deg,
		var(--cea-hasat) 0,
		var(--cea-hasat) 14px,
		var(--cea-yesil-dolgu) 14px,
		var(--cea-yesil-dolgu) 28px
	);
	opacity: 0.55;
}

.site-ust-bilgi__kap {
	display: grid;
	align-items: center;
	gap: 1rem 1.75rem;
	padding-block: 1.4rem;
	grid-template-areas:
		"kimlik eylem"
		"arama arama"
		"gezinme gezinme";
	grid-template-columns: minmax(0, 1fr) auto;
}

.site-kimlik {
	grid-area: kimlik;
	min-width: 0;
}

.site-kimlik .custom-logo {
	display: block;
	max-height: 72px;
	width: auto;
	border-radius: 0;
}

.site-kimlik__baslik {
	margin: 0;
	color: var(--cea-baslik);
	font-family: var(--cea-font-baslik);
	font-size: clamp(1.4rem, 1.1rem + 1vw, 1.9rem);
	font-weight: 600;
	line-height: 1.2;
}

.site-kimlik__baslik a {
	color: inherit;
	text-decoration: none;
}

.site-kimlik__baslik a:hover,
.site-kimlik__baslik a:focus {
	color: var(--cea-toprak-metin);
}

.site-kimlik__slogan {
	margin: 0.2rem 0 0;
	color: var(--cea-metin-soluk);
	font-size: 0.9rem;
	font-style: italic;
}

.ust-bilgi-arama {
	grid-area: arama;
	min-width: 0;
}

.ust-bilgi-eylemler {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 0.75rem;
	grid-area: eylem;
}

.sepet-baglanti {
	display: inline-flex;
	min-height: var(--cea-dokunma);
	align-items: center;
	gap: 0.5rem;
	padding: 0.35rem 1.15rem;
	border: 1px solid var(--cea-cizgi-koyu);
	border-radius: var(--cea-radyus-yuvarlak);
	background-color: var(--cea-zemin);
	color: var(--cea-baslik);
	font-size: 0.9rem;
	font-weight: 700;
	text-decoration: none;
	transition: background-color var(--cea-gecis), border-color var(--cea-gecis);
}

.sepet-baglanti:hover,
.sepet-baglanti:focus {
	border-color: var(--cea-yesil);
	background-color: var(--cea-yesil-acik);
	color: var(--cea-baslik);
}

/* Sepet ikonu: saf CSS ile çizilmiş sepet gövdesi ve kulpu. */
.sepet-baglanti__ikon {
	position: relative;
	display: inline-block;
	width: 17px;
	height: 14px;
	border: 2px solid currentColor;
	border-top: 0;
	border-radius: 0 0 5px 5px;
}

.sepet-baglanti__ikon::before {
	content: "";
	position: absolute;
	top: -7px;
	left: 3px;
	width: 9px;
	height: 8px;
	border: 2px solid currentColor;
	border-bottom: 0;
	border-radius: 5px 5px 0 0;
}

.sepet-baglanti__sayi {
	display: inline-flex;
	min-width: 22px;
	height: 22px;
	align-items: center;
	justify-content: center;
	padding-inline: 0.3rem;
	border-radius: var(--cea-radyus-yuvarlak);
	background-color: var(--cea-toprak);
	color: var(--cea-kart);
	font-size: 0.75rem;
	font-weight: 700;
	line-height: 1;
}

/* ==========================================================================
   6. Gezinme ve hasat şeridi
   ========================================================================== */

.ana-gezinme {
	grid-area: gezinme;
	min-width: 0;
}

.menu {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.15rem 0.4rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.menu-ogesi {
	position: relative;
}

.menu-baglanti {
	display: inline-flex;
	min-height: var(--cea-dokunma);
	align-items: center;
	padding-inline: 0.9rem;
	border-radius: var(--cea-radyus-yuvarlak);
	color: var(--cea-baslik);
	font-size: 0.98rem;
	font-weight: 600;
	text-decoration: none;
	transition: background-color var(--cea-gecis), color var(--cea-gecis);
}

.menu-baglanti:hover,
.menu-baglanti:focus {
	background-color: var(--cea-hasat-acik);
	color: var(--cea-toprak-metin);
}

.menu-ogesi.current-menu-item > .menu-baglanti,
.menu-ogesi.current_page_item > .menu-baglanti {
	background-color: var(--cea-yesil-acik);
	color: var(--cea-baslik);
	box-shadow: inset 0 -2px 0 var(--cea-yesil);
}

.menu-anahtari {
	display: none;
	gap: 0.5rem;
	min-height: var(--cea-dokunma);
	padding-inline: 1rem;
	border: 1px solid var(--cea-cizgi-koyu);
	border-radius: var(--cea-radyus-yuvarlak);
}

/* Hamburger: üç çizgi, orta çizgi gövdenin kendisi. */
.menu-anahtari__ikon,
.menu-anahtari__ikon::before,
.menu-anahtari__ikon::after {
	display: block;
	width: 20px;
	height: 2px;
	background-color: currentColor;
}

.menu-anahtari__ikon {
	position: relative;
}

.menu-anahtari__ikon::before,
.menu-anahtari__ikon::after {
	content: "";
	position: absolute;
	left: 0;
}

.menu-anahtari__ikon::before {
	top: -6px;
}

.menu-anahtari__ikon::after {
	top: 6px;
}

/*
 * İkon-tek alt menü anahtarı. İkonun kendisi 7 piksel kalır ama tıklanabilir
 * alan her ekran genişliğinde 44×44 pikseldir (WCAG 2.5.5). Daha küçük bir
 * hedefte dokunmatik kullanıcı oku ıskalayıp üst menü bağlantısını tetikliyor
 * ve alt menüye hiç erişemiyordu.
 */
.alt-menu-anahtari {
	display: inline-flex;
	min-height: var(--cea-dokunma);
	min-width: var(--cea-dokunma);
	align-items: center;
	justify-content: center;
	padding: 0;
	border: 0;
	border-radius: var(--cea-radyus-yuvarlak);
	background-color: transparent;
}

/* Açılır menü oku. */
.alt-menu-anahtari__ikon {
	display: block;
	width: 7px;
	height: 7px;
	border-right: 2px solid currentColor;
	border-bottom: 2px solid currentColor;
	transform: rotate(45deg) translateY(-2px);
	transition: transform var(--cea-gecis);
}

.alt-menu-anahtari[aria-expanded="true"] .alt-menu-anahtari__ikon {
	transform: rotate(-135deg) translateY(-2px);
}

.alt-menu {
	position: absolute;
	z-index: 30;
	display: none;
	min-width: 230px;
	margin: 0;
	padding: 0.4rem;
	border: 1px solid var(--cea-cizgi);
	border-radius: var(--cea-radyus-form);
	background-color: var(--cea-kart);
	box-shadow: var(--cea-golge);
	list-style: none;
}

.menu-ogesi--alt-menulu:hover > .alt-menu,
.menu-ogesi--alt-menulu:focus-within > .alt-menu,
.alt-menu-anahtari[aria-expanded="true"] + .alt-menu {
	display: block;
}

.alt-menu .menu-baglanti {
	display: flex;
	width: 100%;
	border-radius: 8px;
}

.hasat-serit {
	border-top: 1px solid var(--cea-cizgi);
	background-color: var(--cea-hasat-acik);
}

.hasat-menu {
	max-width: var(--cea-kap);
	margin-inline: auto;
	padding-inline: 1.25rem;
	overflow-x: auto;
	flex-wrap: nowrap;
	gap: 0.25rem;
	scrollbar-width: thin;
}

.hasat-menu .menu-baglanti {
	min-height: 46px;
	white-space: nowrap;
	font-family: var(--cea-font-baslik);
	font-size: 0.95rem;
}

.hasat-menu .menu-baglanti:hover,
.hasat-menu .menu-baglanti:focus {
	background-color: var(--cea-kart);
}

/* ==========================================================================
   7. Çiftlik sözü şeridi
   ========================================================================== */

.soz-serit {
	background-color: var(--cea-toprak);
	color: var(--cea-kart);
}

.soz-serit__liste {
	display: flex;
	flex-wrap: wrap;
	gap: 0.4rem 2.5rem;
	margin: 0;
	padding-block: 0.9rem;
	list-style: none;
}

.soz-serit__oge {
	position: relative;
	padding-left: 1.35rem;
	font-size: 0.92rem;
	font-weight: 600;
}

/* Buğday başı yerine sade bir onay işareti. */
.soz-serit__oge::before {
	content: "";
	position: absolute;
	top: 0.62em;
	left: 0;
	width: 9px;
	height: 5px;
	border-left: 2px solid var(--cea-hasat-acik);
	border-bottom: 2px solid var(--cea-hasat-acik);
	transform: rotate(-45deg);
}

/* ==========================================================================
   8. Arama formu
   ========================================================================== */

.arama-formu__etiket {
	display: block;
	margin-bottom: 0.35rem;
	color: var(--cea-metin-soluk);
	font-size: 0.85rem;
	font-weight: 600;
}

.arama-formu__satir {
	display: flex;
	gap: 0.5rem;
}

.arama-formu__alan {
	min-width: 0;
	min-height: var(--cea-dokunma);
	flex: 1 1 auto;
	padding: 0.55rem 1rem;
	border: 1px solid var(--cea-cizgi-koyu);
	border-radius: var(--cea-radyus-form);
	background-color: var(--cea-kart);
	color: var(--cea-metin);
	font-family: inherit;
	font-size: 1rem;
}

.arama-formu__alan::placeholder {
	color: var(--cea-metin-soluk);
	opacity: 1;
}

.arama-formu__dugme {
	flex: 0 0 auto;
}

.arama-yeniden {
	max-width: 32rem;
	margin-bottom: 2.5rem;
}

/* ==========================================================================
   9. Sayfa ve bölüm başlıkları
   ========================================================================== */

.sayfa-basligi {
	margin-bottom: 2.5rem;
	padding-bottom: 1.25rem;
	border-bottom: 1px solid var(--cea-cizgi);
}

.sayfa-basligi__ana {
	margin-bottom: 0.35rem;
}

.sayfa-basligi__vurgu {
	color: var(--cea-toprak-metin);
}

.sayfa-basligi__ozet,
.sayfa-basligi__aciklama {
	margin: 0;
	max-width: 68ch;
	color: var(--cea-metin-soluk);
}

.bolum-ust {
	margin-bottom: 2rem;
}

.bolum-ust__baslik {
	position: relative;
	margin-bottom: 0.5rem;
	padding-bottom: 0.6rem;
}

.bolum-ust__baslik::after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	width: 68px;
	height: 3px;
	border-radius: var(--cea-radyus-yuvarlak);
	background-color: var(--cea-hasat);
}

.bolum-ust__ozet {
	margin: 0;
	max-width: 68ch;
	color: var(--cea-metin-soluk);
}

.bolum-ust__not,
.toptan-notu {
	margin-top: 1rem;
	padding: 1rem 1.25rem;
	border-left: 4px solid var(--cea-hasat);
	border-radius: 0 var(--cea-radyus-form) var(--cea-radyus-form) 0;
	background-color: var(--cea-hasat-acik);
	font-size: 0.95rem;
}

.bolum-ust__not p:last-child,
.toptan-notu p:last-child {
	margin-bottom: 0;
}

/* ==========================================================================
   10. Yazı kartları ve tek yazı
   ========================================================================== */

.yazi-listesi {
	display: grid;
	gap: 2.25rem;
}

.yazi-listesi--izgara {
	grid-template-columns: repeat(auto-fill, minmax(min(260px, 100%), 1fr));
}

.girdi--kart {
	display: flex;
	overflow: hidden;
	flex-direction: column;
	border: 1px solid var(--cea-cizgi);
	border-radius: var(--cea-radyus-kart);
	background-color: var(--cea-kart);
	transition: box-shadow var(--cea-gecis), transform var(--cea-gecis);
}

.girdi--kart:hover,
.girdi--kart:focus-within {
	box-shadow: var(--cea-golge-vurgu);
	transform: translateY(-3px);
}

.girdi--kart .girdi__govde {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	padding: 1.5rem 1.6rem 1.75rem;
}

.girdi--kart .girdi__baslik {
	font-size: 1.3rem;
}

.girdi__baslik-baglanti {
	color: inherit;
	text-decoration: none;
}

.girdi__baslik-baglanti:hover,
.girdi__baslik-baglanti:focus {
	color: var(--cea-toprak-metin);
	text-decoration: underline;
}

.girdi--tek,
.girdi--sayfa,
.girdi--ana {
	max-width: 74ch;
}

.girdi--tek .girdi__ust,
.girdi--sayfa .girdi__ust,
.girdi--ana .girdi__ust {
	margin-bottom: 1.5rem;
}

.one-cikan-gorsel {
	margin: 0;
	line-height: 0;
}

.one-cikan-gorsel--tek {
	margin-bottom: 2rem;
}

.one-cikan-gorsel__resim {
	display: block;
	width: 100%;
	object-fit: cover;
}

.girdi--kart .one-cikan-gorsel__resim {
	aspect-ratio: 3 / 2;
	border-radius: 0;
}

.one-cikan-gorsel--tek .one-cikan-gorsel__resim {
	border-radius: var(--cea-radyus-kart);
}

.yazi-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 0.2rem 1.15rem;
	color: var(--cea-metin-soluk);
	font-size: 0.85rem;
}

.yazi-meta a {
	color: inherit;
}

.girdi__ozet {
	flex: 1 1 auto;
}

.girdi__ozet p:last-child {
	margin-bottom: 0;
}

.girdi__devam {
	margin: 1.25rem 0 0;
}

.girdi__alt {
	margin-top: 1.5rem;
	font-size: 0.85rem;
}

.duzenle-baglanti a {
	color: var(--cea-metin-soluk);
}

.yazi-etiketler {
	max-width: 74ch;
	margin-top: 2.5rem;
	padding-top: 1.5rem;
	border-top: 1px solid var(--cea-cizgi);
}

.yazi-etiketler__baslik {
	margin-bottom: 0.6rem;
	font-family: var(--cea-font-govde);
	font-size: 0.85rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

/*
 * Etiket pulları BAĞLANTI DÜĞMESİDİR (arşive gider), satır içi metin bağlantısı
 * değildir; bu yüzden 44 piksel dokunma hedefi geçerlidir. Tarayıcıda ölçülen
 * eski değer 35 pikseldi. `inline-flex` şart: `inline-block` bir kutu üretse de
 * dikey ortalama için hizalamaya ihtiyaç var.
 */
.yazi-etiketler__liste a {
	display: inline-flex;
	align-items: center;
	min-height: var(--cea-dokunma);
	margin: 0 0.35rem 0.5rem 0;
	padding: 0.3rem 0.9rem;
	border: 1px solid var(--cea-cizgi-koyu);
	border-radius: var(--cea-radyus-yuvarlak);
	font-size: 0.85rem;
	text-decoration: none;
}

.yazi-etiketler__liste a:hover,
.yazi-etiketler__liste a:focus {
	border-color: var(--cea-yesil);
	background-color: var(--cea-yesil-acik);
}

/* ==========================================================================
   11. Üretici kartı ve üretici sayfası
   ========================================================================== */

.uretici-serit__liste,
.uretici-listesi {
	display: grid;
	gap: 2rem;
	grid-template-columns: repeat(auto-fill, minmax(min(260px, 100%), 1fr));
}

.uretici-serit__eylem {
	margin: 2rem 0 0;
}

.uretici-karti {
	display: flex;
	overflow: hidden;
	flex-direction: column;
	border: 1px solid var(--cea-cizgi);
	border-radius: var(--cea-radyus-kart);
	background-color: var(--cea-kart);
}

.uretici-karti__gorsel {
	margin: 0;
	line-height: 0;
}

.uretici-karti__resim {
	display: block;
	width: 100%;
	aspect-ratio: 1 / 1;
	border-radius: 0;
	object-fit: cover;
}

.uretici-karti__govde {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	padding: 1.4rem 1.5rem 1.6rem;
}

.uretici-karti__ust-etiket {
	margin: 0 0 0.35rem;
	color: var(--cea-yesil-metin);
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.09em;
	text-transform: uppercase;
}

.uretici-karti__ad {
	margin-bottom: 0.5rem;
	font-size: 1.25rem;
}

.uretici-karti__baglanti {
	color: inherit;
	text-decoration: none;
}

.uretici-karti__baglanti:hover,
.uretici-karti__baglanti:focus {
	color: var(--cea-toprak-metin);
	text-decoration: underline;
}

.uretici-karti__bilgiler {
	margin: 0 0 0.85rem;
	padding: 0;
	list-style: none;
	font-size: 0.88rem;
}

.uretici-karti__bilgi {
	position: relative;
	padding-left: 1.1rem;
	color: var(--cea-metin-soluk);
}

.uretici-karti__bilgi::before {
	content: "";
	position: absolute;
	top: 0.72em;
	left: 0;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background-color: var(--cea-hasat);
}

/* 6 piksel süsleme noktaları: yanındaki metin bilgiyi tek başına taşır. */
.uretici-karti__bilgi--sure::before {
	background-color: var(--cea-yesil-dolgu);
}

.uretici-karti__bilgi--uzmanlik::before {
	background-color: var(--cea-toprak-dolgu);
}

.uretici-karti__hikaye {
	flex: 1 1 auto;
	font-size: 0.95rem;
}

.uretici-karti__eylem {
	margin: 1.1rem 0 0;
}

/* Ürün sayfasındaki kart yatay durur. */
.uretici-karti--urun {
	flex-direction: row;
	align-items: stretch;
	gap: 0;
	margin-block: 2.5rem;
	background-image: var(--cea-doku);
}

.uretici-karti--urun .uretici-karti__gorsel {
	flex: 0 0 190px;
	max-width: 40%;
}

.uretici-karti--urun .uretici-karti__resim {
	height: 100%;
}

.uretici-sayfasi {
	max-width: 78ch;
}

.uretici-sayfasi__ust {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 1.75rem;
	margin-bottom: 2.25rem;
	padding-bottom: 1.75rem;
	border-bottom: 1px solid var(--cea-cizgi);
}

.uretici-sayfasi__gorsel {
	margin: 0;
	flex: 0 0 170px;
	line-height: 0;
}

.uretici-sayfasi__resim {
	display: block;
	width: 170px;
	height: 170px;
	border: 5px solid var(--cea-kart);
	border-radius: 50%;
	box-shadow: var(--cea-golge);
	object-fit: cover;
}

.uretici-sayfasi__kimlik {
	min-width: 0;
	flex: 1 1 260px;
}

.uretici-sayfasi__ad {
	margin-bottom: 0.75rem;
}

.uretici-sayfasi__bilgiler {
	display: grid;
	gap: 0.5rem 1.75rem;
	margin: 0;
	padding: 0;
	list-style: none;
	grid-template-columns: repeat(auto-fit, minmax(min(160px, 100%), 1fr));
}

.uretici-sayfasi__etiket {
	display: block;
	color: var(--cea-metin-soluk);
	font-size: 0.75rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.uretici-sayfasi__deger {
	display: block;
	color: var(--cea-baslik);
	font-family: var(--cea-font-baslik);
	font-size: 1.02rem;
}

.uretici-urunleri {
	margin-top: 3.5rem;
}

/* ==========================================================================
   12. Beyan etiketleri, mevsim rozetleri, birim fiyat
   ========================================================================== */

.beyan-listesi {
	margin-block: 1.75rem;
	padding: 1.25rem 1.4rem;
	border: 1px solid var(--cea-cizgi);
	border-radius: var(--cea-radyus-form);
	background-color: var(--cea-kart);
}

.beyan-listesi__baslik {
	margin-bottom: 0.85rem;
	font-family: var(--cea-font-govde);
	font-size: 0.82rem;
	letter-spacing: 0.09em;
	text-transform: uppercase;
}

.beyan-listesi__kalemler {
	display: grid;
	gap: 0.85rem 1.5rem;
	margin: 0;
	grid-template-columns: repeat(auto-fit, minmax(min(150px, 100%), 1fr));
}

.beyan__etiket {
	color: var(--cea-metin-soluk);
	font-size: 0.75rem;
	letter-spacing: 0.07em;
	text-transform: uppercase;
}

.beyan__deger {
	margin: 0.15rem 0 0;
	color: var(--cea-baslik);
	font-family: var(--cea-font-baslik);
	font-size: 1.02rem;
}

.beyan--katkisiz .beyan__deger {
	color: var(--cea-yesil-metin);
}

.beyan-listesi__not {
	margin: 1rem 0 0;
	color: var(--cea-metin-soluk);
	font-size: 0.8rem;
}

.mevsim-rozeti {
	display: inline-flex;
	align-items: center;
	padding: 0.28rem 0.85rem;
	border-radius: var(--cea-radyus-yuvarlak);
	color: var(--cea-kart);
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.02em;
	line-height: 1.35;
}

.mevsim-rozeti--mevsiminde {
	background-color: var(--cea-yesil);
}

.mevsim-rozeti--siparis {
	background-color: var(--cea-hasat);
}

.mevsim-rozeti--mevsimi-gec {
	background-color: var(--cea-metin);
}

.mevsim-durumu {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.6rem 0.9rem;
	margin-block: 1.25rem;
	padding: 0.9rem 1.1rem;
	border-left: 4px solid var(--cea-cizgi-koyu);
	border-radius: 0 var(--cea-radyus-form) var(--cea-radyus-form) 0;
	background-color: var(--cea-kart);
}

.mevsim-durumu--mevsiminde {
	border-left-color: var(--cea-yesil);
}

.mevsim-durumu--siparis {
	border-left-color: var(--cea-hasat);
}

.mevsim-durumu--mevsimi-gec {
	border-left-color: var(--cea-metin);
}

.mevsim-durumu__metin {
	margin: 0;
	flex: 1 1 240px;
	font-size: 0.92rem;
}

.birim-fiyat {
	margin: 0.35rem 0 1rem;
	font-size: 0.92rem;
}

.birim-fiyat__etiket {
	color: var(--cea-metin-soluk);
}

.birim-fiyat__deger {
	color: var(--cea-baslik);
	font-weight: 700;
}

/* ==========================================================================
   13. Veri tabloları
   ========================================================================== */

.tablo-kabi {
	overflow-x: auto;
	margin-bottom: var(--cea-bosluk);
	border: 1px solid var(--cea-cizgi);
	border-radius: var(--cea-radyus-form);
	background-color: var(--cea-kart);
	-webkit-overflow-scrolling: touch;
}

.tablo-kabi--kayan {
	box-shadow: inset -14px 0 14px -14px rgba(60, 42, 22, 0.35);
}

table {
	width: 100%;
	border-collapse: collapse;
	font-size: 0.95rem;
}

th,
td {
	padding: 0.7rem 0.9rem;
	border-bottom: 1px solid var(--cea-cizgi);
	text-align: start;
	vertical-align: top;
}

th {
	color: var(--cea-baslik);
	font-family: var(--cea-font-baslik);
	font-weight: 600;
}

.veri-tablo {
	min-width: 100%;
}

.veri-tablo__aciklama {
	padding: 0.9rem 0.9rem 0.5rem;
	color: var(--cea-metin-soluk);
	font-size: 0.82rem;
	text-align: start;
}

.veri-tablo thead th {
	background-color: var(--cea-hasat-acik);
	font-size: 0.85rem;
	letter-spacing: 0.03em;
	white-space: nowrap;
}

.veri-tablo tbody tr:last-child th,
.veri-tablo tbody tr:last-child td {
	border-bottom: 0;
}

.veri-tablo tbody tr:nth-child(even) {
	background-color: var(--cea-zemin);
}

.kademe-tablo,
.analiz-tablo,
.nakliye-tahmin {
	margin-block: 2.5rem;
}

.kademe-tablo__baslik,
.analiz-tablo__baslik,
.nakliye-tahmin__baslik,
.teklif-bolumu__baslik,
.haber-bolumu__baslik {
	margin-bottom: 0.9rem;
	font-size: 1.35rem;
}

.toptan-tablo {
	min-width: 720px;
}

.toptan-tablo__ad {
	display: inline-block;
	margin-right: 0.5rem;
	font-family: var(--cea-font-baslik);
	font-size: 1.02rem;
}

/* ==========================================================================
   14. Formlar
   ========================================================================== */

.alan {
	margin: 0;
}

.alan__etiket {
	display: block;
	margin-bottom: 0.3rem;
	color: var(--cea-baslik);
	font-size: 0.88rem;
	font-weight: 700;
}

.alan__zorunlu {
	color: var(--cea-toprak-metin);
}

.alan__giris {
	width: 100%;
	min-height: var(--cea-dokunma);
	padding: 0.55rem 0.9rem;
	border: 1px solid var(--cea-cizgi-koyu);
	border-radius: var(--cea-radyus-form);
	background-color: var(--cea-kart);
	color: var(--cea-metin);
	font-family: inherit;
	font-size: 1rem;
}

textarea.alan__giris {
	min-height: 120px;
	resize: vertical;
}

.teklif-bolumu,
.haber-bolumu {
	margin-block: 2.75rem;
	padding: 1.75rem;
	border: 1px solid var(--cea-cizgi);
	border-radius: var(--cea-radyus-kart);
	background-color: var(--cea-kart);
	background-image: var(--cea-doku);
}

.teklif-bolumu__ozet,
.haber-bolumu__ozet {
	max-width: 66ch;
	color: var(--cea-metin-soluk);
}

.teklif-formu__izgara {
	display: grid;
	gap: 1.1rem 1.5rem;
	margin-bottom: 1.1rem;
	grid-template-columns: repeat(auto-fit, minmax(min(210px, 100%), 1fr));
}

.teklif-formu__eylem,
.haber-formu__eylem {
	margin: 1.35rem 0 0;
}

.teklif-formu__not {
	margin: 0.85rem 0 0;
	color: var(--cea-metin-soluk);
	font-size: 0.82rem;
}

.haber-formu .alan {
	max-width: 24rem;
}

.nakliye-formu__satir {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	gap: 1rem;
}

.nakliye-formu .alan {
	flex: 0 1 150px;
}

.nakliye-formu .alan--dugme {
	flex: 0 0 auto;
}

.nakliye-tahmin__cikis {
	margin-bottom: 1rem;
	color: var(--cea-metin-soluk);
	font-size: 0.92rem;
}

.nakliye-tahmin__sonuc {
	margin: 1.25rem 0 0;
	padding: 0.9rem 1.1rem;
	/* Süsleme şeridi; sonuç bilgisi kutunun metninde yazılıdır. */
	border-left: 4px solid var(--cea-yesil-dolgu);
	border-radius: 0 var(--cea-radyus-form) var(--cea-radyus-form) 0;
	background-color: var(--cea-yesil-acik);
	font-weight: 700;
}

.nakliye-tahmin__uyari {
	margin: 0.85rem 0 0;
	color: var(--cea-metin-soluk);
	font-size: 0.82rem;
}

.form-bildirim {
	margin-bottom: 1.25rem;
	padding: 0.9rem 1.1rem;
	border-left: 4px solid var(--cea-yesil);
	border-radius: 0 var(--cea-radyus-form) var(--cea-radyus-form) 0;
	background-color: var(--cea-yesil-acik);
	color: var(--cea-baslik);
	font-weight: 600;
}

.form-uyari {
	margin-bottom: 1.25rem;
	padding: 1rem 1.15rem;
	border-left: 4px solid var(--cea-toprak);
	border-radius: 0 var(--cea-radyus-form) var(--cea-radyus-form) 0;
	background-color: var(--cea-hasat-acik);
}

.form-uyari__baslik {
	margin: 0 0 0.4rem;
	color: var(--cea-toprak-metin);
	font-weight: 700;
}

.form-uyari__liste {
	margin: 0;
	padding-left: 1.25rem;
	font-size: 0.92rem;
}

/* Hata özeti maddesi hatalı alana bağlantı verir. */
.form-uyari__baglanti {
	color: var(--cea-hata);
	font-weight: 600;
}

/*
 * Hatalı alan: kalın kırmızı kenarlık + alan altında metin iletisi. İleti
 * aria-describedby ile alana bağlıdır; renk tek gösterge değildir.
 */
.alan__giris[aria-invalid="true"] {
	border-width: 2px;
	border-color: var(--cea-hata);
}

.alan__hata {
	display: block;
	margin-top: 0.3rem;
	color: var(--cea-hata);
	font-size: 0.85rem;
	font-weight: 600;
}

/*
 * Tuzak (honeypot) alanı: ekrandan çıkarılır, klavye sırasında yer almaz ve
 * yardımcı teknolojiden aria-hidden ile saklanır. Kullanıcı hiç görmez.
 */
.tuzak-alani {
	position: absolute;
	left: -9999px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

/* ==========================================================================
   15. Düğmeler
   ========================================================================== */

.dugme,
button,
input[type="submit"],
input[type="button"] {
	display: inline-flex;
	min-height: var(--cea-dokunma);
	align-items: center;
	justify-content: center;
	gap: 0.4rem;
	padding: 0.65rem 1.6rem;
	border: 2px solid transparent;
	border-radius: var(--cea-radyus-yuvarlak);
	background-color: var(--cea-toprak);
	color: var(--cea-kart);
	cursor: pointer;
	font-family: var(--cea-font-govde);
	font-size: 0.95rem;
	font-weight: 700;
	line-height: 1.2;
	text-align: center;
	text-decoration: none;
	transition: background-color var(--cea-gecis), border-color var(--cea-gecis), color var(--cea-gecis);
}

.dugme:hover,
.dugme:focus,
button:hover,
input[type="submit"]:hover {
	background-color: var(--cea-yesil);
	color: var(--cea-kart);
}

.dugme--ikincil {
	background-color: var(--cea-yesil);
}

.dugme--ikincil:hover,
.dugme--ikincil:focus {
	background-color: var(--cea-toprak);
}

.dugme--cizgili {
	border-color: var(--cea-toprak);
	background-color: transparent;
	color: var(--cea-toprak-metin);
}

.dugme--cizgili:hover,
.dugme--cizgili:focus {
	border-color: var(--cea-yesil);
	background-color: var(--cea-yesil);
	color: var(--cea-kart);
}

/* Görsel olarak hafif kalır; dokunma hedefi 44 pikselin altına düşmez. */
.dugme--kucuk {
	min-height: var(--cea-dokunma);
	padding: 0.35rem 1.15rem;
	font-size: 0.88rem;
}

.menu-anahtari,
.alt-menu-anahtari,
.filtre-anahtari {
	background-color: transparent;
	color: var(--cea-baslik);
}

.menu-anahtari:hover,
.menu-anahtari:focus,
.alt-menu-anahtari:hover,
.alt-menu-anahtari:focus,
.filtre-anahtari:hover,
.filtre-anahtari:focus {
	background-color: var(--cea-hasat-acik);
	color: var(--cea-toprak-metin);
}

/* ==========================================================================
   16. Blok içerik biçimleri
   ========================================================================== */

.entry-content > * {
	margin-bottom: var(--cea-bosluk);
}

.entry-content > *:last-child {
	margin-bottom: 0;
}

.entry-content h2,
.entry-content h3,
.entry-content h4 {
	margin-top: 2.5rem;
}

.entry-content ul,
.entry-content ol {
	padding-left: 1.5rem;
}

.entry-content li + li {
	margin-top: 0.35rem;
}

.entry-content .wp-block-table {
	overflow-x: auto;
}

.entry-content .wp-block-pullquote {
	padding: 1.75rem;
	border-block: 2px solid var(--cea-hasat);
	text-align: center;
}

.entry-content .wp-block-image img {
	border-radius: var(--cea-radyus-kart);
}

.sayfa-baglantilari {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5rem;
	margin-top: 2rem;
	font-size: 0.9rem;
}

.sayfa-baglantilari__oge {
	display: inline-flex;
	min-height: var(--cea-dokunma);
	min-width: var(--cea-dokunma);
	align-items: center;
	justify-content: center;
	padding-inline: 0.5rem;
	border: 1px solid var(--cea-cizgi-koyu);
	border-radius: var(--cea-radyus-yuvarlak);
}

/* ==========================================================================
   17. Sayfalama ve gezinme
   ========================================================================== */

.navigation {
	margin-top: 3rem;
}

.navigation .nav-links {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	align-items: center;
}

.navigation .page-numbers {
	display: inline-flex;
	min-height: var(--cea-dokunma);
	min-width: var(--cea-dokunma);
	align-items: center;
	justify-content: center;
	padding-inline: 0.75rem;
	border: 1px solid var(--cea-cizgi-koyu);
	border-radius: var(--cea-radyus-yuvarlak);
	background-color: var(--cea-kart);
	font-weight: 600;
	text-decoration: none;
}

.navigation .page-numbers:hover,
.navigation .page-numbers:focus {
	border-color: var(--cea-yesil);
	background-color: var(--cea-yesil-acik);
}

.navigation .page-numbers.current {
	border-color: var(--cea-toprak);
	background-color: var(--cea-toprak);
	color: var(--cea-kart);
}

.post-navigation .nav-links {
	display: grid;
	gap: 1.25rem;
	grid-template-columns: repeat(auto-fit, minmax(min(240px, 100%), 1fr));
}

.post-navigation .nav-links > div {
	padding: 1.1rem 1.25rem;
	border: 1px solid var(--cea-cizgi);
	border-radius: var(--cea-radyus-form);
	background-color: var(--cea-kart);
}

.post-navigation a {
	text-decoration: none;
}

.gezinme__etiket {
	display: block;
	color: var(--cea-metin-soluk);
	font-size: 0.75rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.gezinme__baslik {
	display: block;
	font-family: var(--cea-font-baslik);
	font-size: 1.05rem;
}

/* ==========================================================================
   18. Kenar çubuğu ve bileşenler
   ========================================================================== */

.kenar-cubugu__ic {
	display: grid;
	gap: 2rem;
}

.bilesen {
	padding-bottom: 1.5rem;
	border-bottom: 1px solid var(--cea-cizgi);
}

.bilesen:last-child {
	padding-bottom: 0;
	border-bottom: 0;
}

.bilesen__baslik {
	margin-bottom: 0.85rem;
	font-family: var(--cea-font-baslik);
	font-size: 1.1rem;
}

.bilesen ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.bilesen li {
	padding-block: 0.45rem;
	border-bottom: 1px solid var(--cea-cizgi);
}

.bilesen li:last-child {
	border-bottom: 0;
}

/*
 * Bileşen (widget) bağlantıları LİSTE ögesidir: son yazılar, kategoriler,
 * arşiv, etiket bulutu. Hepsi bir dokunma hedefidir, bu yüzden 44 piksel
 * kuralı geçerlidir (tarayıcıda ölçülen eski değer 20-24 pikseldi ve
 * `min-height` satır içi kutuda uygulanmadığı için `inline-flex` şarttır).
 *
 * İSTİSNA aşağıda: serbest metin bileşeninin (`textwidget`) ve paragrafın
 * İÇİNDEKİ bağlantılar cümlenin parçasıdır; onları kutuya çevirmek metin
 * akışını bozar ve WCAG 2.5.8 satır içi bağlantıları bu kuraldan muaf tutar.
 */
.bilesen a {
	display: inline-flex;
	min-height: var(--cea-dokunma);
	align-items: center;
	text-decoration: none;
}

/* Satır içi (cümle içindeki) bağlantı kutuya çevrilmez; bkz. yukarıdaki not. */
.bilesen .textwidget a,
.bilesen p a {
	display: inline;
	min-height: 0;
}

.bilesen a:hover,
.bilesen a:focus {
	text-decoration: underline;
}

.basit-liste {
	margin: 0;
	padding: 0;
	list-style: none;
}

.basit-liste__oge,
.basit-liste li {
	padding-block: 0.35rem;
	border-bottom: 1px solid var(--cea-cizgi);
}

/* ==========================================================================
   19. Mağaza düzeni ve filtre paneli
   ========================================================================== */

.magaza-duzen {
	display: grid;
	gap: 2.25rem;
}

.magaza-yol {
	margin-bottom: 1.5rem;
	color: var(--cea-metin-soluk);
	font-size: 0.85rem;
}

.magaza-yol a {
	color: inherit;
}

.magaza-yol__ayirici {
	margin-inline: 0.4rem;
	color: var(--cea-cizgi-koyu);
}

.magaza-arac-cubugu {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem 1.5rem;
	margin-bottom: 2rem;
	padding-bottom: 1rem;
	border-bottom: 1px solid var(--cea-cizgi);
	font-size: 0.9rem;
}

.magaza-filtre {
	min-width: 0;
}

.filtre-anahtari {
	display: none;
	width: 100%;
	justify-content: space-between;
	border: 1px solid var(--cea-cizgi-koyu);
	border-radius: var(--cea-radyus-yuvarlak);
}

.filtre-anahtari__ikon {
	display: block;
	width: 8px;
	height: 8px;
	border-right: 2px solid currentColor;
	border-bottom: 2px solid currentColor;
	transform: rotate(45deg) translateY(-2px);
	transition: transform var(--cea-gecis);
}

.filtre-anahtari[aria-expanded="true"] .filtre-anahtari__ikon {
	transform: rotate(-135deg) translateY(-2px);
}

.magaza-filtre__panel {
	display: grid;
	gap: 1.75rem;
	padding: 1.4rem;
	border: 1px solid var(--cea-cizgi);
	border-radius: var(--cea-radyus-kart);
	background-color: var(--cea-kart);
}

.magaza-bos {
	max-width: 60ch;
}

.magaza-bos__ipucu {
	color: var(--cea-metin-soluk);
}

/* ==========================================================================
   20. Yorumlar
   ========================================================================== */

.yorum-alani {
	max-width: 74ch;
	margin-top: 3.5rem;
	padding-top: 2.25rem;
	border-top: 1px solid var(--cea-cizgi);
}

.yorum-listesi,
.yorum-listesi .children {
	margin: 0;
	padding: 0;
	list-style: none;
}

.yorum-listesi .children {
	margin-top: 1.25rem;
	padding-left: 1.25rem;
	border-left: 2px solid var(--cea-cizgi);
}

.yorum-listesi .comment-body {
	margin-bottom: 1.5rem;
	padding: 1.25rem 1.4rem;
	border: 1px solid var(--cea-cizgi);
	border-radius: var(--cea-radyus-kart);
	background-color: var(--cea-kart);
}

.yorum-listesi .comment-author {
	display: flex;
	align-items: center;
	gap: 0.7rem;
	font-weight: 700;
}

.yorum-listesi .comment-author img {
	border-radius: 50%;
}

.yorum-listesi .comment-metadata {
	margin-bottom: 0.7rem;
	font-size: 0.8rem;
}

.yorum-listesi .comment-metadata a {
	color: var(--cea-metin-soluk);
}

.yorum-formu {
	display: grid;
	gap: 1rem;
}

.yorum-formu label {
	display: block;
	margin-bottom: 0.3rem;
	font-size: 0.88rem;
	font-weight: 700;
}

.yorum-formu input[type="text"],
.yorum-formu input[type="email"],
.yorum-formu input[type="url"],
.yorum-formu textarea {
	width: 100%;
	min-height: var(--cea-dokunma);
	padding: 0.55rem 0.9rem;
	border: 1px solid var(--cea-cizgi-koyu);
	border-radius: var(--cea-radyus-form);
	background-color: var(--cea-kart);
	font-family: inherit;
	font-size: 1rem;
}

.yorum-formu textarea {
	min-height: 160px;
	resize: vertical;
}

.yorum-notu {
	color: var(--cea-metin-soluk);
	font-size: 0.82rem;
}

.yorumlar-kapali {
	padding: 0.8rem 1.1rem;
	border-left: 4px solid var(--cea-hasat);
	border-radius: 0 var(--cea-radyus-form) var(--cea-radyus-form) 0;
	background-color: var(--cea-hasat-acik);
	font-size: 0.92rem;
}

/* ==========================================================================
   21. 404 ve içerik yok
   ========================================================================== */

.hata-404,
.icerik-yok {
	max-width: 74ch;
	padding-block: 1.5rem;
}

.hata-404__kod {
	margin: 0;
	color: var(--cea-hasat);
	font-family: var(--cea-font-baslik);
	font-size: clamp(3.5rem, 2rem + 8vw, 7rem);
	font-weight: 700;
	line-height: 1;
}

.hata-404__eylem {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	margin-top: 1.75rem;
}

.hata-404__oneriler {
	display: grid;
	gap: 2rem;
	margin-block: 3rem;
	grid-template-columns: repeat(auto-fit, minmax(min(220px, 100%), 1fr));
}

.hata-404__oneri-baslik {
	font-family: var(--cea-font-govde);
	font-size: 0.85rem;
	letter-spacing: 0.09em;
	text-transform: uppercase;
}

/* ==========================================================================
   22. Alt bilgi
   ========================================================================== */

.site-alt-bilgi {
	margin-top: auto;
	background-color: var(--cea-toprak-koyu);
	background-image: var(--cea-doku);
	color: rgba(255, 249, 241, 0.9);
}

.site-alt-bilgi a {
	color: var(--cea-hasat-acik);
}

.site-alt-bilgi a:hover,
.site-alt-bilgi a:focus {
	color: var(--cea-kart);
}

.site-alt-bilgi__bilesenler {
	display: grid;
	gap: 2.5rem;
	padding-block: 3.25rem 2rem;
	grid-template-columns: repeat(auto-fit, minmax(min(220px, 100%), 1fr));
}

.site-alt-bilgi .bilesen {
	border-bottom-color: rgba(255, 249, 241, 0.18);
}

.site-alt-bilgi .bilesen__baslik {
	color: var(--cea-kart);
}

.site-alt-bilgi .bilesen li {
	border-bottom-color: rgba(255, 249, 241, 0.14);
}

.site-alt-bilgi__sosyal {
	padding-bottom: 1.5rem;
}

.sosyal-liste {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem 0.75rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.sosyal-liste__baglanti {
	display: inline-flex;
	min-height: var(--cea-dokunma);
	align-items: center;
	padding-inline: 1rem;
	border: 1px solid rgba(255, 249, 241, 0.28);
	border-radius: var(--cea-radyus-yuvarlak);
	font-size: 0.85rem;
	text-decoration: none;
}

.sosyal-liste__baglanti:hover,
.sosyal-liste__baglanti:focus {
	border-color: var(--cea-hasat-acik);
}

.site-alt-bilgi__taban {
	border-top: 1px solid rgba(255, 249, 241, 0.18);
	font-size: 0.88rem;
}

.site-alt-bilgi__taban-kap {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem 1.5rem;
	padding-block: 1.35rem;
}

.telif {
	margin: 0;
}

.alt-bilgi-menu {
	gap: 0.25rem;
}

.alt-bilgi-menu .menu-baglanti {
	min-height: var(--cea-dokunma);
	padding-inline: 0.6rem;
	background-color: transparent;
	color: rgba(255, 249, 241, 0.9);
	font-size: 0.88rem;
	font-weight: 600;
}

.alt-bilgi-menu .menu-baglanti:hover,
.alt-bilgi-menu .menu-baglanti:focus {
	background-color: transparent;
	color: var(--cea-hasat-acik);
	text-decoration: underline;
}

/* ==========================================================================
   23. Duyarlılık ve erişilebilirlik
   ========================================================================== */

.skip-link {
	left: -9999px;
}

.skip-link:focus {
	left: 8px;
}

@media (min-width: 641px) {
	.site-ust-bilgi__kap {
		grid-template-areas:
			"kimlik arama eylem"
			"gezinme gezinme gezinme";
		grid-template-columns: minmax(0, auto) minmax(0, 1fr) auto;
	}

	.ust-bilgi-arama {
		max-width: 26rem;
		justify-self: end;
	}
}

@media (max-width: 960px) {
	.menu-anahtari {
		display: inline-flex;
	}

	.ana-gezinme .menu {
		display: none;
		width: 100%;
		flex-direction: column;
		align-items: stretch;
		margin-top: 0.85rem;
		padding: 0.5rem;
		border: 1px solid var(--cea-cizgi);
		border-radius: var(--cea-radyus-kart);
		background-color: var(--cea-kart);
	}

	.ana-gezinme.gezinme--acik .menu {
		display: flex;
	}

	.menu-ogesi--alt-menulu {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
	}

	.menu-ogesi--alt-menulu > .menu-baglanti {
		flex: 1 1 auto;
	}

	.alt-menu {
		position: static;
		width: 100%;
		min-width: 0;
		border: 0;
		border-left: 2px solid var(--cea-hasat);
		border-radius: 0;
		box-shadow: none;
		padding-left: 0.75rem;
	}

	.menu-ogesi--alt-menulu:hover > .alt-menu,
	.menu-ogesi--alt-menulu:focus-within > .alt-menu {
		display: none;
	}

	.alt-menu-anahtari[aria-expanded="true"] + .alt-menu {
		display: block;
	}

	.filtre-anahtari {
		display: flex;
	}

	.magaza-filtre__panel {
		display: none;
		margin-top: 0.85rem;
	}

	.magaza-filtre--acik .magaza-filtre__panel {
		display: grid;
	}

	.uretici-karti--urun {
		flex-direction: column;
	}

	.uretici-karti--urun .uretici-karti__gorsel {
		flex: 0 0 auto;
		max-width: none;
	}
}

@media (min-width: 961px) {
	.duzen--kenar-cubuklu .site-govde__kap {
		grid-template-columns: minmax(0, 1fr) 300px;
	}

	.kenar-cubugu__ic {
		position: sticky;
		top: 1.75rem;
	}

	.magaza-duzen--filtreli {
		grid-template-columns: 264px minmax(0, 1fr);
	}

	.magaza-filtre {
		position: sticky;
		top: 1.75rem;
		align-self: start;
	}

	.yazi-listesi:not(.yazi-listesi--liste):not(.yazi-listesi--izgara) {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.duzen--tek-kolon .yazi-listesi--izgara {
		grid-template-columns: repeat(auto-fill, minmax(min(280px, 100%), 1fr));
	}
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}

	*,
	*::before,
	*::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
	}

	.girdi--kart:hover,
	.girdi--kart:focus-within {
		transform: none;
	}
}

@media (forced-colors: active) {
	.mevsim-rozeti,
	.sepet-baglanti__sayi,
	.dugme {
		border: 1px solid currentColor;
	}
}

/* ==========================================================================
   23a. Duyarlılık tabanı (mobil öncelikli güvenlik ağı)
   ==========================================================================

   Bu bölümün kuralları :where() ile yazılır; belirteçleri 0'dır ve temanın
   kendi kurallarını EZMEZ. Görevleri, hiçbir kuralın kapsamadığı ögelerin
   (eklenti çıktısı, blok düzenleyici, WooCommerce şablonları) duyarlılık
   tabanının ALTINA düşmesini engellemektir. Tabana uymayan her kural
   `php arac/duyarlilik-denetle.php` ile ölçülür ve yapı durur.
   ========================================================================== */

/*
 * Kırılamayan uzun dize (URL, ürün kodu, e-posta) 320 piksellik ekranda
 * kabından TAŞAR ve tüm sayfayı yatay kaydırır. Tek kelime taşarsa kırılır;
 * normal Türkçe metin `break-word` ile bölünmez, yalnızca son çare uygulanır.
 */
:where(body) {
	overflow-wrap: break-word;
}

/* Uzun bağlantı metni ve kod satırı en sık taşan iki ögedir. */
:where(a, code, kbd, samp, dt, dd, th, td, figcaption, blockquote) {
	overflow-wrap: anywhere;
}

/*
 * Metin alanlarında en az 16px. Neden: iOS Safari 16px'in ALTINDAKİ bir alana
 * odaklanınca sayfayı zorla yakınlaştırır ve kullanıcı bir daha uzaklaştıramaz.
 * Gövde yazı boyutu Özelleştirici'den 16px'in altına inebildiği için taban
 * devralınan değerden BAĞIMSIZ olmalıdır. Düğmeler listede YOKTUR: odakta
 * yakınlaştırma tetiklemezler, boyutları tasarım kararıdır.
 */
:where(
	input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]):not([type="reset"]):not([type="image"]):not([type="range"]):not([type="color"]),
	select,
	textarea
) {
	font-size: 1rem;
}

/*
 * Dokunma hedefi tabanı 44 x 44 piksel (WCAG 2.5.5). Simge görsel olarak küçük
 * kalır; büyüyen yalnızca tıklanabilir kutudur. Satır içi METİN bağlantıları
 * bu listede yoktur (WCAG 2.5.8 eşiği 24 pikseldir ve satır yüksekliği onu
 * zaten karşılar); yalnızca düğme gibi davranan ögeler kapsanır.
 */
:where(
	button,
	summary,
	[role="button"],
	[role="tab"],
	.dugme,
	input[type="submit"],
	input[type="button"],
	input[type="reset"],
	input[type="file"],
	select
) {
	min-height: var(--cea-dokunma);
	min-width: var(--cea-dokunma);
}

/*
 * Onay kutusu ve radyo. Yerel denetimin GÖRSEL boyutu 13 pikselden 22 piksele
 * çıkarılır ama 44 piksele ÇIKARILMAZ: 44 piksellik kare kutu WooCommerce
 * ödeme formunda etiketin yanında orantısız durur. Dokunma hedefi bunun yerine
 * ETİKETE taşınır — etikete dokunmak denetimi değiştirdiği için etkin hedef
 * satırın tamamıdır. İki işaretleme düzeni de desteklenir: denetim etiketin
 * İÇİNDE (WooCommerce) ve etiketin KARDEŞİ (WordPress yorum çerezi onayı).
 */
:where(input[type="checkbox"], input[type="radio"]) {
	width: 1.375rem;
	height: 1.375rem;
	min-width: 1.375rem;
	min-height: 1.375rem;
	flex: 0 0 auto;
}

:where(label:has(> input[type="checkbox"]), label:has(> input[type="radio"])),
:where(p:has(> input[type="checkbox"]), p:has(> input[type="radio"])) > label {
	display: flex;
	min-height: var(--cea-dokunma);
	align-items: center;
	gap: 0.55rem;
}

/*
 * Gömülü çerçeve (video, harita) sabit `width` niteliğiyle gelir ve dar
 * ekranda kabından taşar; `max-width` taşmayı kapatır. Oran ayırma buraya
 * YAZILMAZ: `attr()` tarayıcılarda `aspect-ratio` için desteklenmez, gömülü
 * ögenin oranını sağlayan taraf gömme kodudur (WordPress `wp-embed-aspect-*`).
 */
:where(iframe, embed, object, video) {
	max-width: 100%;
}

/*
 * %400 yakınlaştırma (WCAG 1.4.10) 1280 pikselde 320 piksel eşdeğeri bir
 * görüntü alanı üretir. Bu genişlikte hiçbir kap sabit piksele bağlı kalmaz;
 * blok düzenleyicinin geniş/tam hizalı blokları da görüntü alanına sığar.
 */
:where(.alignwide, .alignfull, .wp-block-group.alignfull) {
	max-width: 100%;
}

/*
 * Güvenli alan (çentik, yuvarlatılmış köşe, ev düğmesi çubuğu).
 *
 * `env(safe-area-inset-*)` YALNIZCA belge `viewport-fit=cover` ile açıldığında
 * ya da ana ekrana eklenmiş bağımsız (standalone) kipte sıfırdan büyük döner;
 * normal tarayıcı sekmesinde 0'dır. Bu yüzden aşağıdaki kurallar masaüstü ve
 * olağan mobil görünümü DEĞİŞTİRMEZ (max() her zaman taban değeri seçer) ama
 * PWA / WebView kabuğunda içeriğin çentiğin ya da köşe yuvarlamasının altına
 * düşmesini önler. Görüntü alanı etiketine `viewport-fit=cover` bilinçli olarak
 * EKLENMEDİ: eklemek notch'lu cihazlarda düzeni tam kenara taşır ve bu bir
 * tasarım kararıdır, duyarlılık gereği değildir.
 */
.kap {
	padding-left: max(1.25rem, env(safe-area-inset-left));
	padding-right: max(1.25rem, env(safe-area-inset-right));
}

/* Sayfanın son bloğu ev düğmesi çubuğunun altında kalmaz. */
.site-alt-bilgi {
	padding-bottom: env(safe-area-inset-bottom);
}

/* ==========================================================================
   24. Yazdırma
   ========================================================================== */

@media print {
	.ust-cubuk,
	.ana-gezinme,
	.hasat-serit,
	.soz-serit,
	.ust-bilgi-arama,
	.ust-bilgi-eylemler,
	.kenar-cubugu,
	.magaza-filtre,
	.site-alt-bilgi,
	.yorum-formu,
	.teklif-formu,
	.haber-formu,
	.nakliye-formu,
	.navigation {
		display: none !important;
	}

	body {
		background-color: #ffffff;
		background-image: none;
		color: #000000;
		font-size: 12pt;
	}

	.girdi--tek,
	.uretici-sayfasi,
	.yorum-alani {
		max-width: none;
	}

	.tablo-kabi {
		overflow: visible;
		border: 0;
	}

	.veri-tablo thead th {
		background-color: transparent;
	}
}
