@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,600;1,300;1,400&family=DM+Sans:wght@300;400;500&display=swap');

:root{
  --turq:#1B6B72;--turq-k:#0D4A50;--turq-a:rgba(27,107,114,.12);
  --gold:#C9A84C;--gold-a:rgba(201,168,76,.15);
  --koyu:#0D1B1C;--bg:#080F10;--bg-kart:#0E1A1B;--bg-alan:#152022;--bg-yuzen:#192B2D;
  --soluk:#5A7478;--beyaz:#FFFFFF;
  --ok:#4CAF50;--hata:#EF5350;--uyari:#FF9800;--info:#378ADD;
  /* İndirim/fırsat rozetleri için ayrı bir kırmızı — --hata (form hatası) ile
     karıştırılmasın diye kendi token'ı var. Kod tabanında 11 yerde hardcoded
     #E53935 olarak tekrarlanıyordu (CSS raporu madde 3), tek noktaya indirildi. */
  --indirim:#E53935;
  --yari:.5px solid rgba(255,255,255,.07);
  --yari-altin:.5px solid rgba(201,168,76,.12);
  --gecis:all .22s ease;
  --r:8px;--r2:16px;--r3:24px;
  /* Küçük/tekrarlanan yarıçap kademeleri (CSS raporu madde 4) — ölçeğe
     tam oturmayan ama kod tabanında >=2 kez tekrarlanan değerler, mevcut
     piksel değerleri korunarak isimlendirildi. */
  --r-xs:4px;--r-sm:6px;--r-pill:20px;--r-full:50px;
  --golge:0 8px 32px rgba(0,0,0,.4);
  --golge2:0 16px 64px rgba(0,0,0,.55);

  /* Z-INDEX KATMAN SİSTEMİ — yeni bir bileşen eklerken buradan seçin,
     rastgele bir sayı yazmayın. Katmanlar arası boşluk kasıtlı: her
     tabakanın üstüne yeni bir ihtiyaç için yer bırakır. */
  --z-base:0;--z-raised:1;--z-overlay:2;--z-pattern:3;--z-content:4;
  --z-sticky:10;--z-navbar:100;--z-dropdown:200;
  --z-fab:400;--z-banner:450;--z-modal:500;--z-banner-top:1100;--z-toast:9999;
  /* --z-fab-sabit: gerçek WhatsApp butonu (footer.php #wa-sabit) bilinçli
     olarak modal/banner'ın üstünde durur; .wa-buton sınıfı (--z-fab) şu an
     hiçbir sayfada kullanılmıyor, kod tabanında kalıntı olarak duruyor. */
  --z-fab-sabit:999;

  /* BOŞLUK ÖLÇEĞİ — section ritmi 4rem → 7rem aralığında, tüm dikey boşluklar buradan türer */
  --sp-1:.75rem;--sp-2:1.25rem;--sp-3:2rem;--sp-4:3rem;--sp-5:4rem;--sp-6:5.5rem;--sp-7:7rem;

  /* SECTION ARKA PLAN RİTMİ — koyu/açık nefes alan 3 ton + vurgu tonu */
  --bg-sec-1:#0A1415;--bg-sec-2:#0F1E20;--bg-sec-3:#0D1B1C;--bg-sec-vurgu:#150C0C;

  /*
    RENK HİYERARŞİSİ — altın (--gold) artık SADECE 3 anlamsal yerde kullanılır:
    1) Birincil CTA butonu (.btn-birincil) — eylem çağrısı
    2) Fiyat rakamları (.mulk-fiyat-ana / .fiyat-toplam-d / kapora-tutar) — parasal vurgu
    3) Logo italik vurgusu (.logo span / .footer-marka-logo span) — marka imzası
    Diğer her yerde (etiketler, dekoratif çizgiler, ikincil metinler) --turq veya --soluk kullanılır.
  */
}

/* SECTION BOŞLUK SİSTEMİ */
.sec{padding:var(--sp-5) 0}
.sec-lg{padding:var(--sp-7) 0}
.sec-sm{padding:var(--sp-4) 0}
@media(max-width:768px){.sec-lg{padding:var(--sp-5) 0}.sec{padding:var(--sp-4) 0}.sec-sm{padding:var(--sp-3) 0}}
.bg-1{background:var(--bg-sec-1)}.bg-2{background:var(--bg-sec-2)}.bg-3{background:var(--bg-sec-3)}
.tema-light{
  --bg:#F0F4F5;--bg-kart:#FFFFFF;--bg-alan:#E8EDEF;--bg-yuzen:#FFFFFF;
  --beyaz:#0D1B1C;--koyu:#0D1B1C;--soluk:#5A7478;
  --yari:.5px solid rgba(0,0,0,.09);
  --yari-altin:.5px solid rgba(201,168,76,.18);
  --golge:0 4px 16px rgba(0,0,0,.07);
  --golge2:0 8px 32px rgba(0,0,0,.11);
  scrollbar-color:rgba(0,0,0,.15) transparent;
  color-scheme:light;
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;color-scheme:dark}
/* DÜZELTME (Mobil raporu #28): sunucu tarafında lykia_tema cookie'si hiç
   set edilmemişse (ilk ziyaret / JS devre dışı) ve sistem açık temadaysa,
   karanlık tema zorlanmasın. lykia_tema cookie'si set edildiğinde .tema-dark
   veya .tema-light body class'ı bunun önüne geçer (spesifiklik daha yüksek). */
@media(prefers-color-scheme:light){
  body:not(.tema-dark):not(.tema-light){
    --bg:#F0F4F5;--bg-kart:#FFFFFF;--bg-alan:#E8EDEF;--bg-yuzen:#FFFFFF;
    --beyaz:#0D1B1C;--koyu:#0D1B1C;--soluk:#5A7478;
    --yari:.5px solid rgba(0,0,0,.09);
    --yari-altin:.5px solid rgba(201,168,76,.18);
    --golge:0 4px 16px rgba(0,0,0,.07);
    --golge2:0 8px 32px rgba(0,0,0,.11);
    color-scheme:light;
  }
}
body{font-family:'DM Sans',sans-serif;background:var(--bg);color:var(--beyaz);line-height:1.65;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none;transition:var(--gecis)}
img{max-width:100%;height:auto;display:block}
button{cursor:pointer;font-family:'DM Sans',sans-serif}
input,select,textarea{font-family:'DM Sans',sans-serif}
*{scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.08) transparent}
::-webkit-scrollbar{width:4px;height:4px}
::-webkit-scrollbar-thumb{background:rgba(255,255,255,.08);border-radius:2px}

/* LAYOUT */
.container{width:100%;max-width:1240px;margin:0 auto;padding:0 2rem}
/* DÜZELTME (Mobil raporu #27): 480-600px arası kırılma noktası boşluğu —
   çok dar ekranlarda (400px altı) 2rem yan boşluk orantısız büyük kalıyordu. */
