/**
 * CEA Kurumsal - ana biçem dosyası
 *
 * İçindekiler
 * 1.  Değişkenler
 * 2.  Sıfırlama ve temel tipografi
 * 3.  Yerleşim kapları
 * 4.  Üst bilgi çubuğu
 * 5.  Site üst bilgisi ve kimlik
 * 6.  Gezinme (masaüstü ve mobil)
 * 7.  Arama formu
 * 8.  İçerik ve kenar çubuğu düzeni
 * 9.  Girdi (yazı) kartları ve tek yazı
 * 10. Blok düzenleyici içerik biçimleri
 * 11. Düğmeler ve etiketler
 * 12. Sayfalama ve gezinme bağlantıları
 * 13. Bileşenler (widget)
 * 14. Yorumlar
 * 15. 404 ve içerik yok
 * 16. Alt bilgi
 * 17. Yardımcı sınıflar ve erişilebilirlik
 * 18. Duyarlı kırılma noktaları
 * 18a. Duyarlılık tabanı (dokunma, form, taşma)
 * 19. 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.
 *   max-width: 900px  — mobil ve tablet: başlık tek kolona iner, menü katlanır
 *   min-width: 901px  — masaüstü: kenar çubuğu yan sütuna geçer
 */

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

:root {
	--cea-birincil: #0b2545;
	--cea-birincil-koyu: #07182e;
	--cea-birincil-acik: #173c68;
	--cea-vurgu: #d9a22b;
	--cea-vurgu-acik: #f2d492;
	/*
	 * Açık zemin üzerinde METİN rengi olarak kullanılacak koyu altın.
	 * Marka altını (#d9a22b) beyaz üzerinde yalnızca 2,3:1 kontrast verir ve
	 * WCAG 2.1 AA (1.4.3) eşiğini karşılamaz; bu koyu ton 5,6:1 sağlar.
	 * --cea-vurgu yalnızca kenarlık, zemin ve lacivert üzerindeki metin için,
	 * --cea-vurgu-acik yalnızca koyu zemin üzerindeki metin için kullanılır.
	 */
	--cea-vurgu-koyu: #8a5f0a;
	--cea-metin: #1b2733;
	--cea-metin-soluk: #52606d;
	--cea-kagit: #f6f8fb;
	--cea-beyaz: #ffffff;
	--cea-cizgi: #dbe2ec;
	--cea-hata: #b3261e;
	--cea-basari: #1b7f4b;

	--cea-font-baslik: Lexend, "Segoe UI", system-ui, -apple-system, "Helvetica Neue", Arial, sans-serif;
	--cea-font-govde: "Source Sans 3", "Source Sans Pro", "Segoe UI", system-ui, -apple-system, Arial, sans-serif;
	--cea-font-mono: "Cascadia Mono", Consolas, "SFMono-Regular", Menlo, monospace;

	--cea-kap: 1120px;
	--cea-kap-genis: 1360px;
	--cea-bosluk: 1.75rem;
	--cea-radyus: 8px;
	--cea-radyus-kucuk: 4px;
	--cea-golge: 0 1px 2px rgba(11, 37, 69, 0.06), 0 8px 24px rgba(11, 37, 69, 0.08);
	--cea-golge-kart: 0 12px 32px rgba(11, 37, 69, 0.12);
	--cea-gecis: 160ms ease-out;
	--cea-dokunma: 44px;
}

