/* Cerez onay bannerinin gorunumu.
   Spec: docs/tasarim/2026-08-03-cerez-onayi-design.md

   ISBOLUMU: Bu dosya yalnizca gorunum. Onay durumu, izleyici yukleme ve
   bannerin var olup olmamasi cerez.js'in isi.

   Banner <body>'nin DOGRUDAN cocugu olarak eklenir; boylece animasyon
   secicilerine (section > .container > * vb.) takilmaz. */

.cerez-banner{
  position:fixed; left:0; right:0; bottom:0;
  /* z-index 1300: sitedeki en yuksek degerin (float dugmeler 998, header
     999) uzerinde kalsin. Deger 1200'luk bir tam ekran popup'a gore
     secilmisti; popup 2026-08-06'da kaldirildi ama esik korunuyor - yasal
     bildirimin ustunu hicbir sey ortmemeli. */
  z-index:1300;
  background:#0f172a; color:#e8eef7;
  border-top:1px solid rgba(255,255,255,.12);
  box-shadow:0 -12px 32px rgba(2,8,23,.28);
  padding:18px 0;
  font-size:14px; line-height:1.6;
}
.cerez-banner .container{display:flex; gap:18px 24px; align-items:center;
  justify-content:space-between; flex-wrap:wrap;}
.cerez-metin{flex:1 1 420px; min-width:0;}
.cerez-metin strong{display:block; font-size:16px; font-weight:800; color:#fff;
  margin-bottom:4px;}
.cerez-metin a{color:#fff; text-decoration:underline; text-underline-offset:3px;}
.cerez-dugmeler{display:flex; gap:10px; flex-wrap:wrap; flex:0 0 auto;}
.cerez-banner button{
  font:inherit; font-weight:800; cursor:pointer; white-space:nowrap;
  min-height:44px; padding:11px 20px; border-radius:12px;
  border:1px solid transparent; transition:var(--trans, .25s ease);
}
.cerez-kabul{background:linear-gradient(135deg,var(--danger,#c61f36),var(--danger-2,#a90e25)); color:#fff;}
.cerez-reddet{background:rgba(255,255,255,.10); color:#fff; border-color:rgba(255,255,255,.22);}
.cerez-ayarlar-ac{background:none; color:#c7d2e3; border-color:rgba(255,255,255,.22);}
.cerez-banner button:hover{transform:translateY(-1px)}
.cerez-banner button:focus-visible{outline:3px solid #7aa7ff; outline-offset:2px;}

/* Ayarlar paneli */
.cerez-ayarlar{display:none; width:100%; margin-top:16px; padding-top:16px;
  border-top:1px solid rgba(255,255,255,.12);}
.cerez-banner.acik .cerez-ayarlar{display:block}
.cerez-satir{display:flex; gap:12px; align-items:flex-start; padding:10px 0;}
.cerez-satir input{width:20px; height:20px; margin:2px 0 0; flex:0 0 auto; accent-color:#c61f36;}
.cerez-satir label{font-weight:800; color:#fff; cursor:pointer;}
.cerez-satir p{margin:2px 0 0; color:#aebbd0; font-size:13px;}
.cerez-satir input:disabled + div label{cursor:default}

/* Yuzen WhatsApp/Ara dugmeleri bannerin ustune kayar. Olcu SABIT
   YAZILMAZ: banner yuksekligi metin uzunluguna ve ekran genisligine
   gore degisiyor, JS olcup --cerez-h degiskenine yaziyor. Banner
   kapaninca degisken 0px'e doner ve dugmeler yerine oturur. */
.float-wa{bottom:calc(18px + var(--cerez-h, 0px))}
.float-call{bottom:calc(86px + var(--cerez-h, 0px))}

/* Sohbet baslatici (#vizebot-panel, assets/js/vizebot.js) kendi bottom
   degerini bir <style id="vizebot-style"> etiketiyle DOMContentLoaded
   aninda <head>'e ekliyor - yani bu dosyadan SONRA gelen, AYNI
   belirginlikte (tek ID secici) bir kural. Esit belirginlikte sonraki
   kural kazanir, o yuzden duz bir "#vizebot-panel{...}" burada kaybeder.
   !important yasak oldugu icin ID'yi tekrarlayip belirginligi kasten
   yukseltiyoruz; vizebot.js'e dokunulmadi (bu gorevin kapsami disi).
   Mobil kirilma noktasi (640px) vizebot.js'teki degerle birebir ayni. */
   TABAN DEGER BANNER VARKEN EKLENMIYOR, max() ile SECILIYOR. Eskiden
   "84px + banner" yaziyordu; banner ~180px oldugunda widget 264px yukari
   cikiyor ve ustundeki mesaj balonuyla birlikte sayfanin ortasina
   tirmaniyordu. Simdi:

     banner yokken (--cerez-h: 0)  -> max(84, 0+18)  = 84px, normal yeri
     banner varken (--cerez-h: H)  -> max(84, H+18)  = H+18, bandin hemen ustu

   18px, .float-wa'nin banner ustundeki bosluguyla ayni; widget solda,
   WhatsApp dugmesi sagda ayni hizaya oturuyor. */
#vizebot-panel#vizebot-panel{bottom:max(96px, calc(var(--cerez-h, 0px) + 18px))}
@media (max-width:640px){
  #vizebot-panel#vizebot-panel{bottom:max(84px, calc(var(--cerez-h, 0px) + 18px))}
}

@media (max-width:720px){
  .cerez-banner{font-size:13px; padding:14px 0;}
  .cerez-dugmeler{width:100%}
  .cerez-dugmeler button{flex:1 1 auto}
}

@media (prefers-reduced-motion:no-preference){
  .cerez-banner{animation:cerezGiris .4s ease-out both}
}
@keyframes cerezGiris{from{transform:translateY(100%)} to{transform:none}}

/* Mobil menu acikken banner gizleniyor: dar ekranda menu tum alt
   kategorileriyle acikken bannerin kapladigi bolgede linklerin yarisi
   tiklanamaz hale geliyor. Menu kapaninca banner geri geliyor, yani
   yasal bildirim kaybolmuyor. */
body:has(.menu-wrap.active) .cerez-banner{display:none}

/* Banner gizliyken yuzen dugmeler de yerine donmeli; yoksa --cerez-h
   bayat kalip onlari menunun icine oturtuyor ve gorunmez oluyorlar. */
body:has(.menu-wrap.active){--cerez-h:0px}
