/* ==========================================================================
   EBRAR VAKFI — Tasarım Sistemi  ("Ebrar Heritage")
   Elle yazılmış CSS. Derleme adımı yok; cPanel üzerinde doğrudan düzenlenebilir.
   ========================================================================== */

/* --- 1. Tokenlar --------------------------------------------------------- */
:root {
  /* Renk */
  --lacivert:        #12315C;
  --lacivert-koyu:   #0B1F3D;
  --lacivert-acik:   #2B4773;
  --yesil:           #2F6B45;
  --yesil-koyu:      #245536;
  --yesil-acik:      #4E9466;
  --yesil-solgun:    #E8F1EB;
  --krem:            #F6F4EF;
  --krem-koyu:       #EFEBE2;
  --beyaz:           #FFFFFF;
  --altin:           #B08A3E;
  --metin:           #14181F;
  --metin-2:         #5C6470;
  --kenarlik:        #E7E1D6;
  --kenarlik-koyu:   #D6CDBB;

  /* Durum */
  --amber:           #9A6B12;
  --amber-zemin:     #FBF2DE;
  --kirmizi:         #A32020;
  --kirmizi-zemin:   #FBE9E9;
  --yesil-zemin:     #E4F1E9;
  --gri-zemin:       #EEEDE9;

  /* Tipografi */
  --f-baslik: "Newsreader", "Palatino Linotype", Georgia, serif;
  --f-govde:  "Figtree", "Segoe UI", system-ui, -apple-system, sans-serif;
  --f-mono:   "IBM Plex Mono", "Consolas", "Courier New", monospace;

  /* Ölçü */
  --kapsayici: 1200px;
  --okuma:     720px;
  --r-kart:    16px;
  --r-buton:   10px;
  --r-kucuk:   8px;
  --bosluk:    24px;
  --bolum:     72px;
}

/* --- 2. Sıfırlama -------------------------------------------------------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; overflow-x: hidden; overflow-x: clip; }
body {
  margin: 0;
  background: var(--krem);
  color: var(--metin);
  font-family: var(--f-govde);
  font-size: 16px;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden; overflow-x: clip; /* clip: kaydırma kabı oluşturmaz, position:sticky bozulmaz */
}
img, svg, video { max-width: 100%; height: auto; display: block; }
a { color: var(--lacivert); text-decoration: none; }
a:hover { text-decoration: underline; }
button, input, select, textarea { font: inherit; color: inherit; }
table { border-collapse: collapse; width: 100%; }
h1, h2, h3, h4, h5 { font-family: var(--f-baslik); font-weight: 600; line-height: 1.2; margin: 0 0 .5em; color: var(--lacivert-koyu); letter-spacing: -.01em; }
h1 { font-size: clamp(2rem, 1.35rem + 2.6vw, 3rem); line-height: 1.1; letter-spacing: -.02em; }
h2 { font-size: clamp(1.6rem, 1.2rem + 1.5vw, 2.25rem); }
h3 { font-size: clamp(1.25rem, 1.1rem + .6vw, 1.5rem); }
h4 { font-size: 1.125rem; }
p  { margin: 0 0 1em; }
p:last-child, ul:last-child, ol:last-child { margin-bottom: 0; }
small { font-size: .875rem; }
hr { border: 0; border-top: 1px solid var(--kenarlik); margin: 2rem 0; }
:focus-visible { outline: 3px solid var(--yesil-acik); outline-offset: 2px; border-radius: 4px; }

