/* Çerez onay penceresi (Hemen Değerle)
   KVKK Çerez Rehberi 7.3: Kabul et / Reddet / Tercihler eşit renk, boyut ve puntoda.
   Pencere sayfayı kilitlemez (çerez duvarı yok). Mobilde WhatsApp düğmesini ve
   reCAPTCHA rozetini yukarı iter, sayfanın altına pencere yüksekliği kadar boşluk bırakır. */

:root {
    --hdc-vurgu: #42a948;
    --hdc-metin: #101010;
    --hdc-metin-ikincil: #464945;
    --hdc-zemin: #fcfefc;
    --hdc-cizgi: #dfe4de;
    --hdc-yumusak: #eff3ef;
    --hdc-odak: #29752e;
    --hdc-yukseklik: 0px;               /* JS açık pencerenin yüksekliğini yazar */
    --hdc-egri-giris: cubic-bezier(0.16, 1, 0.3, 1);
    --hdc-egri-cikis: cubic-bezier(0.4, 0, 1, 1);
}

.hdc,
.hdc *,
.hdc *::before,
.hdc *::after { box-sizing: border-box; }

.hdc {
    position: fixed;
    left: 24px;
    bottom: 24px;
    z-index: 1000;                       /* Yapışkan başlık (999) üstünde; mobil menü (1006), galeri (1042+),
                                            SweetAlert (1060) ve yükleme katmanı (99998) altında. WhatsApp ile
                                            konum olarak ayrışır (masaüstü sol/sağ, mobilde WhatsApp yukarı itilir). */
    width: min(440px, calc(100vw - 48px));
    max-height: calc(100vh - 48px);
    overflow-y: auto;
    overscroll-behavior: contain;
    background: var(--hdc-zemin);
    color: var(--hdc-metin);
    border: 1px solid var(--hdc-cizgi);
    border-radius: 16px;
    box-shadow: 0 1px 2px rgba(16, 16, 16, 0.06), 0 12px 40px rgba(16, 16, 16, 0.16);
    font-family: Urbanist, sans-serif;
    font-size: 15px;
    line-height: 1.5;
    padding: 22px 22px 20px;
}

.hdc[hidden] { display: none; }

/* Giriş: ziyarette bir kez görünür (nadir), kısa ve fark edilmeyecek kadar yumuşak */
.hdc.hdc-giris { animation: hdc-giris 0.4s var(--hdc-egri-giris) both; }
.hdc.hdc-cikis { animation: hdc-cikis 0.2s var(--hdc-egri-cikis) both; }

@keyframes hdc-giris {
    from { opacity: 0; transform: translateY(12px); filter: blur(4px); }
    to   { opacity: 1; transform: none; filter: none; }
}
@keyframes hdc-cikis {
    from { opacity: 1; transform: none; }
    to   { opacity: 0; transform: translateY(8px); }
}

.hdc-baslik {
    margin: 0 0 8px;
    font-size: 18px;
    line-height: 1.3;
    font-weight: 800;
    color: var(--hdc-metin);
    letter-spacing: -0.01em;
}

.hdc-metin {
    margin: 0 0 16px;
    color: var(--hdc-metin-ikincil);
    max-width: 62ch;
}

.hdc a {
    color: var(--hdc-metin);
    font-weight: 700;
    text-decoration: underline;
    text-decoration-color: var(--hdc-vurgu);
    text-decoration-thickness: 2px;
    text-underline-offset: 3px;
}

/* Üç düğme birebir aynı görünür: hiçbiri öne çıkarılmaz */
.hdc-dugmeler {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 8px;
}

.hdc-dugme {
    appearance: none;
    min-height: 44px;
    padding: 10px 12px;
    border: 1.5px solid var(--hdc-metin);
    border-radius: 12px;
    background: var(--hdc-zemin);
    color: var(--hdc-metin);
    font: 700 14px/1.2 Urbanist, sans-serif;
    cursor: pointer;
    transition: background-color 0.15s ease-out, transform 0.1s ease-out;
    -webkit-tap-highlight-color: transparent;
}

.hdc-dugme:hover { background: var(--hdc-vurgu); }
.hdc-dugme:active { transform: scale(0.97); }

.hdc-dugme:focus-visible,
.hdc a:focus-visible,
.hdc-anahtar input:focus-visible + .hdc-anahtar-ray,
.hdc-ac:focus-visible {
    outline: 3px solid var(--hdc-odak);
    outline-offset: 2px;
}

