/* ============================================================
   ORTAK çerez onay bildirimi — 5 görsel tip (tema-bağımsız).
   Markup: Views/Shared/_CookieConsent.cshtml
   Tip, kök öğedeki .site-prefs--type-{1..5} class'ı ile seçilir:
     1 Alt Çubuk · 2 Üst Çubuk · 3 Sol Alt Kart · 4 Sağ Alt Kart · 5 Orta Modal
   Aksan rengi tema değişkenlerinden gelir (--bg-button vb.), fallback'ler nötr.
   Görünürken alt köşede kapladığı yükseklik JS ile yayınlanır (--cc-float-*): canlı sohbet balonu
   ve tema sabit öğeleri bildirimin ÜSTÜNE çıkar, onay verilince eski yerine iner.

   AD KURALI (2026-10-11): dosya, klasör, kök id ve class adlarında "cookie", "consent", "cc" GEÇMEZ.
   Fanboy Cookiemonster / EasyList Cookie listeleri (Brave "çerez bildirimlerini engelle", AdGuard / uBlock
   "Cookie Notices", mobil içerik engelleyiciler) eski adı birebir engelliyordu (`/cookie-consent.js`,
   `###ccconsent`, `###cc__modal__container`): betik gelmeyince Kabul düğmesi çalışmıyor, çerez yazılamıyor,
   bildirim her sayfada geri geliyordu. Yeni ad eklerken listeye bakılır (SitePrefsWidgetTests yasaklı adları tarar).
   ============================================================ */
/* Sabit alt oge yigini (ortak): Hizli Iletisim, cerez bildirimi ve canli sohbet sag/sol alt kosede
   kapladiklari yuksekligi JS ile :root'a yazar (--qcw-float-*, --cc-float-*, --tlc-float-*). Tema sabit
   ogeleri (bildirim kutusu, yukari cik) bu toplamin ustune yerlesir: calc(Npx + var(--site-float-right, 0px)).
   AYNI BLOK iki dosyada (quick-contact.css, site-prefs.css; hangisi yukluyse); canli sohbet Shadow DOM'da
   oldugu icin ayni toplami gomme betigi (livechat-embed.js, data-site-stack) :root satir ici stiline yazar. */
:root {
    --site-float-right: max(var(--qcw-float-right, 0px), var(--cc-float-right, 0px), var(--tlc-float-right, 0px));
    --site-float-left: max(var(--qcw-float-left, 0px), var(--cc-float-left, 0px), var(--tlc-float-left, 0px));
}

.site-prefs {
    position: fixed;
    /* QuickAccess (Hızlı İletişim widget'ı) z-index'i 2147483000; çerez bildirimi yasal
       onaydır, onun da ÜSTÜNDE olmalı ki sabit alt çubuğun altında gizlenmesin. */
    z-index: 2147483600;
    display: none;
    font-family: var(--font-body, system-ui, -apple-system, "Segoe UI", sans-serif);
}

.site-prefs.is-visible {
    display: block;
}

/* ---- Ortak panel (kutu) ve butonlar ---- */
.site-prefs__panel {
    display: flex;
    gap: 16px;
    align-items: center;
    background: #1f2430;
    color: #f3f4f6;
    box-shadow: 0 18px 50px rgba(0, 0, 0, .35);
}

.site-prefs__text {
    flex: 1 1 auto;
    font-size: 14px;
    line-height: 1.6;
}

/* Panelden girilen metin <p> ile gelir; temalarin genel `p` kurali (renk, 17px, alt bosluk) koyu panelde metni
   okunmaz yapiyordu (GTema12/GTema21: koyu kahve yazi koyu zeminde). Panelin rengi ve olcusu miras alinir. */
.site-prefs .site-prefs__text p {
    margin: 0;
    color: inherit;
    font-family: inherit;
    font-size: inherit;
    line-height: inherit;
}

.site-prefs .site-prefs__text p + p {
    margin-top: 6px;
}