/* ==========================================================================
   2. Sıfırlama 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-beyaz);
	color: var(--cea-metin);
	font-family: var(--cea-font-govde);
	font-size: 1.0625rem;
	line-height: 1.7;
	-webkit-font-smoothing: antialiased;
}

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

h1 {
	font-size: clamp(2rem, 1.4rem + 2.4vw, 3.25rem);
}

h2 {
	font-size: clamp(1.6rem, 1.25rem + 1.4vw, 2.35rem);
}

h3 {
	font-size: clamp(1.3rem, 1.15rem + 0.7vw, 1.75rem);
}

h4 {
	font-size: 1.2rem;
}

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

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

a:hover,
a:focus {
	color: var(--cea-vurgu-koyu);
}

/*
 * Odak halkası --cea-vurgu DEĞİL --cea-vurgu-koyu kullanır. Marka altını
 * (#d9a22b) beyaz zeminde 2,29:1, gövde zemininde (#f6f8fb) 2,16:1 veriyordu ve
 * WCAG 2.1 · 1.4.11'in odak göstergesi için istediği 3:1 eşiğinin ALTINDA
 * kalıyordu. Koyu altın (#8a5f0a) beyazda 5,64:1, gövde zemininde 5,30:1 verir
 * ve Özelleştirici'den açık bir renk seçilse bile cea_kurumsal_okunur_ton()
 * çıktısı olduğu için 4,5:1'in altına düşmez. Koyu yüzeylerde (üst çubuk, alt
 * bilgi) halka beyaza çevrilir; bkz. aşağıdaki kural.
 */
:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
	outline: 3px solid var(--cea-vurgu-koyu);
	outline-offset: 2px;
	border-radius: var(--cea-radyus-kucuk);
}

/*
 * Koyu yüzeylerde koyu altın halka 2,73-3,16:1'de kalır; beyaz halka aynı
 * zeminlerde 15,39-17,81:1 verir. Öge listesi temel kuralla BİREBİR aynıdır.
 * Halka hiçbir yerde kaldırılmaz, yalnızca rengi değişir.
 */
.ust-cubuk :where(a, button, input, select, textarea, 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 {
	max-width: 100%;
}

hr {
	height: 1px;
	margin: 3rem 0;
	border: 0;
	background-color: var(--cea-cizgi);
}

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

pre {
	overflow-x: auto;
	padding: 1rem 1.25rem;
	border-radius: var(--cea-radyus);
	background-color: var(--cea-kagit);
}

blockquote {
	padding-left: 1.5rem;
	border-left: 4px solid var(--cea-vurgu);
	color: var(--cea-metin-soluk);
	font-size: 1.125rem;
	font-style: italic;
}

/*
 * Geniş tablo KENDİ KABINDA kayar; sayfa yatay kaymaz. Kaydırma sarmalayıcıya
 * uygulanır, tabloya `display: block` VERİLMEZ: o bildirim tablonun örtük
 * satır/hücre kutularını yok eder ve tablo erişilebilirlik ağacından düşer
 * (ekran okuyucu "3. satır 2. kolon" bağlamını kaybeder).
 *
 * Blok düzenleyici tabloyu `figure.wp-block-table` içine sardığı için
 * sarmalayıcı hazırdır; tema kendi tablolarını `.tablo-kabi` ile sarar.
 * Klavye erişimi (tabindex/role/aria-label) navigation.js tarafından ve
 * yalnızca kap GERÇEKTEN kayıyorsa eklenir.
 */
.tablo-kabi,
.entry-content .wp-block-table,
.girdi__icerik .wp-block-table {
	overflow-x: auto;
	max-width: 100%;
	-webkit-overflow-scrolling: touch;
}

/* Kayan kap görünür bir kenar gölgesiyle "devamı var" der. */
.tablo-kabi--kayan {
	box-shadow: inset -14px 0 14px -14px rgba(11, 37, 69, 0.35);
}

.tablo-kabi:focus-visible,
.wp-block-table:focus-visible {
	outline: 3px solid var(--cea-vurgu-koyu);
	outline-offset: 2px;
	border-radius: var(--cea-radyus-kucuk);
}

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

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

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

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

.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 4rem;
}

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

.ust-cubuk {
	background-color: var(--cea-birincil-koyu);
	color: rgba(255, 255, 255, 0.86);
	font-size: 0.875rem;
}

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

.ust-cubuk__saatler {
	margin: 0;
}