/* Tercihler: aynı pencerenin içinde açılır, yükseklik animasyonu yok */
.hdc-tercihler { margin: 4px 0 16px; }
.hdc-tercihler[hidden] { display: none; }

.hdc-kategori {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 4px 16px;
    align-items: start;
    padding: 14px 0;
    border-top: 1px solid var(--hdc-cizgi);
}
.hdc-kategori:last-child { border-bottom: 1px solid var(--hdc-cizgi); }

.hdc-kategori-ad {
    font-weight: 800;
    font-size: 15px;
    color: var(--hdc-metin);
}

.hdc-kategori-aciklama {
    grid-column: 1 / -1;
    margin: 0;
    font-size: 14px;
    color: var(--hdc-metin-ikincil);
}

.hdc-sabit {
    font-size: 13px;
    font-weight: 700;
    color: var(--hdc-metin-ikincil);
    padding: 3px 10px;
    border-radius: 999px;
    background: var(--hdc-yumusak);
    white-space: nowrap;
}

/* Erişilebilir anahtar: gerçek checkbox, role="switch" */
.hdc-anahtar {
    position: relative;
    display: inline-flex;
    align-items: center;
    min-width: 44px;
    min-height: 44px;
    margin: -10px -4px -10px 0;
    cursor: pointer;
}
.hdc-anahtar input {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    margin: 0;
    opacity: 0;
    cursor: pointer;
}
.hdc-anahtar-ray {
    position: relative;
    width: 44px;
    height: 26px;
    border-radius: 999px;
    background: #c5cbc5;
    transition: background-color 0.2s ease-out;
}
.hdc-anahtar-ray::after {
    content: "";
    position: absolute;
    top: 3px;
    left: 3px;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 1px 2px rgba(16, 16, 16, 0.25);
    transition: transform 0.2s var(--hdc-egri-giris);
}
.hdc-anahtar input:checked + .hdc-anahtar-ray { background: var(--hdc-metin); }
.hdc-anahtar input:checked + .hdc-anahtar-ray::after { transform: translateX(18px); }

.hdc-durum {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
}

/* Sayfa içi "tercihleri aç" bağlantısı (altbilgi, çerez tercihleri sayfası) */
.hdc-ac {
    appearance: none;
    background: none;
    border: 0;
    padding: 0;
    font: inherit;
    color: inherit;
    cursor: pointer;
    text-align: left;
}

/* Mobil: pencere açıkken sabit öğeleri pencerenin üstüne taşı, sayfa sonunda boşluk bırak */
@media (max-width: 767.98px) {
    .hdc {
        left: 12px;
        right: 12px;
        bottom: 12px;
        width: auto;
        max-height: min(78vh, calc(100vh - 24px));
        padding: 18px 16px 16px;
        border-radius: 16px;
    }
    .hdc-baslik { font-size: 17px; }
    .hdc-metin { font-size: 14px; margin-bottom: 14px; }
    .hdc-dugmeler { gap: 6px; }
    .hdc-dugme { padding: 10px 6px; font-size: 14px; }

    /* _Layout'taki "transition: all" konumu da canlandırıyor; yer değişimi anında olsun, hover efekti kalsın */
    .whatsapp-float { transition-property: transform, background-color, box-shadow, color; }
    body.hdc-acik { padding-bottom: calc(var(--hdc-yukseklik) + 24px); }
    body.hdc-acik .whatsapp-float { bottom: calc(var(--hdc-yukseklik) + 24px) !important; }
    body.hdc-acik .grecaptcha-badge { bottom: calc(var(--hdc-yukseklik) + 24px) !important; }
}

@media (max-width: 359.98px) {
    .hdc-dugmeler { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
    .hdc.hdc-giris { animation: hdc-soluk 0.01ms both; }
    .hdc.hdc-cikis { animation: none; opacity: 0; }
    .hdc-dugme,
    .hdc-anahtar-ray,
    .hdc-anahtar-ray::after { transition: none; }
    .hdc-dugme:active { transform: none; }
}
@keyframes hdc-soluk { from { opacity: 0; } to { opacity: 1; } }

@media (forced-colors: active) {
    .hdc { border: 2px solid CanvasText; }
    .hdc-dugme { border-color: ButtonText; }
    .hdc-anahtar-ray { border: 1px solid CanvasText; }
}

@media print {
    .hdc { display: none !important; }
}
