/* ==========================================================================
   Yasal arayüz — HER SAYFADA yüklenir (layout'lardan).
   - Footer'daki yasal bağlantı satırı (+ "Çerez Tercihleri" düğmesi)
   - Çerez bildirimi, tercih paneli, harita onay kutusu

   Renkler v4 değişkenlerinden gelir; v4.css yüklenmeyen sayfalarda
   (blog, bülten) aynı tonlar yedek değer olarak kullanılır.
   ========================================================================== */

.yasal-baglantilar,.cz-bildirim,.cz-perde,.cz-harita{
  --cz-ink:var(--ink,#2b201a);
  --cz-ink-soft:var(--ink-soft,#5a4a3e);
  --cz-paper:var(--paper,#faf5ec);
  --cz-bone:var(--bone,#f4ecdf);
  --cz-line:var(--line,rgba(43,32,26,.18));
  --cz-line-soft:var(--line-soft,rgba(43,32,26,.10));
  --cz-accent:var(--terracotta,#b0664a);
}

/* ---------- Footer: yasal bağlantı satırı ---------- */
.yasal-baglantilar{display:flex;flex-wrap:wrap;gap:8px 22px;
  padding:22px 0 0;margin-top:22px;border-top:1px solid var(--cz-line)}
.yasal-baglantilar a,.yasal-cerez-btn{font:inherit;font-size:12px;line-height:1.6;
  color:var(--cz-ink-soft);text-decoration:none;transition:color .2s}
.yasal-cerez-btn{background:none;border:0;padding:0;cursor:pointer;text-align:left}
.yasal-baglantilar a:hover,.yasal-cerez-btn:hover{color:var(--cz-ink);
  text-decoration:underline;text-underline-offset:3px}
@media (max-width:640px){.yasal-baglantilar{flex-direction:column;gap:10px}}
/* Site footer'ı koyu zeminli (#1a140f) — footer'ın kendi açık krem tonları */
footer .yasal-baglantilar{border-top-color:rgba(244,236,223,.12)}
footer .yasal-baglantilar a,footer .yasal-cerez-btn{color:rgba(244,236,223,.6)}
footer .yasal-baglantilar a:hover,footer .yasal-cerez-btn:hover{color:var(--cz-bone)}

/* ---------- Ortak düğmeler ---------- */
.cz-btn{font-family:"Inter",system-ui,sans-serif;font-size:12px;font-weight:500;
  letter-spacing:.1em;text-transform:uppercase;line-height:1.2;
  padding:13px 20px;border-radius:999px;cursor:pointer;white-space:nowrap;
  transition:background .2s,color .2s,border-color .2s}
/* Kabul ve ret AYNI stil — KVKK Çerez Rehberi: ret, kabulden zor olmamalı. */
.cz-btn-ana{background:var(--cz-ink);color:var(--cz-bone);border:1px solid var(--cz-ink)}
.cz-btn-ana:hover{background:var(--cz-accent);border-color:var(--cz-accent)}
.cz-btn-ikincil{background:transparent;color:var(--cz-ink);border:1px solid var(--cz-line)}
.cz-btn-ikincil:hover{border-color:var(--cz-ink)}
.cz-btn:focus-visible,.cz-anahtar:focus-visible,.cz-kapat:focus-visible,.cz-link:focus-visible,
.yasal-cerez-btn:focus-visible{outline:2px solid var(--cz-accent);outline-offset:3px}
.cz-link{color:var(--cz-ink);text-decoration:underline;text-underline-offset:3px}
.cz-link:hover{color:var(--cz-accent)}

/* ---------- İlk katman: alt bildirim (sayfayı kilitlemez) ---------- */
.cz-bildirim{position:fixed;left:16px;right:16px;bottom:16px;z-index:900;
  display:flex;justify-content:center;pointer-events:none;
  font-family:"Inter",system-ui,sans-serif;color:var(--cz-ink);
  animation:cz-gir .35s ease both}
.cz-bildirim-ic{pointer-events:auto;width:100%;max-width:1120px;
  background:var(--cz-paper);border:1px solid var(--cz-line-soft);
  box-shadow:0 24px 60px -24px rgba(43,32,26,.35);
  padding:22px 26px;display:flex;align-items:center;gap:28px}
.cz-metin{flex:1;min-width:0}
.cz-baslik{font-family:"Cormorant Garamond",Georgia,serif;font-size:22px;
  line-height:1.2;margin:0 0 6px;color:var(--cz-ink)}
.cz-metin p:not(.cz-baslik){font-size:13.5px;line-height:1.6;color:var(--cz-ink-soft);margin:0}
.cz-dugmeler{display:flex;gap:10px;flex-shrink:0}
@keyframes cz-gir{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.cz-bildirim{animation:none}}

@media (max-width:900px){
  .cz-bildirim-ic{flex-direction:column;align-items:stretch;gap:16px}
}
@media (max-width:560px){
  .cz-bildirim{left:0;right:0;bottom:0}
  .cz-bildirim-ic{padding:18px 16px calc(18px + env(safe-area-inset-bottom));
    border-left:0;border-right:0;border-bottom:0}
  .cz-baslik{font-size:20px}
  .cz-dugmeler{display:grid;grid-template-columns:1fr 1fr;gap:8px}
  .cz-dugmeler .cz-btn-ikincil{grid-column:1 / -1}
  .cz-btn{padding:12px 10px;white-space:normal}
}

/* ---------- İkinci katman: tercih paneli ---------- */
.cz-perde{position:fixed;inset:0;z-index:910;background:rgba(43,32,26,.45);
  display:flex;align-items:center;justify-content:center;padding:16px;
  font-family:"Inter",system-ui,sans-serif;color:var(--cz-ink)}
.cz-panel{background:var(--cz-paper);width:100%;max-width:620px;max-height:calc(100dvh - 32px);
  display:flex;flex-direction:column;box-shadow:0 30px 80px -30px rgba(43,32,26,.5)}
.cz-panel-bas{display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding:22px 26px 14px;border-bottom:1px solid var(--cz-line-soft)}
.cz-panel-bas h2{font-family:"Cormorant Garamond",Georgia,serif;font-weight:400;
  font-size:26px;line-height:1.2;margin:0}
.cz-kapat{background:none;border:0;font-size:28px;line-height:1;color:var(--cz-ink-soft);
  cursor:pointer;width:36px;height:36px;border-radius:50%}
.cz-kapat:hover{color:var(--cz-ink);background:var(--cz-bone)}
.cz-panel-govde{overflow-y:auto;padding:18px 26px 6px;overscroll-behavior:contain}
.cz-giris{font-size:13.5px;line-height:1.6;color:var(--cz-ink-soft);margin:0 0 16px}
.cz-kategoriler{list-style:none;margin:0;padding:0}
.cz-kategori{padding:16px 0;border-top:1px solid var(--cz-line-soft)}
.cz-kategori-ust{display:flex;align-items:center;justify-content:space-between;gap:16px}
.cz-kategori-ad{font-size:14.5px;font-weight:500;color:var(--cz-ink)}
.cz-aciklama{font-size:13px;line-height:1.6;color:var(--cz-ink-soft);margin:6px 0 0}
.cz-ornek{font-size:12px;line-height:1.5;color:var(--cz-ink-soft);opacity:.8;
  margin:6px 0 0;font-style:italic}
.cz-her-zaman{font-size:11px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--cz-accent);white-space:nowrap}
/* Anahtar (switch) — yerel checkbox, klavye ve ekran okuyucu uyumlu */
.cz-anahtar{appearance:none;-webkit-appearance:none;flex-shrink:0;margin:0;
  width:42px;height:24px;border-radius:999px;background:var(--cz-line);
  position:relative;cursor:pointer;transition:background .2s}
.cz-anahtar::after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;
  border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.25);transition:transform .2s}
.cz-anahtar:checked{background:var(--cz-ink)}
.cz-anahtar:checked::after{transform:translateX(18px)}
.cz-panel-alt{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap;
  padding:16px 26px 22px;border-top:1px solid var(--cz-line-soft)}
@media (max-width:560px){
  .cz-perde{padding:0;align-items:flex-end}
  .cz-panel{max-width:none;max-height:92dvh}
  .cz-panel-bas,.cz-panel-govde,.cz-panel-alt{padding-left:16px;padding-right:16px}
  .cz-panel-alt{display:grid;grid-template-columns:1fr 1fr;gap:8px;
    padding-bottom:calc(18px + env(safe-area-inset-bottom))}
  .cz-panel-alt .cz-btn-ikincil{grid-column:1 / -1}
  .cz-btn{white-space:normal}
}

/* ---------- Harita onay kutusu (iframe yerine) ---------- */
.map-frame.cz-harita{filter:none!important;display:flex;align-items:flex-start;
  justify-content:flex-end;padding:32px;
  background:
    repeating-linear-gradient(45deg,rgba(43,32,26,.035) 0 1px,transparent 1px 14px),
    var(--cz-paper)}
.cz-harita-ic{position:relative;z-index:2;max-width:380px;background:var(--cz-paper);
  border:1px solid var(--cz-line-soft);padding:22px 24px;
  box-shadow:0 18px 40px -20px rgba(43,32,26,.25)}
.cz-harita-baslik{font-family:"Cormorant Garamond",Georgia,serif;font-size:22px;
  line-height:1.2;margin:0 0 8px;color:var(--cz-ink)}
.cz-harita-metin{font-size:13px;line-height:1.6;color:var(--cz-ink-soft);margin:0 0 16px}
.cz-harita-dugmeler{display:flex;flex-wrap:wrap;gap:8px}
@media (max-width:600px){
  .map-frame.cz-harita{padding:14px;justify-content:stretch}
  .cz-harita-ic{max-width:none;padding:16px 18px}
  .cz-harita-baslik{font-size:19px}
  .cz-harita-dugmeler .cz-btn{flex:1 1 auto;white-space:normal}
}

/* Bülten sayfası (/join) — footer satırı ortalı, üst çizgisiz */
.nl-yasal{justify-content:center;border-top:0;margin-top:10px;padding-top:0}
