/* Site stilleri */

/* Palet ve font template'ten gelir (stylesheet.css: Poppins + antik altin) — kullanici onayli.
   Asagidaki degiskenler yalnizca template disi yardimci bloklar icindir. */
:root {
    --ana: #444444;
    --ana-koyu: #333333;
    --vurgu: #888888;
    --kirmizi: #c0392b;
    --cizgi: #ececec;
    --zemin-acik: #f6f6f6;
    --radius-kart: 12px;
}

/* Temel eleman kurallari (reset, body fontu, img/a varsayilanlari) template'in kendi
   bootstrap + stylesheet.css katmanindan gelir; burada global eleman seciciye dokunulmaz. */

/* --- Mobil menü (custom.js #mobilMenu / .acik) --- */
.mobil-menu { display: none; background: #fff; border-bottom: 1px solid var(--cizgi); }
.mobil-menu.acik { display: block; }
.mobil-menu a { display: block; padding: 13px 20px; font-size: 13px; font-weight: 600; text-transform: uppercase; letter-spacing: .8px; border-top: 1px solid var(--zemin-acik); }

/* --- Bildirim (toast) — custom.js bildirimGoster(), iletisim.php form yanitlari --- */
.bildirim { position: fixed; bottom: 22px; right: 22px; background: var(--ana-koyu); color: #fff; font-size: 13.5px; font-weight: 600; padding: 13px 22px; border-radius: 10px; box-shadow: 0 10px 26px rgba(0, 0, 0, .22); opacity: 0; transform: translateY(12px); transition: opacity .25s, transform .25s; pointer-events: none; z-index: 90; max-width: 340px; }
.bildirim.goster { opacity: 1; transform: translateY(0); }
.bildirim.hata { background: var(--kirmizi); }

/* --- Giriş animasyonu (custom.js IntersectionObserver) --- */
.belir { opacity: 0; transform: translateY(14px); transition: opacity .5s ease, transform .5s ease; }
.belir.gorunur { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) { .belir { transition: none; opacity: 1; transform: none; } }

/* --- SSS akordeon (custom.js .sss-soru / .sss-oge) --- */
.sss-oge { border: 1px solid var(--cizgi); border-radius: var(--radius-kart); margin-bottom: 12px; overflow: hidden; }
.sss-soru { width: 100%; display: flex; justify-content: space-between; align-items: center; gap: 14px; background: #fff; border: none; cursor: pointer; text-align: left; font-size: 14.5px; font-weight: 700; padding: 18px 20px; }
.sss-soru svg { width: 18px; height: 18px; flex-shrink: 0; transition: transform .25s; color: var(--ana-koyu); }
.sss-oge.acik .sss-soru svg { transform: rotate(180deg); }
.sss-cevap { display: none; padding: 0 20px 18px; font-size: 14px; color: #555; }
.sss-oge.acik .sss-cevap { display: block; }

/* --- Sayfa yukleyici (custom.js #sayfaYukleyici / .gizlendi / .tekrar) --- */
.sayfa-yukleyici { position: fixed; inset: 0; z-index: 200; background: #fff; display: flex; align-items: center; justify-content: center; opacity: 1; transition: opacity .35s ease, visibility 0s .35s; animation: yukleyiciEmniyet .35s ease 3.2s forwards; }
.sayfa-yukleyici.gizlendi { opacity: 0; visibility: hidden; pointer-events: none; }
.sayfa-yukleyici.tekrar { animation: none; opacity: 1; visibility: visible; pointer-events: auto; transition: none; }
@keyframes yukleyiciEmniyet { to { opacity: 0; visibility: hidden; } }
.yukleyici-ic { display: flex; flex-direction: column; align-items: center; gap: 18px; }
.yukleyici-ic img { max-height: 54px; width: auto; animation: yukleyiciNefes 1.6s ease-in-out infinite; }
.yukleyici-marka { font-size: 24px; font-weight: 800; color: var(--ana-koyu); letter-spacing: -.3px; animation: yukleyiciNefes 1.6s ease-in-out infinite; }
.yukleyici-noktalar { display: flex; gap: 8px; }
.yukleyici-noktalar span { width: 9px; height: 9px; border-radius: 50%; background: var(--vurgu); animation: yukleyiciNokta 1s ease-in-out infinite; }
.yukleyici-noktalar span:nth-child(2) { background: var(--ana); animation-delay: .15s; }
.yukleyici-noktalar span:nth-child(3) { animation-delay: .3s; }
@keyframes yukleyiciNokta { 0%, 100% { transform: translateY(0); opacity: .55; } 50% { transform: translateY(-7px); opacity: 1; } }
@keyframes yukleyiciNefes { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.05); } }
@media (prefers-reduced-motion: reduce) { .sayfa-yukleyici { display: none; } }

/* ============================================================
   MOBIL DUZELTMELERI
   Kirilim 991.98px template'in kendi mobil menu esigidir
   (stylesheet.css: .navbar-expand-lg / max-width: 991.98px).
   Tum kurallar yalnizca bu esigin altinda calisir; masaustu gorunum degismez.
   ============================================================ */

/* --- Buyuk basliklar: template'in vw formulu mobilde tasiyor ---
   .text-19  = hero basligi (anasayfa hero + video bandi)
   .text-17  = ic sayfa banner basligi (header.php $sayfaBandi — tum ic sayfalar tek markup)
   Tek ortak kural; sayfa basina ayri kural yok. Uzun Turkce kelime kesilmeden sigar. */
@media (max-width: 991.98px) {
    .hero-wrap .hero-content .text-19 {
        font-size: clamp(1.75rem, 7.8vw, 3.25rem) !important;
        line-height: 1.15;
    }

    .page-header .text-17 {
        font-size: clamp(1.6rem, 6.6vw, 2.9rem) !important;
        line-height: 1.2;
    }

    .hero-wrap .hero-content .text-19,
    .page-header .text-17 {
        overflow-wrap: break-word;
        word-break: normal;
    }
}

/* --- Dekoratif filigran yazi (section watermark) ---
   Desen: .text-30 + .text-nowrap + .position-absolute (anasayfa oda bandi; ayni desen
   baska sayfaya eklenirse otomatik kapsanir). 404 sayfasindaki duz .text-30 etkilenmez.
   text-nowrap korunur; font vw ile kuculterek tek satirda ekrana sigdirilir.
   max-width + overflow: DB'den gelen cok uzun site basligi yatay kaydirma acmasin diye emniyet. */
@media (max-width: 991.98px) {
    .text-30.text-nowrap.position-absolute {
        font-size: clamp(2.5rem, 15vw, 9rem) !important;
        max-width: 100vw;
        overflow: hidden;
    }
}

/* --- Rezervasyon: mobilde header butonu gizlenir, menu ogesi olarak acilir ---
   Masaustunde tam tersi: buton gorunur, menu ogesi gizli. */
.primary-menu ul.navbar-nav > li.nav-rezervasyon { display: none; }

@media (max-width: 991.98px) {
    #header .header-rezervasyon { display: none; }
    .navbar-expand-lg ul.navbar-nav li.nav-rezervasyon { display: block; }
}

/* --- Sabit WhatsApp butonu (footer.php, #back-to-top ile ayni dikey eksen) ---
   #back-to-top: 45px, bottom/right 1.5rem, z-index 1030 (stylesheet.css).
   Bu buton onun 14px ustunde durur; ikisi hicbir kirilimda cakismaz. */
.wa-sabit {
    position: fixed;
    right: calc(1.5rem - 4.5px);
    bottom: calc(1.5rem + 45px + 14px);
    z-index: 1029;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 54px;
    height: 54px;
    border-radius: 50%;
    background: #25D366;
    color: #fff;
    box-shadow: 0 6px 18px rgba(37, 211, 102, .38);
    transition: transform .25s ease, box-shadow .25s ease, background-color .25s ease;
}
.wa-sabit svg { width: 27px; height: 27px; display: block; }
.wa-sabit:hover,
.wa-sabit:focus-visible { background: #1ebe5b; color: #fff; transform: scale(1.08); box-shadow: 0 8px 22px rgba(37, 211, 102, .5); }
.wa-sabit:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }

@media (max-width: 575.98px) {
    .wa-sabit { width: 48px; height: 48px; right: calc(1.5rem - 1.5px); bottom: calc(1.5rem + 45px + 12px); }
    .wa-sabit svg { width: 24px; height: 24px; }
}

@media (prefers-reduced-motion: reduce) {
    .wa-sabit { transition: none; }
    .wa-sabit:hover, .wa-sabit:focus-visible { transform: none; }
}