.site-prefs__text a {
    color: var(--bg-button, #c9a35e);
    text-decoration: underline;
}

/* Eylemler bir <form>: betik yoksa/engellenmişse düz POST ile de kabul edilir */
.site-prefs__actions {
    flex: 0 0 auto;
    display: flex;
    gap: 10px;
    margin: 0;
}

/* Dugmeler type=submit: temanin `button[type=submit]` / `form button` kurallari (dolgu, kose, yukseklik) bizimkini
   ezmesin diye seciciler iki sinifli (.site-prefs .site-prefs__btn), ozellik degerleri acikca yazilir. */
.site-prefs .site-prefs__btn {
    border: 0;
    border-radius: 4px;
    padding: 11px 22px;
    margin: 0;
    min-height: 0;
    height: auto;
    width: auto;
    line-height: 1.4;
    box-shadow: none;
    text-decoration: none;
    font: inherit;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .08em;
    text-transform: uppercase;
    white-space: nowrap;
    cursor: pointer;
    transition: background .2s ease, color .2s ease, opacity .2s ease;
}

.site-prefs .site-prefs__btn--accept {
    background: var(--bg-button, #c9a35e);
    color: var(--color-button, #fff);
}

.site-prefs .site-prefs__btn--accept:hover {
    background: var(--bg-button-hover, #b08e4f);
}

.site-prefs .site-prefs__btn--decline {
    background: transparent;
    color: #cfd3da;
    border: 1px solid rgba(207, 211, 218, .3);
}

.site-prefs .site-prefs__btn--decline:hover {
    background: rgba(255, 255, 255, .06);
}

/* ===== 1 — Alt Çubuk (tam genişlik, alt) ===== */
.site-prefs--type-1 {
    left: 0;
    right: 0;
    bottom: 0;
}

.site-prefs--type-1 .site-prefs__panel {
    max-width: 1180px;
    margin: 0 auto;
    padding: 16px 24px;
    border-radius: 10px 10px 0 0;
    flex-wrap: wrap;
    justify-content: space-between;
}

/* ===== 2 — Üst Çubuk (tam genişlik, üst) ===== */
.site-prefs--type-2 {
    left: 0;
    right: 0;
    top: 0;
}

.site-prefs--type-2 .site-prefs__panel {
    max-width: 1180px;
    margin: 0 auto;
    padding: 16px 24px;
    border-radius: 0 0 10px 10px;
    flex-wrap: wrap;
    justify-content: space-between;
}

/* ===== 3 — Sol Alt Kart ===== */
.site-prefs--type-3 {
    left: 20px;
    bottom: 20px;
    max-width: 360px;
}

/* ===== 4 — Sağ Alt Kart ===== */
.site-prefs--type-4 {
    right: 20px;
    bottom: 20px;
    max-width: 360px;
}

.site-prefs--type-3 .site-prefs__panel,
.site-prefs--type-4 .site-prefs__panel {
    flex-direction: column;
    align-items: stretch;
    padding: 20px;
    border-radius: 14px;
}

.site-prefs--type-3 .site-prefs__actions,
.site-prefs--type-4 .site-prefs__actions {
    justify-content: flex-end;
}

/* ===== 5 — Orta Modal (karartma + ortada kutu) ===== */
.site-prefs--type-5 {
    inset: 0;
}

.site-prefs--type-5.is-visible {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
}

.site-prefs--type-5 .site-prefs__backdrop {
    position: fixed;
    inset: 0;
    background: rgba(15, 18, 25, .6);
    -webkit-backdrop-filter: blur(2px);
    backdrop-filter: blur(2px);
}

.site-prefs--type-5 .site-prefs__panel {
    position: relative;
    flex-direction: column;
    align-items: stretch;
    max-width: 460px;
    padding: 26px;
    border-radius: 16px;
}

.site-prefs--type-5 .site-prefs__actions {
    justify-content: flex-end;
    margin-top: 4px;
}

/* ---- Mobil ---- */
@media (max-width: 575.98px) {
    /* QuickAccess sabit alt çubuğu (FloatingBar / ReservationBar) ekranın altını kaplar;
       alt konumlu çerez bildirimini onun ÜSTÜNE kaydır ki Kabul/Reddet butonları
       çubuğun altında gizlenmesin. Widget yoksa :has() eşleşmez, bildirim alta yapışır. */
    body:has(.qcw--d1, .qcw--d2) .site-prefs--type-1 {
        bottom: 76px;
    }

    body:has(.qcw--d1, .qcw--d2) .site-prefs--type-3,
    body:has(.qcw--d1, .qcw--d2) .site-prefs--type-4 {
        bottom: 88px;
    }

    .site-prefs--type-3,
    .site-prefs--type-4 {
        left: 12px;
        right: 12px;
        max-width: none;
    }

    .site-prefs__panel {
        flex-direction: column;
        align-items: stretch;
    }

    .site-prefs__actions {
        justify-content: stretch;
    }

    .site-prefs__btn {
        flex: 1;
    }
}