.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-vurgu-acik);
	text-decoration: underline;
}

/* ==========================================================================
   5. Site üst bilgisi ve kimlik
   ========================================================================== */

.site-ust-bilgi {
	position: relative;
	z-index: 20;
	border-bottom: 1px solid var(--cea-cizgi);
	background-color: var(--cea-beyaz);
	box-shadow: var(--cea-golge);
}

.site-ust-bilgi__kap {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 1rem 1.5rem;
	padding-block: 1rem;
}

.site-kimlik {
	display: flex;
	min-width: 0;
	flex-direction: column;
	gap: 0.15rem;
	margin-inline-end: auto;
}

.site-kimlik .custom-logo-link {
	display: inline-block;
	line-height: 0;
}

.site-kimlik .custom-logo {
	max-height: 64px;
	width: auto;
}

.site-kimlik__baslik {
	margin: 0;
	font-family: var(--cea-font-baslik);
	font-size: 1.35rem;
	font-weight: 700;
	letter-spacing: -0.01em;
}

.site-kimlik__baslik a {
	color: var(--cea-birincil);
	text-decoration: none;
}

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

/* ==========================================================================
   6. Gezinme
   ========================================================================== */

.ana-gezinme {
	position: relative;
}

.menu-anahtari {
	display: none;
	min-height: var(--cea-dokunma);
	min-width: var(--cea-dokunma);
	align-items: center;
	gap: 0.5rem;
	padding: 0.5rem 0.9rem;
	border: 1px solid var(--cea-cizgi);
	border-radius: var(--cea-radyus);
	background-color: var(--cea-beyaz);
	color: var(--cea-birincil);
	cursor: pointer;
	font-family: var(--cea-font-baslik);
	font-size: 0.9375rem;
	font-weight: 600;
}

.menu-anahtari__ikon {
	position: relative;
	display: block;
	width: 18px;
	height: 2px;
	background-color: currentColor;
}

.menu-anahtari__ikon::before,
.menu-anahtari__ikon::after {
	position: absolute;
	left: 0;
	display: block;
	width: 18px;
	height: 2px;
	background-color: currentColor;
	content: "";
	/*
	 * Çizgiler `top` ile DEĞİL `translateY` ile ayrılır ve yalnızca transform
	 * animasyon edilir. `top` animasyonu her karede yerleşim hesabı tetikler;
	 * transform birleştirme katmanında kalır (bkz. mutlak kural: yalnızca
	 * transform/opacity animasyon edilir).
	 */
	top: 0;
	transition: transform var(--cea-gecis);
}

.menu-anahtari__ikon::before {
	transform: translateY(-6px);
}

.menu-anahtari__ikon::after {
	transform: translateY(6px);
}

.menu-anahtari[aria-expanded="true"] .menu-anahtari__ikon {
	background-color: transparent;
}

.menu-anahtari[aria-expanded="true"] .menu-anahtari__ikon::before {
	transform: translateY(0) rotate(45deg);
}

.menu-anahtari[aria-expanded="true"] .menu-anahtari__ikon::after {
	transform: translateY(0) rotate(-45deg);
}

.menu {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.15rem;
	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: 0.4rem 0.85rem;
	border-radius: var(--cea-radyus);
	color: var(--cea-birincil);
	font-family: var(--cea-font-baslik);
	font-size: 0.9375rem;
	font-weight: 500;
	text-decoration: none;
}

.menu-baglanti:hover,
.menu-baglanti:focus {
	background-color: var(--cea-kagit);
	color: var(--cea-birincil-acik);
}

.current-menu-item > .menu-baglanti,
.current_page_item > .menu-baglanti {
	box-shadow: inset 0 -3px 0 var(--cea-vurgu);
	color: var(--cea-birincil);
}

/*
 * Ok simgesi 8x8 piksel kalır ama tıklanabilir alan --cea-dokunma (44px) olur:
 * ikon-tek denetimlerin dokunma hedefi WCAG 2.5.5 için 44 pikseldir.
 */
