/* ============================================================================
   fp_ux_overlays_r1.css  -  29.10.2026
   Yuzen / sabit yardimci bildirimlerin KATMAN ve KONUM uyumu.

   SORUN (kullanici bildirimi): cerez bildirimi, push izin kutusu, DROPZONE
   firsat butonu, destek daveti ve mobil alt gezinme ayni anda ekranin altina
   yigiliyor; icerigi veya eylem butonlarini kapatiyordu. Cerez bildirimi
   `bottom:18px` ile sabitti, oysa mobil alt gezinme (.fp-mobile-bar) ~70px
   yuksekliginde ve `bottom:0` -> ikisi ust uste biniyordu.

   COZUM: z-index degerleri BUYUTULMEDI (mevcut katman duzeni korunur).
   Yalniz ALT BOSLUK tek bir hesaptan (--fp-ovl-bottom-base) beslenir; bu deger
   fp_ux_overlays_r1.js tarafindan olculen gercek yuksekliklerden uretilir.
   JS yoksa degerler 0'a duser ve davranis bugunkunun aynisi olur.
   ========================================================================== */

:root {
    /* JS olcer; yoksa 0 -> eski davranis. */
    --fp-ovl-nav-h: 0px;
    --fp-ovl-buybar-h: 0px;
    --fp-ovl-gap: 12px;
    --fp-ovl-bottom-base: calc(
        var(--fp-ovl-nav-h, 0px) + var(--fp-ovl-buybar-h, 0px) + var(--fp-ovl-gap, 12px)
    );
}

/* --- Cerez bildirimi ------------------------------------------------------
   Masaustunde mobil alt gezinme yok (>=992px display:none), bu yuzden
   degiskenler 0 kalir ve eski 18px'e cok yakin bir sonuc cikar. */
html body .fp-cookie-consent {
    bottom: max(18px, var(--fp-ovl-bottom-base));
}

/* --- Push izin kutusu / sol-alt yigin ------------------------------------- */
html body .fp-bottom-left-stack {
    bottom: max(18px, var(--fp-ovl-bottom-base));
}

@media (max-width: 420px) {
    html body .fp-cookie-consent,
    html body .fp-bottom-left-stack {
        bottom: max(12px, var(--fp-ovl-bottom-base));
    }
}

/* --- Cerez bildirimi: MOBILDE KOMPAKT ------------------------------------
   Bildirim `position:fixed` oldugu icin her zaman icerigin UZERINDE durur;
   urun sayfasinda kapak gorselinin ustune biniyordu. Metin HUKUKI oldugu
   icin KISALTILMADI (tek satira sigmiyor: 390px'te metne kalan alan 247px,
   metin ~300px). Bunun yerine kutunun kapladigi dusey alan kucultuldu:
   390px'te olculen 63px -> ~46px (dolgu 13->9px, punto 12->11px,
   satir araligi 18->15px, dugme 28->26px).
   Cerez tercihinin saklanma ve isleme mantigina DOKUNULMADI. */
@media (max-width: 767.98px) {
    html body .fp-cookie-consent__inner {
        padding: 9px 12px;
        gap: 8px 10px;
    }
    html body .fp-cookie-consent__text {
        font-size: 11px;
        line-height: 1.36;
    }
    html body .fp-cookie-consent__btn {
        min-height: 26px;
        padding: 4px 14px;
        font-size: 11.5px;
    }
    html body .fp-cookie-prefs {
        padding-top: 9px;
        gap: 6px;
    }
    html body .fp-cookie-prefs__row {
        font-size: 11px;
    }
}

/* --- DROPZONE firsat butonu ---------------------------------------------- */
@media (max-width: 1719.98px) {
    html body .fp-dz-fab {
        bottom: calc(140px + var(--fp-ovl-buybar-h, 0px));
    }
}

/* --- Destek (canli sohbet) fab + davet baloncugu --------------------------
   Mobilde (<=991.98px) widget zaten display:none; yine de sabit satin alma
   seridi devreye girdiginde masaustu/tablet gecislerinde ust uste binmesin. */
html body #chatbot-fab {
    margin-bottom: var(--fp-ovl-buybar-h, 0px);
}

/* ==========================================================================
   AYNI ANDA TEK OTOMATIK BILDIRIM
   Cerez bildirimi hukuki oldugu icin ONCELIKLI. Acikken digerleri beklesin.
   (push.js kendi tarafinda da cerez bildirimini bekliyor; bu kural gorsel
   guvencedir, mantigi degistirmez.)
   ========================================================================== */
html body.fp-ovl-cookie-open #fp-dz-fab,
html body.fp-ovl-cookie-open #chatbot-invite-bubble,
html body.fp-ovl-cookie-open .fp-bottom-left-stack {
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

/* ==========================================================================
   FORM / SATIN ALMA AKISLARI
   Sepet, giris-kayit ve odeme adimlarinda kampanya/firsat ogeleri form ve
   butonlari kapatmasin. Destek FAB'i KALIR (destek islevi kaldirilmaz),
   yalniz otomatik davet baloncugu ve firsat butonu susturulur.
   ========================================================================== */
html body.fp-ovl-page-cart #fp-dz-fab,
html body.fp-ovl-page-auth #fp-dz-fab,
html body.fp-ovl-page-checkout #fp-dz-fab {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
}
/* Destek daveti bu sayfalarda JS tarafindan susturulur (chatbot_widget.php
   fpInviteBlockedNow). CSS ile gizlenmez: kasada KODLA tetiklenen yardim
   teklifi (window.ugLiveChatNudge) calismaya devam etmeli. */

/* Modal / cekmece acikken yuzen ogeler karismasin (mevcut gs-sheet-lock
   desenini sabit satin alma seridine de uygula). */
html body.gs-sheet-lock .fp-ux-pdp-stickybuy,
html body.gs-drawer-lock .fp-ux-pdp-stickybuy,
html body.fp-welcome-popup-open .fp-ux-pdp-stickybuy,
html body.swal2-shown .fp-ux-pdp-stickybuy,
html body.fp-ovl-kb-open .fp-ux-pdp-stickybuy {
    transform: translateY(120%);
    pointer-events: none;
}