@media(max-width:400px){.container{padding:0 1.1rem}}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}
/* DÜZELTME (Tablet raporu #5.1): .grid-2 için tablet kırılma noktası eklendi. */
@media(max-width:768px){.grid-2{grid-template-columns:1fr}}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem}
@media(max-width:900px){.grid-4{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.grid-4,.grid-3,.grid-2{grid-template-columns:1fr}}
/* DÜZELTME (UI raporu #18): blog.php .grid-3 sınıfını kullanıp inline style ile
   display/grid-template-columns'ı tamamen override ediyordu (anlamsız çakışma).
   İhtiyaç duyulan auto-fill deseni için ayrı bir sınıf eklendi. */
.grid-auto{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem}
/* DÜZELTME (Tablet raporu #1, #3): Daha önce inline stil olarak tanımlı, medya
   sorgusu olmayan grid düzenleri için yeni responsive utility sınıfları. */

/* Ana içerik + sabit genişlikli sidebar (mulk.php, rezervasyon.php, odeme.php) */
@media(max-width:1024px){.grid-yanpanel{grid-template-columns:1fr!important}}

/* Panel içi ana içerik + sabit genişlikli yan panel (admin/takvim.php) */
@media(max-width:1024px){.grid-yanpanel-panel{grid-template-columns:1fr!important}}

/* Dar iki sütunlu form/liste grid'leri (mulk.php özellikler, rezervasyon.php
   form alanları, villa-kiraya-ver.php, panel/bayi davet-ekip-index, panel/musteri index) */
@media(max-width:600px){.ikili-grid{grid-template-columns:1fr!important}}

/* Geniş iki sütunlu içerik blokları (hakkimizda.php, iletisim.php) */
@media(max-width:768px){.ikili-grid-buyuk{grid-template-columns:1fr!important}}

/* index.php 4 sütunlu istatistik grid'i */
@media(max-width:900px){.dortlu-grid{grid-template-columns:repeat(2,1fr)!important}}
@media(max-width:600px){.dortlu-grid{grid-template-columns:1fr!important}}

/* panel/admin/mulk-form.php 5 sütunlu mesafe/fiyat grid'i */
@media(max-width:1024px){.besli-grid{grid-template-columns:repeat(3,1fr)!important}}
@media(max-width:600px){.besli-grid{grid-template-columns:1fr!important}}

/* panel/bayi ve panel/musteri dashboard 3 sütunlu metrik kartları */
@media(max-width:768px){.uclu-grid-panel{grid-template-columns:repeat(2,1fr)!important}}
@media(max-width:600px){.uclu-grid-panel{grid-template-columns:1fr!important}}

/* panel/admin/takvim.php — 7 sütunlu takvim grid'i her zaman 7 sütun kalır
   (haftanın günleri), ama tablette daralmaması için min-genişlik + yatay kaydırma.
   NOT: mulk.php'deki ön yüz müşteri takvim widget'ı zaten ".takvim-grid" adını
   kullandığından çakışmayı önlemek için burada ayrı bir sınıf adı kullanıldı. */
.takvim-kaydirma{overflow-x:auto}
.admin-takvim-grid{min-width:560px}

.flex{display:flex}.flex-1{flex:1}.items-center{align-items:center}
.justify-between{justify-content:space-between}.flex-wrap{flex-wrap:wrap}
.gap-1{gap:.5rem}.gap-2{gap:1rem}.gap-3{gap:1.5rem}
.mt-1{margin-top:.5rem}.mt-2{margin-top:1rem}.mt-3{margin-top:1.5rem}
.mb-1{margin-bottom:.5rem}.mb-2{margin-bottom:1rem}.mb-3{margin-bottom:1.5rem}
.text-center{text-align:center}
.soluk{color:var(--soluk)}.altin{color:var(--gold)}.turkuaz{color:var(--turq)}
.desktop-only{display:flex}
/* DÜZELTME (Tablet raporu #4.1): eşik 768px'ten 1024px'e yükseltildi; 769–1024
   arası tablette 8+ linkli navbar artık hamburger menüye düşüyor. */
@media(max-width:1024px){.desktop-only{display:none!important}}
.mobil-only{display:none}@media(max-width:768px){.mobil-only{display:block}}

/* TİPOGRAFİ — ağırlık hiyerarşisi: h1 en ince (300), h2 biraz daha belirgin (300+geniş boyut), h3 daha güçlü (500) kart/blok başlıkları için */
.serif{font-family:'Cormorant Garamond',serif;font-weight:300}
h1,h2,h3{font-family:'Cormorant Garamond',serif;line-height:1.15;letter-spacing:-.01em}
h1{font-size:clamp(2.6rem,5.5vw,4.2rem);font-weight:300}
h2{font-size:clamp(1.8rem,3.2vw,2.8rem);font-weight:300}
h3{font-size:clamp(1.2rem,2vw,1.5rem);font-weight:500}
.etiket{font-size:.7rem;letter-spacing:.22em;text-transform:uppercase;color:var(--turq);display:inline-flex;align-items:center;gap:.55rem;margin-bottom:.45rem;font-weight:500}
.etiket::before{content:'';display:inline-block;width:24px;height:1px;background:currentColor;opacity:.55;flex-shrink:0}

/* NAVBAR */
.navbar{position:sticky;top:0;z-index:var(--z-navbar);background:rgba(8,15,16,.94);backdrop-filter:blur(16px);border-bottom:var(--yari-altin)}
.navbar-ic{display:flex;align-items:center;justify-content:space-between;height:62px;gap:2rem}
.logo{font-family:'Cormorant Garamond',serif;font-size:1.55rem;font-weight:300;letter-spacing:.12em;color:var(--beyaz)}
/* UI/UX tutarsızlık raporu madde 9: deneyimler.php ve panel/bayi'de en az 3 yerde
   harfiyen kopyalanan fiyat vurgu stili tek sınıfa taşındı. Renk (var(--gold),
   var(--ok) vb.) her kullanım yerinde değiştiği için class'a dahil edilmedi;
   inline style="color:..." ile birlikte kullanılır. */
.fiyat-vurgu-serif{font-family:'Cormorant Garamond',serif;font-size:1.1rem;font-weight:300}
.logo span{color:var(--gold);font-style:italic}
.nav-linkler{display:flex;gap:2rem;align-items:center}
.nav-linkler a{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.45);transition:color .2s;font-weight:400}
.nav-linkler a:hover{color:rgba(255,255,255,.9)}
.nav-linkler a.aktif{color:var(--gold)}
.nav-saglar{display:flex;align-items:center;gap:.7rem}
/* DÜZELTME (Responsive raporu #8): 375px gibi dar ekranlarda dil/para/tema/giriş
   butonları artık tek satırda sıkışıp üst üste binmek yerine gerektiğinde
   ikinci satıra sarıyor; buton iç boşlukları da daraltıldı. */
@media(max-width:480px){
  .nav-saglar{flex-wrap:wrap;justify-content:flex-end;row-gap:.4rem;gap:.4rem}
  .nav-saglar .dil-btn{padding:.2rem .5rem;font-size:.65rem}
  .nav-saglar .btn-kucuk{padding:.3rem .6rem;font-size:.68rem}
}
.dil-secici{position:relative}
.dil-btn{background:none;border:var(--yari);color:rgba(255,255,255,.45);padding:.25rem .75rem;border-radius:var(--r-xs);font-size:.7rem;display:flex;align-items:center;gap:.3rem;transition:var(--gecis)}
.dil-btn:hover{color:rgba(255,255,255,.8);border-color:rgba(255,255,255,.2)}
.dil-menu{display:none;position:absolute;right:0;top:2.4rem;background:var(--bg-kart);border:var(--yari);border-radius:var(--r);min-width:140px;box-shadow:var(--golge);z-index:var(--z-dropdown)}
.dil-menu.acik{display:block}
.dil-menu a{display:block;padding:.5rem .9rem;font-size:.78rem;color:rgba(255,255,255,.55);transition:var(--gecis)}
.dil-menu a:hover,.dil-menu a.aktif{background:var(--turq-a);color:var(--beyaz)}
.tema-btn{background:none;border:none;color:rgba(255,255,255,.4);font-size:1.1rem;padding:.3rem;display:flex;align-items:center;transition:color .2s}
.tema-btn:hover{color:rgba(255,255,255,.8)}
.hamburger{display:none;background:none;border:none;color:rgba(255,255,255,.6);font-size:1.3rem;padding:.3rem}
@media(max-width:1024px){.hamburger{display:flex}.nav-linkler{display:none}}
.mobil-menu{display:none;flex-direction:column;padding:.8rem 2rem 1.2rem;gap:.2rem;border-top:var(--yari)}
.mobil-menu.acik{display:flex}
.mobil-menu a{font-size:.88rem;padding:.55rem 0;color:rgba(255,255,255,.6);border-bottom:var(--yari);letter-spacing:.04em}