.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;
	background: none;
	color: var(--cea-birincil);
	cursor: pointer;
}

.alt-menu-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);
}

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

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

.alt-menu .menu-baglanti {
	width: 100%;
}

.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 .alt-menu {
	top: 0;
	left: 100%;
}

/* ==========================================================================
   7. Arama formu
   ========================================================================== */

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

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

.arama-formu__alan {
	min-height: var(--cea-dokunma);
	width: 100%;
	padding: 0.55rem 0.85rem;
	border: 1px solid var(--cea-cizgi);
	border-radius: var(--cea-radyus);
	background-color: var(--cea-beyaz);
	color: var(--cea-metin);
	font-family: inherit;
	/*
	 * 16px ŞART: iOS Safari daha küçük bir alana odaklanınca sayfayı zorla
	 * yakınlaştırır ve kullanıcı bir daha uzaklaştıramaz. Başlıktaki arama
	 * kutusu sitenin en çok odaklanılan alanıdır; 15px ölçüldü ve yükseltildi.
	 */
	font-size: 1rem;
}

.ust-bilgi-arama .arama-formu__etiket {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip-path: inset(50%);
}

.ust-bilgi-arama .arama-formu__alan {
	min-width: 190px;
}

/* ==========================================================================
   8. İçerik ve kenar çubuğu düzeni
   ========================================================================== */

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

.duzen--kenar-cubuklu .site-govde__kap {
	grid-template-columns: minmax(0, 1fr);
}

.icerik-alani {
	min-width: 0;
}

.kenar-cubugu {
	min-width: 0;
}

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

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

.sayfa-basligi__vurgu {
	color: var(--cea-vurgu-koyu);
}

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

/* ==========================================================================
   9. Girdi kartları ve tek yazı
   ========================================================================== */

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

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

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

.girdi--kart:hover {
	box-shadow: var(--cea-golge-kart);
	transform: translateY(-2px);
}

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

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

.girdi--kart .girdi__devam {
	margin-top: auto;
	margin-bottom: 0;
}

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

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

.one-cikan-gorsel {
	margin: 0;
	overflow: hidden;
}

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

.one-cikan-gorsel--tek {
	margin-bottom: 2rem;
	border-radius: var(--cea-radyus);
}

.yazi-meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.35rem 1rem;
	margin-bottom: 1rem;
	color: var(--cea-metin-soluk);
	font-size: 0.8125rem;
}

.yazi-meta__oge:not(:last-child)::after {
	margin-left: 1rem;
	color: var(--cea-cizgi);
	content: "|";
}

.girdi--tek {
	max-width: 78ch;
}

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

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

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

.yazi-etiketler__baslik {
	margin-bottom: 0.6rem;
	font-size: 0.9375rem;
	text-transform: uppercase;
	letter-spacing: 0.06em;
}

.yazi-etiketler__liste {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
}

.yazi-etiketler__liste a {
	display: inline-flex;
	min-height: var(--cea-dokunma);
	align-items: center;
	padding: 0.2rem 0.7rem;
	border: 1px solid var(--cea-cizgi);
	border-radius: 999px;
	color: var(--cea-birincil);
	font-size: 0.8125rem;
	text-decoration: none;
}

.yazi-etiketler__liste a:hover,
.yazi-etiketler__liste a:focus {
	border-color: var(--cea-vurgu);
	background-color: var(--cea-vurgu);
	color: var(--cea-birincil-koyu);
}

.duzenle-baglanti {
	display: inline-block;
	margin-top: 1rem;
	font-size: 0.8125rem;
}

/* ==========================================================================
   10. Blok düzenleyici içerik biçimleri
   ========================================================================== */

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

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

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

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

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

.entry-content .wp-block-button__link {
	border-radius: var(--cea-radyus-kucuk);
}

