/* NIBOTTOM-20260909 — alt serit yerlesim disiplini.
   AYRI DOSYA cunku: functions.php:409 ni-ui.css'i dequeue ediyor ve
   ni-swh.css uretilmis bir dosya (elle duzenlenirse bir sonraki
   uretimde kaybolur). Yerlesim kurallari palet dosyalarindan bagimsiz
   yasamali; bu katman priority 120 ile en son yuklenir. */

/* ══════════════════════════════════════════════════════════════════════════
   NIBOTTOM-20260909 — alt serit tek-isgalci disiplini
   ──────────────────────────────────────────────────────────────────────────
   Olculen durum (mobil 390x844, /mac/ sayfasi, 2026-09-09):
     .fc-consent-root          390x844  z 2147483644  (Google CMP, TAM EKRAN)
     .ni-consent               390x179  z 99998       y 665-844
     #credential_picker_iframe 390x144  z 9999        y 700-844 <- ni-consent ICINDE
     a.ni-tp                   277x50   z 99970       y 778-828 <- ni-consent ICINDE
     #ni-scroll-top             40x40   z 150         y 780-820 <- ni-consent ICINDE
   Alt 179 pikselde dort katman ust uste biniyordu; AdSense anchor reklami da
   ayni seride inecegi icin bes olacakti.

   KURAL: alt seritte AYNI ANDA TEK sey durur. Oncelik (yuksekten alcaga):
     1. Google CMP   2. kendi cerez bandimiz   3. Google One Tap
     4. takip istemi 5. gece pili              6. kucuk yuvarlak butonlar
   Ust siradaki gorunurken alt siradakiler ya gizlenir ya da ustune cikar.
   Yukselti tek bir degiskende toplanir ki kurallar birbirinin bottom
   degerini EZMESIN (ilk yazimda rule 3/5 ile anchor ofseti carpisiyordu).
   ══════════════════════════════════════════════════════════════════════════ */

:root{
  --ni-anchor-h:0px;    /* AdSense anchor reklami; JS ile olculur (ni-anchor-offset) */
  --ni-occupant-h:0px;  /* alt seridi tutan kalici katman (One Tap / gece pili) */
}

/* 1 — Google CMP acikken alt seritte HICBIR seyimiz durmaz.
   Kendi cerez bandimiz da susar: iki cerez penceresini ust uste gostermek
   hem hukuken anlamsiz hem de EEA ziyaretcisine ayni soruyu iki kez sorar.
   Sertifikali (IAB TCF) olan Google'inki, kalan o. */
body:has(.fc-consent-root) #ni-consent,
body:has(.fc-consent-root) .ni-tp,
body:has(.fc-consent-root) .ni-fp,
body:has(.fc-consent-root) .ni-ai-fab,
body:has(.fc-consent-root) #ni-scroll-top{ display:none !important; }

/* 2 — Kendi cerez bandimiz acikken alt serit ona ait. */
body:has(#ni-consent:not([hidden])) .ni-tp,
body:has(#ni-consent:not([hidden])) .ni-fp,
body:has(#ni-consent:not([hidden])) .ni-ai-fab,
body:has(#ni-consent:not([hidden])) #ni-scroll-top{ display:none !important; }

/* 2b — NIBOTTOM-onetap: cerez bandi acikken Google One Tap da susar.
   Kullanici oncelik sirasi: cerez > One Tap. Ayrica dogru sira zaten budur --
   ziyaretciye once "cerezleri kabul ediyor musun" sorup ayni anda Google
   hesabiyla giris teklif etmek onay akisini bozar. Banner kapaninca One Tap
   kendiliginden geri gelir (Google periyodik olarak yeniden dener). */
body:has(#ni-consent:not([hidden])) #credential_picker_iframe,
body:has(#ni-consent:not([hidden])) [id^="credential_picker"]{ display:none !important; }
body:has(#ni-consent:not([hidden])){ --ni-occupant-h:0px; }

/* 3 — Google One Tap acikken buyuk istemler susar (yuksekligi olculdu: 144px). */
body:has(#credential_picker_iframe) .ni-tp,
body:has(#credential_picker_iframe) .ni-fp{ display:none !important; }
body:has(#credential_picker_iframe){ --ni-occupant-h:152px; }

/* 4 — Takip istemi acikken gece pili susar. */
body:has(.ni-fp.is-shown) .ni-tp{ display:none !important; }

/* 5 — Gece pili mobilde tam genislik seridi kaplar (50px + 16 bosluk).
   Masaustunde pil solda (x 16-293), butonlar sagda (x 1376) -> carpismaz. */
@media (max-width:768px){
  body:has(.ni-tp.is-shown){ --ni-occupant-h:74px; }
}

/* 6 — Tek yukselti hesabi. --ni-anchor-h ve --ni-occupant-h :root'ta 0px
   tanimli oldugu icin calc() hicbir kosulda gecersize dusmez
   ([[feedback_css_var_gecersiz_sessizce_duser]]). */
.ni-ai-fab{      bottom:calc(18px + var(--ni-anchor-h) + var(--ni-occupant-h)) !important; }
#ni-scroll-top{  bottom:calc(24px + var(--ni-anchor-h) + var(--ni-occupant-h)) !important; }
.ni-tp{          bottom:calc(16px + var(--ni-anchor-h)) !important; }
#ni-consent{     padding-bottom:calc(12px + var(--ni-anchor-h)) !important; }