/* BUTONLAR */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;padding:.7rem 1.6rem;border-radius:var(--r);font-size:.83rem;font-weight:500;border:none;transition:var(--gecis);cursor:pointer;white-space:nowrap;letter-spacing:.02em}
.btn-birincil{background:var(--gold);color:#0D1B1C}.btn-birincil:hover{background:#D4B05A;transform:translateY(-1px)}
.btn-ikincil{background:transparent;border:1px solid rgba(255,255,255,.32);color:rgba(255,255,255,.78)}.btn-ikincil:hover{border-color:var(--turq);color:var(--beyaz);background:rgba(27,107,114,.12)}
.btn-turkuaz{background:var(--turq);color:#fff}.btn-turkuaz:hover{background:var(--turq-k)}
.btn-link{background:none;border:none;color:rgba(255,255,255,.45)}.btn-link:hover{color:var(--beyaz)}
.btn-kucuk{padding:.35rem .9rem;font-size:.73rem}.btn-buyuk{padding:.9rem 2.2rem;font-size:.92rem}.btn-blok{width:100%;justify-content:center}
.btn-wa{background:rgba(37,211,102,.1);border:.5px solid rgba(37,211,102,.25);color:#25D366}.btn-wa:hover{background:rgba(37,211,102,.18)}

/* FORMLAR */
/* DÜZELTME (Mobil raporu #14, #29): number input spin butonları mobil
   Chrome/Safari'de büyük görünüp form hizasını bozuyordu; gizlendi. */
input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
input[type=number]{-moz-appearance:textfield}
.form-grup{margin-bottom:1rem}
.form-etiket{display:block;font-size:.63rem;letter-spacing:.12em;text-transform:uppercase;color:var(--soluk);margin-bottom:.4rem}
.form-input,.form-select,.form-textarea{width:100%;background:var(--bg-alan);border:.5px solid rgba(255,255,255,.1);border-radius:var(--r);padding:.7rem 1rem;color:var(--beyaz);font-size:.87rem;outline:none;transition:border-color .2s}
.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--turq)}
.form-input::placeholder{color:rgba(255,255,255,.18)}
.form-select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%235A7478' stroke-width='1.5' fill='none'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .9rem center;padding-right:2.2rem}
.form-select option{background:var(--bg-alan)}
.form-textarea{resize:vertical;min-height:100px}
.form-hata{font-size:.68rem;color:var(--hata);margin-top:.3rem}
.form-ipucu{font-size:.68rem;color:var(--soluk);margin-top:.3rem}
input:-webkit-autofill{-webkit-box-shadow:0 0 0 1000px var(--bg-alan) inset!important;-webkit-text-fill-color:var(--beyaz)!important}

/* KARTLAR */
.kart{background:var(--bg-kart);border:var(--yari);border-radius:var(--r2);padding:1.4rem;transition:var(--gecis)}
.kart-baslik{font-size:.65rem;letter-spacing:.12em;text-transform:uppercase;color:var(--soluk);margin-bottom:1rem;display:flex;align-items:center;justify-content:space-between}
.efsane-bloke{display:none;align-items:center;gap:.3rem}
.deneyim-addon-satir{background:var(--bg-alan);border:.5px solid rgba(255,255,255,.08);border-radius:var(--r);padding:.7rem 1rem;margin-bottom:.4rem;display:flex;align-items:center;gap:.8rem;cursor:pointer;transition:all .2s}
.addon-chk{width:18px;height:18px;border:.5px solid rgba(255,255,255,.2);border-radius:var(--r-xs);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .2s}
@media(max-width:480px){.deneyim-addon-satir{flex-wrap:wrap}}

/* DÜZELTME (UI raporu #5): index.php'de kullanılan ama style.css'te hiç
   tanımlanmamış .deneyim-kart ailesi — kartlar biçimsiz görünüyordu.
   deneyimler.php'deki .kart tabanlı benzer bileşenle aynı görsel dile
   oturacak şekilde tanımlandı, tüm renkler mevcut token'lardan geliyor. */
.deneyim-kart{display:block;background:var(--bg-kart);border:var(--yari);border-radius:var(--r2);padding:1.4rem;transition:var(--gecis);color:inherit;text-decoration:none}
.deneyim-kart:hover{border-color:var(--turq);transform:translateY(-3px)}
.deneyim-ikon{width:44px;height:44px;border-radius:var(--r);background:rgba(27,107,114,.2);display:flex;align-items:center;justify-content:center;margin-bottom:.9rem;font-size:1.3rem;color:var(--turq)}
.deneyim-ad{font-size:.95rem;font-weight:500;color:var(--beyaz);margin-bottom:.35rem}
.deneyim-acik{font-size:.78rem;color:var(--soluk);line-height:1.5;margin-bottom:.8rem}
/* DÜZELTME (UI raporu #17): daha önce sss.php ve mulk.php'de ayrı ayrı
   tanımlıydı — tek dosyada değişirse diğeri unutulma riski taşıyordu. */
details summary::-webkit-details-marker{display:none}
details[open] summary i{transform:rotate(180deg)}
details summary i{transition:transform .2s}

/* ROZETLER */
.rozet{display:inline-block;font-size:.62rem;padding:.18rem .58rem;border-radius:var(--r-xs);font-weight:500}
.rozet-ok{background:rgba(76,175,80,.12);color:var(--ok)}
.rozet-hata{background:rgba(239,83,80,.12);color:var(--hata)}
.rozet-bekliyor{background:rgba(201,168,76,.12);color:var(--gold)}
.rozet-uyari{background:rgba(255,152,0,.12);color:var(--uyari)}
.rozet-info{background:rgba(55,138,221,.12);color:var(--info)}
.rozet-altin{background:rgba(201,168,76,.1);color:var(--gold)}

/* Adım göstergesindeki tamamlandı tik ikonu (rezervasyon.php, giris.php,
   odeme.php'de tekrarlanan bileşen — bkz. CSS raporu madde 8) */
.adim-ikon-tik{font-size:.625rem}

/* HERO */
.hero{position:relative;min-height:92vh;min-height:92dvh;display:flex;flex-direction:column;justify-content:center;overflow:hidden}
/* DÜZELTME (Responsive raporu #17): sabit 92vh, iOS'ta klavye açıldığında veya
   adres çubuğu gizlenip/gösterildiğinde hero'nun boyut değiştirip zıplamasına
   sebep oluyordu. Destekleyen tarayıcılarda 92dvh (dynamic viewport height)
   kullanılıyor; desteklemeyenlerde 92vh fallback olarak kalıyor. */
.hero-arka{position:absolute;inset:0;background:linear-gradient(160deg,#040C0D 0%,#0D2426 40%,#0A1E20 70%,#040C0D 100%);z-index:var(--z-base)}
.hero-arka-foto{position:absolute;inset:0;background-size:cover;background-position:center;z-index:var(--z-raised);opacity:.55}
.hero-arka-ortu{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(4,12,13,.45) 0%,rgba(4,12,13,.25) 40%,rgba(4,12,13,.85) 100%);z-index:var(--z-overlay)}
.hero-desen{position:absolute;inset:0;opacity:.04;background-image:radial-gradient(circle,#C9A84C 1px,transparent 1px);background-size:48px 48px;z-index:var(--z-pattern)}
.hero-icerik{position:relative;z-index:var(--z-content);padding:var(--sp-5) 0 var(--sp-7);max-width:680px}
.hero-icerik h1{color:var(--beyaz);margin-bottom:1.2rem;text-shadow:0 2px 24px rgba(0,0,0,.5);margin-top:.15rem}
.hero-icerik h1 em{font-style:italic;color:var(--gold)}
.hero-icerik p{font-size:1rem;font-weight:300;color:rgba(255,255,255,.62);line-height:1.75;max-width:460px;margin-bottom:2.2rem}
.hero-butonlar{display:flex;gap:.9rem;flex-wrap:wrap}

/* ARAMA */
.arama-cubu{background:#fff;border-radius:var(--r2);display:flex;align-items:stretch;box-shadow:0 20px 60px rgba(0,0,0,.22),0 6px 20px rgba(0,0,0,.12);overflow:hidden;margin:0 2rem;transform:translateY(50%);position:relative;z-index:var(--z-sticky);border:.5px solid rgba(0,0,0,.06)}
.arama-alan{flex:1;padding:1rem 1.25rem;border-right:1px solid #D8E2E4;min-width:0;position:relative;transition:background .18s}
.arama-alan:hover{background:#F7FAFB}
.arama-alan:last-of-type{border-right:none}
.arama-alan-etiket{font-size:.58rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:#8A9EA0;margin-bottom:.3rem;display:flex;align-items:center;gap:.3rem}
.arama-alan-ikon{font-size:.8rem;color:#A8B8BB;flex-shrink:0}
.arama-alan input,.arama-alan select{border:none;outline:none;background:transparent;font-size:.88rem;color:#0D1B1C;width:100%;cursor:pointer}
.arama-alan input:focus-visible,.arama-alan select:focus-visible{outline:2px solid var(--turq);outline-offset:2px;border-radius:var(--r-xs)}
.arama-select-wrap{position:relative;display:flex;align-items:center}
.arama-select-wrap select{appearance:none;-webkit-appearance:none;padding-right:1.4rem;flex:1}
.arama-select-wrap .arama-select-arrow{position:absolute;right:0;top:50%;transform:translateY(-50%);font-size:.72rem;color:#8A9EA0;pointer-events:none;line-height:1}
.arama-btn{background:var(--turq);border:none;padding:0 1.8rem;color:#fff;font-size:.83rem;font-weight:500;cursor:pointer;display:flex;align-items:center;gap:.45rem;white-space:nowrap;letter-spacing:.03em;transition:background .2s}
.arama-btn:hover{background:var(--turq-k)}
/* DÜZELTME (UI raporu #9): Açık temada .arama-cubu (beyaz) ile arka plan (beyaz)
   arasında ayrım sadece box-shadow'a kalıyordu; mulk-kart'taki #7 düzeltmesiyle
   aynı desende kenarlık eklendi. */
.tema-light .arama-cubu{border:1px solid rgba(0,0,0,.08)}
/* DÜZELTME (UI raporu #13): konaklama/exclusive/blog sayfalarında tekrarlanan
   inline sayfalama wrapper stili tek sınıfa taşındı. */
.sayfalama-wrap{display:flex;gap:.4rem;justify-content:center;margin-top:2rem}
/* DÜZELTME (UI raporu #14): hakkimizda.php istatistik kartlarındaki renkler
   inline style="color:var(--info)" ile veriliyordu; inline stil, sınıf
   seçicisinden daha spesifik olduğu için .tema-light override'ı etkisizdi.
   Rengi sınıf üzerinden vermeye geçildi ki açık temada override edilebilsin. */
.ist-renk-info{color:var(--info)}
.tema-light .ist-renk-info{color:#1565C0}
/* DÜZELTME (Tablet raporu #4.2): translateY(50%) taşması 769–1024px tablette de
   kaldırılıyor; hero ile sonraki bölüm artık çakışmıyor. */
@media(max-width:1024px){.arama-cubu{transform:none;margin-top:1.5rem}}
@media(max-width:768px){
  .arama-cubu{flex-direction:column;margin:0 1rem;transform:none;margin-top:1.5rem;box-shadow:0 8px 32px rgba(0,0,0,.15)}
  .arama-alan{border-right:none;border-bottom:1.5px solid #D8E2E4}
  .arama-alan:last-of-type{border-bottom:none}
  .arama-btn{padding:1rem;justify-content:center}
}

/* KONAKLAMA KARTI (eski: mülk kart) */
/* ── Mülk Kart (yeni tasarım) ────────────────── */
/* NOT (CSS raporu madde 2): Bu bileşen bilinçli olarak --bg-kart/--beyaz gibi
   tema değişkenlerini KULLANMAZ — mülk fotoğrafının okunabilirliği için kart
   her zaman açık/beyaz zeminle render edilir, koyu temada bile. Yeni bir
   geliştirici bu bileşeni diğerleriyle aynı token mantığına taşımaya
   kalkışmadan önce bu notu görmeli. */
.mulk-kart,.blog-kart{background:#fff;border:none;border-radius:var(--r2);overflow:hidden;cursor:pointer;transition:transform .25s ease,box-shadow .25s ease;display:block;box-shadow:0 2px 12px rgba(0,0,0,.10);color:inherit;text-decoration:none}
.mulk-kart:hover{transform:translateY(-5px);box-shadow:0 10px 28px rgba(0,0,0,.16)}
.mulk-kart-gorsel,.blog-kart-gorsel{height:220px;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;background:#e8eef2}
@media(max-width:768px){.mulk-kart-gorsel,.blog-kart-gorsel{height:195px}}
/* DÜZELTME (Responsive raporu #9): mülk detay galerisi artık 600px altında
   sabit piksel satır yüksekliğiyle sıkışmıyor — tek sütuna düşüp yalnızca
   ana fotoğrafı gösteriyor (küçük fotoğraflar lightbox'ta erişilebilir kalır). */
@media(max-width:600px){
  .mulk-galeri{grid-template-columns:1fr!important;grid-template-rows:auto!important}
  .mulk-galeri>div{grid-row:auto!important;aspect-ratio:4/3}
  .mulk-galeri>div:not(:first-child){display:none}
}
.mulk-kart-gorsel img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
.mulk-kart:hover .mulk-kart-gorsel img{transform:scale(1.04)}
.mulk-kart-rozet{position:absolute;top:.75rem;right:.75rem;font-size:.65rem;font-weight:700;padding:.3rem .7rem;border-radius:var(--r-pill);letter-spacing:.02em;box-shadow:0 2px 6px rgba(0,0,0,.18)}
.mulk-kart-rozet-firsatta{background:var(--indirim);color:#fff}
.mulk-kart-rozet-yeni{background:var(--turq);color:#fff}
.mulk-kart-rozet-exclusive{background:var(--koyu);color:var(--gold);border:.5px solid var(--gold)}
.mulk-kart-rozet-one-cikan{background:var(--gold);color:var(--koyu)}
.favori-btn{position:absolute;bottom:.75rem;right:.75rem;width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.92);backdrop-filter:blur(6px);border:1px solid rgba(0,0,0,.08);display:flex;align-items:center;justify-content:center;color:#718096;font-size:.95rem;cursor:pointer;z-index:var(--z-overlay);transition:all .2s;box-shadow:0 1px 4px rgba(0,0,0,.12)}
.favori-btn:hover{background:#fff;color:var(--indirim);transform:scale(1.08)}
.favori-btn.aktif{color:var(--indirim);background:#fff}
/* Tip filtresi butonları — .tip-filtre-wrap ile kapsam daraltılarak özgüllük
   .tema-light .btn-ikincil kurallarını (dosya sonunda, eşit özgüllükte)
   garantili şekilde geçiyor; böylece !important gerekmiyor. */
.tip-filtre-wrap .tip-filtre-btn{transition:border-color .18s,color .18s,background .18s}
.tip-filtre-wrap .tip-filtre-btn.aktif-tip{border-color:var(--gold);color:var(--gold);background:rgba(201,168,76,.08)}
.tip-filtre-wrap .tip-filtre-btn:hover:not(.aktif-tip){border-color:rgba(255,255,255,.35);color:rgba(255,255,255,.9)}
/* Özellik pill bandı */
.ozellik-pill{display:inline-flex;align-items:center;gap:.4rem;padding:.38rem .85rem;border-radius:var(--r-pill);border:1px solid rgba(255,255,255,.13);font-size:.74rem;color:rgba(255,255,255,.62);text-decoration:none;transition:border-color .18s,color .18s,background .18s;white-space:nowrap;background:rgba(255,255,255,.03)}
.ozellik-pill:hover{border-color:var(--gold);color:var(--gold);background:rgba(201,168,76,.07)}
.ozellik-pill i{font-size:.88rem;flex-shrink:0}
/* Filtre bandı sarmalayıcı */
.filtre-bant{display:flex;gap:.4rem;flex-wrap:wrap;margin:1.2rem 0 1.8rem;padding-bottom:1.2rem;border-bottom:1px solid rgba(255,255,255,.07)}
.tip-filtre-wrap{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1.2rem}
.mulk-kart-ic,.blog-kart-ic{padding:1rem 1.1rem 1.15rem;background:#fff}
.mulk-kart-tip{font-size:.62rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#718096;margin-bottom:.2rem}
.mulk-kart-ad{font-family:'DM Sans',sans-serif;font-size:1.05rem;font-weight:700;color:var(--koyu);margin-bottom:.5rem;line-height:1.3}
.blog-kart-baslik{font-family:'DM Sans',sans-serif;font-size:1.05rem;font-weight:700;color:var(--koyu);margin-bottom:.5rem;line-height:1.3}
.mulk-kart-konum{display:flex;align-items:center;gap:.3rem;font-size:.76rem;color:var(--soluk);margin-bottom:.75rem}
.mulk-kart-konum i{color:#718096;font-size:.8rem}
.mulk-kart-ozellikler{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:.85rem}
.mulk-kart-ozellik{display:flex;align-items:center;gap:.3rem;font-size:.74rem;color:#4a5568;background:#f7f9fb;border:1px solid #e2e8f0;border-radius:var(--r-sm);padding:.28rem .6rem;white-space:nowrap}
.mulk-kart-ozellik i{font-size:.8rem;color:#718096}
.mulk-kart-alt{display:flex;justify-content:space-between;align-items:flex-end;border-top:1px solid #edf2f7;padding-top:.75rem}
.mulk-kart-rezervasyon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--r);background:#f0f4f8;color:#718096;font-size:.9rem;transition:background .18s,color .18s}
.mulk-kart-rezervasyon:hover{background:#1B6B72;color:#fff}
.mulk-fiyat-on{font-size:.68rem;color:#718096}
/* DÜZELTME (Tasarım raporu #7): blog.php, .mulk-kart-tip (display:none) içine
   yayın tarihini yazıyordu — hiç görünmüyordu. Kendi görünür sınıfı eklendi. */
.mulk-kart-tarih,.blog-kart-tarih{font-size:.68rem;color:#718096;margin-bottom:.3rem}
.mulk-fiyat-ana{font-family:'DM Sans',sans-serif;font-size:1.05rem;font-weight:700;color:#1a2233}
.mulk-fiyat-aralik{font-size:.68rem;color:#718096;margin-top:.1rem}
.mulk-kart-puan{position:absolute;top:.75rem;left:.75rem;display:flex;align-items:center;gap:.3rem;background:rgba(255,255,255,.93);backdrop-filter:blur(4px);border-radius:var(--r-pill);padding:.28rem .65rem;font-size:.72rem;font-weight:700;color:#1a2233;box-shadow:0 1px 4px rgba(0,0,0,.12)}
.mulk-kart-puan i{color:#f6ad3c;font-size:.78rem}

/* TAKVİM */
.takvim-wrap{background:var(--bg-alan);border-radius:var(--r);padding:1.1rem}
.takvim-baslik{display:flex;justify-content:space-between;align-items:center;margin-bottom:.9rem}
.takvim-ay{font-size:.85rem;font-weight:500}
.takvim-nav-btn{background:none;border:.5px solid rgba(255,255,255,.12);border-radius:var(--r-xs);color:rgba(255,255,255,.5);width:26px;height:26px;display:flex;align-items:center;justify-content:center;font-size:.75rem;transition:var(--gecis)}
.takvim-nav-btn:hover{border-color:rgba(255,255,255,.25);color:rgba(255,255,255,.9)}
.takvim-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}
.takvim-gun-adi{font-size:.62rem;color:var(--soluk);text-align:center;padding:.2rem 0}
.takvim-gun{font-size:.75rem;text-align:center;padding:.38rem 0;border-radius:var(--r-xs);cursor:pointer;color:rgba(255,255,255,.65);transition:all .15s}
.takvim-gun:hover:not(.dolu):not(.bloke):not(.gecmis):not(.bos){background:rgba(27,107,114,.25);color:#fff}
.takvim-gun.dolu{background:rgba(239,83,80,.1);color:rgba(239,83,80,.4);cursor:not-allowed;text-decoration:line-through}
.takvim-gun.bloke{background:rgba(255,152,0,.1);color:rgba(255,152,0,.45);cursor:not-allowed;font-style:italic}
.takvim-gun.gecmis{color:rgba(255,255,255,.18);cursor:not-allowed}
.takvim-gun.secili{background:var(--turq);color:#fff}
.takvim-gun.aralik{background:rgba(27,107,114,.15);color:rgba(255,255,255,.82)}
.takvim-gun.bos{cursor:default}

/* FİYAT KUTU */
.fiyat-kutu{background:var(--bg-kart);border:var(--yari-altin);border-radius:var(--r2);padding:1.5rem;position:sticky;top:5.5rem;box-shadow:var(--golge)}
/* DÜZELTME (Tablet raporu #5.4): grid-yanpanel 1024px'te tek sütuna düşünce
   sticky konumlandırma da kaldırılıyor, aksi halde ana içerikle çakışabilir. */
@media(max-width:1024px){.fiyat-kutu{position:static}}
.fiyat-satir{display:flex;justify-content:space-between;font-size:.78rem;padding:.3rem 0}
.fiyat-satir-a{color:rgba(255,255,255,.4)}.fiyat-satir-d{color:rgba(255,255,255,.78)}
.fiyat-ayrac{height:.5px;background:rgba(255,255,255,.06);margin:.6rem 0}
.fiyat-toplam{display:flex;justify-content:space-between;font-size:.9rem;font-weight:500}
.fiyat-toplam-a{color:var(--beyaz)}
.fiyat-toplam-d{font-family:'Cormorant Garamond',serif;font-size:1.35rem;color:var(--gold)}
.kapora-kutu{background:rgba(76,175,80,.07);border:.5px solid rgba(76,175,80,.18);border-radius:var(--r);padding:.75rem 1rem;display:flex;justify-content:space-between;align-items:center;margin:.8rem 0}
.kapora-tutar{font-family:'Cormorant Garamond',serif;font-size:1.4rem;font-weight:300;color:var(--ok)}
.uyari-not{background:rgba(201,168,76,.06);border:.5px solid rgba(201,168,76,.16);border-radius:var(--r-sm);padding:.7rem .9rem;font-size:.72rem;color:rgba(201,168,76,.8);display:flex;gap:.5rem;margin:.7rem 0;line-height:1.55}
.bilgi-not{background:rgba(27,107,114,.07);border:.5px solid rgba(27,107,114,.18);border-radius:var(--r-sm);padding:.7rem .9rem;font-size:.72rem;color:rgba(255,255,255,.55);display:flex;gap:.5rem;margin:.7rem 0;line-height:1.55}

/* GİRİŞ */
.giris-sayfa{display:grid;grid-template-columns:1fr 420px;min-height:100vh}
/* DÜZELTME (Tablet raporu #5.3): 901–1024px arası sağ panel 420px yerine 360px,
   sol taraf daha az sıkışıyor. 900px altında zaten tek sütuna düşüp sol görsel gizleniyor. */
@media(max-width:1024px){.giris-sayfa{grid-template-columns:1fr 360px}}
@media(max-width:900px){.giris-sayfa{grid-template-columns:1fr}}
.giris-sol{background:linear-gradient(160deg,#040C0D,#0D2426,#0A1E20);display:flex;flex-direction:column;justify-content:flex-end;padding:3.5rem;position:relative;overflow:hidden}
@media(max-width:900px){.giris-sol{display:none}}
.giris-sol-desen{position:absolute;inset:0;opacity:.05;background-image:radial-gradient(circle,#C9A84C 1px,transparent 1px);background-size:44px 44px}
.giris-sag{background:var(--bg-kart);display:flex;flex-direction:column;justify-content:center;padding:2.8rem}
.adim-goster{display:flex;align-items:center;gap:.3rem;margin-bottom:1.5rem}
.adim-numara{width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.68rem;font-weight:500;flex-shrink:0}
.adim-numara.tamamlandi{background:var(--ok);color:#fff}
.adim-numara.aktif{background:var(--turq);color:#fff}
.adim-numara.bekliyor{background:rgba(255,255,255,.08);color:rgba(255,255,255,.28)}
.adim-etiket{font-size:.72rem}.adim-etiket.aktif{color:var(--beyaz)}.adim-etiket.tamamlandi{color:rgba(255,255,255,.5)}.adim-etiket.bekliyor{color:rgba(255,255,255,.28)}
.adim-cizgi{flex:1;height:.5px;margin:0 .4rem}.adim-cizgi.tamamlandi{background:var(--ok)}.adim-cizgi.bekliyor{background:rgba(255,255,255,.08)}
.ilerleme{height:2px;background:rgba(255,255,255,.05);border-radius:1px;overflow:hidden;margin-bottom:2rem}
.ilerleme-dolgu{height:100%;background:var(--turq);border-radius:1px;transition:width .4s ease}
.otp-kutu{display:flex;gap:.5rem;margin-bottom:.4rem}
.otp-hane{flex:1;min-width:0;background:var(--bg-alan);border:.5px solid rgba(255,255,255,.1);border-radius:var(--r);padding:.8rem 0;text-align:center;font-size:1.4rem;font-weight:500;color:var(--beyaz);outline:none;transition:var(--gecis)}
.otp-hane:focus{border-color:var(--turq)}
.otp-hane.dolu{border-color:rgba(27,107,114,.5)}
.rol-secim{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin-bottom:1rem}
.rol-kart{background:var(--bg-alan);border:.5px solid rgba(255,255,255,.08);border-radius:var(--r);padding:.9rem;cursor:pointer;transition:var(--gecis);text-align:left;width:100%}
.rol-kart:hover,.rol-kart.secili{border-color:var(--turq);background:rgba(27,107,114,.08)}
.rol-kart i{font-size:1.3rem;display:block;margin-bottom:.5rem;color:var(--soluk)}
.rol-kart.secili i{color:var(--turq)}
.kimlik-tipler{display:flex;gap:.4rem;margin-bottom:1rem}
.kimlik-tip-btn{flex:1;padding:.45rem;border-radius:5px;border:.5px solid rgba(255,255,255,.1);background:none;color:rgba(255,255,255,.45);font-size:.75rem;cursor:pointer;transition:var(--gecis)}
.kimlik-tip-btn.aktif{background:rgba(27,107,114,.12);border-color:var(--turq);color:var(--beyaz)}

/* PANEL */
.panel-wrap{display:flex;min-height:100vh}
.kenar-cubuk{width:208px;background:var(--bg-kart);border-right:var(--yari);display:flex;flex-direction:column;flex-shrink:0}
.kenar-logo{padding:1.1rem;border-bottom:var(--yari)}
.kenar-rol{font-size:.6rem;color:var(--turq);letter-spacing:.12em;text-transform:uppercase;margin-top:.2rem}
.kenar-nav{flex:1;padding:.6rem 0;overflow-y:auto}
.kenar-bolum{font-size:.57rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.2);padding:.6rem .9rem .2rem}
.kenar-link{display:flex;align-items:center;gap:.5rem;padding:.54rem .9rem;font-size:.78rem;color:rgba(255,255,255,.45);border-left:2px solid transparent;transition:var(--gecis)}
.kenar-link:hover{background:rgba(255,255,255,.03);color:rgba(255,255,255,.78)}
.kenar-link.aktif{background:rgba(27,107,114,.08);color:var(--beyaz);border-left-color:var(--turq)}
/* DÜZELTME (Tasarım raporu #8): bayi panelinde aktif link altın renkte —
   önceden inline style ile .aktif'i eziyordu, artık kendi kural olarak var. */
.kenar-link.bayi-aktif{border-left-color:var(--gold);background:rgba(201,168,76,.08)}
.kenar-link i{font-size:1rem;flex-shrink:0}
.kenar-badge{margin-left:auto;background:var(--hata);color:#fff;font-size:.58rem;padding:.1rem .38rem;border-radius:var(--r)}
.kenar-badge.altin{background:rgba(201,168,76,.18);color:var(--gold)}
.kenar-alt{padding:.7rem;border-top:var(--yari)}
.kenar-avatar{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.65rem;font-weight:500;flex-shrink:0}
.panel-icerik{flex:1;display:flex;flex-direction:column;min-width:0}
.panel-ustyazi{display:flex;align-items:center;justify-content:space-between;padding:.8rem 1.5rem;background:var(--bg-kart);border-bottom:var(--yari)}
.panel-main{flex:1;padding:1.5rem;overflow-y:auto}
@media(max-width:768px){.panel-wrap{flex-direction:column}.kenar-cubuk{width:100%}.kenar-nav{display:flex;overflow-x:auto;padding:.3rem}.kenar-bolum{display:none}.kenar-link{white-space:nowrap}.panel-main{padding:.9rem}}

/* METRİKLER */
.metrik-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.8rem;margin-bottom:1.3rem}
@media(max-width:900px){.metrik-grid{grid-template-columns:repeat(2,1fr)}}
.metrik-kart{background:var(--bg-kart);border:var(--yari);border-radius:var(--r);padding:1rem}
.metrik-etiket{font-size:.63rem;color:var(--soluk);margin-bottom:.45rem;display:flex;align-items:center;gap:.3rem}
.metrik-deger{font-family:'Cormorant Garamond',serif;font-size:1.7rem;font-weight:300;color:var(--beyaz);margin-bottom:.2rem}

/* TABLO */
/* DÜZELTME (Tablet raporu #2): admin tabloları artık bu kapsayıcıya sarılı;
   sütunlar ekran dışına taşmak yerine yatay kaydırma ile görüntüleniyor. */
.tablo-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
.tablo{width:100%;border-collapse:collapse}
@media(max-width:1024px){.tablo{min-width:640px}}
.tablo th{font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;color:var(--soluk);text-align:left;padding:.45rem .65rem;border-bottom:var(--yari)}
.tablo td{padding:.55rem .65rem;border-bottom:.5px solid rgba(255,255,255,.035);font-size:.78rem;color:rgba(255,255,255,.72)}
.tablo tr:hover td{background:rgba(255,255,255,.02)}

/* FLASH */
.flash-mesaj{position:fixed;top:1rem;right:1rem;z-index:var(--z-toast);padding:.75rem 1.3rem;border-radius:var(--r);font-size:.82rem;color:#fff;box-shadow:var(--golge);animation:slideIn .3s ease}
/* DÜZELTME (Tablet raporu #6.2): sticky navbar (62px) ile çakışmaması için
   tablet/mobilde flash mesaj biraz aşağı itiliyor. */
@media(max-width:1024px){.flash-mesaj{top:4.5rem}}
/* DÜZELTME (Mobil raporu #19): uzun flash mesajlarda (ör. "Rezervasyonunuz
   başarıyla oluşturulmuştur") banner artık sağ kenarda taşmıyor. */
@media(max-width:600px){.flash-mesaj{left:.5rem;right:.5rem;width:auto;font-size:.75rem}}
@keyframes slideIn{from{transform:translateX(110%);opacity:0}to{transform:translateX(0);opacity:1}}

/* MODAL */
.modal-ortu{display:none;position:fixed;inset:0;background:rgba(0,0,0,.65);z-index:var(--z-modal);align-items:center;justify-content:center;padding:1rem}
.modal-ortu.acik{display:flex}
.modal{background:var(--bg-kart);border:.5px solid rgba(255,255,255,.08);border-radius:var(--r2);padding:1.4rem;width:100%;max-width:400px;box-shadow:var(--golge2)}
.modal-baslik{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.1rem;font-size:.9rem;font-weight:500}
.modal-kapat{background:none;border:none;color:var(--soluk);font-size:1.2rem;cursor:pointer}

/* DOSYA YÜKLEME */
.yukle-alan{border:.5px dashed rgba(255,255,255,.15);border-radius:var(--r);padding:1.6rem;text-align:center;cursor:pointer;transition:var(--gecis);background:var(--bg-alan)}
.yukle-alan:hover{border-color:var(--turq);background:rgba(27,107,114,.05)}
.yukle-alan.yuklu{border-color:rgba(76,175,80,.35);border-style:solid;background:rgba(76,175,80,.04)}

/* BANKA */
.banka-kart{background:var(--bg-alan);border:var(--yari);border-radius:var(--r);padding:1rem;margin-bottom:.8rem}
.banka-satir{display:flex;justify-content:space-between;align-items:center;padding:.35rem 0;border-bottom:.5px solid rgba(255,255,255,.04)}
.banka-satir:last-child{border-bottom:none}
.banka-anahtar{font-size:.68rem;color:var(--soluk)}
.banka-deger{font-size:.78rem;color:var(--beyaz);display:flex;align-items:center;gap:.5rem;font-family:monospace;word-break:break-all;overflow-wrap:anywhere}
/* DÜZELTME (Responsive raporu #12): IBAN gibi uzun monospace metinler artık
   375px ekranda taşmıyor, gerektiğinde satır kırıyor. */
.banka-kopyala{background:none;border:.5px solid rgba(27,107,114,.35);border-radius:3px;color:var(--turq);padding:.1rem .4rem;font-size:.65rem;cursor:pointer}

/* KONAKLAMA FİLTRE PANELİ */
.filtre-duzen{display:grid;grid-template-columns:260px 1fr;gap:var(--sp-3);align-items:start}
@media(max-width:900px){.filtre-duzen{grid-template-columns:1fr}}
.filtre-panel{background:var(--bg-kart);border:var(--yari);border-radius:var(--r2);padding:1.4rem;position:sticky;top:5.5rem}
/* DÜZELTME (Mobil raporu #23): 900px altında filtre paneli varsayılan gizli;
   toggle butonuyla açılıp kapanıyor. */
@media(max-width:900px){
  .filtre-panel{position:static;margin-bottom:1.5rem;display:none}
  .filtre-panel.acik{display:block}
}
.filtre-toggle-btn{display:none}
@media(max-width:900px){.filtre-toggle-btn{display:inline-flex}}
.filtre-blok{margin-bottom:1.4rem;padding-bottom:1.4rem;border-bottom:var(--yari)}
.filtre-blok:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}
.filtre-blok-baslik{font-size:.65rem;letter-spacing:.12em;text-transform:uppercase;color:var(--soluk);margin-bottom:.7rem;font-weight:500}
.filtre-ozellik-liste{display:flex;flex-direction:column;gap:.35rem}
.filtre-ozellik-etiket{display:flex;align-items:center;gap:.5rem;padding:.4rem .15rem;font-size:.8rem;color:rgba(255,255,255,.6);cursor:pointer;transition:color .15s}
.filtre-ozellik-etiket:hover{color:var(--beyaz)}
.filtre-ozellik-etiket.secili{color:var(--turq);font-weight:500}
.filtre-sonuc-sayisi{font-size:.78rem;color:var(--soluk)}

/* WhatsApp */
.wa-buton{position:fixed;bottom:1.8rem;right:1.8rem;z-index:var(--z-fab);background:#25D366;border-radius:var(--r-full);padding:.8rem 1.3rem;display:flex;align-items:center;gap:.5rem;box-shadow:0 4px 20px rgba(37,211,102,.3);transition:var(--gecis)}
.wa-buton i{font-size:1.5rem;color:#fff}
.wa-buton span{color:#fff;font-size:.84rem;font-weight:500;max-width:0;overflow:hidden;opacity:0;white-space:nowrap;transition:max-width .3s,opacity .3s}
.wa-buton:hover{border-radius:12px}.wa-buton:hover span{max-width:130px;opacity:1}
/* DÜZELTME (Tablet raporu #6.1): dokunmatik cihazlarda ":hover" kalıcı kalıp
   tuhaf davranabildiğinden, hover destekleyen (fare) cihazlarla sınırlandı. */
@media(hover:none){.wa-buton:hover{border-radius:var(--r-full)}.wa-buton:hover span{max-width:0;opacity:0}}
@media(max-width:1024px){.wa-buton{bottom:1.2rem;right:1.2rem}}
/* DÜZELTME (Mobil raporu #20): çerez banner'ı gösterilirken gerçek WhatsApp
   butonu (#wa-sabit, includes/footer.php) yukarı itilir; ikisi de fixed +
   aynı alt bölgede olduğundan banner butonu tamamen kapatıyordu. #wa-sabit
   satır içi stil kullandığından burada !important gerekiyor. */
@media(max-width:900px){body.cookie-acik #wa-sabit{bottom:8rem!important}}

/* COOKIE */
.cookie-banner{position:fixed;bottom:1.5rem;left:50%;transform:translateX(-50%);z-index:var(--z-banner);width:calc(100% - 3rem);max-width:640px}
.cookie-icerik{background:rgba(8,15,16,.97);border:.5px solid rgba(255,255,255,.08);border-radius:var(--r2);padding:1.4rem;backdrop-filter:blur(14px);box-shadow:var(--golge2)}
.cookie-baslik{display:flex;align-items:center;gap:.6rem;font-size:.9rem;color:var(--beyaz);margin-bottom:.55rem}
.cookie-icerik p{font-size:.75rem;color:var(--soluk);line-height:1.55;margin-bottom:.9rem}
.cookie-secenekler{display:grid;grid-template-columns:1fr 1fr;gap:.4rem;margin-bottom:.9rem}
/* DÜZELTME (Responsive raporu #21): 400px altında çerez tercih anahtarları
   iki sütunda sıkışmak yerine tek sütuna düşüyor. */
@media(max-width:400px){.cookie-secenekler{grid-template-columns:1fr}}
.cookie-toggle{display:flex;align-items:center;gap:.5rem;font-size:.72rem;color:rgba(255,255,255,.6);background:var(--bg-alan);border:var(--yari);border-radius:var(--r-sm);padding:.45rem .7rem}
.cookie-butonlar{display:flex;gap:.5rem;margin-bottom:.6rem;flex-wrap:wrap}
.cookie-linkler{display:flex;gap:1rem;justify-content:center}
.cookie-linkler a{font-size:.65rem;color:var(--soluk);text-decoration:underline}

/* FOOTER */
.footer{background:#060D0E;border-top:var(--yari-altin);padding:5rem 0 2rem}
.footer-ust{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:2.5rem;margin-bottom:3rem}
/* DÜZELTME (Tablet raporu #5.2): 769–1024px arası da 2 sütuna düşürülüyor,
   4 sütun dar tablette artık sıkışmıyor. */
@media(max-width:1024px){.footer-ust{grid-template-columns:1fr 1fr}}
@media(max-width:768px){.footer-ust{grid-template-columns:1fr 1fr}.footer-marka{grid-column:1/-1}}
/* DÜZELTME (Responsive raporu #16): 480px altında 2 sütun da sıkışık kalıyordu,
   footer artık tek sütuna düşüyor. */
@media(max-width:480px){.footer-ust{grid-template-columns:1fr}}
.footer-marka-logo{font-family:'Cormorant Garamond',serif;font-size:1.8rem;font-weight:300;letter-spacing:.12em;margin-bottom:.8rem}
.footer-marka-logo span{color:var(--gold);font-style:italic}
.footer-marka p{font-size:.78rem;color:var(--soluk);line-height:1.7;max-width:230px}
.footer-kolon h4{font-size:.65rem;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.35);margin-bottom:1rem;font-weight:400}
.footer-kolon a{display:block;font-size:.78rem;color:rgba(255,255,255,.4);margin-bottom:.45rem;transition:color .2s}
.footer-kolon a:hover{color:rgba(255,255,255,.8)}
.footer-alt{display:flex;justify-content:space-between;flex-wrap:wrap;gap:.5rem;padding-top:2rem;border-top:var(--yari);font-size:.7rem;color:rgba(255,255,255,.28)}

/* SCROLL ANIMASYONU */
.gizle{opacity:0;transform:translateY(22px);transition:opacity .6s ease,transform .6s ease}
.goster{opacity:1;transform:translateY(0)}

.spin{animation:spin 1s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}

/* AÇIK TEMA PANELİ */
.tema-light .btn-ikincil{border-color:rgba(0,0,0,.22);color:rgba(0,0,0,.68)}
.tema-light .btn-ikincil:hover{border-color:var(--turq);color:var(--turq);background:rgba(27,107,114,.07)}
.tema-light .btn-link{color:rgba(0,0,0,.38)}
.tema-light .btn-link:hover{color:#0D1B1C}
.tema-light .form-input,.tema-light .form-select,.tema-light .form-textarea{color:#0D1B1C;background:#fff;border-color:rgba(0,0,0,.13)}
.tema-light .form-input::placeholder{color:rgba(0,0,0,.3)}
.tema-light .form-input:focus,.tema-light .form-select:focus,.tema-light .form-textarea:focus{border-color:var(--turq)}
.tema-light .form-select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%232E4447' stroke-width='1.5' fill='none'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .9rem center}
.tema-light .form-select option{background:#fff;color:#0D1B1C}
.tema-light .kenar-cubuk{background:#fff;border-right:.5px solid rgba(0,0,0,.08)}
.tema-light .kenar-logo{border-bottom:.5px solid rgba(0,0,0,.08)}
.tema-light .kenar-bolum{color:rgba(0,0,0,.32)}
.tema-light .kenar-link{color:rgba(0,0,0,.52);border-left-color:transparent}
.tema-light .kenar-link:hover{background:rgba(0,0,0,.03);color:rgba(0,0,0,.82)}
.tema-light .kenar-link.aktif{background:rgba(27,107,114,.08);color:var(--turq);border-left-color:var(--turq)}
.tema-light .kenar-alt{border-top:.5px solid rgba(0,0,0,.08)}
.tema-light .panel-ustyazi{background:#fff;border-bottom:.5px solid rgba(0,0,0,.08)}
.tema-light .panel-main{background:var(--bg)}
.tema-light .tablo th{color:#4A6568;border-bottom:.5px solid rgba(0,0,0,.08)}
.tema-light .tablo td{color:#1E3436;border-bottom:.5px solid rgba(0,0,0,.05)}
.tema-light .tablo tr:hover td{background:rgba(0,0,0,.02)}
.tema-light .modal-ortu{background:rgba(0,0,0,.42)}
.tema-light .modal{background:#fff;border-color:rgba(0,0,0,.1)}
.tema-light .modal-kapat{color:#5A7478}
.tema-light .kart{border:.5px solid rgba(0,0,0,.07)}
/* DÜZELTME (Tasarım raporu #15): .mulk-kart bilinçli olarak her zaman beyaz
   (bkz. madde 2 notu) ama açık temada sayfa arka planı da açık renk olunca
   kart görünmez/ayırt edilemez hale gelebiliyordu — ince border+gölge eklendi. */
.tema-light .mulk-kart,.tema-light .blog-kart{border:1px solid rgba(0,0,0,.1);box-shadow:0 2px 8px rgba(0,0,0,.06)}
.tema-light .kart-baslik{color:#5A7478}
.tema-light ::-webkit-scrollbar-thumb{background:rgba(0,0,0,.15)}
.tema-light .metrik-kart{border:.5px solid rgba(0,0,0,.07)}
.tema-light .metrik-deger{color:#0D1B1C}
.tema-light .metrik-etiket{color:#5A7478}
.tema-light .otp-hane{border-color:rgba(0,0,0,.1);color:#0D1B1C}
.tema-light .rol-kart{border-color:rgba(0,0,0,.08)}
.tema-light .kimlik-tip-btn{border-color:rgba(0,0,0,.1);color:rgba(0,0,0,.48)}
.tema-light .yukle-alan{border-color:rgba(0,0,0,.18)}
.tema-light .takvim-nav-btn{border-color:rgba(0,0,0,.12);color:rgba(0,0,0,.55)}
.tema-light .takvim-gun{color:rgba(0,0,0,.68)}
.tema-light .takvim-gun.gecmis{color:rgba(0,0,0,.18)}
.tema-light .takvim-gun.bloke{background:rgba(255,152,0,.09);color:rgba(160,90,0,.6)}
.tema-light .takvim-gun.aralik{background:rgba(27,107,114,.1);color:rgba(0,0,0,.82)}
.tema-light .fiyat-ayrac{background:rgba(0,0,0,.06)}
.tema-light .fiyat-satir-a{color:rgba(0,0,0,.42)}
.tema-light .fiyat-satir-d{color:rgba(0,0,0,.78)}
.tema-light .bilgi-not{border-color:rgba(27,107,114,.22);color:rgba(0,0,0,.62)}
.tema-light .adim-etiket.tamamlandi{color:rgba(0,0,0,.52)}
.tema-light .adim-etiket.bekliyor{color:rgba(0,0,0,.28)}
.tema-light .adim-cizgi.bekliyor{background:rgba(0,0,0,.08)}
.tema-light .ilerleme{background:rgba(0,0,0,.05)}
.tema-light .adim-numara.bekliyor{background:rgba(0,0,0,.07);color:rgba(0,0,0,.28)}
.tema-light .rozet-ok{background:rgba(76,175,80,.1);color:#2E7D32}
.tema-light .rozet-hata{background:rgba(239,83,80,.1);color:#C62828}
.tema-light .rozet-uyari{background:rgba(255,152,0,.1);color:#E65100}
.tema-light .rozet-info{background:rgba(55,138,221,.1);color:#1565C0}
.tema-light .rozet-altin{background:rgba(201,168,76,.12);color:#6B4E00}
.tema-light .banka-anahtar{color:#5A7478}
.tema-light .banka-deger{color:#0D1B1C}
.tema-light .banka-satir{border-bottom-color:rgba(0,0,0,.05)}
.tema-light .flash-mesaj{box-shadow:0 2px 12px rgba(0,0,0,.15)}

/* ── Duyuru Bandı ─────────────────────────────────── */
.duyuru-bandi {
  background: var(--hata);
  color: #fff;
  text-align: center;
  padding: .45rem 2.5rem;
  font-size: .82rem;
  font-weight: 500;
  letter-spacing: .02em;
  position: relative;
  z-index: var(--z-banner-top);
}
.duyuru-bandi span { display: inline-block; }
.duyuru-kapat {
  position: absolute;
  right: .75rem;
  top: 50%;
  transform: translateY(-50%);
  background: none;
  border: none;
  color: #fff;
  font-size: 1.2rem;
  line-height: 1;
  cursor: pointer;
  opacity: .7;
  transition: opacity .15s;
  padding: 0 .25rem;
}
.duyuru-kapat:hover { opacity: 1; }

/* ── Bölge Slider ─────────────────────────────────── */
.bolge-slider-wrap{position:relative;overflow:hidden}
.bolge-slider{
  display:flex;gap:1rem;
  overflow-x:auto;scroll-snap-type:x mandatory;
  scrollbar-width:none;-ms-overflow-style:none;
  padding-bottom:.5rem;
}
.bolge-slider::-webkit-scrollbar{display:none}
.bolge-kart{
  flex:0 0 calc((100% - 2rem)/3);
  scroll-snap-align:start;
  position:relative;border-radius:14px;overflow:hidden;
  aspect-ratio:4/5;text-decoration:none;display:block;
}
@media(max-width:900px){.bolge-kart{flex:0 0 calc((100% - 1rem)/2)}}
@media(max-width:600px){.bolge-kart{flex:0 0 100%;aspect-ratio:16/9}}
.bolge-kart-img{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  display:block;transition:transform .4s ease;
}
.bolge-kart:hover .bolge-kart-img{transform:scale(1.04)}
.bolge-karti-overlay{
  position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,.25) 0%,rgba(0,0,0,0) 40%,rgba(0,0,0,.72) 100%);
}
.bolge-kart-ust{
  position:absolute;top:.75rem;left:.75rem;right:.75rem;
  display:flex;justify-content:space-between;align-items:flex-start;gap:.4rem;
}
.bolge-sayi-badge{
  background:#e6a817;color:#1a1200;
  font-size:.72rem;font-weight:700;
  padding:.28rem .6rem;border-radius:var(--r-sm);white-space:nowrap;
}
.bolge-pin-badge{
  background:rgba(0,0,0,.45);color:#fff;backdrop-filter:blur(4px);
  font-size:.68rem;padding:.28rem .55rem;border-radius:var(--r-sm);
  display:flex;align-items:center;gap:.25rem;white-space:nowrap;
}
.bolge-kart-alt{
  position:absolute;left:0;right:0;bottom:0;padding:1.1rem 1rem;
}
.bolge-kart-ad{
  font-size:1.25rem;font-weight:600;color:#fff;
  text-shadow:0 1px 6px rgba(0,0,0,.5);
}
.bolge-dots{
  display:flex;justify-content:center;gap:.4rem;margin-top:1rem;
}
.bolge-dot{
  width:.55rem;height:.55rem;border-radius:50%;border:none;cursor:pointer;
  background:rgba(255,255,255,.25);padding:0;transition:background .2s;
}
.bolge-dot.aktif{background:#fff;width:1.4rem;border-radius:var(--r-xs)}