.entry-content .wp-block-pullquote {
	border-top: 3px solid var(--cea-vurgu);
	border-bottom: 3px solid var(--cea-vurgu);
	padding-block: 1.5rem;
}

.entry-content .wp-block-table td,
.entry-content .wp-block-table th {
	border-color: var(--cea-cizgi);
}

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

.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);
	border-radius: var(--cea-radyus-kucuk);
}

/* ==========================================================================
   11. 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.4rem;
	border: 1px solid transparent;
	border-radius: var(--cea-radyus-kucuk);
	background-color: var(--cea-birincil);
	color: var(--cea-beyaz);
	cursor: pointer;
	font-family: var(--cea-font-baslik);
	font-size: 0.9375rem;
	font-weight: 600;
	line-height: 1.2;
	text-decoration: none;
	transition: background-color var(--cea-gecis), color var(--cea-gecis), border-color var(--cea-gecis);
}

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

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

.dugme--cizgili:hover,
.dugme--cizgili:focus {
	border-color: var(--cea-vurgu);
	background-color: var(--cea-vurgu);
	color: var(--cea-birincil-koyu);
}

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

.menu-anahtari:hover,
.alt-menu-anahtari:hover {
	background-color: var(--cea-kagit);
	color: var(--cea-birincil);
}

/* ==========================================================================
   12. Sayfalama
   ========================================================================== */

.navigation.pagination {
	margin-top: 3rem;
}

.nav-links {
	display: flex;
	flex-wrap: wrap;
	gap: 0.4rem;
}

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

.page-numbers.current,
.page-numbers:hover,
.page-numbers:focus {
	border-color: var(--cea-birincil);
	background-color: var(--cea-birincil);
	color: var(--cea-beyaz);
}

.post-navigation {
	margin-top: 3rem;
	padding-top: 1.5rem;
	border-top: 1px solid var(--cea-cizgi);
}

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

.post-navigation a {
	display: block;
	padding: 1rem 1.15rem;
	border: 1px solid var(--cea-cizgi);
	border-radius: var(--cea-radyus);
	text-decoration: none;
}

.post-navigation a:hover {
	border-color: var(--cea-vurgu);
}

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

.gezinme__baslik {
	display: block;
	color: var(--cea-birincil);
	font-family: var(--cea-font-baslik);
	font-weight: 600;
}

/* ==========================================================================
   13. Bileşenler (widget)
   ========================================================================== */

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

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

.bilesen__baslik {
	margin-bottom: 0.9rem;
	font-size: 1.0625rem;
	text-transform: uppercase;
	letter-spacing: 0.06em;
}

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

.bilesen li {
	padding-block: 0.35rem;
	border-bottom: 1px dashed 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.3rem;
	border-bottom: 1px dashed var(--cea-cizgi);
}

/* ==========================================================================
   14. Yorumlar
   ========================================================================== */

.yorum-alani {
	margin-top: 3.5rem;
	padding-top: 2rem;
	border-top: 3px solid var(--cea-birincil);
}

.yorum-alani__baslik {
	font-size: 1.35rem;
}

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

.yorum-listesi .children {
	margin-top: 1.25rem;
	margin-left: 1.5rem;
	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);
	background-color: var(--cea-kagit);
}

.yorum-listesi .comment-author {
	display: flex;
	align-items: center;
	gap: 0.6rem;
	font-family: var(--cea-font-baslik);
	font-weight: 600;
}

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

.yorum-listesi .comment-metadata {
	margin-bottom: 0.75rem;
	font-size: 0.8125rem;
}

.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.875rem;
	font-weight: 600;
}

.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.6rem 0.85rem;
	border: 1px solid var(--cea-cizgi);
	border-radius: var(--cea-radyus-kucuk);
	background-color: var(--cea-beyaz);
	font-family: inherit;
	font-size: 1rem;
}

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

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