/* --- 3. Yardımcılar ------------------------------------------------------ */
.kapsayici { width: 100%; max-width: var(--kapsayici); margin-inline: auto; padding-inline: 24px; }
/* iPhone yatay tutuş: yazılar çentiğin altında kalmasın (viewport-fit=cover) */
.kapsayici { padding-inline: max(24px, env(safe-area-inset-left)) max(24px, env(safe-area-inset-right)); }
.okuma     { max-width: var(--okuma); margin-inline: auto; }
.bolum     { padding-block: var(--bolum); }
.bolum-sik { padding-block: 48px; }
.krem-zemin  { background: var(--krem-koyu); }
.beyaz-zemin { background: var(--beyaz); }
.koyu-zemin  { background: var(--lacivert-koyu); color: #D9DEE7; }
.koyu-zemin h1, .koyu-zemin h2, .koyu-zemin h3, .koyu-zemin h4 { color: var(--beyaz); }
.koyu-zemin a { color: var(--beyaz); }
.mono      { font-family: var(--f-mono); font-variant-numeric: tabular-nums; }
.ikincil   { color: var(--metin-2); }
.merkez    { text-align: center; }
.sag       { text-align: right; }
.gizli     { display: none !important; }
.gorsel-gizli { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.giris-metni { font-size: 1.125rem; color: var(--metin-2); max-width: 62ch; }
.merkez .giris-metni { margin-inline: auto; }
.yigin { display: flex; flex-wrap: wrap; gap: 12px; }
.yigin-merkez { justify-content: center; }

/* Islami geometrik doku — %4 opaklık, yalnız hero ve koyu bölümlerde */
.desen { position: relative; isolation: isolate; }
.desen::before {
  content: ""; position: absolute; inset: 0; z-index: -1; opacity: .05;
  background-image: url("data:image/svg+xml;utf8,\
<svg xmlns='http://www.w3.org/2000/svg' width='80' height='80' viewBox='0 0 80 80'>\
<g fill='none' stroke='%23ffffff' stroke-width='1.1'>\
<path d='M40 0 L80 40 L40 80 L0 40 Z'/><path d='M40 14 L66 40 L40 66 L14 40 Z'/>\
<path d='M0 0 L14 14 M80 0 L66 14 M0 80 L14 66 M80 80 L66 66'/>\
<circle cx='40' cy='40' r='9'/></g></svg>");
  background-size: 80px 80px;
}

/* Bölüm ayracı: ortada altın zeytin yaprağı olan ince çift çizgi */
.ayrac { display: flex; align-items: center; gap: 14px; margin-block: 40px; color: var(--altin); }
.ayrac::before, .ayrac::after {
  content: ""; flex: 1; height: 3px;
  border-top: 1px solid var(--kenarlik-koyu); border-bottom: 1px solid var(--kenarlik-koyu);
}
.ayrac svg { flex: none; width: 22px; height: 22px; }
.koyu-zemin .ayrac::before, .koyu-zemin .ayrac::after { border-color: rgba(176,138,62,.45); }

/* Bölüm başlığı */
.bolum-basi { margin-bottom: 40px; }
.bolum-basi.merkez { text-align: center; }
.bolum-basi h2 { margin-bottom: .35em; }
.etiket-ust {
  font-family: var(--f-mono); font-size: .75rem; letter-spacing: .14em;
  text-transform: uppercase; color: var(--yesil); margin-bottom: 10px; display: block;
}

/* --- 4. Butonlar --------------------------------------------------------- */
.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  padding: 13px 24px; border-radius: var(--r-buton); border: 1px solid transparent;
  font-weight: 600; font-size: 1rem; line-height: 1; letter-spacing: .01em;
  cursor: pointer; text-decoration: none !important; transition: background .16s, color .16s, border-color .16s;
  white-space: nowrap;
}
.btn-birincil { background: var(--yesil); color: #fff; }
.btn-birincil:hover { background: var(--yesil-koyu); color: #fff; }
.btn-ikincil { background: transparent; color: var(--lacivert); border-color: var(--kenarlik-koyu); }
.btn-ikincil:hover { background: var(--beyaz); border-color: var(--lacivert); }
.btn-beyaz { background: transparent; color: #fff; border-color: rgba(255,255,255,.5); }
.btn-beyaz:hover { background: rgba(255,255,255,.12); color: #fff; }
.btn-lacivert { background: var(--lacivert); color: #fff; }
.btn-lacivert:hover { background: var(--lacivert-koyu); color: #fff; }
.btn-tehlike { background: transparent; color: var(--kirmizi); border-color: transparent; }
.btn-tehlike:hover { background: var(--kirmizi-zemin); }
.btn-tam { width: 100%; }
.btn-kucuk { padding: 9px 16px; font-size: .875rem; }
.btn[disabled], .btn.pasif { opacity: .5; pointer-events: none; }
.btn svg { width: 18px; height: 18px; flex: none; }

.metin-bag { font-weight: 600; color: var(--yesil); display: inline-flex; align-items: center; gap: 6px; }
.metin-bag:hover { color: var(--yesil-koyu); }

/* --- 5. Kartlar ---------------------------------------------------------- */
.kart {
  background: var(--beyaz); border: 1px solid var(--kenarlik);
  border-radius: var(--r-kart); padding: 28px;
}
.kart-sik { padding: 20px; }
.kart-gorselli { padding: 0; overflow: hidden; display: flex; flex-direction: column; }
.kart-gorselli > img, .kart-gorsel { width: 100%; aspect-ratio: 16/10; object-fit: cover; background: var(--krem-koyu); }
.kart-govde { padding: 22px; display: flex; flex-direction: column; flex: 1; gap: 12px; }
.kart-govde h3 { margin: 0; }
.kart h3 + p { color: var(--metin-2); }

.izgara { display: grid; gap: var(--bosluk); }
.izgara-2 { grid-template-columns: repeat(2, 1fr); }
.izgara-3 { grid-template-columns: repeat(3, 1fr); }
.izgara-4 { grid-template-columns: repeat(4, 1fr); }

/* --- 6. Rozetler --------------------------------------------------------- */
.rozet {
  display: inline-flex; align-items: center; gap: 5px; padding: 4px 11px;
  border-radius: 999px; font-size: .75rem; font-weight: 600; letter-spacing: .02em;
  background: var(--gri-zemin); color: var(--metin-2); border: 1px solid transparent;
}
.rozet-yesil  { background: var(--yesil-zemin);   color: var(--yesil); }
.rozet-amber  { background: var(--amber-zemin);   color: var(--amber); }
.rozet-kirmizi{ background: var(--kirmizi-zemin); color: var(--kirmizi); }
.rozet-lacivert { background: #E7ECF4; color: var(--lacivert); }
.rozet-ust { position: absolute; top: 14px; left: 14px; background: var(--beyaz); color: var(--lacivert); }

/* --- 7. İlerleme çubuğu -------------------------------------------------- */
.ilerleme { height: 8px; border-radius: 999px; background: var(--krem-koyu); overflow: hidden; }
.ilerleme > span { display: block; height: 100%; border-radius: 999px; background: var(--yesil); }
.ilerleme-bilgi {
  display: flex; justify-content: space-between; gap: 12px; margin-top: 10px;
  font-family: var(--f-mono); font-size: .8125rem; color: var(--metin-2);
  font-variant-numeric: tabular-nums;
}
.ilerleme-bilgi b { color: var(--lacivert-koyu); font-weight: 600; }

/* --- 8. Formlar ---------------------------------------------------------- */
.alan { margin-bottom: 20px; }
.alan > label, .alan-basligi {
  display: block; margin-bottom: 7px; font-weight: 600; font-size: .9375rem; color: var(--lacivert-koyu);
}
.alan .ipucu { display: block; margin-top: 6px; font-size: .8125rem; color: var(--metin-2); }
.zorunlu { color: var(--kirmizi); }

input[type=text], input[type=email], input[type=tel], input[type=number],
input[type=password], input[type=date], input[type=time], input[type=search],
input[type=url], select, textarea {
  width: 100%; padding: 12px 14px; background: var(--beyaz);
  border: 1px solid var(--kenarlik-koyu); border-radius: var(--r-buton);
  font-size: 1rem; transition: border-color .15s, box-shadow .15s;
}
textarea { min-height: 130px; resize: vertical; }
select {
  appearance: none; padding-right: 40px; cursor: pointer;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%235C6470' stroke-width='2'><path d='M6 9l6 6 6-6'/></svg>");
  background-repeat: no-repeat; background-position: right 14px center;
}
input:focus, select:focus, textarea:focus {
  outline: none; border-color: var(--yesil); box-shadow: 0 0 0 3px rgba(78,148,102,.18);
}
input::placeholder, textarea::placeholder { color: #9AA1AC; }
input[aria-invalid=true], textarea[aria-invalid=true], select[aria-invalid=true] { border-color: var(--kirmizi); }
.alan-hata { margin-top: 6px; font-size: .8125rem; color: var(--kirmizi); font-weight: 500; }
.mono-girdi { font-family: var(--f-mono); }

.onay { display: flex; align-items: flex-start; gap: 10px; font-size: .9375rem; cursor: pointer; margin-bottom: 12px; }
.onay input { flex: none; width: 18px; height: 18px; margin-top: 2px; accent-color: var(--yesil); cursor: pointer; }
.onay span { line-height: 1.5; }

.alan-ikili { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.alan-uclu  { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }

/* Seçilebilir kartlar (bağış türü, ihtiyaç türü, gönüllü alanı) */
.secim-izgara { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 12px; }
.secim {
  position: relative; display: flex; flex-direction: column; align-items: center; gap: 8px;
  padding: 18px 14px; text-align: center; background: var(--beyaz); cursor: pointer;
  border: 1px solid var(--kenarlik-koyu); border-radius: var(--r-kart);
  font-weight: 600; font-size: .9375rem; transition: border-color .15s, background .15s;
}
.secim input { position: absolute; opacity: 0; pointer-events: none; }
.secim svg { width: 26px; height: 26px; color: var(--yesil); }
.secim:hover { border-color: var(--yesil-acik); }
.secim:has(input:checked) { border-color: var(--yesil); background: var(--yesil-solgun); box-shadow: inset 0 0 0 1px var(--yesil); }
.secim:has(input:focus-visible) { outline: 3px solid var(--yesil-acik); outline-offset: 2px; }

/* Çip seçimi (müsait günler, etiketler) */
.cipler { display: flex; flex-wrap: wrap; gap: 9px; }
.cip {
  position: relative; padding: 9px 16px; border-radius: 999px; cursor: pointer;
  border: 1px solid var(--kenarlik-koyu); background: var(--beyaz); font-size: .875rem; font-weight: 500;
}
.cip input { position: absolute; opacity: 0; pointer-events: none; }
.cip:has(input:checked) { background: var(--yesil); border-color: var(--yesil); color: #fff; }

/* Hazır tutar butonları */
.tutarlar { display: grid; grid-template-columns: repeat(auto-fit, minmax(96px, 1fr)); gap: 10px; }
.tutar {
  position: relative; padding: 14px 8px; text-align: center; cursor: pointer;
  border: 1px solid var(--kenarlik-koyu); border-radius: var(--r-buton); background: var(--beyaz);
  font-family: var(--f-mono); font-weight: 600; font-size: 1rem;
}
.tutar input { position: absolute; opacity: 0; pointer-events: none; }
.tutar:has(input:checked) { border-color: var(--yesil); background: var(--yesil-solgun); color: var(--yesil-koyu); box-shadow: inset 0 0 0 1px var(--yesil); }

/* Anahtar (toggle) */
.anahtar { display: flex; align-items: center; gap: 12px; cursor: pointer; font-weight: 500; }
.anahtar input { position: absolute; opacity: 0; }
.anahtar i {
  flex: none; width: 46px; height: 26px; border-radius: 999px; background: var(--kenarlik-koyu);
  position: relative; transition: background .18s;
}
.anahtar i::after {
  content: ""; position: absolute; top: 3px; left: 3px; width: 20px; height: 20px;
  border-radius: 50%; background: #fff; transition: transform .18s;
}
.anahtar input:checked + i { background: var(--yesil); }
.anahtar input:checked + i::after { transform: translateX(20px); }

/* Dosya yükleme alanı */
.yukleme {
  border: 1.5px dashed var(--kenarlik-koyu); border-radius: var(--r-kart);
  padding: 26px; text-align: center; background: var(--krem); cursor: pointer; display: block;
}
.yukleme:hover { border-color: var(--yesil); background: var(--yesil-solgun); }
.yukleme svg { width: 28px; height: 28px; color: var(--yesil); margin: 0 auto 10px; }
.yukleme b { display: block; color: var(--lacivert-koyu); }
.yukleme input[type=file] { display: none; }
.yukleme-secili { font-family: var(--f-mono); font-size: .8125rem; color: var(--yesil-koyu); margin-top: 8px; }

/* Form bölümü başlığı */
.form-bolum { padding-top: 32px; margin-top: 32px; border-top: 1px solid var(--kenarlik); }
.form-bolum:first-of-type { padding-top: 0; margin-top: 0; border-top: 0; }
.form-bolum > h3 { display: flex; align-items: center; gap: 10px; }
.form-bolum > h3 .no {
  flex: none; width: 30px; height: 30px; border-radius: 50%; background: var(--yesil-solgun); color: var(--yesil);
  font-family: var(--f-mono); font-size: .875rem; display: grid; place-items: center; font-weight: 600;
}

/* --- 9. Uyarı kutuları --------------------------------------------------- */
.uyari {
  display: flex; gap: 12px; padding: 16px 18px; border-radius: var(--r-kart);
  border: 1px solid var(--kenarlik); background: var(--beyaz); font-size: .9375rem; margin-bottom: 20px;
}
.uyari svg { flex: none; width: 20px; height: 20px; margin-top: 2px; }
.uyari b { display: block; margin-bottom: 3px; color: var(--lacivert-koyu); }
.uyari-bilgi   { background: #EDF2F9; border-color: #D3DEEE; color: var(--lacivert-koyu); }
.uyari-basari  { background: var(--yesil-zemin); border-color: #BFDCCB; color: var(--yesil-koyu); }
.uyari-amber   { background: var(--amber-zemin); border-color: #EBDCB6; color: var(--amber); }
.uyari-hata    { background: var(--kirmizi-zemin); border-color: #EFC9C9; color: var(--kirmizi); }
.uyari-mahrem  { background: var(--krem-koyu); border-color: var(--kenarlik-koyu); color: var(--metin); }

/* --- 10. Üst menü -------------------------------------------------------- */
.ust {
  position: sticky; top: 0; z-index: 60; background: rgba(246,244,239,.92);
  backdrop-filter: saturate(160%) blur(10px); border-bottom: 1px solid var(--kenarlik);
  transition: padding .18s;
}
.ust-ic { display: flex; align-items: center; gap: 20px; padding-block: 14px; transition: padding .18s; }
.ust.ince .ust-ic { padding-block: 7px; }
.ust.ince .marka img { height: 36px; }

.marka { display: flex; align-items: center; gap: 11px; text-decoration: none !important; flex: none; }
.marka img { height: 46px; width: auto; transition: height .18s; }
.marka b { font-family: var(--f-baslik); font-size: 1.25rem; font-weight: 600; color: var(--lacivert-koyu); line-height: 1.1; }
.marka span { display: block; font-size: .6875rem; letter-spacing: .16em; text-transform: uppercase; color: var(--yesil); font-weight: 600; }

.ana-menu { display: flex; align-items: center; gap: 2px; margin-left: auto; list-style: none; padding: 0; margin-block: 0; }
.ana-menu > li { position: relative; display: flex; align-items: center; border-radius: var(--r-buton); }
.ana-menu a {
  display: block; padding: 9px 13px; border-radius: var(--r-buton); font-size: .9375rem;
  font-weight: 500; color: var(--metin); text-decoration: none !important;
}
.ana-menu a:hover { background: var(--krem-koyu); color: var(--lacivert); }
.ana-menu a[aria-current=page] { color: var(--yesil); font-weight: 600; }

/* --- Açılır alt menü ----------------------------------------------------- */
/* Fare ile üzerine gelince açılır; dokunmatik ekranda ve klavyeyle ok
   düğmesinden açılıp kapanır (bkz. site.js). */
.ana-menu > li.alt-var { padding-right: 2px; }
.ana-menu > li.alt-var:hover, .ana-menu > li.alt-var:focus-within { background: var(--krem-koyu); }
.ana-menu > li.alt-var:hover > a, .ana-menu > li.alt-var:focus-within > a { background: transparent; color: var(--lacivert); }
.ana-menu > li.alt-var > a { padding-right: 5px; }
/* Başlık ile açılır kutu arasındaki boşlukta fare kaybolmasın */
.ana-menu > li.alt-var::after { content: ''; position: absolute; top: 100%; left: 0; right: 0; height: 8px; }

.alt-ac {
  flex: none; display: grid; place-items: center; width: 22px; height: 32px;
  padding: 0; border: 0; background: none; cursor: pointer; color: var(--metin-2);
}
.alt-ac svg { width: 15px; height: 15px; transition: transform .16s; }
.ana-menu > li.acik > .alt-ac svg { transform: rotate(180deg); }

.alt-menu {
  position: absolute; top: calc(100% + 8px); left: 0; min-width: 246px; list-style: none;
  background: var(--beyaz); border: 1px solid var(--kenarlik); border-radius: var(--r-kart);
  padding: 8px; margin: 0; box-shadow: 0 12px 30px rgba(11,31,61,.09); z-index: 60;
  opacity: 0; visibility: hidden; transform: translateY(-5px); transition: .16s;
}
.ana-menu > li:hover > .alt-menu,
.ana-menu > li:focus-within > .alt-menu,
.ana-menu > li.acik > .alt-menu { opacity: 1; visibility: visible; transform: none; }
.alt-menu a { font-size: .9rem; padding: 9px 12px; white-space: nowrap; }
.alt-menu a small { display: block; margin-top: 2px; font-size: .75rem; font-weight: 400; color: var(--metin-2); }

/* Son başlıkların açılır kutusu ekrandan taşmasın */
.ana-menu > li:nth-last-child(-n+2) > .alt-menu { left: auto; right: 0; }

.ust-aksiyon { display: flex; align-items: center; gap: 10px; flex: none; }
.menu-dugme {
  display: none; width: 44px; height: 44px; border: 1px solid var(--kenarlik-koyu);
  border-radius: var(--r-buton); background: var(--beyaz); cursor: pointer; place-items: center;
}
.menu-dugme svg { width: 22px; height: 22px; }

/* Mobil menü paneli */
.mobil-menu {
  position: fixed; inset: 0 0 0 auto; width: min(340px, 88vw); z-index: 80;
  background: var(--beyaz); border-left: 1px solid var(--kenarlik);
  transform: translateX(100%); transition: transform .22s ease, visibility .22s;
  overflow-y: auto; padding: 20px; display: flex; flex-direction: column; gap: 6px;
  padding: calc(20px + env(safe-area-inset-top)) max(20px, env(safe-area-inset-right))
           calc(20px + env(safe-area-inset-bottom)) 20px;
  /* Kapalıyken görünmez: hem yatay kaydırma taşmasını hem de klavye ile
     odaklanmayı engeller. */
  visibility: hidden;
}
.mobil-menu[data-acik=evet] { transform: none; visibility: visible; }
.mobil-menu a { padding: 13px 12px; border-radius: var(--r-buton); font-weight: 500; color: var(--metin); }
.mobil-menu a:hover { background: var(--krem); }
.mobil-menu a[aria-current=page] { color: var(--yesil); font-weight: 600; }
/* Menüdeki düğmeler kendi rengini korusun: ".mobil-menu a" kuralı Bağış Yap'ın beyaz
   yazısını koyu yapıyordu (yeşil üstünde okunmuyordu); dokunmatikte takılı kalan
   :hover da zemini kreme çevirip yazıyı görünmez yapabiliyordu. */
.mobil-menu a.btn-birincil, .mobil-menu a.btn-birincil:hover { color: #fff; }
.mobil-menu a.btn-birincil:hover { background: var(--yesil-koyu); }
.mobil-menu a.btn-ikincil { color: var(--lacivert); }

/* Mobil akordeon — her başlık kendi alt menüsünü açıp kapatır */
.mobil-satir { display: flex; align-items: center; gap: 4px; }
.mobil-satir > a { flex: 1; min-width: 0; }
.mobil-alt-ac {
  flex: none; width: 40px; height: 40px; display: grid; place-items: center; cursor: pointer;
  border: 1px solid var(--kenarlik); border-radius: var(--r-buton);
  background: var(--beyaz); color: var(--metin-2);
}
.mobil-alt-ac svg { transition: transform .18s; }
.mobil-alt-ac[aria-expanded=true] svg { transform: rotate(180deg); }
.mobil-alt {
  display: flex; flex-direction: column; gap: 2px;
  margin: 2px 0 8px 12px; padding-left: 10px; border-left: 2px solid var(--kenarlik);
}
/* display:flex, [hidden] gizlemesini ezerdi — açıkça geri alınır */
.mobil-alt[hidden] { display: none; }
.mobil-alt a { padding: 10px 12px; font-size: .9rem; font-weight: 400; color: var(--metin-2); }
.mobil-menu-basi { display: flex; align-items: center; justify-content: space-between; margin-bottom: 8px; }
.mobil-menu-kapat { width: 42px; height: 42px; border: 1px solid var(--kenarlik); border-radius: var(--r-buton); background: var(--beyaz); cursor: pointer; display: grid; place-items: center; }
.perde { position: fixed; inset: 0; background: rgba(11,31,61,.45); z-index: 70; opacity: 0; visibility: hidden; transition: .2s; }
.perde[data-acik=evet] { opacity: 1; visibility: visible; }

/* --- 11. Hero ------------------------------------------------------------ */
.hero { background: var(--lacivert-koyu); color: #D9DEE7; padding-block: 84px; }
.hero-izgara { display: grid; grid-template-columns: 1.05fr .95fr; gap: 56px; align-items: center; }
.hero h1 { color: #fff; margin-bottom: .45em; }
.hero p { font-size: 1.1875rem; color: #B9C2D0; max-width: 52ch; }
.hero-gorsel { border-radius: var(--r-kart); overflow: hidden; border: 1px solid rgba(255,255,255,.14); }
.hero-gorsel img { width: 100%; aspect-ratio: 4/3; object-fit: cover; }

/* Sayfa başlığı bandı (iç sayfalar) */
.sayfa-basi { background: var(--krem-koyu); border-bottom: 1px solid var(--kenarlik); padding-block: 52px; }
.sayfa-basi h1 { margin-bottom: .3em; }
.sayfa-basi p { color: var(--metin-2); max-width: 66ch; margin-bottom: 0; }

/* Ekmek kırıntısı */
.kirinti { display: flex; flex-wrap: wrap; gap: 8px; font-size: .8125rem; color: var(--metin-2); margin-bottom: 16px; list-style: none; padding: 0; }
.kirinti li + li::before { content: "/"; margin-right: 8px; color: var(--kenarlik-koyu); }
.kirinti a { color: var(--metin-2); }
.kirinti [aria-current] { color: var(--lacivert); font-weight: 500; }

/* İstatistik şeridi */
.istatistik {
  background: var(--beyaz); border: 1px solid var(--kenarlik); border-radius: var(--r-kart);
  display: grid; grid-template-columns: repeat(4, 1fr); margin-top: -46px; position: relative; z-index: 2;
}
.istatistik > div { padding: 26px 20px; text-align: center; border-left: 1px solid var(--kenarlik); }
.istatistik > div:first-child { border-left: 0; }
.istatistik b {
  display: block; font-family: var(--f-mono); font-size: clamp(1.5rem, 1.2rem + 1vw, 2rem);
  font-weight: 600; color: var(--lacivert); letter-spacing: -.02em;
}
.istatistik span { font-size: .8125rem; color: var(--metin-2); }

/* --- 12. Kampanya kartı -------------------------------------------------- */
.kampanya { position: relative; }
.kampanya .kart-gorsel { aspect-ratio: 16/10; }
.kampanya .kart-govde { gap: 10px; }
.kampanya h3 { font-size: 1.1875rem; }
.kampanya .ozet { color: var(--metin-2); font-size: .9375rem; flex: 1; }
.kampanya .alt-satir { display: flex; align-items: center; justify-content: space-between; font-size: .8125rem; color: var(--metin-2); }
.kampanya-bitti .kart-gorsel { filter: grayscale(.75); opacity: .65; }

/* Etkinlik satırı */
.etkinlik-satir {
  display: flex; align-items: center; gap: 18px; padding: 16px 18px; background: var(--beyaz);
  border: 1px solid var(--kenarlik); border-radius: var(--r-kart); margin-bottom: 12px;
}
.tarih-blok {
  flex: none; width: 62px; text-align: center; background: var(--krem); border: 1px solid var(--kenarlik);
  border-radius: var(--r-kucuk); padding: 8px 4px;
}
.tarih-blok b { display: block; font-family: var(--f-mono); font-size: 1.375rem; font-weight: 600; color: var(--lacivert); line-height: 1.1; }
.tarih-blok span { font-size: .6875rem; text-transform: uppercase; letter-spacing: .1em; color: var(--metin-2); }
.etkinlik-satir .bilgi { flex: 1; min-width: 0; }
.etkinlik-satir .bilgi b { display: block; color: var(--lacivert-koyu); font-weight: 600; }
.etkinlik-satir .bilgi span { font-size: .875rem; color: var(--metin-2); }

/* --- 13. Akordeon (SSS) -------------------------------------------------- */
.akordeon { border: 1px solid var(--kenarlik); border-radius: var(--r-kart); background: var(--beyaz); overflow: hidden; }
.akordeon details + details { border-top: 1px solid var(--kenarlik); }
.akordeon summary {
  display: flex; align-items: center; justify-content: space-between; gap: 16px; cursor: pointer;
  padding: 18px 22px; font-weight: 600; color: var(--lacivert-koyu); list-style: none;
}
.akordeon summary::-webkit-details-marker { display: none; }
.akordeon summary::after {
  content: ""; flex: none; width: 11px; height: 11px; border-right: 2px solid var(--yesil);
  border-bottom: 2px solid var(--yesil); transform: rotate(45deg) translateY(-3px); transition: transform .18s;
}
.akordeon details[open] > summary { color: var(--lacivert); box-shadow: inset 3px 0 0 var(--yesil); }
.akordeon details[open] > summary::after { transform: rotate(-135deg) translateY(-3px); }
.akordeon .cevap { padding: 0 22px 20px; color: var(--metin-2); box-shadow: inset 3px 0 0 var(--yesil); }

/* --- 14. Sekmeler -------------------------------------------------------- */
.sekmeler { display: flex; flex-wrap: wrap; gap: 6px; border-bottom: 1px solid var(--kenarlik); margin-bottom: 32px; }
.sekmeler a, .sekmeler button {
  padding: 11px 17px; border: 0; background: none; cursor: pointer; font-weight: 500; font-size: .9375rem;
  color: var(--metin-2); border-bottom: 2px solid transparent; margin-bottom: -1px; text-decoration: none !important;
}
.sekmeler a:hover, .sekmeler button:hover { color: var(--lacivert); }
.sekmeler [aria-selected=true], .sekmeler [aria-current=page] { color: var(--yesil); border-bottom-color: var(--yesil); font-weight: 600; }

/* Filtre çubuğu */
.filtre {
  display: flex; flex-wrap: wrap; gap: 12px; align-items: center; padding: 16px;
  background: var(--beyaz); border: 1px solid var(--kenarlik); border-radius: var(--r-kart); margin-bottom: 28px;
}
.filtre select, .filtre input { width: auto; min-width: 170px; flex: 1 1 170px; }

/* Sayfalama */
.sayfalama { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; margin-top: 44px; }
.sayfalama a, .sayfalama span {
  min-width: 42px; height: 42px; display: grid; place-items: center; padding-inline: 12px;
  border: 1px solid var(--kenarlik); border-radius: var(--r-buton); background: var(--beyaz);
  font-family: var(--f-mono); font-size: .875rem; text-decoration: none !important;
}
.sayfalama a:hover { border-color: var(--yesil); color: var(--yesil); }
.sayfalama [aria-current=page] { background: var(--lacivert); border-color: var(--lacivert); color: #fff; }
.sayfalama .bos { opacity: .45; pointer-events: none; }

/* Boş durum */
.bos-durum { text-align: center; padding: 64px 24px; background: var(--beyaz); border: 1px dashed var(--kenarlik-koyu); border-radius: var(--r-kart); }
.bos-durum svg { width: 46px; height: 46px; color: var(--kenarlik-koyu); margin: 0 auto 16px; }

/* --- 15. Adım göstergesi ------------------------------------------------- */
.adimlar { display: flex; align-items: flex-start; gap: 8px; margin-bottom: 34px; }
.adim { flex: 1; text-align: center; position: relative; font-size: .8125rem; color: var(--metin-2); }
.adim b {
  display: grid; place-items: center; width: 34px; height: 34px; margin: 0 auto 8px; border-radius: 50%;
  background: var(--krem-koyu); color: var(--metin-2); font-family: var(--f-mono); font-size: .875rem; font-weight: 600;
}
.adim::before { content: ""; position: absolute; top: 17px; right: calc(50% + 24px); left: calc(-50% + 24px); height: 1px; background: var(--kenarlik-koyu); }
.adim:first-child::before { display: none; }
.adim[data-durum=aktif] { color: var(--lacivert-koyu); font-weight: 600; }
.adim[data-durum=aktif] b, .adim[data-durum=tamam] b { background: var(--yesil); color: #fff; }

/* --- 16. Yapışkan yan kart ----------------------------------------------- */
.iki-sutun { display: grid; grid-template-columns: minmax(0,1fr) 372px; gap: 44px; align-items: start; }
.iki-sutun-dar { grid-template-columns: 268px minmax(0,1fr); }
.dagilim-izgara { grid-template-columns: minmax(0,1.2fr) minmax(0,1fr); align-items: center; }
.yapiskan { position: sticky; top: 100px; }

/* IBAN kartı */
.iban-kart { background: var(--lacivert-koyu); color: #C6CFDC; border-radius: var(--r-kart); padding: 22px; }
.iban-kart .baslik { font-size: .75rem; letter-spacing: .14em; text-transform: uppercase; color: var(--altin); margin-bottom: 12px; }
.iban-kart .banka { color: #fff; font-weight: 600; margin-bottom: 4px; }
.iban-satir { display: flex; align-items: center; gap: 10px; margin-top: 10px; }
.iban-satir code {
  flex: 1; font-family: var(--f-mono); font-size: .9375rem; color: #fff; letter-spacing: .04em;
  background: rgba(255,255,255,.08); padding: 11px 13px; border-radius: var(--r-kucuk); word-break: break-all;
}
.kopyala {
  flex: none; padding: 10px 13px; border-radius: var(--r-kucuk); border: 1px solid rgba(255,255,255,.28);
  background: transparent; color: #fff; cursor: pointer; font-size: .8125rem; font-weight: 600;
}
.kopyala:hover { background: rgba(255,255,255,.14); }

/* Özet kartı satırları */
.ozet-satir { display: flex; justify-content: space-between; gap: 14px; padding: 11px 0; border-bottom: 1px solid var(--kenarlik); font-size: .9375rem; }
.ozet-satir:last-of-type { border-bottom: 0; }
.ozet-satir b { font-weight: 600; color: var(--lacivert-koyu); }
.ozet-toplam { display: flex; justify-content: space-between; align-items: baseline; gap: 14px; padding-top: 16px; margin-top: 8px; border-top: 2px solid var(--kenarlik); }
.ozet-toplam .tutar-buyuk { font-family: var(--f-mono); font-size: 1.75rem; font-weight: 600; color: var(--yesil); }

/* --- 17. Belge / rapor satırı -------------------------------------------- */
.belge-satir {
  display: flex; align-items: center; gap: 16px; padding: 16px 18px; background: var(--beyaz);
  border: 1px solid var(--kenarlik); border-radius: var(--r-kart); margin-bottom: 10px;
}
.belge-satir svg { flex: none; width: 26px; height: 26px; color: var(--yesil); }
.belge-satir .ad { flex: 1; min-width: 0; }
.belge-satir .ad b { display: block; color: var(--lacivert-koyu); }
.belge-satir .ad span { font-family: var(--f-mono); font-size: .8125rem; color: var(--metin-2); }

/* --- 18. Galeri ---------------------------------------------------------- */
.galeri-izgara { columns: 3; column-gap: 16px; }
.galeri-izgara figure { break-inside: avoid; margin: 0 0 16px; position: relative; border-radius: var(--r-kart); overflow: hidden; cursor: pointer; }
.galeri-izgara img { width: 100%; display: block; }
.galeri-izgara figcaption {
  position: absolute; inset: auto 0 0 0; padding: 26px 14px 12px; color: #fff; font-size: .875rem; font-weight: 500;
  background: linear-gradient(transparent, rgba(11,31,61,.85)); opacity: 0; transition: opacity .18s;
}
.galeri-izgara figure:hover figcaption { opacity: 1; }

/* --- 19. Zengin metin ---------------------------------------------------- */
.metin { font-size: 1.0625rem; line-height: 1.75; }
.metin h2 { margin-top: 1.8em; }
.metin h3 { margin-top: 1.6em; }
.metin ul, .metin ol { padding-left: 1.3em; margin-bottom: 1em; }
.metin li { margin-bottom: .5em; }
.metin blockquote {
  margin: 1.6em 0; padding: 4px 0 4px 22px; border-left: 3px solid var(--yesil);
  font-family: var(--f-baslik); font-size: 1.1875rem; color: var(--lacivert-koyu); font-style: italic;
}
.metin img { border-radius: var(--r-kart); margin-block: 1.6em; }
.metin table { margin-block: 1.6em; font-size: .9375rem; }
.metin th, .metin td { padding: 11px 14px; border-bottom: 1px solid var(--kenarlik); text-align: left; vertical-align: top; }
.metin th { background: var(--krem-koyu); font-weight: 600; color: var(--lacivert-koyu); }

/* İşaretli liste */
.tik-liste { list-style: none; padding: 0; margin: 0 0 1em; }
.tik-liste li { position: relative; padding-left: 30px; margin-bottom: 11px; }
.tik-liste li::before {
  content: ""; position: absolute; left: 4px; top: 7px; width: 11px; height: 6px;
  border-left: 2px solid var(--yesil); border-bottom: 2px solid var(--yesil); transform: rotate(-45deg);
}

/* İçindekiler */
.icindekiler { font-size: .875rem; }
.icindekiler ol { list-style: none; padding: 0; margin: 0; counter-reset: ic; }
.icindekiler li { counter-increment: ic; margin-bottom: 9px; }
.icindekiler a { color: var(--metin-2); display: block; padding-left: 26px; position: relative; }
.icindekiler a::before { content: counter(ic) "."; position: absolute; left: 0; font-family: var(--f-mono); color: var(--kenarlik-koyu); }
.icindekiler a:hover, .icindekiler a[aria-current] { color: var(--yesil); }

/* --- 20. Footer ---------------------------------------------------------- */
.dip { background: var(--lacivert-koyu); color: #A8B3C4; padding-top: 60px; font-size: .9375rem; }
/* Sütun sayısı panelden eklenen altbilgi gruplarına göre değişir (bkz. layout/site.php) */
.dip-izgara { display: grid; grid-template-columns: var(--dip-sutun, 1.5fr 1fr 1fr 1.3fr); gap: 40px; }
.dip h4 { color: #fff; font-family: var(--f-govde); font-size: .8125rem; letter-spacing: .14em; text-transform: uppercase; margin-bottom: 16px; }
.dip ul { list-style: none; padding: 0; margin: 0; }
.dip li { margin-bottom: 10px; }
.dip a { color: #A8B3C4; text-decoration: none; }
.dip a:hover { color: #fff; text-decoration: underline; }
.dip-marka img { height: 78px; width: auto; margin-bottom: 14px; }
.dip-iletisim li { display: flex; gap: 10px; align-items: flex-start; }
.dip-iletisim svg { flex: none; width: 17px; height: 17px; margin-top: 3px; color: var(--yesil-acik); }
.dip-alt {
  margin-top: 48px; border-top: 1px solid rgba(176,138,62,.4); padding-block: 20px;
  display: flex; flex-wrap: wrap; gap: 14px 24px; justify-content: space-between; align-items: center; font-size: .8125rem;
}
.dip-alt ul { display: flex; flex-wrap: wrap; gap: 18px; }
.dip-sosyal { display: flex; gap: 10px; margin-top: 16px; }
.dip-sosyal a { width: 38px; height: 38px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.2); border-radius: var(--r-kucuk); }
.dip-sosyal a:hover { background: rgba(255,255,255,.1); }
.dip-sosyal svg { width: 18px; height: 18px; }
.izin-notu { font-family: var(--f-mono); font-size: .75rem; color: #7C8798; }

/* Bülten formu */
.bulten { display: flex; gap: 8px; margin-top: 12px; }
.bulten input {
  flex: 1; min-width: 0; background: rgba(255,255,255,.07); border-color: rgba(255,255,255,.2); color: #fff;
}
.bulten input::placeholder { color: #7C8798; }
.bulten input:focus { border-color: var(--yesil-acik); box-shadow: none; }

/* --- 21. WhatsApp / hızlı iletişim --------------------------------------- */
.wa-dugme {
  position: fixed; right: 20px; bottom: 20px; z-index: 65;
  right: calc(20px + env(safe-area-inset-right)); bottom: calc(20px + env(safe-area-inset-bottom));
  display: inline-flex; align-items: center; gap: 10px; padding: 13px 18px 13px 15px;
  background: #1FA855; color: #fff !important; border-radius: 999px; font-weight: 600; font-size: .9375rem;
  box-shadow: 0 8px 24px rgba(31,168,85,.35); text-decoration: none !important;
}
.wa-dugme:hover { background: #17803F; }
.wa-dugme svg { width: 24px; height: 24px; flex: none; }
.wa-dugme .yazi { display: inline; }

/* İletişim bilgi kartı */
.iletisim-kart { display: flex; gap: 15px; align-items: flex-start; padding: 20px; background: var(--beyaz); border: 1px solid var(--kenarlik); border-radius: var(--r-kart); margin-bottom: 12px; }
.iletisim-kart .ikon { flex: none; width: 42px; height: 42px; border-radius: 50%; background: var(--yesil-solgun); display: grid; place-items: center; }
.iletisim-kart .ikon svg { width: 20px; height: 20px; color: var(--yesil); }
.iletisim-kart .baslik { font-size: .75rem; letter-spacing: .1em; text-transform: uppercase; color: var(--metin-2); margin-bottom: 4px; }
.iletisim-kart .deger { color: var(--lacivert-koyu); font-weight: 500; }
.iletisim-kart .deger a { color: var(--lacivert-koyu); }

/* Harita */
.harita { border: 1px solid var(--kenarlik); border-radius: var(--r-kart); overflow: hidden; background: var(--krem-koyu); }
.harita iframe { display: block; width: 100%; height: 420px; border: 0; }

/* Çağrı bandı */
.cagri { background: var(--krem-koyu); border: 1px solid var(--kenarlik); border-radius: var(--r-kart); padding: 40px; text-align: center; }
.cagri h2 { margin-bottom: .4em; }
.cagri p { color: var(--metin-2); max-width: 56ch; margin-inline: auto; }

/* Yüzde dağılım çubuğu (şeffaflık) */
.dagilim { display: flex; height: 30px; border-radius: var(--r-kucuk); overflow: hidden; border: 1px solid var(--kenarlik); }
.dagilim > span { display: block; }
.dagilim-liste { list-style: none; padding: 0; margin: 22px 0 0; display: grid; gap: 12px; }
.dagilim-liste li { display: flex; align-items: center; gap: 11px; font-size: .9375rem; }
.dagilim-liste .nokta { flex: none; width: 12px; height: 12px; border-radius: 3px; }
.dagilim-liste .yuzde { margin-left: auto; font-family: var(--f-mono); font-weight: 600; color: var(--lacivert-koyu); }

/* Akış adımları */
.akis { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; counter-reset: ak; }
.akis > div { position: relative; padding: 24px 20px; background: var(--beyaz); border: 1px solid var(--kenarlik); border-radius: var(--r-kart); counter-increment: ak; }
.akis > div::before {
  content: counter(ak); display: grid; place-items: center; width: 32px; height: 32px; margin-bottom: 12px;
  border-radius: 50%; background: var(--lacivert); color: #fff; font-family: var(--f-mono); font-size: .875rem; font-weight: 600;
}
.akis h4 { margin-bottom: .3em; }
.akis p { font-size: .875rem; color: var(--metin-2); margin: 0; }

/* --- 22. Duyarlı --------------------------------------------------------- */
/* Yedi ana başlık dar ekrana sığmaz: önce daraltılır, sonra mobil menüye geçilir */
@media (max-width: 1240px) {
  .ana-menu > li > a { padding-inline: 9px; font-size: .875rem; }
}
@media (max-width: 1080px) {
  .ana-menu, .ust-aksiyon .btn { display: none; }
  .menu-dugme { display: grid; }
}
@media (max-width: 1024px) {
  :root { --bolum: 56px; }
  /* minmax(0,1fr): yalin 1fr, icerik daralamazsa sutunu ekrandan genisletir
     (320px'te bagis formu ve yasal metinler sagdan kirpiliyordu). */
  .iki-sutun, .iki-sutun-dar, .dagilim-izgara { grid-template-columns: minmax(0, 1fr); gap: 32px; }
  .yapiskan { position: static; }
  .hero-izgara { grid-template-columns: minmax(0, 1fr); gap: 36px; }
  .izgara-4 { grid-template-columns: repeat(2, 1fr); }
  .akis { grid-template-columns: repeat(2, 1fr); }
  .dip-izgara { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 32px; }
  .galeri-izgara { columns: 2; }
}
@media (max-width: 760px) {
  :root { --bolum: 48px; --bosluk: 16px; }
  .kapsayici { padding-inline: 16px; }
  .kapsayici { padding-inline: max(16px, env(safe-area-inset-left)) max(16px, env(safe-area-inset-right)); }
  .hero { padding-block: 52px; }
  .izgara-2, .izgara-3, .izgara-4 { grid-template-columns: minmax(0, 1fr); }
  .istatistik { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); margin-top: -30px; }
  .istatistik > div:nth-child(3) { border-left: 0; }
  .istatistik > div:nth-child(n+3) { border-top: 1px solid var(--kenarlik); }
  .alan-ikili, .alan-uclu { grid-template-columns: minmax(0, 1fr); }
  .akis { grid-template-columns: minmax(0, 1fr); }
  .dip-izgara { grid-template-columns: minmax(0, 1fr); }
  .galeri-izgara { columns: 1; }
  .kart { padding: 22px; }
  .cagri { padding: 28px 20px; }
  .etkinlik-satir { flex-wrap: wrap; }
  .etkinlik-satir .btn { width: 100%; }
  .adimlar { gap: 2px; }
  .adim { font-size: .6875rem; }
  .adim::before { right: calc(50% + 20px); left: calc(-50% + 20px); }
  .wa-dugme { right: calc(14px + env(safe-area-inset-right)); bottom: calc(14px + env(safe-area-inset-bottom)); padding: 13px; }
  .wa-dugme .yazi { display: none; }
  .dip-alt { flex-direction: column; align-items: flex-start; }
  .sayfa-basi { padding-block: 36px; }
}

/* --- 22b. Galeri tam ekran görüntüleyici --------------------------------- */
.goruntuleyici {
  position: fixed; inset: 0; z-index: 90; display: none;
  align-items: center; justify-content: center; gap: 12px; padding: 24px;
  background: rgba(11,31,61,.94);
}
.goruntuleyici.acik { display: flex; }
.goruntuleyici figure { margin: 0; max-width: min(1100px, 88vw); text-align: center; }
.goruntuleyici img { max-height: 78vh; width: auto; margin-inline: auto; border-radius: var(--r-kart); }
.goruntuleyici figcaption { color: #D9DEE7; font-size: .9375rem; margin-top: 14px; }
.goruntuleyici button {
  flex: none; width: 48px; height: 48px; border-radius: 50%; cursor: pointer;
  background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.28);
  color: #fff; font-size: 1.75rem; line-height: 1; display: grid; place-items: center;
}
.goruntuleyici button:hover { background: rgba(255,255,255,.24); }
.goruntuleyici .g-kapat { position: absolute; top: 20px; right: 20px; font-size: 1.5rem; }
.goruntuleyici .g-kapat { top: calc(20px + env(safe-area-inset-top)); right: calc(20px + env(safe-area-inset-right)); }
.goruntuleyici .g-sayac {
  position: absolute; bottom: calc(22px + env(safe-area-inset-bottom)); left: 50%; transform: translateX(-50%);
  font-family: var(--f-mono); font-size: .8125rem; color: #A8B3C4;
}
@media (max-width: 760px) {
  .goruntuleyici { padding: 12px; }
  .goruntuleyici .g-onceki, .goruntuleyici .g-sonraki { position: absolute; bottom: 60px; }
  .goruntuleyici .g-onceki { left: 20px; }
  .goruntuleyici .g-sonraki { right: 20px; }
}

/* --- 22c. Okuma ilerleme çizgisi ---------------------------------------- */
.okuma-cizgi { position: sticky; top: 0; z-index: 55; height: 3px; background: transparent; }
.okuma-cizgi > span { display: block; height: 100%; width: 0; background: var(--yesil); transition: width .1s linear; }

/* --- 22d. Yapım aşaması bekleme sayfası ---------------------------------- */
.yapim {
  min-height: 100vh; display: grid; place-items: center; padding: 40px 20px;
  background: var(--lacivert-koyu); position: relative; overflow: hidden;
}
.yapim::before {
  content: ""; position: absolute; inset: 0; opacity: .05; pointer-events: none;
  background-image: var(--desen); background-size: 260px;
}
.yapim-kutu {
  position: relative; width: 100%; max-width: 1080px; background: var(--beyaz);
  border-radius: var(--r-kart); border: 1px solid rgba(255,255,255,.12);
  overflow: hidden;
  /* Masaüstünde iki sütun: solda marka ve mesaj, sağda bilgi + iletişim */
  display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
}
.yapim-sol {
  padding: 52px 44px; text-align: center; display: flex; flex-direction: column;
  align-items: center; justify-content: center;
  background: linear-gradient(180deg, var(--krem) 0%, var(--beyaz) 100%);
  border-right: 1px solid var(--kenarlik);
}
.yapim-sag { padding: 44px 40px; display: flex; flex-direction: column; justify-content: center; }
/* Sağ sütun boşsa sol sütun tüm genişliği alsın */
.yapim-kutu.tek-sutun { grid-template-columns: minmax(0, 1fr); max-width: 640px; }
.yapim-kutu.tek-sutun .yapim-sol { border-right: 0; }

.yapim-logo { height: 150px; width: auto; margin-bottom: 22px; }
.yapim-rozet { margin-bottom: 18px; }
.yapim h1 { font-size: clamp(1.5rem, 2.4vw, 2.125rem); margin-bottom: .5em; }
.yapim-mesaj { color: var(--metin-2); font-size: 1.0625rem; line-height: 1.7; margin: 0; max-width: 42ch; }
.yapim-acilis { margin: 24px 0 0; }
.yapim-acilis b { display: block; font-size: 1.125rem; color: var(--lacivert-koyu); margin-top: 4px; }

.yapim-bilgiler { display: grid; gap: 14px; text-align: left; }
.yapim-bilgi {
  background: var(--krem); border-radius: var(--r-kucuk); padding: 16px 18px;
  border-left: 3px solid var(--yesil);
}
.yapim-bilgi h2 { font-size: 1.0625rem; margin: 0 0 .35em; font-family: var(--f-govde); font-weight: 600; }
.yapim-bilgi p { margin: 0; color: var(--metin-2); font-size: .9375rem; line-height: 1.6; }

.yapim-iletisim { text-align: left; }
/* Tek sütun: sağ sütun dar olduğu için e-posta/adres satır ortasından bölünmesin */
.yapim-kanallar { display: grid; gap: 8px; margin: 14px 0 16px; }
.yapim-kanal {
  display: flex; align-items: center; gap: 12px; padding: 11px 13px;
  border: 1px solid var(--kenarlik); border-radius: var(--r-kucuk);
  color: var(--metin) !important; text-decoration: none !important; transition: border-color .15s;
}
.yapim-kanal:hover { border-color: var(--yesil); }
.yapim-kanal .ikon {
  width: 36px; height: 36px; border-radius: 50%; flex: none; display: grid; place-items: center;
  background: var(--krem-koyu); color: var(--lacivert);
}
.yapim-kanal .ikon.yesil { background: #E4F3EA; color: var(--yesil); }
.yapim-kanal > span { min-width: 0; }   /* uzun metnin taşmasını engeller */
.yapim-kanal b {
  display: block; font-size: .9375rem; color: var(--lacivert-koyu);
  overflow-wrap: anywhere; line-height: 1.35;
}
.yapim-kanal span span { font-size: .75rem; color: var(--metin-2); }
.yapim-calisma { font-size: .875rem; color: var(--metin-2); margin: 0 0 16px; }

.yapim-bagis { text-align: left; margin-top: 22px; }
.yapim-sosyal { display: flex; justify-content: center; gap: 10px; margin-top: 26px; }
.yapim-sosyal a {
  width: 38px; height: 38px; border-radius: 50%; display: grid; place-items: center;
  border: 1px solid var(--kenarlik); color: var(--metin-2) !important;
}
.yapim-sosyal a:hover { border-color: var(--yesil); color: var(--yesil) !important; }
.yapim-telif { font-size: .75rem; color: var(--metin-2); margin: 22px 0 0; text-align: center; }

/* Sağ sütun içindeki bölümler arasında ayraç */
.yapim-sag > * + * { margin-top: 22px; }
.yapim-sag > * + *:not(.yapim-sosyal):not(.yapim-telif) {
  padding-top: 22px; border-top: 1px solid var(--kenarlik);
}

/* Dar ekran: tek sütuna in */
@media (max-width: 900px) {
  .yapim { padding: 24px 16px; }
  .yapim-kutu { grid-template-columns: minmax(0, 1fr); max-width: 620px; }
  .yapim-sol { border-right: 0; border-bottom: 1px solid var(--kenarlik); padding: 40px 28px 34px; }
  .yapim-sag { padding: 30px 28px 34px; }
  .yapim-logo { height: 118px; }
}
/* Tek sütuna indiğinde alan genişlediği için kanallar ikiye ayrılabilir */
@media (min-width: 561px) and (max-width: 900px) {
  .yapim-kanallar { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
}
@media (max-width: 560px) {
  .yapim-sol { padding: 32px 20px 26px; }
  .yapim-sag { padding: 24px 20px 30px; }
  .yapim-logo { height: 96px; }
}

/* --- 22e. Yönetici uyarı şeridi (yapım modu açıkken) --------------------- */
.yapim-serit {
  background: var(--amber-zemin); border-bottom: 1px solid #E4C97A;
  padding: 9px 20px; font-size: .875rem; color: #6B4E12;
  display: flex; align-items: center; justify-content: center; gap: 10px;
  flex-wrap: wrap; text-align: center;
}
.yapim-serit b { color: #4A3608; }
.yapim-serit a { color: #6B4E12 !important; text-decoration: underline !important; }

/* --- 23. Baskı ----------------------------------------------------------- */
@media print {
  .ust, .dip, .wa-dugme, .menu-dugme, .btn, .filtre, .sayfalama { display: none !important; }
  body { background: #fff; font-size: 12pt; }
  .kart { border: 1px solid #ccc; break-inside: avoid; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
}

/* --- Zekât hesaplama ------------------------------------------------------ */
.zekat-baslik { font-size: 1.0625rem; margin: 0 0 14px; }
.zekat-tutar {
  font-size: 2rem; font-weight: 600; line-height: 1.2;
  color: var(--yesil-koyu); margin: 6px 0 10px; word-break: break-word;
}
.zekat-liste { margin: 0 0 18px; padding-left: 20px; }
.zekat-liste li { margin-bottom: 10px; color: var(--metin-2); }
.zekat-liste li b { color: var(--metin); }

@media (max-width: 1024px) {
  /* Mobilde önce form, sonuç kartı altta kalsın */
  .zekat-sonuc-sutun { order: 2; }
}

/* =============================================================================
   GENİŞ MENÜ GÖRÜNÜMÜ (Ayarlar › Görünüm › Geniş panel)
   Menü solda, logo ortada, aksiyon sağda; alt başlıklar başlıklı sütunlarda.
   Açılma mekaniği klasik görünümle aynıdır (hover / .acik / focus-within).
   ========================================================================== */

/* --- Üst iletişim şeridi -------------------------------------------------- */
.ust-serit { background: var(--lacivert-koyu); color: rgba(255,255,255,.82); font-size: .8125rem; }
.ust-serit-ic { display: flex; align-items: center; gap: 22px; min-height: 36px; }
.ust-serit a {
  display: inline-flex; align-items: center; gap: 7px; color: rgba(255,255,255,.82);
  text-decoration: none !important; white-space: nowrap; transition: color .15s;
}
.ust-serit a:hover { color: #fff; }
.ust-serit svg { width: 14px; height: 14px; opacity: .8; }
.ust-serit-bosluk { flex: 1; }
.ust-serit-sosyal { width: 28px; height: 28px; display: grid; place-items: center; border-radius: 6px; }
.ust-serit-sosyal:hover { background: rgba(255,255,255,.1); }
.ust-serit-sosyal svg { width: 15px; height: 15px; }
/* Kaydırılınca şerit yukarı kayıp gizlenir, ana bar sabit kalır (bkz. dosya sonu: --serit-yuk) */

/* --- Ana bar: menü (sol yarı) | logo | menü (sağ yarı) + aksiyon --------- */
/* Yedi başlık tek tarafa sığmaz; menü ortadaki logonun iki yanına bölünür. */
.ust-genis .ust-ic { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 18px; }
.ust-genis .ust-nav-sol { justify-self: end; min-width: 0; }
.ust-genis .marka { justify-self: center; }
.ust-genis .ust-sag { display: flex; align-items: center; gap: 14px; justify-self: start; min-width: 0; }
.ust-genis .ust-nav-sag { min-width: 0; }
.ust-genis .ana-menu { margin-left: 0; gap: 2px; }
.ust-genis .ana-menu > li > a { font-weight: 600; letter-spacing: .005em; white-space: nowrap; }
.ust-genis .ust-aksiyon { margin-left: auto; }
.ust-genis .marka img { height: 50px; }
.ust-genis.ince .marka img { height: 38px; }
.ust-whatsapp svg { width: 17px; height: 17px; }
/* Paneller her zaman ORTAYA DOĞRU açılır: sol yarıdakiler sağa, sağ
   yarıdakiler sola. Logo ortada olduğundan hiçbir genişlikte ekrandan taşmaz.
   Seçiciler, klasik görünümün ".ana-menu > li:nth-last-child(-n+2) > .alt-menu"
   kuralını (0,3,1) ezmek için bilerek daha özgüldür (0,4,1). Aksi hâlde sol
   menünün sondan ikinci başlığı (Destek Ol) sağa yaslanıp 1280px'te soldan
   taşıyordu. */
.ust-genis .ust-nav-sol .ana-menu > li > .alt-panel { left: 0; right: auto; }
.ust-genis .ust-nav-sag .ana-menu > li > .alt-panel { left: auto; right: 0; }

/* --- Sütunlu panel -------------------------------------------------------- */
.alt-panel {
  display: flex; gap: 6px; padding: 18px 14px; min-width: 0; width: max-content;
  max-width: min(920px, calc(100vw - 48px));
}
.alt-sutun { min-width: 210px; padding: 0 8px; }
.alt-sutun + .alt-sutun { border-left: 1px solid var(--kenarlik); }
.alt-sutun-baslik {
  font-family: var(--f-mono); font-size: .6875rem; letter-spacing: .14em; text-transform: uppercase;
  color: var(--metin-2); margin: 2px 12px 10px; font-weight: 500;
}
.alt-panel a {
  display: flex; align-items: center; gap: 11px; padding: 7px 12px; border-radius: var(--r-kucuk);
  font-size: .9rem; font-weight: 500; color: var(--metin); white-space: nowrap;
}
.alt-panel a:hover { background: var(--krem-koyu); color: var(--lacivert); }
.alt-panel a[aria-current=page] { color: var(--yesil); }
.alt-panel a:hover .alt-ikon { background: var(--beyaz); color: var(--lacivert); }
.alt-panel a[aria-current=page] .alt-ikon { background: var(--yesil-solgun); color: var(--yesil); }
.alt-ikon {
  flex: none; width: 30px; height: 30px; display: grid; place-items: center;
  border-radius: 8px; background: var(--krem); color: var(--lacivert-acik);
  transition: background .15s, color .15s;
}
.alt-ikon svg { width: 16px; height: 16px; }


/* Mobil menüde simgeler */
.mobil-alt a { display: flex; align-items: center; gap: 10px; }
.alt-ikon-mobil { width: 26px; height: 26px; border-radius: 7px; }
.alt-ikon-mobil svg { width: 14px; height: 14px; }

/* --- Duyarlı: geniş görünüm ---------------------------------------------- */
@media (max-width: 1240px) {
  .ust-genis .ana-menu > li > a { padding-inline: 8px; font-size: .875rem; }
  .ust-genis .marka span { display: none; }   /* dar ekranda yalnızca amblem */
  .ust-genis .ust-ic { gap: 12px; }
  .alt-sutun { min-width: 190px; }
}
@media (max-width: 1080px) {
  /* Menü mobil çekmeceye taşınır: logo | aksiyon */
  .ust-genis .ust-ic { grid-template-columns: auto 1fr; }
  .ust-genis .ust-nav { display: none; }
  .ust-genis .marka { justify-self: start; }
  .ust-genis .marka span { display: block; }
  .ust-genis .ust-sag { justify-self: end; }
  .ust-whatsapp span { display: none; }
}
@media (max-width: 760px) {
  .ust-serit-ic { gap: 14px; }
  .ust-serit-sosyal { display: none; }
}

/* =============================================================================
   PWA — çevrimdışı sayfası ve mobil iyileştirmeler
   ========================================================================== */

/* --- Çevrimdışı sayfası --------------------------------------------------- */
.cevrimdisi {
  min-height: 100svh; display: grid; place-items: center;
  padding: 32px var(--bosluk); background: var(--krem);
}
.cevrimdisi-kutu {
  width: 100%; max-width: 440px; background: var(--beyaz);
  border: 1px solid var(--kenarlik); border-radius: var(--r-kart);
  padding: 32px 26px; text-align: center;
}
.cevrimdisi-amblem { height: 62px; width: auto; margin: 0 auto 18px; }
.cevrimdisi h1 { font-size: 1.5rem; margin-bottom: .4em; }
.cevrimdisi-bolum {
  margin-top: 26px; padding-top: 22px;
  border-top: 1px solid var(--kenarlik); text-align: left;
}
.cevrimdisi-satir {
  display: flex; align-items: center; gap: 11px;
  padding: 9px 0; font-size: .9375rem;
}
.cevrimdisi-satir svg { flex: none; color: var(--yesil); }
.cevrimdisi-satir a { color: var(--metin); }
.cevrimdisi-iban {
  padding: 12px 0; border-bottom: 1px dashed var(--kenarlik);
}
.cevrimdisi-iban:last-of-type { border-bottom: 0; }
.cevrimdisi-iban .ust { display: flex; align-items: center; gap: 9px; margin-bottom: 2px; }
.cevrimdisi-iban .ust b { color: var(--lacivert-koyu); font-size: .9375rem; }

/* .iban-satir koyu lacivert bağış kartı için yazılmıştır (beyaz metin).
   Burada beyaz kartta kullanıldığı için renkler açık zemine çevrilir —
   aksi hâlde IBAN beyaz üzerine beyaz kalıp görünmüyordu. */
.cevrimdisi-iban .iban-satir { flex-wrap: wrap; }
.cevrimdisi-iban .iban-satir code {
  flex: 1 1 220px; color: var(--lacivert-koyu); background: var(--krem);
  border: 1px solid var(--kenarlik);
  word-break: normal; overflow-wrap: anywhere;   /* dar ekranda gruplardan kırılır */
}
.cevrimdisi-iban .kopyala {
  color: var(--lacivert); border-color: var(--kenarlik-koyu); background: var(--beyaz);
}
.cevrimdisi-iban .kopyala:hover { background: var(--krem-koyu); }

/* --- Dokunma hedefleri ---------------------------------------------------- */
/* Altbilgi bağlantıları parmakla isabet ettirilemeyecek kadar sıktı.
   Dikey dolgu, 18px'lik satırları ~40px'lik hedeflere çıkarır.              */
@media (max-width: 760px) {
  /* Yalnızca bağlantı listeleri; marka ve sosyal ikonlar kapsam dışı */
  .dip-izgara > div > ul a,
  .dip-iletisim a { display: inline-block; padding-block: 9px; }
  .dip-izgara > div > ul li { margin-bottom: 0; }
}

/* --- Panelden yazılan içerikteki geniş tablolar --------------------------- */
/* CMS metnine çok sütunlu bir tablo eklenirse sayfayı yana taşırmasın.       */
.metin table,
.sayfa-icerik table {
  display: block; max-width: 100%; overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

/* --- Bağımsız uygulama (PWA) kipi ---------------------------------------- */
/* Tarayıcı çubuğu olmadığında üst/alt güvenli alanlara taşmayı önler.        */
@media (display-mode: standalone) {
  body { padding-bottom: env(safe-area-inset-bottom); }
}

/* --- Birden fazla telefon numarası (bkz. telefon_html) -------------------- */
.tel-ayrac { opacity: .5; }
.ust-serit-tel { display: inline-flex; align-items: center; gap: 7px; white-space: nowrap; }
.ust-serit-tel a { display: inline; }
@media (max-width: 760px) {
  /* Dar şeritte yalnızca ilk numara; tümü altbilgi ve iletişim sayfasında */
  .ust-serit-tel .tel-ayrac,
  .ust-serit-tel .tel-ayrac ~ a { display: none; }
}

/* --- Panelden yönetilen sayfalar (İHH düzeni) ----------------------------- */
/* Kapak görselli başlık bandı: fotoğraf + lacivert perde + beyaz başlık      */
.sayfa-basi-gorselli {
  position: relative; isolation: isolate; overflow: hidden;
  background: var(--lacivert-koyu); border-bottom: 0; padding-block: 112px 64px;
}
.sayfa-basi-kapak { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; }
.sayfa-basi-gorselli::before {
  content: ""; position: absolute; inset: 0; z-index: -1;
  background: linear-gradient(90deg, rgba(11,31,61,.9) 0%, rgba(11,31,61,.66) 55%, rgba(11,31,61,.38) 100%);
}
/* Ortalanmış hero (Gönüllü Ol): metin ortada olduğundan perde her yerde eşit koyu */
.hero.sayfa-basi-gorselli::before { background: rgba(11,31,61,.74); opacity: 1; }
.sayfa-basi-gorselli h1 { color: #fff; }
.sayfa-basi-gorselli p { color: #D9DEE7; }
.sayfa-basi-gorselli .kirinti,
.sayfa-basi-gorselli .kirinti a { color: #C3CCDA; }
.sayfa-basi-gorselli .kirinti [aria-current] { color: #fff; }
.sayfa-basi-gorselli .kirinti li + li::before { color: rgba(255,255,255,.4); }

/* Kodda yazılı sayfaların üstündeki, panelden yazılan giriş metni */
.sayfa-giris { padding-top: 44px; }
.sayfa-giris .metin { max-width: 860px; }
.sayfa-giris .metin > :last-child { margin-bottom: 0; }
.sayfa-giris + .bolum, .sayfa-giris + .bolum-sik { padding-top: 40px; }

/* İçerik sayfası: solda bölüm menüsü, sağda metin */
.icerik-duzen { display: grid; grid-template-columns: 286px minmax(0, 1fr); gap: 48px; align-items: stretch; }
.icerik-yan { display: flex; flex-direction: column; gap: 18px; min-width: 0; }
.icerik-ana { min-width: 0; max-width: 820px; }
.icerik-ana .metin > :first-child { margin-top: 0; }

.bolum-menu { background: var(--beyaz); border: 1px solid var(--kenarlik); border-radius: var(--r-kart); overflow: hidden; }
.bolum-menu-baslik {
  display: block; padding: 16px 20px; background: var(--lacivert); color: #fff;
  font-family: var(--f-baslik); font-size: 1.1875rem; font-weight: 600;
}
.bolum-menu ul { list-style: none; margin: 0; padding: 6px 0; }
.bolum-menu a {
  display: flex; align-items: center; justify-content: space-between; gap: 10px;
  padding: 11px 20px; color: var(--metin); font-size: .9375rem; border-left: 3px solid transparent;
}
.bolum-menu a svg { width: 16px; height: 16px; flex: none; color: var(--kenarlik-koyu); transition: transform .15s; }
.bolum-menu a:hover { background: var(--krem); color: var(--lacivert-koyu); }
.bolum-menu a:hover svg { transform: translateX(3px); color: var(--yesil); }
.bolum-menu a[aria-current] { border-left-color: var(--yesil); background: var(--yesil-solgun); color: var(--yesil-koyu); font-weight: 600; }
.bolum-menu a[aria-current] svg { color: var(--yesil); }

.destek-kutu {
  background: var(--lacivert-koyu); color: #D9DEE7; border-radius: var(--r-kart); padding: 22px;
  display: flex; flex-direction: column; gap: 10px;
}
.destek-kutu .etiket-ust { color: #9FD0AF; }
.destek-kutu p { margin: 0 0 4px; font-size: .9375rem; }

.icindekiler-yapiskan { position: sticky; top: 100px; }

.video-kutu { position: relative; aspect-ratio: 16 / 9; border-radius: var(--r-kart); overflow: hidden; background: var(--lacivert-koyu); margin-bottom: 32px; }
.video-kutu iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }

.icerik-alt {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px;
  margin-top: 34px; padding-top: 18px; border-top: 1px solid var(--kenarlik); font-size: .8125rem;
}
.belge-liste { margin-block: 1.4em; }
.belge-liste .belge-satir .btn { font-size: .8125rem; }

@media (max-width: 1024px) {
  .icerik-duzen { grid-template-columns: minmax(0, 1fr); gap: 36px; }
  /* Telefonda önce metin, ardından bölümün diğer sayfaları */
  .icerik-yan { order: 2; }
  .icindekiler-yapiskan { display: none; }
}
@media (max-width: 760px) {
  .sayfa-basi-gorselli { padding-block: 72px 40px; }
  .sayfa-giris { padding-top: 32px; }
}

/* --- Ana sayfa manşeti (İHH düzeni) --------------------------------------- */
/* Tüm manşetler aynı ızgara hücresinde üst üste durur; yükseklik en uzununa   */
/* göre belirlenir, geçişte sayfa zıplamaz.                                    */
.manset { position: relative; background: var(--lacivert-koyu); color: #D9DEE7; }
.manset-sahne { display: grid; }
.manset-oge {
  grid-area: 1 / 1; position: relative; isolation: isolate; overflow: hidden;
  display: flex; align-items: center; min-height: clamp(460px, 64vh, 640px);
  padding-block: 72px 120px;
  opacity: 0; visibility: hidden; transition: opacity .7s ease, visibility 0s linear .7s;
}
.manset-oge.aktif { opacity: 1; visibility: visible; transition: opacity .7s ease; }
.manset-oge > .kapsayici { width: 100%; }
.manset-gorsel {
  position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2;
  transform: scale(1.05); transition: transform 8s ease-out;
}
.manset-oge.aktif .manset-gorsel { transform: scale(1); }
.manset-oge:not(.manset-gorselsiz)::before {
  content: ""; position: absolute; inset: 0; z-index: -1;
  background: linear-gradient(90deg, rgba(11,31,61,.92) 0%, rgba(11,31,61,.7) 45%, rgba(11,31,61,.25) 100%);
}
/* Görsel eklenmemiş manşet: lacivert zemin + desen + yumuşak yeşil ışık */
.manset-gorselsiz { background: radial-gradient(ellipse at 85% 30%, rgba(78,148,102,.35), transparent 60%), var(--lacivert-koyu); }
.manset-icerik { max-width: 660px; }
.manset .etiket-ust { color: #9FD0AF; }
.manset-baslik { color: #fff; font-size: clamp(2.1rem, 1.3rem + 3vw, 3.4rem); line-height: 1.08; letter-spacing: -.02em; margin-bottom: .4em; }
.manset-icerik p { font-size: 1.1875rem; color: #C9D1DD; max-width: 54ch; margin: 0; }

/* Alt sekme çubuğu: manşet adları + ilerleme çizgisi */
.manset-alt { position: absolute; left: 0; right: 0; bottom: 28px; z-index: 3; }
.manset-istatistikli .manset-alt { bottom: 70px; }
.manset-istatistikli .manset-oge { padding-bottom: 170px; }
.manset-alt .kapsayici { display: flex; align-items: flex-end; gap: 24px; }
.manset-sekmeler { flex: 1; display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); gap: 16px; }
.manset-sekme {
  position: relative; display: flex; align-items: baseline; gap: 10px; min-width: 0;
  padding: 14px 0 0; background: none; border: 0; border-top: 2px solid rgba(255,255,255,.22);
  color: rgba(255,255,255,.62); font: inherit; font-size: .875rem; text-align: left; cursor: pointer;
}
.manset-sekme:hover, .manset-sekme.aktif { color: #fff; }
.manset-sekme:focus-visible { outline: 2px solid #9FD0AF; outline-offset: 4px; }
.manset-sekme-no { font-family: var(--f-mono); font-size: .75rem; color: #9FD0AF; }
.manset-sekme-ad { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-weight: 500; }
.manset-ilerleme { position: absolute; left: 0; top: -2px; height: 2px; width: 0; background: var(--yesil-acik); }
.manset-sekme.aktif .manset-ilerleme { width: 100%; }
.manset.oynuyor .manset-sekme.aktif .manset-ilerleme { animation: manset-ilerle var(--manset-sure, 7s) linear forwards; }
@keyframes manset-ilerle { from { width: 0; } to { width: 100%; } }

.manset-oklar { display: flex; gap: 8px; flex: none; }
.manset-oklar button {
  width: 42px; height: 42px; display: grid; place-items: center; cursor: pointer;
  border-radius: 50%; border: 1px solid rgba(255,255,255,.3); background: rgba(11,31,61,.35); color: #fff;
}
.manset-oklar button:hover { background: rgba(255,255,255,.14); border-color: #fff; }
.manset-oklar button:focus-visible { outline: 2px solid #9FD0AF; outline-offset: 2px; }
.manset-durdur-ikon { width: 10px; height: 12px; border-inline: 3px solid currentColor; }
[data-manset-durdur][aria-pressed="true"] .manset-durdur-ikon {
  width: 0; height: 0; border: 0; margin-left: 3px;
  border-top: 7px solid transparent; border-bottom: 7px solid transparent; border-left: 11px solid currentColor;
}

/* Faaliyet kartları: bağlantılı kart vurgusu */
.faaliyet-kart { color: inherit; transition: border-color .15s, transform .15s, box-shadow .15s; }
a.faaliyet-kart:hover { border-color: var(--yesil-acik); transform: translateY(-3px); box-shadow: 0 10px 24px -14px rgba(11,31,61,.35); }
a.faaliyet-kart h3 { transition: color .15s; }
a.faaliyet-kart:hover h3 { color: var(--yesil-koyu); }
.faaliyet-kart-ikon { color: var(--yesil); display: block; margin-bottom: 14px; }
.faaliyet-kart.kart-gorselli > img { aspect-ratio: 16 / 10; }

@media (max-width: 760px) {
  .manset-oge { min-height: 0; padding-block: 56px 112px; }
  .manset-istatistikli .manset-oge { padding-bottom: 150px; }
  .manset-istatistikli .manset-alt { bottom: 52px; }
  .manset-icerik p { font-size: 1.0625rem; }
  /* Telefonda yalnızca numara ve ilerleme çizgisi */
  .manset-sekme-ad { display: none; }
  .manset-sekmeler { gap: 10px; }
  .manset-oklar button { width: 38px; height: 38px; }
  .manset-gorsel { object-position: 70% center; }
  .manset-oge:not(.manset-gorselsiz)::before { background: linear-gradient(180deg, rgba(11,31,61,.42) 0%, rgba(11,31,61,.86) 72%); }
}
@media (prefers-reduced-motion: reduce) {
  .manset-oge, .manset-oge.aktif, .manset-gorsel { transition: none; transform: none; }
}

/* --- Ana sayfa bölümleri ---------------------------------------------------- */
.bolum-basi-satir { display: flex; justify-content: space-between; align-items: flex-end; gap: 20px; flex-wrap: wrap; }
/* Rakam şeridi manşetin hemen altında değilse üstüne binmez */
.istatistik-ayri .istatistik { margin-top: 48px; }
/* Serbest bölüm: yazı + fotoğraf */
.ozel-izgara { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 56px; align-items: center; }
.ozel-gorsel img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--r-kart); }
.ozel-metin .metin > :last-child { margin-bottom: 0; }
.ozel-bolum + .ozel-bolum { padding-top: 0; }
@media (max-width: 900px) {
  .ozel-izgara { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .ozel-gorsel { order: -1; }
}

/* =============================================================================
   KAYAN YAZI BANDI — sitenin en üstü (Yönetim → Kayan Yazı)
   İki özdeş liste art arda akar; -%50 kaydırma kesintisiz döngü verir.
   ========================================================================== */
.kayan-bant { position: relative; display: flex; align-items: stretch; color: #fff; font-size: .875rem; font-weight: 500; }
.kayan-bant[hidden] { display: none; }
.kayan-yesil    { background: var(--yesil); }
.kayan-lacivert { background: var(--lacivert); }
.kayan-altin    { background: #8C6A27; }
.kayan-kirmizi  { background: var(--kirmizi); }
.kayan-pencere {
  flex: 1; min-width: 0; overflow: hidden;
  -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 32px, #000 calc(100% - 32px), transparent 100%);
          mask-image: linear-gradient(90deg, transparent 0, #000 32px, #000 calc(100% - 32px), transparent 100%);
}
.kayan-iz { display: flex; width: max-content; animation: kayan-ak var(--kayan-sure, 30s) linear infinite; }
.kayan-bant:hover .kayan-iz, .kayan-bant:focus-within .kayan-iz { animation-play-state: paused; }
/* Her kopya en az ekran genişliğinde: kısa tek duyuruda da boşluk kalmaz */
.kayan-liste { display: flex; align-items: center; justify-content: space-around; min-width: 100vw; list-style: none; margin: 0; padding: 0; }
.kayan-liste li { display: flex; align-items: center; padding: 10px 0; white-space: nowrap; }
.kayan-liste li::after { content: "•"; margin: 0 30px; opacity: .55; }
.kayan-liste a, .kayan-liste span { color: #fff; text-decoration: none; }
.kayan-liste a:hover, .kayan-liste a:focus-visible { text-decoration: underline; text-underline-offset: 3px; }
.kayan-kapat {
  flex: none; width: 42px; display: grid; place-items: center; cursor: pointer;
  background: rgba(0,0,0,.14); border: 0; color: #fff;
}
.kayan-kapat:hover { background: rgba(0,0,0,.24); }
.kayan-kapat svg { width: 16px; height: 16px; }
@keyframes kayan-ak { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) {
  /* Kayan yazı, işletim sisteminde "animasyonları azalt" açık olsa da akar (vakfın isteği);
     genel kuraldaki .01ms süreyi ezer. Fareyle üzerine gelince yine durur. */
  .kayan-iz { animation: kayan-ak var(--kayan-sure, 30s) linear infinite !important; }
  .kayan-bant:hover .kayan-iz, .kayan-bant:focus-within .kayan-iz { animation-play-state: paused !important; }
}
@media (max-width: 760px) {
  .kayan-bant { font-size: .8125rem; }
  .kayan-liste li { padding-block: 8px; }
  .kayan-liste li::after { margin: 0 22px; }
  .kayan-kapat { width: 38px; }
}

/* --- Üst iletişim şeridi: dar ekranlar ------------------------------------- */
/* Eski kural ilk çocuk olmayan TÜM bağlantıları gizliyordu; telefon numarası  */
/* bir span içinde olduğundan telefonda yalnızca simge kalıyordu. Artık her öğe */
/* kendi sınıfıyla seçilir.                                                     */
@media (max-width: 1080px) {
  .ust-serit .us-sorgula, .ust-serit .us-takip { display: none; }
}
@media (max-width: 760px) {
  .ust-serit .us-eposta, .ust-serit .us-sosyal { display: none; }
  .ust-serit-ic { gap: 12px; min-height: 34px; }
  .ust-serit .ust-serit-tel a:first-of-type { font-weight: 600; }
}

/* =============================================================================
   TELEFON ALT ÇUBUĞU (Menü Yönetimi → Telefon Alt Çubuğu)
   ========================================================================== */
.alt-cubuk { display: none; }
@media (max-width: 760px) {
  .alt-cubuk {
    position: fixed; left: 0; right: 0; bottom: 0; z-index: 70;
    display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr);
    padding: 6px 4px calc(6px + env(safe-area-inset-bottom));
    background: rgba(255,255,255,.97); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);
    border-top: 1px solid var(--kenarlik); box-shadow: 0 -6px 18px rgba(11,31,61,.07);
  }
  .alt-cubuk a, .alt-cubuk button {
    display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px;
    min-height: 50px; padding: 2px; background: none; border: 0; cursor: pointer;
    font: inherit; font-size: .6875rem; font-weight: 600; color: var(--metin-2); text-decoration: none;
  }
  .alt-cubuk-ikon { display: grid; place-items: center; width: 40px; height: 28px; border-radius: 14px; transition: background .15s; }
  .alt-cubuk svg { width: 21px; height: 21px; }
  .alt-cubuk-ad { max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .alt-cubuk [aria-current=page] { color: var(--yesil-koyu); }
  .alt-cubuk [aria-current=page] .alt-cubuk-ikon { background: var(--yesil-solgun); }
  .alt-cubuk .vurgu { color: var(--yesil-koyu); }
  .alt-cubuk .vurgu .alt-cubuk-ikon { background: var(--yesil); color: #fff; }
  .alt-cubuklu { padding-bottom: calc(66px + env(safe-area-inset-bottom)); }
  .alt-cubuklu .wa-dugme { bottom: calc(78px + env(safe-area-inset-bottom)); }
}
@media print { .alt-cubuk, .kayan-bant, .hizli-serit { display: none !important; } }

/* --- Uygulama (PWA) kipi: durum çubuğu ------------------------------------- */
/* Üst boşluk gövdeye verilir; yapışkan menü durum çubuğunun altında durur.
   env() değerleri iPhone'da yalnızca viewport-fit=cover ile dolu gelir (bkz.
   layout/site.php). iOS sayfayı durum çubuğunun altından başlatırsa değer 0
   olur ve bu kurallar kendiliğinden etkisiz kalır.                            */
@media (display-mode: standalone) {
  body { padding-top: env(safe-area-inset-top); }
  body::before {
    content: ""; position: fixed; top: 0; left: 0; right: 0; height: env(safe-area-inset-top);
    background: var(--lacivert-koyu); z-index: 90;
  }
  .ust { padding-top: 0 !important; top: env(safe-area-inset-top); }
}

/* =============================================================================
   İHH GÖRÜNÜMÜ (Ayarlar → Görünüm → İHH tarzı)
   Renkler vakfın kendi paletidir; düzen ve tipografi İHH'den esinlenir.
   ========================================================================== */
.tema-ihh {
  --f-baslik: "Figtree", "Segoe UI", system-ui, -apple-system, sans-serif;
  background: var(--beyaz);
}
.tema-ihh h1, .tema-ihh h2, .tema-ihh h3, .tema-ihh h4 { font-weight: 700; letter-spacing: -.015em; }

/* Üst kısım: beyaz zemin, açık gri iletişim şeridi */
.ust-ihh { background: rgba(255,255,255,.97); }
.ust-ihh .ust-serit { background: var(--krem); color: var(--metin-2); border-bottom: 1px solid var(--kenarlik); }
.ust-ihh .ust-serit a { color: var(--metin-2); }
.ust-ihh .ust-serit a:hover { color: var(--lacivert); }
.ust-ihh .ust-serit svg { opacity: 1; color: var(--yesil); }
.ust-ihh .ust-serit-sosyal svg { color: var(--metin-2); }
.ust-ihh .ust-serit-sosyal:hover { background: var(--krem-koyu); }
.ust-serit-takip { display: inline-flex; align-items: center; gap: 6px; }
.ust-serit-takip .ust-serit-sosyal { width: 26px; height: 26px; }

/* Solda üç ana başlık, ortada logo, sağda bağış */
.ust-ihh .ust-ic { padding-block: 12px; }
.ust-ihh .ust-nav-sol { justify-self: start; }
.ust-ihh .ust-sag { justify-self: end; }
.ust-ihh .ust-aksiyon { gap: 8px; }
.ust-ihh .ust-whatsapp span { display: none; }
.ust-ihh .ust-whatsapp { padding-inline: 11px; }
.ust-ihh .ust-bagis { padding-inline: 20px; }
.ust-ihh .ana-menu { gap: 4px; }
.ust-ihh .ana-menu > li.alt-var,
.ust-ihh .ana-menu > li.alt-var:hover,
.ust-ihh .ana-menu > li.alt-var:focus-within { background: transparent; padding-right: 0; }
.ust-ihh .alt-ac { display: none; }   /* başlığın kendisi düğme; ok gerekmez */
.alt-ac-etiket {
  display: block; padding: 10px 12px; border: 0; background: none; cursor: pointer; border-radius: var(--r-buton);
  font: inherit; font-size: .9375rem; font-weight: 600; color: var(--metin); white-space: nowrap;
}
.ust-ihh .ana-menu > li > a { font-weight: 600; }
.ust-ihh .ana-menu > li:hover > .alt-ac-etiket,
.ust-ihh .ana-menu > li:focus-within > .alt-ac-etiket,
.ust-ihh .ana-menu > li.acik > .alt-ac-etiket,
.alt-ac-etiket.aktif { color: var(--yesil-koyu); }
.ust-ihh .ana-menu > li.alt-var::after { height: 18px; }

/* Açılır panel: beyaz kutu, üstte küçük ok, gri kutulu simgeler */
.ust-ihh .ust-nav-sol .ana-menu > li > .alt-panel {
  left: 0; right: auto; top: calc(100% + 14px); border-radius: 12px; padding: 22px 14px 18px;
  box-shadow: 0 22px 48px rgba(11,31,61,.14); max-width: min(860px, calc(100vw - 64px));
}
.ust-ihh .alt-panel::before {
  content: ""; position: absolute; top: -7px; left: 30px; width: 12px; height: 12px; background: var(--beyaz);
  border-left: 1px solid var(--kenarlik); border-top: 1px solid var(--kenarlik); transform: rotate(45deg);
}
.ust-ihh .alt-sutun { min-width: 236px; }
.ust-ihh .alt-sutun + .alt-sutun { border-left: 0; }
.ust-ihh .alt-sutun-baslik {
  font-family: var(--f-govde); text-transform: none; letter-spacing: 0;
  font-size: .875rem; font-weight: 700; color: var(--lacivert-koyu); margin: 0 12px 12px;
}
.ust-ihh .alt-panel a { padding: 7px 12px; white-space: normal; line-height: 1.3; font-size: .9375rem; }
.ust-ihh .alt-ikon { width: 34px; height: 34px; border-radius: 9px; background: var(--krem-koyu); color: var(--metin-2); }
.ust-ihh .alt-panel a:hover { background: transparent; color: var(--yesil-koyu); }
.ust-ihh .alt-panel a:hover .alt-ikon { background: var(--yesil-solgun); color: var(--yesil); }

/* Telefon menüsünde grup başlıkları */
.mobil-grup {
  display: block; margin: 10px 0 2px; padding-left: 4px;
  font-size: .6875rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--metin-2);
}
.mobil-baslik-dugme {
  flex: 1; min-width: 0; text-align: left; padding: 13px 12px; border: 0; background: none; cursor: pointer;
  border-radius: var(--r-buton); font: inherit; font-weight: 600; color: var(--metin);
}
.mobil-baslik-dugme:hover { background: var(--krem); }

/* Hızlı bağlantılar şeridi */
.hizli-serit { background: var(--beyaz); border-bottom: 1px solid var(--kenarlik); }
.hizli-serit ul {
  display: flex; justify-content: center; list-style: none; margin: 0; padding: 0;
  overflow-x: auto; scrollbar-width: none; -webkit-overflow-scrolling: touch;
}
.hizli-serit ul::-webkit-scrollbar { display: none; }
.hizli-serit li { display: flex; align-items: center; }
.hizli-serit li + li::before { content: ""; width: 1px; height: 22px; background: var(--kenarlik); }
.hizli-serit a {
  display: inline-flex; align-items: center; gap: 10px; padding: 15px 28px;
  font-size: .9375rem; font-weight: 500; color: var(--metin); white-space: nowrap; text-decoration: none;
}
.hizli-serit a svg { width: 19px; height: 19px; color: var(--yesil); }
.hizli-serit a:hover, .hizli-serit a[aria-current=page] { color: var(--yesil-koyu); }
@media (max-width: 760px) {
  .hizli-serit ul { justify-content: flex-start; }
  .hizli-serit a { padding: 12px 16px; font-size: .875rem; gap: 8px; }
}

/* --- İHH manşeti: çerçeveli kutu, solda yazı, sağda görsel ------------------ */
.manset-ihh { background: var(--beyaz); padding-block: 28px 6px; }
.manset-kutu { position: relative; border: 1px solid var(--kenarlik); border-radius: 18px; overflow: hidden; background: var(--beyaz); }
.manset-ihh .manset-sahne { display: grid; }
.manset-ihh .manset-oge {
  grid-area: 1 / 1; display: grid; grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr);
  align-items: stretch; min-height: 440px; padding: 0; overflow: hidden;
  opacity: 0; visibility: hidden; transition: opacity .6s ease, visibility 0s linear .6s;
}
.manset-ihh .manset-oge.aktif { opacity: 1; visibility: visible; transition: opacity .6s ease; }
.manset-ihh .manset-oge::before { content: none !important; }
.manset-ihh-metin { display: flex; flex-direction: column; justify-content: center; align-items: flex-start; padding: 48px 40px 48px 100px; }
.manset-ihh-kategori { display: inline-flex; align-items: center; gap: 10px; margin-bottom: 14px; font-size: .9375rem; font-weight: 600; color: var(--metin-2); }
.manset-ihh-kategori > span { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 9px; background: var(--yesil-solgun); color: var(--yesil); }
.manset-ihh-kategori svg { width: 18px; height: 18px; }
.manset-ihh .manset-baslik { color: var(--lacivert-koyu); font-size: clamp(1.75rem, 1.15rem + 1.9vw, 2.6rem); line-height: 1.14; margin-bottom: .45em; }
.manset-ihh-metin p { margin: 0 0 14px; max-width: 46ch; font-size: 1.0625rem; color: var(--metin-2); }
.manset-ihh-detay { display: inline-flex; align-items: center; gap: 6px; font-size: .9375rem; font-weight: 600; color: var(--lacivert); }
.manset-ihh-detay:hover { color: var(--yesil-koyu); }
.manset-ihh-gorsel { position: relative; background: var(--krem); }
.manset-ihh-gorsel img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.manset-ihh-gorsel.bos { display: grid; place-items: center; background: linear-gradient(135deg, var(--yesil-solgun), var(--krem-koyu)); }
.manset-ihh-yer { color: var(--yesil); opacity: .45; }
.manset-ihh-yer svg { width: 72px; height: 72px; }
.manset-ok {
  position: absolute; top: 50%; transform: translateY(-50%); z-index: 3;
  width: 46px; height: 46px; display: grid; place-items: center; cursor: pointer;
  border-radius: 50%; border: 1px solid var(--kenarlik); background: rgba(255,255,255,.94); color: var(--lacivert-koyu);
  box-shadow: 0 4px 14px rgba(11,31,61,.08);
}
.manset-ok:hover { border-color: var(--lacivert); }
.manset-ok:focus-visible { outline: 2px solid var(--yesil); outline-offset: 2px; }
.manset-ok-sol { left: 24px; }
.manset-ok-sag { right: 24px; }
.manset-ihh-alt { display: flex; align-items: flex-start; justify-content: center; gap: 10px; }
.manset-ihh-sekmeler { display: flex; gap: 2px; min-width: 0; overflow-x: auto; scrollbar-width: none; }
.manset-ihh-sekmeler::-webkit-scrollbar { display: none; }
.manset-ihh .manset-sekme {
  position: relative; flex: none; display: flex; flex-direction: column; align-items: center; gap: 8px;
  min-width: 108px; padding: 18px 10px 12px; border: 0; border-top: 2px solid transparent; background: none;
  font: inherit; font-size: .875rem; font-weight: 500; color: var(--metin-2); cursor: pointer;
}
.manset-ihh .manset-sekme:hover, .manset-ihh .manset-sekme.aktif { color: var(--lacivert-koyu); }
.manset-ihh .manset-sekme:focus-visible { outline: 2px solid var(--yesil); outline-offset: -2px; }
.manset-sekme-ikon { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 10px; background: var(--krem-koyu); color: var(--metin-2); transition: background .15s, color .15s; }
.manset-sekme-ikon svg { width: 20px; height: 20px; }
.manset-ihh .manset-sekme.aktif .manset-sekme-ikon { background: var(--yesil-solgun); color: var(--yesil); }
.manset-ihh .manset-sekme-ad { display: block; max-width: 120px; }
.manset-ihh .manset-ilerleme { top: -2px; background: var(--yesil); }
.manset-ihh.oynuyor .manset-sekme.aktif .manset-ilerleme { animation: manset-ilerle var(--manset-sure, 7s) linear forwards; }
.manset-ihh-durdur {
  flex: none; margin-top: 26px; width: 34px; height: 34px; display: grid; place-items: center; cursor: pointer;
  border-radius: 50%; border: 1px solid var(--kenarlik); background: var(--beyaz); color: var(--metin-2);
}
.manset-ihh-durdur:hover { color: var(--lacivert); border-color: var(--lacivert); }
.manset-ihh .manset-durdur-ikon { width: 8px; height: 10px; border-inline-width: 2.5px; }
.manset-ihh [data-manset-durdur][aria-pressed="true"] .manset-durdur-ikon { border-top-width: 6px; border-bottom-width: 6px; border-left-width: 9px; }
@media (max-width: 1024px) {
  .manset-ihh-metin { padding: 40px 32px 40px 84px; }
}
@media (max-width: 760px) {
  .manset-ihh { padding-top: 16px; }
  .manset-kutu { border-radius: 14px; }
  .manset-ihh .manset-oge { grid-template-columns: minmax(0, 1fr); min-height: 0; }
  /* width şart: en-boy oranı verilmiş ızgara öğesi kendiliğinden genişlemez (CSS Grid kuralı).
     Safari buna harfiyen uyar ve kutu 8×5 px'e düşüp fotoğraf kayboluyordu. */
  .manset-ihh-gorsel { order: -1; aspect-ratio: 16 / 10; width: 100%; }
  .manset-ihh-metin { padding: 22px 20px 26px; }
  .manset-ihh-metin p { font-size: 1rem; }
  .manset-ok { top: calc((100vw - 34px) * .3125); width: 40px; height: 40px; }
  .manset-ok-sol { left: 10px; }
  .manset-ok-sag { right: 10px; }
  .manset-ihh .manset-sekme { min-width: 82px; padding: 14px 6px 8px; font-size: .75rem; }
  .manset-ihh .manset-sekme-ad { display: block; }
  .manset-sekme-ikon { width: 36px; height: 36px; }
  .manset-ihh-durdur { margin-top: 22px; }
}

/* İHH görünümünde ana sayfa bölümleri: beyaz ve açık gri bantlar */
.tema-ihh .krem-zemin { background: #F4F5F7; }
.tema-ihh .sayfa-basi:not(.sayfa-basi-gorselli) { background: #F4F5F7; }
.tema-ihh .istatistik { box-shadow: 0 10px 30px rgba(11,31,61,.06); }
.tema-ihh .cagri { background: #F4F5F7; }

/* --- Hesap Numaralarımız --------------------------------------------------- */
.hesap-izgara { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 18px; }
.hesap-ust { display: flex; align-items: center; gap: 14px; margin-bottom: 8px; }
.hesap-para {
  flex: none; display: grid; place-items: center; width: 48px; height: 48px; border-radius: 12px;
  background: var(--yesil-solgun); color: var(--yesil-koyu); font-weight: 600; font-size: .875rem;
}
.hesap-not {
  display: flex; gap: 12px; margin-top: 26px; padding: 16px 18px; border-radius: var(--r-kart);
  background: var(--krem-koyu); color: var(--metin); font-size: .9375rem;
}
.hesap-not svg { flex: none; color: var(--yesil); margin-top: 2px; }
@media (max-width: 760px) { .hesap-izgara { grid-template-columns: minmax(0, 1fr); } }

/* --- Banka hesapları: açılır-kapanır liste (İHH tarzı) -----------------------
   Her banka bir <details> kutusu. Özet satırında logo/simge + banka adı,
   sağda +/− işareti; içinde şube/SWIFT bilgisi ve para birimine göre hesaplar. */
.banka-liste { display: grid; gap: 14px; }
.hesap-sarmal { max-width: 900px; margin-inline: auto; }
.banka-kutu {
  background: var(--beyaz); border: 1px solid var(--kenarlik); border-radius: var(--r-kart);
  box-shadow: 0 1px 2px rgba(11,31,61,.04); transition: box-shadow .2s;
}
.banka-kutu[open] { box-shadow: 0 10px 28px rgba(11,31,61,.08); }
.banka-kutu > summary {
  display: flex; align-items: center; gap: 16px; padding: 18px 22px;
  cursor: pointer; list-style: none; border-radius: var(--r-kart);
}
.banka-kutu > summary::-webkit-details-marker { display: none; }
.banka-kutu > summary:focus-visible { outline: 2px solid var(--yesil); outline-offset: -2px; }
.banka-kimlik { display: flex; align-items: center; gap: 14px; flex: 1; min-width: 0; }
.banka-logo { flex: none; height: 30px; width: auto; max-width: 170px; object-fit: contain; }
.banka-simge {
  flex: none; display: grid; place-items: center; width: 42px; height: 42px; border-radius: 12px;
  background: var(--yesil-solgun); color: var(--yesil);
}
.banka-ad-sarmal { display: flex; flex-direction: column; min-width: 0; }
.banka-ad { font-weight: 600; font-size: 1.0625rem; color: var(--lacivert-koyu); line-height: 1.3; }
.banka-ozet { font-size: .8125rem; color: var(--metin-2); }
.banka-ac-yazi { flex: none; font-size: .9375rem; color: var(--metin-2); }
.banka-kutu > summary:hover .banka-ac-yazi { color: var(--lacivert-koyu); }
.banka-ac { position: relative; flex: none; width: 14px; height: 14px; }
.banka-ac::before, .banka-ac::after {
  content: ''; position: absolute; left: 50%; top: 50%; border-radius: 1px;
  background: var(--lacivert-koyu); transform: translate(-50%, -50%);
}
.banka-ac::before { width: 14px; height: 2px; }
.banka-ac::after { width: 2px; height: 14px; transition: transform .2s ease; }
.banka-kutu[open] .banka-ac::after { transform: translate(-50%, -50%) scaleY(0); }

.banka-icerik { margin: 0 22px; padding: 4px 0 6px; border-top: 1px solid var(--kenarlik); }
.banka-bilgi {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(135px, 1fr)); gap: 12px 24px;
  margin: 18px 0 6px;
}
.banka-bilgi dt, .banka-alan-etiket {
  font-size: .75rem; letter-spacing: .08em; text-transform: uppercase; color: var(--metin-2);
}
.banka-bilgi dd {
  display: flex; align-items: center; flex-wrap: wrap; gap: 8px;
  margin: 3px 0 0; font-weight: 600; color: var(--lacivert-koyu);
}
.banka-hesap { padding: 18px 0; border-top: 1px dashed var(--kenarlik-koyu); }
.banka-bilgi + .banka-hesap { margin-top: 14px; }
.banka-icerik > .banka-hesap:first-child { border-top: 0; }
.banka-hesap-baslik { display: flex; align-items: center; gap: 12px; margin-bottom: 12px; }
.banka-hesap-baslik .hesap-para { width: 40px; height: 40px; border-radius: 10px; font-size: .75rem; }
.banka-hesap-baslik b { display: block; color: var(--lacivert-koyu); }
.banka-hesap-aciklama { display: block; font-size: .8125rem; color: var(--metin-2); }
.banka-hesap-alanlar { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); gap: 12px 24px; }
.banka-alan-iban:only-child { grid-column: 1 / -1; }
.banka-alan { display: flex; flex-direction: column; gap: 5px; min-width: 0; }
.banka-alan-deger { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
.banka-kutu code {
  font-family: var(--f-mono); font-size: .9375rem; letter-spacing: .03em; color: var(--lacivert-koyu);
  background: var(--krem); border: 1px solid var(--kenarlik); border-radius: var(--r-kucuk);
  padding: 8px 11px; overflow-wrap: anywhere;
}
.banka-bilgi dd code { padding: 4px 9px; font-size: .875rem; }
.banka-kutu .kopyala {
  padding: 8px 12px; color: var(--lacivert); border-color: var(--kenarlik-koyu); background: var(--beyaz);
}
.banka-kutu .kopyala:hover { background: var(--krem-koyu); }

/* Dar sütun: bağış formu ve teşekkür sayfası */
.banka-liste-dar { max-width: none; margin: 0 0 14px; gap: 10px; }
.banka-liste-dar .banka-ac-yazi { display: none; }
.banka-liste-dar .banka-kutu > summary { padding: 14px 16px; }
.banka-liste-dar .banka-icerik { margin: 0 16px; }
.banka-liste-dar .banka-hesap-alanlar { grid-template-columns: minmax(0, 1fr); }

@media (max-width: 640px) {
  .banka-kutu > summary { padding: 15px 16px; gap: 12px; }
  .banka-ac-yazi { display: none; }
  .banka-icerik { margin: 0 16px; }
  .banka-hesap-alanlar { grid-template-columns: minmax(0, 1fr); }
  .banka-logo { height: 26px; max-width: 120px; }
  .banka-kutu code { font-size: .875rem; }
}

/* Geniş görünüm 1080–1400 px: WhatsApp yalnızca simge; Bağış Yap sağdan taşmasın */
@media (max-width: 1400px) {
  .ust-genis .ust-whatsapp span { display: none; }
  .ust-genis .ust-whatsapp { padding-inline: 11px; }
}

/* --- İletişim sayfası -------------------------------------------------------- */
/* Eskiden iki sütun satır içi stille verildiği için telefonda da yan yana       */
/* kalıyor, adres ve numaralar harf harf kırılıyordu.                             */
.iletisim-hizli-bolum { padding-top: 34px; }
.iletisim-hizli { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 12px; }
.iletisim-hizli-kart {
  display: flex; align-items: center; gap: 14px; padding: 16px 18px; min-width: 0;
  background: var(--beyaz); border: 1px solid var(--kenarlik); border-radius: var(--r-kart);
  color: var(--lacivert-koyu); text-decoration: none; transition: border-color .15s, box-shadow .15s;
}
.iletisim-hizli-kart:hover { border-color: var(--yesil-acik); box-shadow: 0 8px 20px -12px rgba(11,31,61,.25); }
.iletisim-hizli-kart .ikon {
  flex: none; width: 44px; height: 44px; border-radius: 50%; display: grid; place-items: center;
  background: var(--yesil-solgun); color: var(--yesil);
}
.iletisim-hizli-kart.wa .ikon { background: #E4F3EA; color: #1FA855; }
.iletisim-hizli-kart .ikon svg { width: 21px; height: 21px; }
.iletisim-hizli-kart > span:last-child { min-width: 0; }
.iletisim-hizli-kart .baslik { display: block; font-size: .75rem; letter-spacing: .08em; text-transform: uppercase; color: var(--metin-2); }
.iletisim-hizli-kart .deger { display: block; font-weight: 600; overflow-wrap: anywhere; }
.iletisim-izgara { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr); gap: 36px; align-items: start; }
.iletisim-yan .iletisim-kart { margin-bottom: 12px; }
.iletisim-kart .deger { overflow-wrap: anywhere; }
.sube-kart { background: var(--beyaz); border: 1px solid var(--kenarlik); border-radius: var(--r-kart); padding: 18px; margin-bottom: 12px; }
.sube-kart b { color: var(--lacivert-koyu); }
.sube-adres { font-size: .875rem; margin-top: 4px; }
.sube-baglar { display: flex; flex-wrap: wrap; gap: 8px 16px; margin-top: 10px; font-size: .875rem; }
.sube-baglar a { display: inline-flex; align-items: center; gap: 6px; }
@media (max-width: 900px) {
  .iletisim-izgara { grid-template-columns: minmax(0, 1fr); gap: 28px; }
}
@media (max-width: 760px) {
  .iletisim-hizli-bolum { padding-top: 22px; }
  .iletisim-hizli { grid-template-columns: minmax(0, 1fr); gap: 10px; }
  .iletisim-hizli-kart { padding: 14px 16px; }
  .iletisim-izgara .alan-ikili { grid-template-columns: minmax(0, 1fr); }
}

/* --- Güvenlik sorusu (bot koruması) ------------------------------------------ */
.guvenlik-alani { padding: 14px 16px; border: 1px dashed var(--kenarlik-koyu); border-radius: var(--r-buton); background: var(--krem); }
.guvenlik-soru { font-family: var(--f-mono); font-size: 1.0625rem; color: var(--lacivert-koyu); white-space: nowrap; }
.guvenlik-girdi { max-width: 140px; font-family: var(--f-mono); font-size: 1.125rem; text-align: center; }

/* --- Açılır panel tanıtım kartı (Menü Yönetimi → ana başlık) ------------------ */
.alt-panel a.alt-tanitim {
  flex: none; width: 236px; margin-left: 10px; padding: 0; align-self: stretch;
  display: flex; flex-direction: column; align-items: stretch; gap: 0;
  border-radius: 12px; overflow: hidden; background: var(--krem); white-space: normal; text-decoration: none;
}
.alt-panel a.alt-tanitim:hover { background: var(--krem-koyu); }
.alt-tanitim img { width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; background: var(--krem-koyu); }
.alt-tanitim-govde { display: flex; flex-direction: column; gap: 5px; padding: 13px 15px 15px; }
.alt-tanitim-govde b { font-family: var(--f-baslik); font-size: 1.0625rem; line-height: 1.25; color: var(--lacivert-koyu); }
.alt-tanitim-metin { font-size: .8125rem; line-height: 1.45; color: var(--metin-2); font-weight: 400; }
.alt-tanitim-dugme { margin-top: 3px; font-size: .8125rem; font-weight: 600; color: var(--yesil-koyu); }
.alt-panel a.alt-tanitim:hover .alt-tanitim-dugme { text-decoration: underline; }
/* Kartlı panel daha geniş olabilir; taşma site.js ile önlenir */
.ust-genis .ana-menu > li > .alt-panel { max-width: min(1120px, calc(100vw - 32px)); }
.ust-ihh .alt-sutun { min-width: 220px; }
/* Panel kaydırılınca üstteki küçük ok başlığı göstermeye devam etsin */
.ust-ihh .alt-panel::before { left: calc(30px + var(--ok-kayma, 0px)); }

/* --- Kaydırırken titreme olmasın ------------------------------------------ */
/* Şerit, yapışkan menünün içindedir. Gizlemek menünün boyunu değiştirir; tarayıcı
   sayfayı aynı miktar geri iter, eşik tekrar aşılır ve menü titrer (özellikle
   Android'de yavaş kaydırırken). Bunun yerine menü, şerit yüksekliği kadar eksi
   konumda yapışır: şerit sayfayla birlikte doğal olarak yukarı kayıp gizlenir,
   menünün boyu hiç değişmez. --serit-yuk değeri site.js tarafından ölçülür. */
.ust.ust-genis { top: calc(var(--serit-yuk, 0px) * -1); }
@media (display-mode: standalone) {
  .ust.ust-genis { top: calc(env(safe-area-inset-top) - var(--serit-yuk, 0px)); }
}
/* Telefonda saydam bulanıklık her karede yeniden çizilir; zemin zaten neredeyse opak */
@media (max-width: 760px) {
  .ust, .alt-cubuk { -webkit-backdrop-filter: none; backdrop-filter: none; }
  .alt-cubuk { background: var(--beyaz, #fff); }   /* bulanıklık yokken arkadaki yazı sezilmesin */
  .ust { transition: none; }
}

/* --- iPhone / iPad: "Ana Ekrana Ekle" yönergesi (site.js) ------------------ */
.ios-yukle {
  position: fixed; left: 12px; right: 12px; z-index: 85;
  bottom: calc(14px + env(safe-area-inset-bottom));
  display: flex; align-items: center; gap: 12px; padding: 12px 12px 12px 14px;
  background: var(--beyaz, #fff); color: var(--metin); border: 1px solid var(--kenarlik);
  border-radius: 14px; box-shadow: 0 10px 30px rgba(11,31,61,.18);
  animation: iosYukleGel .3s ease-out;
}
@media (max-width: 760px) { .ios-yukle { bottom: calc(76px + env(safe-area-inset-bottom)); } }
@media (min-width: 761px) { .ios-yukle { left: auto; width: 380px; } }
.ios-yukle img { flex: none; width: 44px; height: 44px; border-radius: 10px; }
.ios-yukle-metin { flex: 1; min-width: 0; font-size: .8125rem; line-height: 1.45; color: var(--metin-2); }
.ios-yukle-metin > b { display: block; margin-bottom: 2px; font-size: .875rem; color: var(--lacivert-koyu); }
.ios-yukle-metin svg { display: inline-block; vertical-align: -3px; color: var(--lacivert); }
.ios-yukle-kapat {
  flex: none; align-self: flex-start; width: 30px; height: 30px; border: 0; border-radius: 8px;
  background: transparent; color: var(--metin-2); font-size: 1.375rem; line-height: 1; cursor: pointer;
}
.ios-yukle-kapat:hover { background: var(--krem); }
@keyframes iosYukleGel { from { transform: translateY(16px); opacity: 0; } to { transform: none; opacity: 1; } }
@media (prefers-reduced-motion: reduce) { .ios-yukle { animation: none; } }

/* Hesapların açıldığı yardım toplama izni notu (Hesap Numaralarımız, Bağış Yap) */
.hesap-not + .hesap-not { margin-top: 12px; }
.hesap-not-kucuk { margin: 0 0 20px; font-size: .8125rem; }

/* --- Kart ile bağış formu (bagis-yap/kart) --------------------------------- */
.kart-odeme { max-width: 520px; margin-inline: auto; }
.kart-odeme-ozet {
  display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap;
  padding: 14px 16px; margin-bottom: 18px; border-radius: var(--r-kart); background: var(--krem);
}
.kart-odeme-ozet > div { display: flex; flex-direction: column; gap: 2px; }
.kart-odeme-ozet span { font-size: .8125rem; }
.kart-odeme-ozet b { font-size: 1.125rem; color: var(--lacivert-koyu); }
.btn-blok { width: 100%; justify-content: center; }
@media (max-width: 760px) { .kart-odeme .alan-uclu { grid-template-columns: 1fr 1fr; } .kart-odeme .alan-uclu > :last-child { grid-column: 1 / -1; } }

/* --- Üçüncü taraf içerik: tıklayınca yükle (parcalar.php → tikla_yukle) ------- */
.tikla-yukle {
  display: grid; place-items: center; text-align: center; padding: 24px;
  background: var(--krem-koyu); color: var(--metin);
}
.tikla-yukle-harita { height: 420px; }
.tikla-yukle-video { aspect-ratio: 16 / 9; background: var(--lacivert-koyu); color: #D9DEE7; border-radius: var(--r-kart); }
.video-kutu .tikla-yukle { position: absolute; inset: 0; aspect-ratio: auto; border-radius: 0; }
.tikla-yukle-ic { max-width: 460px; display: flex; flex-direction: column; align-items: center; gap: 10px; }
.tikla-yukle-simge { display: grid; place-items: center; width: 56px; height: 56px; border-radius: 50%; background: var(--beyaz); color: var(--yesil); }
.tikla-yukle-video .tikla-yukle-simge { background: rgba(255,255,255,.12); color: #fff; }
.tikla-yukle p { margin: 0; font-size: .8125rem; line-height: 1.5; }
.tikla-yukle-video p a, .tikla-yukle-video .tikla-yukle-dis { color: #fff; }
.tikla-yukle-dis { display: inline-flex; align-items: center; gap: 4px; font-size: .8125rem; font-weight: 600; }
.tikla-yukle.yuklendi { display: block; padding: 0; }
.tikla-yukle.yuklendi iframe { display: block; width: 100%; height: 100%; border: 0; }
@media (max-width: 760px) { .tikla-yukle-harita { height: 340px; } .tikla-yukle { padding: 16px; } }

/* E-bülten kutusunun altındaki bilgilendirme */
.bulten-not { margin: 8px 0 0; font-size: .75rem; line-height: 1.5; opacity: .8; }
.bulten-not a { text-decoration: underline; }

/* --- İlim Köşesi: ders serileri (app/ilim.php, pages/ilim-seri, pages/ilim-detay) --- */
.ders-gorsel { width: 100%; height: 100%; object-fit: cover; display: block; }
.ders-kapak-oto {
  height: 100%; min-height: 100%; display: flex; flex-direction: column; align-items: center; justify-content: center;
  gap: 4px; padding: 10px; text-align: center; color: #E9E2CF; overflow: hidden;
  background-color: #123B2B;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40' viewBox='0 0 40 40'%3E%3Cg fill='none' stroke='%23D9B867' stroke-opacity='.22'%3E%3Cpath d='M20 4l4.7 11.3L36 20l-11.3 4.7L20 36l-4.7-11.3L4 20l11.3-4.7z'/%3E%3Crect x='12' y='12' width='16' height='16' transform='rotate(45 20 20)'/%3E%3C/g%3E%3C/svg%3E");
}
.ders-kapak-oto .ar {
  font-family: "Amiri", "Noto Naskh Arabic", "Geeza Pro", "Traditional Arabic", "Scheherazade New", serif;
  font-size: 2rem; line-height: 1.2; color: #F3E3B5;
}
.ders-kapak-oto .tr {
  font-family: var(--f-baslik); font-size: 1.25rem; line-height: 1.2; font-weight: 600; color: #F3E3B5;
  max-width: 92%; overflow-wrap: anywhere;
  display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;
}
.ders-kapak-oto .lt { font-size: .75rem; letter-spacing: .08em; text-transform: uppercase; color: #CFE3D6; max-width: 92%; overflow-wrap: anywhere; }
.ders-kapak-oto.buyuk .ar { font-size: clamp(2.6rem, 2rem + 3vw, 4.2rem); }
.ders-kapak-oto.buyuk .tr { font-size: clamp(1.5rem, 1.1rem + 1.6vw, 2.25rem); }
.ders-kapak-oto.buyuk .lt { font-size: .9375rem; }

.ders-cip { display: inline-flex; align-items: center; gap: 5px; padding: 3px 9px; border-radius: 999px; font-size: .75rem;
       line-height: 1.5; background: var(--krem); color: var(--metin-2); border: 1px solid var(--kenarlik); white-space: nowrap; }
.ders-cip.yesil { background: var(--yesil-solgun); color: var(--yesil-koyu); border-color: transparent; }
.ders-cipler { display: flex; flex-wrap: wrap; gap: 6px; }
.ders-sure { display: block; font-size: .8125rem; font-weight: 600; color: var(--yesil); letter-spacing: .01em; margin-bottom: 4px; }
.ders-sure-buyuk { font-size: .9375rem; margin-bottom: 6px; }

.ilerleme-cubuk { height: 8px; border-radius: 99px; background: var(--krem-koyu); overflow: hidden; margin: 8px 0 4px; }
.ilerleme-cubuk > span { display: block; height: 100%; background: var(--yesil); border-radius: inherit; }

/* İlim kartı (görselli) */
.ilim-kart { height: 100%; }
.ilim-kart-medya { position: relative; display: block; aspect-ratio: 16 / 10; overflow: hidden; background: var(--krem-koyu); }
.ilim-kart-medya .ders-gorsel { transition: transform .4s ease; }
.ilim-kart:hover .ilim-kart-medya .ders-gorsel { transform: scale(1.03); }
.ilim-kart-bicim { position: absolute; left: 12px; bottom: 12px; display: inline-flex; align-items: center; gap: 6px;
                   padding: 5px 10px; border-radius: 999px; background: rgba(11,31,61,.82); color: #fff; font-size: .75rem; font-weight: 600; }
.ilim-kart-govde { padding: 18px 20px 20px; display: flex; flex-direction: column; flex: 1; }

/* Seri kartları */
.seri-bolum-basi { margin-bottom: 18px; }
.seri-bolum-basi h2 { margin: 4px 0 0; }
.seri-bolum-ara { font-size: 1.375rem; margin: 0 0 16px; }
.bolum-ust-bosluksuz { padding-top: 8px; }
.seri-kartlar { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.seri-kart { display: flex; flex-direction: column; background: var(--beyaz); border: 1px solid var(--kenarlik);
             border-radius: var(--r-kart); overflow: hidden; color: inherit; transition: border-color .2s, box-shadow .2s; }
.seri-kart:hover { border-color: var(--yesil); box-shadow: 0 8px 24px rgba(11,31,61,.08); }
.seri-kart .ust { aspect-ratio: 16 / 9; overflow: hidden; }
.seri-kart .govde { padding: 16px 18px 18px; }
.seri-kart h3 { font-size: 1.125rem; margin: 8px 0 6px; color: var(--lacivert-koyu); }

/* Seri sayfası */
.seri-ust { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 32px; align-items: center; }
.seri-kapak { position: relative; border-radius: var(--r-kart); overflow: hidden; aspect-ratio: 4 / 3; background: var(--lacivert-koyu); }
.seri-kapak .rozet-ust { position: absolute; left: 14px; top: 14px; background: rgba(11,31,61,.82); color: #fff;
                         padding: 6px 12px; border-radius: 999px; font-size: .8125rem; font-weight: 600; }
.seri-baslik { font-size: clamp(1.75rem, 1.2rem + 1.6vw, 2.5rem); line-height: 1.15; margin: 6px 0 12px; color: var(--lacivert-koyu); }
.seri-tanitim { margin: 0; color: var(--metin-2); }
.seri-meta { display: flex; flex-wrap: wrap; gap: 8px 18px; margin: 16px 0 14px; font-size: .9375rem; color: var(--metin-2); }
.seri-meta span { display: inline-flex; align-items: center; gap: 6px; }
.seri-meta b { color: var(--lacivert-koyu); }
.seri-eylemler { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 18px; }
.ders-liste-basi { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; margin-top: 44px; scroll-margin-top: 100px; }
.ders-liste-basi h2 { margin: 0; font-size: 1.375rem; }
.sirala { display: inline-flex; padding: 4px; border-radius: 999px; background: var(--krem); border: 1px solid var(--kenarlik); }
.sirala a { padding: 7px 14px; border-radius: 999px; font-size: .875rem; font-weight: 600; color: var(--metin-2); }
.sirala a.aktif { background: var(--beyaz); color: var(--lacivert-koyu); box-shadow: 0 1px 3px rgba(11,31,61,.12); }
.ders-liste { display: grid; gap: 12px; margin-top: 18px; }
.ders-satir { display: grid; grid-template-columns: 56px 168px minmax(0, 1fr) auto; gap: 18px; align-items: center; color: inherit;
              padding: 12px 18px 12px 12px; background: var(--beyaz); border: 1px solid var(--kenarlik); border-radius: var(--r-kart); }
a.ders-satir:hover { border-color: var(--yesil); box-shadow: 0 6px 18px rgba(11,31,61,.06); }
.ders-satir.yakinda { background: var(--krem); }
.ders-satir.yakinda .ders-medya { filter: grayscale(.85); opacity: .7; }
.ders-no { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 14px; background: var(--yesil-solgun);
           color: var(--yesil-koyu); font-family: var(--f-mono); font-weight: 600; }
.ders-satir.yakinda .ders-no { background: var(--krem-koyu); color: var(--metin-2); }
.ders-medya { display: block; border-radius: 12px; overflow: hidden; aspect-ratio: 16 / 10; }
.ders-medya .ders-kapak-oto .ar { font-size: 1.75rem; }
.ders-medya .ders-kapak-oto .tr { font-size: .9375rem; }
.ders-medya .ders-kapak-oto .lt { font-size: .6875rem; }
.ders-orta { display: block; min-width: 0; }
.ders-baslik { display: block; font-size: 1.0625rem; font-weight: 600; color: var(--lacivert-koyu); margin: 0 0 8px; }
.ders-sag { text-align: right; font-size: .8125rem; color: var(--metin-2); display: flex; flex-direction: column; gap: 6px; align-items: flex-end; }
.ders-sag .bicim { display: inline-flex; gap: 6px; align-items: center; font-weight: 600; color: var(--lacivert); white-space: nowrap; }
.seri-not { margin-top: 16px; font-size: .8125rem; }
.seri-hakkinda { margin-top: 44px; max-width: 820px; }
.seri-hakkinda h2 { font-size: 1.375rem; }

/* Ders sayfası (seriye bağlı) */
.ders-ust { display: grid; grid-template-columns: minmax(0, 8fr) minmax(0, 4fr); gap: 32px; align-items: start; margin-top: 8px; }
.ders-ana { min-width: 0; }
.ders-h1 { font-size: clamp(1.75rem, 1.3rem + 1.4vw, 2.375rem); margin: 0 0 14px; }
.ders-bilgi { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; margin-bottom: 20px; }
.ders-bilgi-metin { font-size: .875rem; color: var(--metin-2); }
.ders-oynatici { border-radius: var(--r-kart); overflow: hidden; border: 1px solid var(--kenarlik); background: #000; }
.ders-kapak-buyuk { border-radius: var(--r-kart); overflow: hidden; aspect-ratio: 16 / 9; background: var(--lacivert-koyu); }
.ses-cubuk { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; padding: 12px 16px; margin-top: 14px;
             border: 1px solid var(--kenarlik); border-radius: var(--r-kart); background: var(--beyaz); }
.ses-cubuk .dugme { width: 40px; height: 40px; border-radius: 50%; background: var(--yesil); color: #fff; display: grid; place-items: center; flex: none; }
.ses-cubuk .ses-etiket { font-weight: 600; color: var(--lacivert-koyu); font-size: .9375rem; }
.ses-cubuk audio { flex: 1 1 240px; min-width: 0; height: 40px; }
.ders-dugmeler { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 14px; }
.ders-alt-baslik { font-size: 1.375rem; margin: 32px 0 12px; }
.ders-ana .metin h2 { font-size: 1.25rem; margin-top: 1.4em; }
.ders-ana .metin h3 { font-size: 1.0625rem; }
.gezinti { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-top: 30px; }
.gezinti > a, .gezinti > span { display: block; padding: 14px 18px; border: 1px solid var(--kenarlik); border-radius: var(--r-kart); background: var(--beyaz); }
.gezinti > a:hover { border-color: var(--yesil); }
.gezinti small { display: block; color: var(--metin-2); font-size: .8125rem; margin-bottom: 2px; }
.gezinti b { color: var(--lacivert-koyu); }
.gezinti .sonraki { text-align: right; }
.ders-yan .ilerleme-cubuk { margin-top: 10px; }
.yan-liste { list-style: none; padding: 0; margin: 12px 0 0; }
.yan-liste li { display: flex; gap: 10px; align-items: center; padding: 7px 10px; border-radius: 10px; font-size: .875rem; }
.yan-liste li a { color: var(--metin); }
.yan-liste li a:hover { color: var(--yesil); }
.yan-liste li.aktif { background: var(--yesil-solgun); font-weight: 600; color: var(--yesil-koyu); }
.yan-liste li.yakinda { color: var(--metin-2); }
.yan-liste li .ders-cip { margin-left: auto; }
.yan-liste .no { font-family: var(--f-mono); min-width: 24px; text-align: right; color: var(--metin-2); flex: none; }
.ders-yan-tumu { margin-top: 12px; width: 100%; justify-content: center; }

/* Video kapağı (tıklayınca yükle) */
.tikla-yukle { position: relative; }
.tikla-yukle-kapak { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .38; }
.tikla-yukle-ic { position: relative; }

@media (max-width: 960px) {
  .seri-kartlar { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 860px) {
  .seri-ust, .ders-ust { grid-template-columns: minmax(0, 1fr); }
  .seri-ust { gap: 20px; }
  .ders-satir { grid-template-columns: 96px minmax(0, 1fr); gap: 12px; padding: 10px; }
  .ders-satir .ders-no { display: none; }
  .ders-satir .ders-medya { grid-row: span 2; align-self: start; aspect-ratio: 1; }
  .ders-satir .ders-sag { grid-column: 2; flex-direction: row; flex-wrap: wrap; align-items: center; justify-content: space-between; text-align: left; }
  .ders-medya .ders-kapak-oto { padding: 6px; }
  .ders-medya .ders-kapak-oto .ar { font-size: 1.4rem; }
  .ders-medya .ders-kapak-oto .tr { font-size: .75rem; -webkit-line-clamp: 4; }
  .ders-medya .ders-kapak-oto .lt { font-size: .5625rem; letter-spacing: .04em; }
  .ders-baslik { font-size: 1rem; }
  .ders-cipler .ders-cip { font-size: .6875rem; padding: 2px 7px; }
  .ders-yan { position: static; }
}
@media (max-width: 600px) {
  /* Dar ekranda bilgilendirme metni 16:9 kutuya sığmaz: kutu metne göre uzar, video yüklenince 16:9 olur */
  .ders-oynatici .tikla-yukle-video { aspect-ratio: auto; min-height: 220px; padding: 22px 16px; }
  .ders-oynatici .tikla-yukle-video.yuklendi { aspect-ratio: 16 / 9; min-height: 0; padding: 0; }
  .seri-kartlar { grid-template-columns: minmax(0, 1fr); }
  .gezinti { grid-template-columns: minmax(0, 1fr); }
  .gezinti .sonraki { text-align: left; }
}

/* --- İlim Köşesi: konu bölümleri (pages/ilim-kosesi, filtresiz görünüm) ------- */
.ilim-ust { display: flex; justify-content: space-between; align-items: flex-end; gap: 12px 20px; flex-wrap: wrap; border-bottom: 1px solid var(--kenarlik); }
.ilim-ust .sekmeler { border-bottom: 0; margin-bottom: -1px; }
.ilim-ara { display: flex; gap: 8px; flex: 0 1 320px; padding-bottom: 10px; }
.ilim-ara input { min-width: 0; }
.konu-gezinti { display: flex; flex-wrap: wrap; gap: 8px; margin: 22px 0 8px; }
.konu-gezinti a { display: inline-flex; align-items: center; gap: 8px; padding: 7px 14px; border-radius: 999px;
                  border: 1px solid var(--kenarlik); background: var(--beyaz); color: var(--lacivert-koyu); font-weight: 600; font-size: .875rem; }
.konu-gezinti a:hover { border-color: var(--yesil); color: var(--yesil); }
.konu-gezinti a span { font-family: var(--f-mono); font-size: .75rem; font-weight: 500; color: var(--metin-2);
                       background: var(--krem); border-radius: 999px; padding: 1px 7px; }
.konu-bolum { padding: 34px 0 6px; border-top: 1px solid var(--kenarlik); margin-top: 28px; scroll-margin-top: 90px; }
.konu-bolum:first-of-type { border-top: 0; margin-top: 8px; }
.konu-basi { display: flex; justify-content: space-between; align-items: flex-end; gap: 12px; flex-wrap: wrap; margin-bottom: 18px; }
.konu-basi h2 { margin: 0; font-size: clamp(1.5rem, 1.2rem + 1vw, 2rem); color: var(--lacivert-koyu); }
.konu-basi p { margin: 6px 0 0; color: var(--metin-2); max-width: 62ch; }
.konu-sayi { font-size: .8125rem; color: var(--metin-2); font-family: var(--f-mono); }
.konu-bolum.bos { padding-bottom: 0; }
.konu-bolum.bos .konu-basi { margin-bottom: 6px; }
.konu-bolum.bos .konu-basi h2 { font-size: 1.25rem; }
.konu-bos-not { margin: 0; color: var(--metin-2); font-size: .9375rem; }
.konu-seri { border: 1px solid var(--kenarlik); border-radius: var(--r-kart); background: var(--krem); padding: 16px; margin-bottom: 18px; }
.konu-seri-basi { display: grid; grid-template-columns: 160px minmax(0, 1fr); gap: 18px; align-items: center; color: inherit; margin-bottom: 14px; }
.konu-seri-kapak { display: block; aspect-ratio: 4 / 3; border-radius: 12px; overflow: hidden; background: var(--lacivert-koyu); }
.konu-seri-kapak .ders-kapak-oto .tr { font-size: 1rem; }
.konu-seri-bilgi { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.konu-seri-bilgi b { font-size: 1.1875rem; color: var(--lacivert-koyu); }
.konu-seri-basi:hover b { color: var(--yesil); }
.konu-seri-bilgi .ikincil { font-size: .9375rem; }
.konu-seri-ilerleme { display: block; max-width: 420px; }
.ders-liste.kompakt { margin-top: 0; gap: 8px; }
.ders-liste.kompakt .ders-satir { grid-template-columns: 44px 120px minmax(0, 1fr) auto; gap: 14px; padding: 8px 14px 8px 8px; }
.ders-liste.kompakt .ders-no { width: 38px; height: 38px; border-radius: 11px; font-size: .875rem; }
.ders-liste.kompakt .ders-medya .ders-kapak-oto .ar { font-size: 1.35rem; }
.ders-liste.kompakt .ders-medya .ders-kapak-oto .lt { font-size: .5625rem; }
.ders-liste.kompakt .ders-baslik { font-size: 1rem; margin-bottom: 6px; }
.konu-devam { display: inline-flex; align-items: center; gap: 6px; margin-top: 12px; font-weight: 600; font-size: .9375rem; color: var(--yesil); }
.konu-devam:hover { text-decoration: underline; }
.konu-alt-baslik { font-size: 1.0625rem; margin: 8px 0 14px; color: var(--lacivert-koyu); }
@media (max-width: 860px) {
  .konu-seri { padding: 12px; }
  .konu-seri-basi { grid-template-columns: 96px minmax(0, 1fr); gap: 12px; }
  .ders-liste.kompakt .ders-satir { grid-template-columns: 76px minmax(0, 1fr); gap: 10px; padding: 8px; }
  .ilim-ara { flex: 1 1 100%; }
}

/* --- Ana sayfa: İlim Köşesi dersleri yana kayan şerit (pages/ana-sayfa) ------- */
.ders-serit { position: relative; }
.serit-iz { display: flex; gap: 14px; overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth;
            padding: 2px 2px 10px; scrollbar-width: thin; }
.serit-iz:focus-visible { outline: 2px solid var(--yesil); outline-offset: 4px; border-radius: var(--r-kart); }
.serit-iz > .ilim-kart { flex: 0 0 min(270px, 78%); scroll-snap-align: start; height: auto; }
.serit-iz .ilim-kart-medya { aspect-ratio: 16 / 10; }
.serit-iz .ilim-kart-govde { padding: 14px 16px 16px; }
.serit-iz .ilim-kart h3 { font-size: 1rem !important; }
.serit-iz .ilim-kart p.ikincil { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; font-size: .875rem !important; }
.serit-iz .ilim-kart .rozet { font-size: .6875rem; }
.serit-ok { position: absolute; top: 34%; z-index: 2; width: 40px; height: 40px; border-radius: 50%; display: grid; place-items: center;
            background: var(--beyaz); color: var(--lacivert-koyu); border: 1px solid var(--kenarlik); box-shadow: 0 4px 14px rgba(11,31,61,.14); cursor: pointer; }
.serit-ok:hover { color: var(--yesil); border-color: var(--yesil); }
.serit-ok.onceki { left: -14px; }
.serit-ok.sonraki { right: -14px; }
.serit-ok[hidden] { display: none; }
@media (max-width: 760px) { .serit-ok { display: none; } }

/* --- Ders sayfası: kurumsal düzen, solda dersler menüsü (pages/ilim-detay) ----- */
.ders-menu ul { max-height: 520px; overflow-y: auto; }
.ders-menu a, .ders-menu .ders-menu-yakinda { padding: 10px 16px 10px 17px; }
.ders-menu .ders-menu-yakinda { display: flex; align-items: center; border-left: 3px solid transparent; color: var(--metin-2); font-size: .9375rem; }
.ders-menu-ad { display: flex; align-items: flex-start; gap: 10px; min-width: 0; }
.ders-menu-ad small { display: block; font-size: .75rem; color: var(--metin-2); font-weight: 400; margin-top: 1px; }
.ders-menu-no { flex: none; min-width: 26px; height: 22px; padding: 0 5px; border-radius: 6px; display: grid; place-items: center;
                font-family: var(--f-mono); font-size: .75rem; background: var(--krem-koyu); color: var(--metin-2); margin-top: 1px; }
.ders-menu a[aria-current] .ders-menu-no { background: var(--yesil); color: #fff; }
.ders-menu-ilerleme { padding: 12px 20px 4px; border-bottom: 1px solid var(--kenarlik); }
.ders-menu-ilerleme .ilerleme-cubuk { margin-top: 0; }
.ders-menu-tumu { display: flex !important; justify-content: space-between; border-top: 1px solid var(--kenarlik);
                  font-weight: 600; color: var(--yesil) !important; font-size: .875rem !important; }
.ders-duzen .icerik-ana .ders-h1 { margin-top: 4px; }
.ders-duzen .ders-metin { margin-top: 18px; }

/* --- Ana sayfa: İlim Köşesi ders sütunları (altbilgi menüsü gibi) -------------- */
.ders-sutunlar { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 26px 32px; }
.ders-sutun h4 { font-family: var(--f-govde); font-size: .8125rem; letter-spacing: .12em; text-transform: uppercase; margin: 0 0 12px;
                 padding-bottom: 10px; border-bottom: 2px solid var(--yesil-solgun); }
.ders-sutun h4 a { color: var(--lacivert-koyu); }
.ders-sutun h4 a:hover { color: var(--yesil); }
.ders-sutun ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 9px; }
.ders-sutun li { font-size: .9375rem; line-height: 1.4; }
.ders-sutun li a { color: var(--metin); }
.ders-sutun li a:hover { color: var(--yesil); }
.ders-sutun li b { font-weight: 600; color: var(--yesil-koyu); }
.ders-sutun .yakinda { color: var(--metin-2); }
.ders-sutun .yakinda b { color: var(--metin-2); }
.ders-sutun small { font-size: .6875rem; padding: 1px 7px; border-radius: 999px; background: var(--krem-koyu); margin-left: 4px; }
.ders-sutun-tumu { display: inline-flex; align-items: center; gap: 4px; margin-top: 12px; font-size: .875rem; font-weight: 600; color: var(--yesil); }
/* Ders sayfası sol menüsü: kurumsal menüyle aynı satırlar */
.ders-menu .ders-menu-yakinda small { font-size: .6875rem; padding: 1px 7px; border-radius: 999px; background: var(--krem-koyu); margin-left: 6px; }
.ders-menu .ders-menu-yakinda { padding: 11px 20px; }

/* --- Ana sayfa: İlim Köşesi ders manşeti (üst manşetin aynısı, sütuna sığacak ölçüde) --- */
.ders-manset { padding-block: 0; background: transparent; }
.ders-manset .manset-oge { min-height: 340px; }
.ders-manset .manset-ihh-metin { padding: 34px 28px 34px 76px; }
.ders-manset .manset-baslik { font-size: clamp(1.375rem, 1.05rem + 1vw, 1.875rem); }
.ders-manset .manset-ihh-metin p { font-size: .9375rem; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.ders-manset .manset-ok { width: 40px; height: 40px; }
.ders-manset .manset-ok-sol { left: 16px; }
.ders-manset .manset-ok-sag { right: 16px; }
.ders-manset-gorsel .ders-kapak-oto { position: absolute; inset: 0; height: auto; }
.ders-manset-gorsel .ders-gorsel { position: absolute; inset: 0; }
.ders-manset .manset-sekme { min-width: 96px; font-size: .8125rem; text-align: center; }
@media (max-width: 860px) {
  .ders-manset .manset-oge { grid-template-columns: minmax(0, 1fr); min-height: 0; }
  .ders-manset .manset-ihh-gorsel { order: -1; aspect-ratio: 16 / 9; }
  .ders-manset .manset-ihh-metin { padding: 22px 20px 26px; }
}