.yorumlar-kapali {
	padding: 0.75rem 1rem;
	border-left: 4px solid var(--cea-vurgu);
	background-color: var(--cea-kagit);
	font-size: 0.9375rem;
}

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

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

.hata-404__kod {
	margin: 0;
	/*
	 * HAM --cea-vurgu DEĞİL, okunur türev --cea-vurgu-koyu kullanılır.
	 * Ham değer beyaz zeminde varsayılan paletle (#d9a22b) yalnızca 2,29:1
	 * veriyordu — büyük metin eşiği 3:1'in bile altında — ve Özelleştirici'den
	 * beyaz seçildiğinde 1,00:1'e düşüyordu. Türev her girdide eşiği tutar.
	 */
	color: var(--cea-vurgu-koyu);
	font-family: var(--cea-font-baslik);
	font-size: clamp(3.5rem, 2rem + 8vw, 7rem);
	font-weight: 700;
	line-height: 1;
}

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

.hata-404__oneri-baslik {
	font-size: 1.0625rem;
	text-transform: uppercase;
	letter-spacing: 0.06em;
}

/* ==========================================================================
   16. Alt bilgi
   ========================================================================== */

.site-alt-bilgi {
	margin-top: auto;
	background-color: var(--cea-birincil);
	color: rgba(255, 255, 255, 0.86);
}

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

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

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

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

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

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

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

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

.sosyal-liste__baglanti {
	display: inline-flex;
	min-height: var(--cea-dokunma);
	align-items: center;
	padding-inline: 0.75rem;
	border: 1px solid rgba(255, 255, 255, 0.24);
	border-radius: 999px;
	font-size: 0.875rem;
	text-decoration: none;
}

.site-alt-bilgi__taban {
	border-top: 1px solid rgba(255, 255, 255, 0.16);
	background-color: var(--cea-birincil-koyu);
	font-size: 0.875rem;
}

.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.25rem;
}

.telif {
	margin: 0;
}

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

.alt-bilgi-menu .menu-baglanti {
	min-height: var(--cea-dokunma);
	padding-inline: 0.35rem;
	color: rgba(255, 255, 255, 0.86);
	font-size: 0.875rem;
}

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

/* ==========================================================================
   17. Yardımcı sınıflar
   ========================================================================== */

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

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

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

.icerik-alani--tam,
.girdi--tam .girdi__icerik {
	max-width: none;
}

.icerik-alani--sayfa .girdi__icerik {
	max-width: 78ch;
}

.icerik-alani--tam .one-cikan-gorsel--tek {
	border-radius: var(--cea-radyus);
}

/* ==========================================================================
   18. Duyarlı kırılma noktaları
   ========================================================================== */

@media (max-width: 900px) {
	.site-ust-bilgi__kap {
		align-items: flex-start;
	}

	.ust-bilgi-arama {
		width: 100%;
	}

	.menu-anahtari {
		display: inline-flex;
	}

	.ana-gezinme {
		width: 100%;
	}

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

	.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-anahtari {
		min-height: var(--cea-dokunma);
		min-width: var(--cea-dokunma);
	}

	.alt-menu {
		position: static;
		width: 100%;
		min-width: 0;
		border: 0;
		border-left: 2px solid var(--cea-vurgu);
		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;
	}

	.alt-menu .alt-menu {
		left: auto;
	}
}

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

	.kenar-cubugu {
		position: sticky;
		top: 1.5rem;
		align-self: start;
	}
}

@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 {
		transform: none;
	}
}

/* ==========================================================================
   18a. 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);
}

/* ==========================================================================
   19. Yazdırma
   ========================================================================== */

@media print {
	.ust-cubuk,
	.ana-gezinme,
	.ust-bilgi-arama,
	.kenar-cubugu,
	.site-alt-bilgi,
	.yorum-formu,
	.navigation {
		display: none !important;
	}

	body {
		color: #000000;
		font-size: 12pt;
	}

	.girdi--tek {
		max-width: none;
	}
}
