/*
Theme Name: WPEmlak
Theme URI: https://example.com/wpemlak
Author: Hakan Aydemir
Description: Emlak portalı teması. İlan, danışman, ajans, harita ve iletişim ekranlarını eklentisiz sunar; renk, logo ve iletişim bilgileri panelden ayarlanır. Yazı tipi ve harita kütüphanesi tema içinde, açılışta harici istek yok.
Version: 2.3.1
Requires at least: 6.5
Requires PHP: 8.0
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: wpemlak
Tags: real-estate, listings, light, custom-colors, translation-ready
*/

/* ── WORDPRESS ÇAKIŞMA UYARISI ────────────────────────────────────────────
   WordPress `body_class()` ile <body>'ye şu sınıfları ekler:
     home blog archive single page search error404 singular paged
     admin-bar logged-in rtl post-type-archive ...
   Tasarımdan gelen bir bileşen sınıfı bunlarla AYNI adı taşırsa, kural
   gövdeye uygulanır ve düzen çöker.

   Bu tam olarak yaşandı: tasarımdaki blog ızgarası `.blog` sınıfını
   kullanıyordu. WordPress ana sayfada gövdeye `.blog` eklediği için
   `body{display:grid}` oldu; header/main/footer yan yana ızgara hücresine
   dönüştü ve sayfa 330 piksele sıkıştı.

   Çözüm: `.blog` -> `.yazi-grid`. Yeni bileşen sınıfı eklerken bu listeye
   bakın.
   ──────────────────────────────────────────────────────────────────────── */

/* ============================================================
   Bu dosya luxemlak/realestate/index.html icindeki gomulu stilden
   uretildi ve acik temaya cevrildi (bkz. realestate/_aydinlat.py).
   Degisken ADLARI tarihsel: --ink zemin, --white ana yazi rengi.
   Degerleri acik temaya gore; panelden degistirilebilir (inc/ayar.php).

   YAZI TIPI: Jost, GOMULU. Kaynak sayfa onu Google Fonts'tan cekiyordu;
   oyle birakmak render engelleyici bir harici istek demekti. Dosyalar
   temanin icinde (assets/fonts/), yalniz latin ve latin-ext altkumeleri
   (kiril Turkce icin gereksiz) ve tek bir DEGISKEN dosyada 300-700 arasi
   tum agirliklar: toplam 43 KB, sifir harici istek.
   ============================================================ */


  @font-face{
    font-family:'Jost';
    font-style:normal;
    font-weight:300 700;          /* değişken eksen: tek dosya tüm ağırlıklar */
    font-display:swap;            /* yazı tipi inerken metin GÖRÜNÜR kalır */
    src:url('assets/fonts/jost-latin-ext.woff2') format('woff2');
    unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
  }
  @font-face{
    font-family:'Jost';
    font-style:normal;
    font-weight:300 700;          /* değişken eksen: tek dosya tüm ağırlıklar */
    font-display:swap;            /* yazı tipi inerken metin GÖRÜNÜR kalır */
    src:url('assets/fonts/jost-latin.woff2') format('woff2');
    unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
  }

  /* ============ TOKENS ============ */
  :root{
    /* Açık tema — 2026-08-29. Değişken ADLARI korundu: --ink hâlâ "zemin",
       --white hâlâ "ana yazı rengi". Yalnız DEĞERLER ters çevrildi, böylece
       sayfalardaki var(--x) kullanımlarının hiçbirine dokunmak gerekmedi. */
    --ink:#F7F5F1; --ink2:#FFFFFF; --ink3:#EDEAE3;
    /* Altın açık zeminde okunmalı: #bf9b62 beyaz üstünde 2.2:1 kalıyordu.
       İki kez koyulaştırıldı. İkinci turun sebebi ölçüm: #8A6A2F beyazda
       5.0:1 veriyordu ama alt bilgi zemini #EDEAE3'te 4.18:1'e düşüyordu ve
       oradaki 10-11 piksellik etiketler (TELEFON, HİZMETLER) küçük yazı
       sayıldığı için 4.5 eşiğinin altında kalıyordu. Yeni değer en kötü
       zeminde bile 4.97:1.

       --gold-soft KOYULAŞTIRILMADI, çünkü tek başına açık zeminde değil:
       fotoğraf kutusunda ve #0A0A0B zeminli galeride de kullanılıyor,
       orada koyulaştırmak tersine çalışırdı. Onun açık zemindeki iki
       kullanımı (hero fiyatı, açık SSS başlığı) --gold'a alındı.

       --muted da aynı ölçümde takıldı: #78716C alt bilgide 3.99:1'di. */
    --gold:#7E5E25; --gold-soft:#A07C38;
    --line:rgba(12,12,14,.16); --hair:rgba(12,12,14,.11);
    --muted:#6B645E; --soft:#4A4640; --white:#14130F;
    --gut:clamp(20px,5vw,64px);
  }
  *{margin:0;padding:0;box-sizing:border-box}
  html{scroll-behavior:smooth}
  body{background:var(--ink);color:var(--white);font-family:'Jost',system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;-webkit-font-smoothing:antialiased;line-height:1.5}
  a{color:inherit;text-decoration:none}
  img{display:block;max-width:100%}
  .wrap{padding-left:var(--gut);padding-right:var(--gut)}

  /* ============ HEADER (production: brand + nav + actions, search row) ============ */
  .rhead{position:relative;z-index:50;background:var(--ink);border-bottom:1px solid var(--hair)}
  .rhead-top{display:flex;align-items:center;gap:28px;padding:16px var(--gut)}
  .brand{display:flex;flex-direction:column;line-height:1;white-space:nowrap}
  .brand .bn{font-size:24px;font-weight:600;letter-spacing:.04em;color:var(--white)}
  .brand .bt{font-size:9px;letter-spacing:.34em;text-transform:uppercase;color:var(--gold);margin-top:5px}
  .rnav{display:flex;align-items:center;gap:28px;margin-left:14px}
  .rnav a{display:inline-flex;align-items:center;gap:6px;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--soft);transition:.25s}
  .rnav a:hover{color:var(--gold)}
  .rnav a.em{color:var(--white)}
  .rnav svg{width:12px;height:12px;color:var(--muted)}
  .rspacer{flex:1}
  .ract{display:flex;align-items:center;gap:12px}
  .ract .ghost{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--soft);border:1px solid var(--line);padding:11px 16px;transition:.25s}
  .ract .ghost:hover{border-color:rgba(12,12,14,.42);color:var(--white)}
  .ract .signin{display:inline-flex;align-items:center;gap:9px;font-size:11px;letter-spacing:.16em;text-transform:uppercase;font-weight:600;color:#FFFFFF;background:var(--white);border:1px solid var(--white);padding:11px 18px;transition:.3s}
  .ract .signin:hover{background:var(--gold);border-color:var(--gold);color:#FFFFFF}
  .ract .signin svg{width:15px;height:15px}
  .rsearch{display:flex;align-items:center;gap:14px;padding:14px var(--gut);background:var(--ink2);border-top:1px solid var(--hair)}
  .rsearch .sbox{flex:1;display:flex;align-items:center;gap:13px;padding:14px 18px;min-width:0;background:#FFFFFF;border:1px solid var(--line)}
  .rsearch .sbox>svg{width:19px;height:19px;color:var(--gold);flex:none}
  .rsearch input{flex:1;background:0;border:0;outline:0;color:var(--white);font-family:inherit;font-size:15px;letter-spacing:.02em;min-width:0}
  .rsearch input::placeholder{color:#8B857C}
  .rsel-group{display:flex;align-items:center;gap:10px}
  .rsel{display:inline-flex;align-items:center;gap:14px;padding:14px 18px;border:1px solid var(--line);color:var(--white);font-size:12px;letter-spacing:.06em;cursor:pointer;transition:.25s;background:#FFFFFF;white-space:nowrap}
  .rsel:hover{border-color:rgba(12,12,14,.4);background:#F2EFE9}
  .rsel.muted{color:var(--soft)}
  .rsel svg{width:13px;height:13px;color:var(--gold-soft)}
  .rsel.muted svg{color:var(--muted)}
  @media(max-width:1100px){.rnav{display:none}}
  @media(max-width:860px){
    .rhead-top{flex-wrap:wrap;gap:16px}.ract .ghost{display:none}
    .rsearch{flex-wrap:wrap;align-items:stretch}.rsel-group{display:none}.rsel{flex:1}
  }

  /* ============ HERO (cinematic accordion + inline video) ============ */
  .stage{display:flex;gap:2px;padding:2px;background:var(--ink);height:clamp(540px,80vh,800px);position:relative}
  .panel{position:relative;flex:1;overflow:hidden;cursor:pointer;transition:flex .7s cubic-bezier(.19,1,.22,1)}
  .panel.active{flex:7;cursor:default}
  .panel .bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.5) saturate(.92);transition:filter .6s,transform 7s ease}
  .panel.active .bg{filter:brightness(.92);transform:scale(1.06)}
  .panel:not(.active):hover .bg{filter:brightness(.72)}
  .panel::before{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(8,8,10,.92),transparent 56%);z-index:2}
  .shot{position:absolute;top:20px;right:20px;z-index:4;font-size:12px;letter-spacing:.06em;color:#fff;background:rgba(0,0,0,.5);border:1px solid rgba(255,255,255,.18);padding:6px 12px;opacity:0;transition:.4s}
  .panel.active .shot{opacity:1}
  .vname{position:absolute;left:50%;bottom:42px;transform:translateX(-50%) rotate(180deg);writing-mode:vertical-rl;text-orientation:mixed;font-size:14px;letter-spacing:.3em;text-transform:uppercase;font-weight:500;white-space:nowrap;z-index:4;transition:opacity .35s;color:#fff}
  .panel.active .vname{opacity:0;pointer-events:none}
  .prow{display:none}
  .detail{position:absolute;left:44px;right:44px;bottom:46px;z-index:5;opacity:0;transform:translateY(22px);transition:opacity .6s .15s,transform .6s .15s;pointer-events:none;color:#fff}
  .panel.active .detail{opacity:1;transform:none;pointer-events:auto}
  .detail .eb{display:inline-flex;align-items:center;gap:7px;font-size:11px;letter-spacing:.34em;text-transform:uppercase;color:#fff}
  .detail .eb svg{width:14px;height:14px;flex:none}
  .detail h2{font-size:clamp(32px,3.6vw,56px);font-weight:400;line-height:1;margin:14px 0 10px;letter-spacing:.01em}
  .detail .meta{display:flex;align-items:center;gap:26px;flex-wrap:wrap;margin-top:8px}
  .detail .price{font-size:24px;font-weight:300}
  .detail .specs{display:flex;gap:16px;font-size:13px;letter-spacing:.06em;color:#cdc7bc}
  .detail .specs span{padding-right:16px;border-right:1px solid rgba(255,255,255,.28)}
  .detail .specs span:last-child{border:0;padding-right:0}
  .detail .btns{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}
  .watch{display:inline-flex;align-items:center;gap:13px;border:1px solid rgba(255,255,255,.45);padding:13px 22px;font-size:12px;letter-spacing:.22em;text-transform:uppercase;cursor:pointer;transition:.3s;background:rgba(0,0,0,.18)}
  .viewbtn{display:inline-flex;align-items:center;gap:12px;border:1px solid rgba(255,255,255,.45);padding:13px 24px;font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:#fff;cursor:pointer;transition:.3s;background:rgba(0,0,0,.18)}
  .viewbtn:hover{background:#fff;color:#111;border-color:#fff}
  .viewbtn svg{width:15px;height:15px}
  .watch:hover{background:#fff;color:#111;border-color:#fff}
  .watch .dot{width:30px;height:30px;border-radius:50%;background:var(--gold);display:grid;place-items:center;flex:none}
  .watch:hover .dot{background:#0c0c0e}
  .watch .dot svg{width:12px;height:12px;color:#0c0c0e;margin-left:2px}
  .watch:hover .dot svg{color:#fff}
  /* hero arrows (inside active panel) */
  .harrow{position:absolute;top:50%;transform:translateY(-50%);z-index:6;width:48px;height:48px;border-radius:50%;border:1px solid rgba(255,255,255,.45);background:rgba(0,0,0,.25);backdrop-filter:blur(4px);color:#fff;display:grid;place-items:center;transition:.3s;opacity:0;pointer-events:none}
  .panel.active .harrow{opacity:1;pointer-events:auto}
  .harrow:hover{background:var(--gold);border-color:var(--gold);color:#0c0c0e}
  .harrow.prev{left:20px}.harrow.next{right:20px}
  .harrow svg{width:18px;height:18px}
  /* inline video */
  .pvideo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;background:#000;z-index:8}
  .vclose{position:absolute;top:20px;right:20px;z-index:9;width:46px;height:46px;border-radius:50%;border:1px solid rgba(255,255,255,.5);background:rgba(0,0,0,.4);color:#fff;display:grid;place-items:center;transition:.3s}
  .vclose:hover{background:var(--gold);border-color:var(--gold);color:#0c0c0e}
  .vclose svg{width:20px;height:20px}
  @media(max-width:900px){
    .stage{flex-direction:column;height:auto;gap:10px;padding:0}
    .panel{flex:none;min-height:0;border:1px solid var(--hair);background:var(--ink2);overflow:hidden;cursor:pointer}
    .panel .bg,.panel::before,.panel .shot,.panel .vname,.panel .detail,.panel .harrow{display:none}
    .prow{display:flex;align-items:center;gap:13px;padding:12px 14px}
    .prow>img{width:88px;height:64px;object-fit:cover;flex:none}
    .prow-tx{flex:1;min-width:0}
    .prow-t{font-size:15px;font-weight:500;color:var(--white);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
    .prow-l{font-size:12px;color:var(--soft);margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
    .prow-s{font-size:11px;color:var(--muted);margin-top:4px}
    .prow-r{display:flex;align-items:center;gap:8px;flex:none}
    .prow-p{font-size:14px;font-weight:600;color:var(--gold)}
    .prow-c{width:18px;height:18px;color:var(--muted)}
    .panel.active{min-height:0;position:relative;border-color:transparent;background:var(--ink)}
    .panel.active .prow{display:none}
    /* 16:9 media area (image / video) at the top */
    .panel.active .bg{display:block;position:relative;inset:auto;width:100%;height:auto;aspect-ratio:16/9;filter:brightness(.92)}
    .panel.active::before{display:none}
    .panel.active .shot{display:block;top:12px}
    .panel.active .harrow{display:grid;width:40px;height:40px;top:28vw}
    .panel.active .pvideo{position:absolute;left:0;right:0;top:0;height:56.25vw;object-fit:contain;background:#000;z-index:8}
    .panel.active .vclose{top:12px;right:12px}
    /* info + buttons BELOW the media, on solid ink */
    .panel.active .detail{position:static;display:block;left:auto;right:auto;bottom:auto;padding:16px;opacity:1;transform:none}
    .panel.active .detail .eb{color:var(--gold-soft)}
    .panel.active .detail h2{font-size:22px;margin-top:8px}
    .panel.active .detail .meta{margin-top:10px}
    .panel.active .detail .specs{flex-wrap:wrap}
    .panel.active .detail .btns{flex-wrap:nowrap;gap:10px;margin-top:16px}
    .panel.active .watch,.panel.active .viewbtn{flex:1;min-width:0;justify-content:center;padding:13px 10px;font-size:11px;letter-spacing:.08em;gap:8px}
    .panel.active .watch .dot{width:26px;height:26px}
  }

  /* ============ SHARED SECTION SCAFFOLD ============ */
  /* Bölüm boşlukları yarıya indirildi: ana sayfada bölümler arasında
     ekran boyu boşluklar kalıyor ve içerik seyrek duruyordu. */
  /* Bölüm boşlukları yarıya indirildi ve aradaki çizgiler kaldırıldı:
     her bölümün üstünde bir çizgi, sayfayı okunacak bir bütün yerine
     ayrı ayrı kutulara bölüyordu. */
  .sec{padding:clamp(34px,4.2vw,60px) var(--gut)}
  /* Ekran dışı bölümlerin düzeni ilk boyamada hesaplanmasın.

     ÖLÇÜM: ana sayfada 2.100'den fazla element var ve tarayıcı ilk kareyi
     çizmeden önce hepsinin düzenini hesaplıyordu — mobil işlemcide 590 ms.
     Bu süre boyunca hero fotoğrafı indirilmiş olsa bile ekranda hiçbir şey
     yok. `content-visibility:auto`, ekrana yaklaşmamış bölümlerin düzenini
     erteliyor; kaydırıldıkça hesaplanıyorlar.

     `contain-intrinsic-size:auto 900px`: bölüm bir kez çizildikten sonra
     tarayıcı GERÇEK yüksekliğini hatırlıyor (`auto`), ilk seferde ise 900
     piksel varsayıyor. Yükseklik tahmini yalnız kaydırma çubuğunu etkiler;
     ekran dışında olduğu için düzen kaymasına (CLS) yol açmaz.

     Yalnız ANA SAYFA: ilan detayında yapışkan yan sütun, listede sayfalama
     var — ikisi de erteleme ile birlikte beklenmedik davranabilir. */
  .home .sec{content-visibility:auto;contain-intrinsic-size:auto 900px}
  /* Sol başlık ile sağdaki bağlantı DİKEYDE ORTALI. Önce `flex-end` ile
     alt kenarlarından hizalanıyorlardı; başlık 46, bağlantı 11 piksel
     olduğu için alt hizalama gözde ortalı görünmüyordu. `margin-top:14px`
     de kaldırıldı: üstünde bir üst-başlık varken ondan ayıran boşluktu,
     o satır kalkınca başlığı aşağı iten öksüz bir değer olarak kalmıştı. */
  .shead{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:clamp(30px,4vw,52px);flex-wrap:wrap}
  .shead h2{font-size:clamp(28px,3.6vw,46px);font-weight:300;letter-spacing:.01em;line-height:1.04}
  .shead h2 b{font-weight:500;color:var(--gold-soft)}
  .viewall{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--white);border-bottom:1px solid var(--gold);padding-bottom:5px;white-space:nowrap;transition:.25s}
  .viewall:hover{color:var(--gold)}
  .shead.ctr{justify-content:center;text-align:center}.shead.ctr .eyebrow{justify-content:center}

  /* ============ FEATURED LISTINGS (white PropertyCards, 3-up) ============ */
  .feat-band{background:var(--ink2)}
  .cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
  @media(max-width:1024px){.cards{grid-template-columns:repeat(2,1fr)}}
  @media(max-width:620px){.cards{grid-template-columns:1fr}}
  .pcard{background:#fff;border:1px solid #e7e5e1;color:#0b0b0c;overflow:hidden;transition:box-shadow .3s,transform .3s}
  .pcard:hover{box-shadow:0 24px 50px -28px rgba(0,0,0,.7);transform:translateY(-3px)}
  .pcard .pimg{position:relative;aspect-ratio:16/10;overflow:hidden;background:#eee;cursor:pointer}
  .pcard .pimg img{width:100%;height:100%;object-fit:cover}
  .parrow{position:absolute;top:50%;transform:translateY(-50%);width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.92);display:grid;place-items:center;opacity:0;transition:opacity .25s,background .2s;z-index:5;cursor:pointer;color:#0b0b0c;border:none}
  .pcard .pimg:hover .parrow{opacity:1}
  .parrow:hover{background:#fff}
  .parrow.prev{left:10px}.parrow.next{right:10px}
  .parrow svg{width:16px;height:16px}
  .pbadges{position:absolute;top:12px;left:12px;display:flex;gap:6px;flex-wrap:wrap}
  .pbadges span{font-size:11px;font-weight:600;padding:5px 9px;letter-spacing:.02em}
  .b-feat{background:#0b0b0c;color:#fff}
  .b-light{background:rgba(255,255,255,.95);color:#1c1c1f}
  .pheart{position:absolute;top:12px;right:12px;width:36px;height:36px;border:0;border-radius:50%;background:rgba(255,255,255,.95);display:grid;place-items:center;box-shadow:0 2px 8px rgba(0,0,0,.18);cursor:pointer;transition:.25s}
  .pheart:hover{background:var(--gold);color:#fff}
  .pheart svg{width:16px;height:16px;color:#57534e}
  .pheart:hover svg{color:#fff}
  .pcount{position:absolute;bottom:12px;right:12px;background:rgba(0,0,0,.7);color:#fff;font-size:12px;font-weight:600;padding:3px 8px}
  .pbody{padding:16px}
  .pprice{font-size:21px;font-weight:700;line-height:1}
  .ploc{font-size:13.5px;color:#57534e;margin-top:8px}
  .pspecs{margin-top:14px;display:grid;border:1px solid #e7e5e1}
  .pspecs div{padding:10px 4px;text-align:center;border-right:1px solid #e7e5e1}
  .pspecs div:last-child{border-right:0}
  .pspecs b{display:block;font-size:15px;font-weight:700;line-height:1}
  /* 9 pikselden 12'ye. Dokuz piksel bir etiket değil, bir leke:
     telefonda okunmuyordu ve denetim de sayfanın yarısından fazlasını
     "okunaksız yazı" saydı. Değerin (15 px, kalın, koyu) yanında
     etiketin sönük kalması harf aralığı ve renkle sağlanıyor, punto
     küçültülerek değil. */
  .pspecs span{display:block;margin-top:4px;font-size:12px;text-transform:uppercase;letter-spacing:.02em;color:var(--muted)}
  .pchips{margin-top:14px;display:flex;gap:6px;overflow:hidden}
  .pchips span{flex:none;font-size:12px;color:var(--soft);border:1px solid #e7e5e1;padding:3px 9px;white-space:nowrap}
  .pchips .more{background:#0b0b0c;color:#fff;border-color:#0b0b0c}
  .pagent{margin-top:14px;display:flex;align-items:center;gap:10px;background:#f7f6f4;border:1px solid #e7e5e1;padding:8px 12px}
  .pagent .av{width:34px;height:34px;border-radius:50%;background:#e7e5e1;color:#57534e;font-size:13px;font-weight:600;display:grid;place-items:center;flex:none;overflow:hidden}
  .pagent .av img{width:100%;height:100%;object-fit:cover}
  .pagent .av.logo{border-radius:0;background:#0b0b0c;color:var(--gold-soft)}
  .pagent .av.logo svg{width:18px;height:18px}
  .pagent .nm{font-size:13px;font-weight:600;line-height:1.2}
  .pagent .ago{font-size:12px;color:var(--muted)}
  .pagent .mail{margin-left:auto;width:34px;height:34px;border-radius:50%;border:1px solid #d6d3cd;color:#57534e;display:grid;place-items:center;transition:.25s}
  .pagent .mail:hover{background:#0b0b0c;color:#fff;border-color:#0b0b0c}
  .pagent .mail svg{width:14px;height:14px}
  .feat-cta{text-align:center;margin-top:44px}
  .btn-line{display:inline-flex;align-items:center;gap:12px;border:1px solid var(--gold);color:var(--gold);padding:15px 34px;font-size:12px;letter-spacing:.22em;text-transform:uppercase;transition:.3s}
  .btn-line:hover{background:var(--gold);color:#FFFFFF}
  .btn-line svg{width:15px;height:15px}

  /* ============ POPULAR DESTINATIONS (alternating big + 4 small, 4 bands) ============ */
  .pd-band{display:grid;grid-template-columns:1.5fr 1fr 1fr;grid-template-rows:repeat(2,minmax(225px,1fr));gap:14px;margin-bottom:14px}
  .pd-band:last-child{margin-bottom:0}
  /* Eksik son bant: büyük hücre yok, tek satır eşit sütunlar. */
  .pd-band.kisa{grid-template-rows:minmax(225px,1fr)}
  .pd-band .big{grid-column:1;grid-row:1 / span 2}
  .pd-band.rev .big{grid-column:3;grid-row:1 / span 2}
  .pd-cell{position:relative;overflow:hidden;display:block;background:var(--ink3)}
  .pd-cell img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.66);transition:transform 1s ease,filter .5s}
  .pd-cell:hover img{transform:scale(1.06);filter:brightness(.8)}
  .pd-cell::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.78),transparent 58%)}
  .pd-cell .pc{position:absolute;left:24px;bottom:22px;z-index:2;color:#fff}
  .pd-cell .nm{font-size:22px;font-weight:600;color:#fff;letter-spacing:.01em;line-height:1.05}
  .pd-cell.big .nm{font-size:clamp(30px,3vw,44px);font-weight:500}
  .pd-cell .ct{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-soft);margin-top:7px}
  @media(max-width:900px){
    .pd-band,.pd-band.rev{grid-template-columns:1fr 1fr;grid-template-rows:repeat(3,200px)}
    .pd-band .big,.pd-band.rev .big{grid-column:1 / span 2;grid-row:1}
  }
  @media(max-width:520px){.pd-band,.pd-band.rev{grid-template-columns:1fr;grid-auto-rows:200px;grid-template-rows:none}.pd-band .big,.pd-band.rev .big{grid-column:1;grid-row:auto}}

  /* ============ GUIDES & JOURNAL ============ */
  .yazi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}
  .post{display:block;transition:.3s}
  .post .pi{aspect-ratio:16/10;overflow:hidden;background:var(--ink3)}
  .post .pi img{width:100%;height:100%;object-fit:cover;filter:brightness(.82);transition:.7s}
  .post:hover .pi img{transform:scale(1.05);filter:brightness(.92)}
  .post-govde .pcat{font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--gold);margin:20px 0 12px}
  .post-govde h2,.post-govde h3{font-size:20px;font-weight:400;line-height:1.32}
  .post:hover .post-govde h2,.post:hover .post-govde h3{color:var(--gold-soft)}
  .post p{font-size:13.5px;font-weight:300;color:var(--soft);margin-top:12px;line-height:1.62}
  .post .pd{font-size:12px;color:var(--muted);margin-top:14px}
  @media(max-width:900px){.yazi-grid{grid-template-columns:1fr;gap:36px}}

  /* ============ FAQ ============ */
  .faq{max-width:880px;margin:0 auto}
  .faq details{border-top:1px solid var(--hair)}
  .faq details:last-child{border-bottom:1px solid var(--hair)}
  .faq summary{list-style:none;cursor:pointer;padding:26px 4px;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:clamp(16px,1.6vw,20px);font-weight:400;transition:.25s}
  .faq summary::-webkit-details-marker{display:none}
  .faq summary:hover{color:var(--gold)}
  .faq details[open] summary{color:var(--gold)}
  .faq summary .pm{width:26px;height:26px;flex:none;position:relative}
  .faq summary .pm::before,.faq summary .pm::after{content:"";position:absolute;background:var(--gold);transition:.3s}
  .faq summary .pm::before{top:50%;left:0;right:0;height:1px;transform:translateY(-50%)}
  .faq summary .pm::after{left:50%;top:0;bottom:0;width:1px;transform:translateX(-50%)}
  .faq details[open] summary .pm::after{transform:translateX(-50%) scaleY(0)}
  .faq details p{padding:0 4px 26px;font-size:14.5px;font-weight:300;color:var(--soft);line-height:1.7;max-width:680px}

  /* ============ NEWSLETTER + FOOTER ============ */
  .nl{position:relative;background:radial-gradient(120% 160% at 100% 0%,rgba(191,155,98,.16),transparent 55%),var(--ink2);border-top:1px solid var(--hair)}
  .nl-in{display:flex;align-items:center;justify-content:space-between;gap:36px;flex-wrap:wrap;padding:clamp(38px,5vw,60px) var(--gut)}
  .nl-copy{display:flex;flex-direction:column;justify-content:center}
  /* `margin-top:14px` KALDIRILDI: üstünde bir üst-başlık ("Özel Liste")
     varken ondan ayıran boşluktu, o satır kalkınca öksüz kaldı ve
     metin kutusunun içinde 14 piksellik boş bir şerit bırakıyordu.
     Kutu dikeyde ortalandığı için bu, üstte fazladan boşluk gibi
     görünüyordu — bölümün dolgusu zaten simetrikti, bozan bu satırdı. */
  .nl h3{font-size:clamp(24px,3vw,36px);font-weight:300;letter-spacing:.01em}
  .nl h3 b{font-weight:500;color:var(--gold)}
  .nl p{font-size:14px;font-weight:300;color:var(--soft);margin-top:12px}
  .nl-form{display:flex;min-width:min(440px,100%)}
  .nl-form input{flex:1;background:#FFFFFF;border:1px solid var(--line);border-right:0;color:var(--white);font-family:inherit;font-size:14px;padding:0 20px;outline:0}
  .nl-form input::placeholder{color:var(--muted)}
  .nl-form button{background:var(--gold);color:#FFFFFF;border:1px solid var(--gold);font-family:inherit;font-size:12px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;padding:18px 28px;cursor:pointer;transition:.3s;white-space:nowrap}
  .nl-form button:hover{background:var(--gold-soft);border-color:var(--gold-soft)}

  .ft{background:var(--ink3);border-top:1px solid var(--line);padding:clamp(48px,6vw,76px) 0 30px}
  .ft-grid{display:grid;grid-template-columns:1.5fr repeat(4,1fr);gap:40px}
  .ft .ov{font-size:12px;letter-spacing:.28em;text-transform:uppercase;color:var(--gold)}
  .ft-lead h3{font-size:clamp(24px,2.6vw,32px);font-weight:300;margin:14px 0 28px}
  .ft-row{display:flex;align-items:center;gap:20px;padding:16px 0;border-top:1px solid var(--line)}
  .ft-row .lbl{font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--gold);width:78px;flex:none}
  .ft-row .val{display:inline-flex;align-items:center;gap:12px;font-size:15px;color:var(--white);transition:.25s}
  .ft-row:hover .val{color:var(--gold)}
  .ft-row .val svg{width:18px;height:18px;color:var(--gold)}
  .ft .soc{display:flex;gap:10px;margin-top:26px}
  .ft .soc a{width:40px;height:40px;border:1px solid var(--line);display:grid;place-items:center;color:var(--soft);transition:.25s}
  .ft .soc a:hover{background:var(--gold);color:#FFFFFF;border-color:var(--gold)}
  .ft .soc svg{width:16px;height:16px}
  .ft-col h4{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);margin-bottom:20px}
  .ft-col ul{list-style:none}.ft-col li{margin-bottom:13px}
  .ft-col a{font-size:14px;color:var(--soft);transition:.2s}.ft-col a:hover{color:var(--gold)}
  .ft-bar{border-top:1px solid var(--line);margin-top:48px;padding-top:24px;display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;font-size:13px;color:var(--muted)}
  .ft-bar a{color:var(--gold);text-decoration:underline;text-underline-offset:2px}
  @media(max-width:1024px){.ft-grid{grid-template-columns:1fr 1fr 1fr}.ft-lead{grid-column:1 / -1}}
  @media(max-width:600px){.ft-grid{grid-template-columns:1fr 1fr}}

  .totop{position:fixed;right:26px;bottom:26px;z-index:40;width:46px;height:46px;border-radius:50%;border:1px solid var(--hair);background:rgba(12,12,14,.8);backdrop-filter:blur(6px);color:#fff;display:grid;place-items:center;cursor:pointer;opacity:0;pointer-events:none;transition:.3s}
  .totop.show{opacity:1;pointer-events:auto}
  .totop:hover{background:var(--gold);color:#0c0c0e;border-color:var(--gold)}
  .totop svg{width:18px;height:18px}

/* ── WORDPRESS'İN BEKLEDİĞİ YARDIMCI SINIFLAR ───────────────────────────
   Bunlar tasarımdan gelmiyor, WordPress'ten geliyor. Tema bunları
   tanımlamazsa `.screen-reader-text` ile gizlemeyi umduğumuz etiketler
   EKRANDA GÖRÜNÜR — süzgeç kutularında "İl İl", "İlçe İlçe" diye çift
   yazı çıktı, tam bu yüzden. WordPress tema kılavuzunun da zorunlu
   tuttuğu sınıflar. */
.screen-reader-text{
  border:0;clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;
  padding:0;position:absolute;width:1px;word-wrap:normal!important
}
.screen-reader-text:focus{
  background:var(--ink2);clip-path:none;color:var(--white);display:block;
  font-size:14px;height:auto;left:6px;line-height:normal;padding:14px 22px;
  text-decoration:none;top:6px;width:auto;z-index:100000
}
/* İçeriğe atla — klavye kullanıcısı Tab'a basınca görünür, fare kullanıcısı hiç görmez. */
.skip{position:absolute;left:-9999px;top:0;z-index:100000}
.skip:focus{left:6px;top:6px;background:var(--ink2);color:var(--white);padding:12px 20px;border:1px solid var(--gold)}

/* Kapak görseli olmayan kart ve bölge hücresi için yer tutucu.
   Yüksekliği korur, düzen kaymaz. */
.pimg-bos,.pd-bos{position:absolute;inset:0;background:var(--ink3)}

/* İlan bulunamadı / boş durum */
.bos{padding:40px 0;text-align:center;color:var(--muted)}
.bos p{margin:0 0 14px}

  /* ============================================================
     İLAN LİSTESİ (arşiv + taksonomi)
     ------------------------------------------------------------
     Kaynak sayfada bu bölüm KENDİ açık paletini kullanıyordu
     (--lpanel/--lborder/--link/--lsub/--lmuted): koyu başlığın
     altında açık bir içerik alanı. Bizim temanın tamamı zaten
     açık olduğu için o ikinci palete gerek yok; karşılıkları:

       --lpanel #fff     -> var(--ink2)     panel zemini
       --lbox   #f1f1f1  -> var(--ink3)     iç kutu
       --lborder#e6e4e0  -> var(--hair)     çizgi
       --link   #0e0e10  -> var(--white)    ana yazı
       --lsub   #52525b  -> var(--soft)     ikincil yazı
       --lmuted #8a857c  -> var(--muted)    soluk yazı
       --gold-ink#977843 -> var(--gold)     vurgu

     Böylece panelden renk değiştirince liste de birlikte
     değişiyor; ikinci bir palet elde eşitlenmek zorunda kalmıyor.
     ============================================================ */

  .re{padding:clamp(28px,4vw,46px) 0 clamp(60px,7vw,96px)}

  .crumb{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--muted);flex-wrap:wrap}
  .crumb a:hover{color:var(--gold)}
  .crumb .sep{opacity:.5}
  .crumb b{color:var(--white);font-weight:600}

  .re-title{font-size:clamp(24px,3.2vw,38px);font-weight:600;letter-spacing:-.01em;margin:14px 0 24px;color:var(--white)}

  .re-bar{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;margin-bottom:30px}
  .re-count{font-size:15px;color:var(--soft)}
  .re-count b{color:var(--white);font-weight:600}

  /* Sıralama <details> ile: açma/kapama, klavye ve ESC tarayıcıdan geliyor. */
  .sortdd{position:relative}
  .sortdd>summary{list-style:none}
  .sortdd>summary::-webkit-details-marker{display:none}
  .re-sort{display:inline-flex;align-items:center;gap:14px;padding:13px 18px;border:1px solid var(--hair);background:var(--ink2);font-size:13px;color:var(--white);cursor:pointer;min-width:200px;justify-content:space-between;list-style:none}
  .re-sort svg{width:14px;height:14px;color:var(--muted);transition:.25s}
  .sortdd[open] .re-sort svg{transform:rotate(180deg)}
  .sort-menu{position:absolute;top:calc(100% + 6px);right:0;z-index:70;min-width:220px;background:var(--ink2);border:1px solid var(--hair);box-shadow:0 18px 44px rgba(12,12,14,.16);padding:6px 0}
  .sort-menu a{display:flex;align-items:center;padding:11px 16px;font-size:13px;color:var(--soft);white-space:nowrap;transition:.16s}
  .sort-menu a:hover{background:var(--ink3);color:var(--white)}
  .sort-menu a.on{color:var(--gold)}

  /* Sayfalama. `paginate_links()` kendi sınıflarını basıyor; tasarımın
     sınıfları farklı olduğu için şablonda kendi döngümüzü yazdık. */
  .pager{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:46px;flex-wrap:wrap}
  .pager a,.pager span{min-width:46px;height:46px;padding:0 12px;display:grid;place-items:center;border:1px solid var(--hair);background:var(--ink2);font-size:14px;color:var(--white);transition:.2s}
  .pager a:hover{border-color:var(--gold);color:var(--gold)}
  .pager .cur{background:var(--white);color:var(--ink2);border-color:var(--white)}
  .pager .dots{border:0;background:0;min-width:auto;color:var(--muted)}
  .pager .nav svg{width:16px;height:16px}
  .pager .nav.off{opacity:.4;pointer-events:none}

  /* Liste altı tanıtım */
  .overview{margin-top:40px;background:var(--ink2);border:1px solid var(--hair);padding:clamp(28px,4vw,48px)}
  .overview h2{font-size:clamp(20px,2.4vw,30px);font-weight:600;color:var(--white)}
  .overview .lead{font-size:16px;color:var(--soft);margin-top:16px;max-width:900px}
  .ov-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:32px}
  .ov-box{background:var(--ink3);border:1px solid var(--hair);padding:28px 30px}
  .ov-box h3{font-size:18px;font-weight:600;color:var(--white)}
  .ov-box p{font-size:14.5px;color:var(--soft);margin-top:12px;line-height:1.65}
  .ov-rel{margin-top:36px;padding-top:30px;border-top:1px solid var(--hair)}
  .ov-rel .lbl{font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--muted);margin-bottom:18px}
  .chips{display:flex;flex-wrap:wrap;gap:10px}
  .chips a{font-size:13px;color:var(--white);background:var(--ink3);border:1px solid var(--hair);padding:9px 16px;transition:.2s}
  .chips a:hover{background:var(--gold);color:#fff;border-color:var(--gold)}
  .ov-foot{margin-top:34px;padding-top:28px;border-top:1px solid var(--hair);display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}
  .ov-foot p{font-size:15px;color:var(--soft)}
  .ov-actions{display:flex;gap:12px;flex-wrap:wrap}
  .btn-dark{display:inline-flex;align-items:center;padding:14px 26px;background:var(--white);color:var(--ink2);font-size:12px;letter-spacing:.16em;text-transform:uppercase;font-weight:600;transition:.25s}
  .btn-dark:hover{background:var(--gold);color:#fff}
  .btn-out{display:inline-flex;align-items:center;padding:14px 26px;border:1px solid var(--white);color:var(--white);font-size:12px;letter-spacing:.16em;text-transform:uppercase;font-weight:600;transition:.25s}
  .btn-out:hover{background:var(--white);color:var(--ink2)}

  .bos{padding:60px 0;color:var(--soft);font-size:16px}

  @media(max-width:860px){
    .ov-grid{grid-template-columns:1fr}
    .re-bar{align-items:stretch}
    .sortdd,.re-sort{width:100%}
  }

  /* ── MOBİL MENÜ ───────────────────────────────────────────────────────
     1100 pikselin altında `.rnav` gizleniyordu ve yerine hiçbir şey
     gelmiyordu: telefonda sitenin menüsü yoktu. Kaynak tasarımdan gelen
     bir eksik — kaynak SİTE bunu hamburgerle çözmüş, biz de öyle. */
  .rburger{display:none;align-items:center;justify-content:center;width:42px;height:42px;flex:none;background:var(--ink2);border:1px solid var(--line);color:var(--white);cursor:pointer;transition:.2s}
  .rburger:hover{border-color:var(--gold);color:var(--gold)}
  .rburger svg{width:20px;height:20px}
  .rmobile{display:none;flex-direction:column;background:var(--ink2);border-top:1px solid var(--hair)}
  .rmobile.open{display:flex}
  .rmobile a{padding:15px var(--gut);font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--soft);border-bottom:1px solid var(--hair);transition:.2s}
  .rmobile a:hover{color:var(--gold);background:var(--ink3)}
  .rmobile a.em{color:var(--white)}
  @media(max-width:1100px){.rburger{display:inline-flex}}

  /* ============================================================
     TEKİL İLAN SAYFASI
     ------------------------------------------------------------
     Liste sayfasındaki palet karşılıkları burada da geçerli
     (--lpanel -> --ink2, --lborder -> --hair, --link -> --white ...).

     TEK İSTİSNA IŞIK KUTUSU: o katman sayfa açık temada olsa da
     KOYU. Orada var(--white) kullanamayız — bizim temada --white
     "ana yazı rengi" yani KOYU bir değer; koyu zemine koyu yazı
     çıkardı. Işık kutusunun renkleri bu yüzden açıkça yazılmış,
     değişkenden gelmiyor. Aynı sebeple çizgiler var(--hair) değil
     rgba(255,255,255,...): --hair açık zemin için koyu bir tondur
     ve koyu katmanda görünmez.
     ============================================================ */

  .ldetail{padding:clamp(18px,2.4vw,28px) 0 clamp(40px,5vw,64px)}
  .ldetail .sec{margin:0 0 24px;padding:0;border-top:0}

  .tbar{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;padding-bottom:18px;border-bottom:1px solid var(--hair)}
  .tbar-l{display:flex;align-items:center;gap:18px;flex-wrap:wrap;min-width:0}
  .tbar-r{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
  .back{display:inline-flex;align-items:center;gap:8px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--white);border:1px solid var(--hair);background:var(--ink2);padding:11px 16px;transition:.25s;white-space:nowrap}
  .back:hover{border-color:var(--gold);color:var(--gold)}
  .back svg{width:14px;height:14px}
  .tbtn{display:inline-flex;align-items:center;gap:8px;font-size:11px;letter-spacing:.12em;text-transform:uppercase;font-weight:600;color:var(--white);border:1px solid var(--hair);background:var(--ink2);padding:11px 15px;cursor:pointer;transition:.25s;white-space:nowrap;font-family:inherit}
  .tbtn:hover{border-color:var(--gold);color:var(--gold)}
  .tbtn.dark{background:var(--white);color:var(--ink2);border-color:var(--white)}
  .tbtn.dark:hover{background:var(--gold);border-color:var(--gold);color:#fff}
  .tbtn svg{width:15px;height:15px}
  .tbtn[aria-pressed="true"]{border-color:var(--gold);color:var(--gold)}
  .tbtn[aria-pressed="true"] svg{fill:currentColor}

  /* Fotoğraf mozaiği */
  .mosaic{display:grid;grid-template-columns:1.55fr 1fr 1fr;grid-template-rows:1fr 1fr;gap:10px;margin-top:22px;height:clamp(360px,46vw,560px)}
  .mtile{position:relative;overflow:hidden;background:var(--ink3);cursor:pointer;border:0;padding:0;display:block}
  .mtile img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease;display:block}
  .mtile:hover img{transform:scale(1.05)}
  .mtile:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
  .mbig{grid-row:span 2}
  /* Fotoğraf sayısı beşten azsa ızgara daralır: dört yerine iki
     fotoğrafı olan ilanda iki boş gri kutu bırakmak ilanı eksik
     gösterir. */
  .mosaic-1{grid-template-columns:1fr;grid-template-rows:1fr}
  .mosaic-2{grid-template-columns:1.55fr 1fr;grid-template-rows:1fr}
  .mosaic-2 .mbig,.mosaic-1 .mbig{grid-row:span 1}
  .mosaic-3{grid-template-columns:1.55fr 1fr}
  .mosaic-4{grid-template-columns:1.55fr 1fr 1fr}
  .mosaic-4 .mtile:last-child{grid-column:span 1}
  .mall{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;background:rgba(12,12,14,.55);color:#fff;font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;text-align:center;padding:10px}
  .mall svg{width:22px;height:22px}
  .playbadge{position:absolute;top:14px;left:14px;display:inline-flex;align-items:center;gap:8px;background:rgba(12,12,14,.62);color:#fff;font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;padding:9px 14px}
  .playbadge svg{width:12px;height:12px}

  .mactions{display:none}

  /* İki sütunlu gövde */
  .lbody{display:grid;grid-template-columns:1fr 380px;gap:34px;margin-top:18px;align-items:start}
  .lmeta{font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin-bottom:14px}
  .trow{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap}
  .trow>div{min-width:0}
  .trow h1{font-size:clamp(22px,2.4vw,32px);font-weight:600;letter-spacing:-.01em;line-height:1.15;color:var(--white)}
  .trow .tsub{font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);display:flex;align-items:center;gap:8px;margin-bottom:10px}
  .trow .tsub svg{width:14px;height:14px;color:var(--gold);flex:none}
  .trow .tprice{font-size:clamp(26px,3vw,38px);font-weight:700;color:var(--gold);white-space:nowrap}

  .sstrip{display:grid;border:1px solid var(--hair);background:var(--ink2);margin:18px 0 6px}
  .sstrip .c{padding:20px 14px;text-align:center;border-right:1px solid var(--hair)}
  .sstrip .c:last-child{border-right:0}
  .sstrip .c b{display:block;font-size:22px;font-weight:700;line-height:1;color:var(--white)}
  .sstrip .c span{display:block;margin-top:7px;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}

  .sec-h{font-size:12px;letter-spacing:.24em;text-transform:uppercase;color:var(--muted);padding-bottom:10px;margin-bottom:16px;border-bottom:1px solid var(--hair)}
  .desc{font-size:16px;color:var(--soft);line-height:1.75;max-width:760px}
  .desc p+p{margin-top:1em}

  .featchips{display:flex;flex-wrap:wrap;gap:10px}
  .featchips span{display:inline-flex;align-items:center;gap:9px;font-size:13.5px;color:var(--white);background:var(--ink2);border:1px solid var(--hair);padding:10px 16px;transition:.2s}
  .featchips span:hover{border-color:var(--gold)}
  .featchips span:before{content:"";width:6px;height:6px;background:var(--gold);flex:none;transform:rotate(45deg)}

  .dtable{border:1px solid var(--hair);background:var(--ink2)}
  .dtable .r{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 20px;border-bottom:1px solid var(--hair);font-size:14.5px}
  .dtable .r:last-child{border-bottom:0}
  .dtable .r .k{color:var(--soft)}
  .dtable .r .v{color:var(--white);font-weight:600;text-align:right}
  .dtable .r .v.tag{color:var(--gold);font-weight:700;letter-spacing:.06em;font-size:12px;text-transform:uppercase}

  /* Harita yerine adres kutusu — gerekçesi single-ilan.php'de. */
  .mapoff{border:1px solid var(--hair);background:var(--ink2);padding:clamp(30px,5vw,54px) 24px;display:flex;flex-direction:column;align-items:center;gap:16px;text-align:center}
  .mapoff svg{width:34px;height:34px;color:var(--gold)}
  .mapoff p{font-size:16px;color:var(--white);font-weight:600}
  .mapnote{margin-top:12px;font-size:13px;color:var(--muted);display:flex;align-items:center;gap:8px}
  .mapnote svg{width:14px;height:14px;color:var(--gold);flex:none}

  /* Sağ sütun: danışman kartı */
  .contact{position:sticky;top:18px;background:var(--ink2);border:1px solid var(--hair)}
  .cc-top{display:flex;align-items:center;gap:14px;padding:20px 22px;border-bottom:1px solid var(--hair)}
  .cc-logo{width:54px;height:54px;background:var(--white);color:var(--gold-soft);display:grid;place-items:center;font-size:15px;font-weight:700;letter-spacing:.04em;flex:none;overflow:hidden}
  .cc-logo.cc-photo{background:var(--ink3)}
  .cc-logo img{width:100%;height:100%;object-fit:cover;display:block}
  .cc-name{display:block;font-size:17px;font-weight:600;line-height:1.2;color:var(--white);transition:.2s}
  .cc-name:hover{color:var(--gold)}
  .cc-role{display:block;font-size:12px;color:var(--muted);margin-top:3px}
  .cc-act{padding:18px 22px;display:flex;flex-direction:column;gap:10px;border-bottom:1px solid var(--hair)}
  /* WhatsApp yeşili KOYULAŞTIRILDI. Markanın kendi tonu (#1EA952) beyaz
     yazıyla 3.06:1 veriyor; 13 piksellik bir düğme yazısı için eşik 4.5.
     #12833E aynı yeşilin koyu tonu, 4.84:1. Renk marka çağrışımını
     koruyor ama düğmedeki yazı artık gerçekten okunuyor. */
  .cc-wa{display:inline-flex;align-items:center;justify-content:center;gap:10px;background:#12833E;color:#fff;font-size:13px;letter-spacing:.1em;text-transform:uppercase;font-weight:600;padding:15px;transition:.25s}
  .cc-wa:hover{background:#0C7036}
  .cc-wa svg{width:18px;height:18px}
  .cc-call{display:inline-flex;align-items:center;justify-content:center;gap:10px;background:var(--ink2);color:var(--white);border:1px solid var(--hair);font-size:13px;letter-spacing:.1em;text-transform:uppercase;font-weight:600;padding:15px;transition:.25s}
  .cc-call:hover{border-color:var(--gold);color:var(--gold)}
  .cc-call svg{width:17px;height:17px}
  .cc-form{padding:20px 22px 22px}
  .cc-or{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);text-align:center;margin-bottom:18px;position:relative}
  .cc-or:before,.cc-or:after{content:"";position:absolute;top:50%;width:24%;height:1px;background:var(--hair)}
  .cc-or:before{left:0}.cc-or:after{right:0}
  .cc-form input[type=text],.cc-form input[type=email],.cc-form input[type=tel],.cc-form textarea{width:100%;background:var(--ink);border:1px solid var(--hair);color:var(--white);font-family:inherit;font-size:14px;padding:13px 15px;outline:0;margin-bottom:12px;transition:.2s}
  .cc-form input:focus,.cc-form textarea:focus{border-color:var(--gold)}
  .cc-form ::placeholder{color:var(--muted)}
  .cc-form textarea{resize:vertical;min-height:96px;line-height:1.55}
  .cc-send{width:100%;background:var(--white);color:var(--ink2);border:1px solid var(--white);font-family:inherit;font-size:12px;letter-spacing:.18em;text-transform:uppercase;font-weight:600;padding:16px;cursor:pointer;transition:.25s}
  .cc-send:hover{background:var(--gold);border-color:var(--gold);color:#fff}
  .cc-check{display:flex;align-items:flex-start;gap:9px;margin-top:14px;font-size:12px;color:var(--soft);line-height:1.45}
  .cc-check input{width:16px;height:16px;margin:2px 0 0;flex:none;accent-color:var(--gold)}
  .cc-check a{color:var(--gold);text-decoration:underline}
  .cc-not{font-size:13px;padding:12px 14px;margin-bottom:14px;line-height:1.5}
  .cc-not.ok{background:#EAF3EC;border:1px solid #BBD9C4;color:#1B5E33}
  .cc-not.hata{background:#FBEDEC;border:1px solid #E4BEBB;color:#8A2F27}
  /* Bal küpü: görünmez ama `display:none` DEĞİL — bazı botlar gizli
     alanları atlar, ekran dışına almak onları daha iyi yakalar. */
  .kupe{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

  .similar{margin-top:8px}
  .sim-head{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:24px}
  .sim-head h2{font-size:clamp(22px,2.4vw,30px);font-weight:600;color:var(--white)}
  .sim-head a{font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--gold);display:inline-flex;align-items:center;gap:8px}
  .sim-head a svg{width:14px;height:14px;transition:.25s}
  .sim-head a:hover svg{transform:translateX(4px)}

  @media(max-width:1000px){
    .lbody{grid-template-columns:1fr}
    .contact{position:static}
    .mosaic{grid-template-columns:1fr 1fr;grid-template-rows:auto auto;height:auto}
    .mosaic .mtile{aspect-ratio:16/10}
    .mbig{grid-row:span 1;grid-column:span 2}
    .mosaic .mtile:nth-child(4),.mosaic .mtile:nth-child(5){display:none}
    .tbar{flex-direction:column;align-items:stretch;gap:12px}
    .tbar-l{flex-direction:column;align-items:flex-start;gap:10px}
    .tbar-r{display:none}
    .mactions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px}
    .mactions .tbtn{justify-content:center;padding:13px 10px}
    .mactions .tbtn.dark{grid-column:span 2}
    .sstrip{grid-template-columns:repeat(3,1fr)!important}
    .sstrip .c:nth-child(3n){border-right:0}
    .sstrip .c:nth-child(-n+3){border-bottom:1px solid var(--hair)}
    .trow{flex-direction:column;align-items:flex-start;gap:10px}
  }

  /* ── IŞIK KUTUSU (koyu katman) ────────────────────────────────────────
     Buradaki renkler DEĞİŞKENDEN GELMİYOR, bilerek. Kutu sayfa açık
     temada olsa da koyu; var(--white) bizde "ana yazı rengi" yani koyu
     bir değer olduğu için koyu zemine koyu yazı çıkardı. Aynı sebeple
     çizgiler var(--hair) değil beyaz saydamlık. Yalnız --gold ve
     --gold-soft ortak: ikisi de her iki zeminde okunuyor. */
  .lb{position:fixed;inset:0;z-index:200;background:#0A0A0B;display:none;flex-direction:column;overflow:hidden}
  .lb.open{display:flex}
  body.lb-on{overflow:hidden}

  .lb-top{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px clamp(16px,3vw,32px);border-bottom:1px solid rgba(255,255,255,.12);flex-wrap:wrap}
  .lb-tl{min-width:0}
  .lb-status{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-soft)}
  .lb-title{font-size:clamp(15px,1.8vw,20px);font-weight:500;margin-top:5px;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:60vw}
  .lb-tr{display:flex;align-items:center;gap:14px;flex:none}
  .lb-price{font-size:13px;letter-spacing:.06em;color:var(--gold-soft);font-weight:600;white-space:nowrap}
  .lb-price b{color:#fff;font-weight:700}
  .lb-x{width:42px;height:42px;border-radius:50%;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.05);color:#fff;display:grid;place-items:center;cursor:pointer;transition:.25s}
  .lb-x:hover{background:var(--gold);color:#fff;border-color:var(--gold)}
  .lb-x svg{width:18px;height:18px}

  .lb-mid{flex:1;display:flex;min-height:0}
  .lb-stage{flex:1;position:relative;display:flex;align-items:center;justify-content:center;min-width:0;min-height:0;overflow:hidden;padding:clamp(12px,2.5vw,34px)}
  .lb-media{max-width:100%;max-height:100%;width:auto;height:auto;display:none;object-fit:contain;box-shadow:0 30px 80px -20px rgba(0,0,0,.7)}
  .lb-media.show{display:block}
  .lb-arrow{position:absolute;top:50%;transform:translateY(-50%);width:56px;height:56px;border-radius:50%;border:1px solid rgba(255,255,255,.2);background:rgba(15,15,17,.7);color:#fff;display:grid;place-items:center;cursor:pointer;transition:.25s;z-index:5}
  .lb-arrow:hover{background:var(--gold);color:#fff;border-color:var(--gold)}
  .lb-arrow svg{width:24px;height:24px}
  .lb-arrow.prev{left:clamp(12px,2vw,28px)}
  .lb-arrow.next{right:clamp(12px,2vw,28px)}


  .lb-strip{flex:none;display:flex;gap:8px;justify-content:safe center;padding:14px clamp(12px,2vw,24px);overflow-x:auto;border-top:1px solid rgba(255,255,255,.12);background:#0A0A0B;scrollbar-width:thin;scrollbar-color:var(--gold-soft) #1A1A1C}
  .lb-strip::-webkit-scrollbar{height:8px}
  .lb-strip::-webkit-scrollbar-track{background:#141416}
  .lb-strip::-webkit-scrollbar-thumb{background:#3A3A3E}
  .lb-thumb{position:relative;width:104px;height:68px;flex:none;overflow:hidden;cursor:pointer;border:2px solid transparent;background:#1A1A1C;transition:border-color .2s,opacity .2s;opacity:.6;padding:0}
  .lb-thumb img{width:100%;height:100%;object-fit:cover;display:block}
  .lb-thumb:hover{opacity:.9}
  .lb-thumb.on{border-color:var(--gold-soft);opacity:1}

  @media(max-width:820px){
    .lb-arrow{width:46px;height:46px}
    .lb-title{max-width:100%}
    .lb-price{display:none}
  }

  /* ============================================================
     SÜZGEÇ AÇILIR MENÜLERİ VE ARAMA ÖNERİLERİ
     ------------------------------------------------------------
     `<select>` yerine `<details>`: seçeneğin yanında sayı
     gösterebilmek ve her seçeneği gerçek bir bağlantı yapabilmek
     için. Gerekçenin tamamı parca/arama-filtre.php başında.
     ============================================================ */

  .rsearch{position:relative}
  .sbox-form{position:relative;display:flex;flex:1;min-width:0}

  .rdd{position:relative}
  .rdd>summary{list-style:none;cursor:pointer}
  .rdd>summary::-webkit-details-marker{display:none}
  .rdd[open]>summary svg{transform:rotate(180deg)}
  .rdd>summary svg{transition:.25s}
  .rdd[aria-disabled="true"]>summary{opacity:.45;cursor:not-allowed}
  .rsel .fv{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .rsel.dolu{color:var(--white);border-color:rgba(12,12,14,.32)}

  .rdd-menu{position:absolute;top:calc(100% + 8px);left:0;z-index:80;min-width:262px;max-height:360px;overflow:auto;
            background:var(--ink2);border:1px solid var(--hair);box-shadow:0 18px 44px rgba(12,12,14,.18);padding:6px 0}
  .rdd-menu a{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:11px 16px;font-size:13px;
              color:var(--soft);white-space:nowrap;transition:.16s}
  .rdd-menu a:hover{background:var(--ink3);color:var(--white)}
  .rdd-menu a.on{color:var(--gold);font-weight:600}
  .rdd-menu a .c{color:var(--muted);font-size:12px;font-variant-numeric:tabular-nums}
  .rdd-menu a:hover .c,.rdd-menu a.on .c{color:var(--gold)}
  .rdd-bos{display:block;padding:14px 16px;font-size:13px;color:var(--muted)}

  .rclear{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 18px;
          font-size:12px;letter-spacing:.06em;color:var(--soft);white-space:nowrap;
          border:1px solid var(--line);background:#FFFFFF;transition:.25s}
  .rclear:hover{border-color:var(--gold);color:var(--gold);background:#F2EFE9}
  .rclear svg{width:14px;height:14px}

  /* ── Arama önerileri ──────────────────────────────────────────────────
     Panel sunucudan BOŞ geliyor, betik dolduruyor. Betik gelmezse form
     normal aramayla çalışır — öneri bir kolaylık, tek yol değil. */
  .oneri{position:absolute;top:calc(100% + 8px);left:0;right:0;z-index:90;background:var(--ink2);
         border:1px solid var(--hair);box-shadow:0 22px 54px rgba(12,12,14,.2);padding:14px 0;max-height:70vh;overflow:auto}
  .oneri[hidden]{display:none}
  .oneri-baslik{font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--muted);padding:8px 22px 10px}
  .oneri-konum{display:flex;align-items:center;gap:14px;padding:11px 22px;transition:.16s}
  .oneri-konum:hover,.oneri-konum.secili{background:var(--ink3)}
  .oneri-pin{width:34px;height:34px;border-radius:50%;background:var(--ink3);color:var(--gold);display:grid;place-items:center;flex:none}
  .oneri-pin svg{width:16px;height:16px}
  .oneri-konum b{font-weight:600;color:var(--white);font-size:15px}
  .oneri-konum b i{font-style:normal;font-weight:400;color:var(--soft)}
  .oneri-ust{margin-left:auto;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);white-space:nowrap}
  /* DÖRT SÜTUN. İki sütunken panel arama kutusu kadar geniş olduğu için
     1900 piksellik bir ekranda her kart 900 piksele çıkıyor, 16/10 oranıyla
     görsel 560 piksel yükseliyor ve panel kaydırma çubuğu açıyordu — öneri
     kutusu sayfanın kendisinden büyük görünüyordu. Dört sütun kartı dörtte
     bire indiriyor; `max-height` de ultra geniş ekranda görselin uzamasını
     kesiyor, böylece panel her koşulda tek ekrana sığıyor. */
  .oneri-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;padding:4px 22px 10px}
  .oneri-ilan img{width:100%;aspect-ratio:16/10;max-height:150px;object-fit:cover;display:block;background:var(--ink3)}
  .oneri-ilan{position:relative;display:block}
  .oneri-ilan .d{display:block;margin-bottom:6px;font-size:9.5px;letter-spacing:.22em;
                 text-transform:uppercase;color:var(--gold);font-weight:600}
  .oneri-ilan .f{margin-top:9px;font-size:15px;font-weight:700;color:var(--white)}
  .oneri-ilan .t{margin-top:2px;font-size:12.5px;color:var(--soft);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .oneri-ilan:hover .t{color:var(--gold)}
  .oneri-yok{padding:18px 22px;font-size:14px;color:var(--muted)}

  @media(max-width:1100px){ .oneri-grid{grid-template-columns:repeat(3,1fr)} }
  @media(max-width:860px){ .oneri-grid{grid-template-columns:repeat(2,1fr)} }
  @media(max-width:760px){
    .oneri-grid{grid-template-columns:1fr}
    .oneri-ilan img{max-height:none}
    .rdd-menu{min-width:0;left:0;right:0}
  }

  /* ============================================================
     DANIŞMAN SAYFALARI
     ------------------------------------------------------------
     Kaynakta profil sayfası KOYU katmandı (#fff yazı, siyah
     zemin). Burada açık paletimize çevrildi; --white bizde koyu
     bir değer olduğu için kaynaktaki `color:#fff` yerleri
     var(--white) olarak, `#0b0b0c` zeminler var(--ink2) olarak
     karşılandı.
     ============================================================ */

  /* Arşiv */
  /* Üst boşluk kısaldı: başlık menüden çok uzakta duruyor ve ilk
     ekranda içerik için yer kalmıyordu. */
  .browse{padding:clamp(10px,1.4vw,20px) 0 clamp(60px,7vw,96px)}
  .b-eyebrow{font-size:10.5px;letter-spacing:.34em;text-transform:uppercase;color:var(--gold)}
  .b-title{font-size:clamp(32px,5vw,56px);font-weight:600;letter-spacing:-.01em;margin:14px 0 0;color:var(--white)}
  .b-title b{color:var(--gold);font-weight:600}
  .b-sub{font-size:16.5px;color:var(--soft);margin-top:16px;max-width:760px;line-height:1.6}
  .b-search{margin-top:34px;display:flex;align-items:center;gap:15px;background:var(--ink2);border:1px solid var(--hair);padding:20px 24px;max-width:920px}
  .b-search svg{width:22px;height:22px;color:var(--gold);flex:none}
  .b-search input{flex:1;background:0;border:0;outline:0;color:var(--white);font-family:inherit;font-size:17px;min-width:0}
  .b-search input::placeholder{color:var(--muted)}
  .b-search input[type=search]::-webkit-search-cancel-button{-webkit-appearance:none}
  .b-count{margin-top:22px;font-size:15px;color:var(--soft)}
  .b-count b{color:var(--white);font-weight:600}
  .b-count a{color:var(--gold);text-decoration:underline}

  .az-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:38px}
  .acard{display:flex;flex-direction:column;background:var(--ink2);border:1px solid var(--hair);padding:26px 26px 28px;transition:box-shadow .3s,transform .3s,border-color .3s}
  .acard:hover{box-shadow:0 24px 50px -30px rgba(12,12,14,.45);transform:translateY(-3px);border-color:var(--line)}
  .acard .av{width:64px;height:64px;border-radius:50%;overflow:hidden;background:var(--ink3);color:var(--soft);
             font-size:20px;font-weight:600;display:grid;place-items:center;flex:none}
  .acard .av img{width:100%;height:100%;object-fit:cover;display:block}
  .acard .nm{margin-top:18px;display:flex;align-items:center;gap:8px;font-size:19px;font-weight:600;line-height:1.2;color:var(--white)}
  .acard .nm .vf{width:17px;height:17px;color:var(--gold);flex:none}
  .acard .agcy{margin-top:14px;font-size:14px;color:var(--soft)}
  .acard .loc{margin-top:8px;display:flex;align-items:center;gap:7px;font-size:13.5px;color:var(--muted)}
  .acard .loc svg{width:14px;height:14px;flex:none}

  .b-pager{display:flex;align-items:center;justify-content:center;gap:18px;flex-wrap:wrap;margin-top:54px}
  .b-pager .nums{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
  .b-pager a,.b-pager .cur,.b-pager .nav{min-width:44px;height:44px;padding:0 14px;display:inline-flex;align-items:center;
             justify-content:center;gap:8px;border:1px solid var(--hair);background:var(--ink2);font-size:14px;color:var(--white);transition:.2s}
  .b-pager a:hover{border-color:var(--gold);color:var(--gold)}
  .b-pager .cur{background:var(--white);color:var(--ink2);border-color:var(--white);font-weight:600}
  .b-pager .nav svg{width:15px;height:15px;flex:none}
  .b-pager .nav.disabled{opacity:.4;cursor:not-allowed}
  .b-pager .dots{min-width:auto;color:var(--muted);padding:0 4px;border:0;background:0}

  /* Profil */
  .ag{padding:clamp(28px,4vw,46px) 0 clamp(60px,7vw,96px)}
  .ag-crumb{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--muted);flex-wrap:wrap}
  .ag-crumb a:hover{color:var(--gold)}
  .ag-crumb .sep{opacity:.5}
  .ag-crumb b{color:var(--white);font-weight:600}

  .ag-head{display:flex;align-items:flex-start;gap:26px;flex-wrap:wrap;margin-top:22px}
  .ag-av{width:96px;height:96px;border-radius:50%;overflow:hidden;border:1px solid var(--hair);background:var(--ink3);
         color:var(--soft);font-size:28px;font-weight:600;display:grid;place-items:center;flex:none}
  .ag-av img{width:100%;height:100%;object-fit:cover;display:block}
  .ag-id{flex:1;min-width:240px}
  .ag-id h1{font-size:clamp(28px,3.6vw,44px);font-weight:600;letter-spacing:-.01em;color:var(--white);line-height:1.05}
  .ag-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:12px;font-size:14px;color:var(--soft)}
  .ag-meta .sep{opacity:.45}
  .ag-firm{color:var(--gold)}
  .ag-verify{display:inline-flex;align-items:center;gap:6px;color:var(--gold);font-size:12px;letter-spacing:.1em;text-transform:uppercase;font-weight:600}
  .ag-verify svg{width:15px;height:15px}

  .ag-actions{display:flex;gap:12px;flex-wrap:wrap;align-self:center}
  .ag-actions a{display:inline-flex;align-items:center;gap:9px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;
                font-weight:600;padding:13px 20px;transition:.25s;border:1px solid}
  .ag-actions svg{width:15px;height:15px}
  .a-gold{background:var(--gold);color:#fff;border-color:var(--gold)}
  .a-gold:hover{background:var(--gold-soft);border-color:var(--gold-soft)}
  .a-ghost{background:var(--ink2);color:var(--white);border-color:var(--hair)}
  .a-ghost:hover{border-color:var(--gold);color:var(--gold)}

  .ag-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:34px;background:var(--hair);border:1px solid var(--hair)}
  .ag-stats div,.ag-stats a{background:var(--ink2);padding:26px 28px;color:inherit;transition:.2s}
  .ag-stats a:hover b{color:var(--gold-soft)}
  .ag-stats b{display:block;font-size:clamp(20px,2.4vw,28px);font-weight:600;color:var(--gold);line-height:1.15;
              overflow:hidden;text-overflow:ellipsis}
  .ag-stats span{display:block;margin-top:8px;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}

  .ag-about{margin-top:40px;background:var(--ink2);border:1px solid var(--hair);padding:clamp(28px,3.6vw,42px)}
  .ag-about .lbl{font-size:11px;letter-spacing:.26em;text-transform:uppercase;color:var(--gold);margin-bottom:16px}
  .ag-about p{font-size:16.5px;color:var(--soft);max-width:920px;line-height:1.75}
  .ag-contact{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px}
  .ag-contact-row{display:flex;flex-direction:column;gap:8px;background:var(--ink);border:1px solid var(--hair);
                  padding:16px 20px;min-width:240px;transition:border-color .25s}
  .ag-contact-row:hover{border-color:var(--gold)}
  .ag-contact-row .cl{font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold)}
  .ag-contact-row .cv{display:inline-flex;align-items:center;gap:10px;font-size:15px;color:var(--white);word-break:break-word}
  .ag-contact-row .cv svg{width:16px;height:16px;color:var(--gold);flex:none}

  .ag-sec{margin-top:clamp(48px,6vw,72px)}
  .sec-bar{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;flex-wrap:wrap;
           padding-bottom:18px;border-bottom:1px solid var(--hair);margin-bottom:30px}
  .sec-bar h2{font-size:clamp(22px,2.8vw,34px);font-weight:600;letter-spacing:-.01em;color:var(--white)}
  .sec-bar .cnt{font-size:15px;color:var(--soft)}
  .sec-bar .cnt b{color:var(--white);font-weight:600}

  @media(max-width:1000px){ .az-grid{grid-template-columns:repeat(2,1fr)} }
  @media(max-width:760px){
    .az-grid{grid-template-columns:1fr}
    .ag-stats{grid-template-columns:1fr}
    .ag-actions{width:100%}
    .ag-actions a{flex:1;justify-content:center}
  }

  /* ============================================================
     BAŞLIK HİZASI — süzgeç satırı, düğme satırıyla aynı çizgide
     ------------------------------------------------------------
     "Tüm İlanlar" açılır menüsünün sol kenarı, üstündeki "Bizimle
     Satın" düğmesinin sol kenarıyla aynı yerden başlasın istendi.
     İki satır ayrı flex kapsayıcısı olduğu için hizalanmıyorlardı:
     sağdaki grupların genişliği içeriğine göre değişiyor.

     Çözüm `subgrid`: sütunlar BAŞLIĞIN kendisinde tanımlanıyor,
     iki satır da aynı sütunları paylaşıyor. Böylece ikinci sütunun
     genişliği ikisinin GENİŞ olanına göre belirleniyor ve sol
     kenarları kendiliğinden çakışıyor — piksel sabitlemeden.

     Bunun için her satırın TAM İKİ hücresi olmalı; başlıktaki sol
     öğeler `.rhead-l` içine alındı (eskiden `.rspacer` esnetiyordu).
     ============================================================ */
  .rhead-l{display:flex;align-items:center;gap:28px;min-width:0;flex:1}


  /* ============================================================
     MOBİLDE HERO — açık zeminde beyaz yazı düzeltmesi
     ------------------------------------------------------------
     Geniş ekranda hero metni FOTOĞRAFIN ÜSTÜNDE duruyor, bu yüzden
     beyaz. Dar ekranda düzen değişip metin fotoğrafın ALTINA,
     krem zemine (`--ink`) iniyor — ama rengi beyaz kalıyordu ve
     hiçbir başlık okunmuyordu. Renkler yalnız bu kırılımda
     açık zemine göre yeniden veriliyor.
     ============================================================ */
  @media(max-width:900px){
    .panel.active .detail{color:var(--white)}
    .panel.active .detail .eb{color:var(--gold)}
    .panel.active .detail .price{color:var(--gold);font-weight:600}
    .panel.active .detail .specs{color:var(--soft)}
    .panel.active .detail .specs span{border-right-color:var(--hair)}
    .panel.active .viewbtn{color:var(--white);border-color:var(--white);background:0}
    .panel.active .viewbtn:hover{background:var(--white);color:var(--ink2);border-color:var(--white)}
    .panel.active .watch{color:var(--white);border-color:var(--hair);background:0}
    .panel.active .watch:hover{background:var(--white);color:var(--ink2);border-color:var(--white)}
    .panel.active .watch .dot svg{color:#fff}
    .panel.active .watch:hover .dot{background:var(--gold)}
    /* Fotoğrafın üstünde kalan sayaç ve ok beyaz kalmalı — onlar hâlâ
       koyu bir görselin üzerinde. */
    .panel.active .shot{color:#fff}
  }

  /* ============================================================
     MEGA MENÜ
     ------------------------------------------------------------
     Panel `:hover` VE `:focus-within` ile açılıyor. Yalnız hover
     olsaydı klavyeyle gezen biri menüye hiç ulaşamazdı; yalnız
     JavaScript'le açsaydık betik gelmeden ölü bir başlık olurdu.
     ============================================================ */
  /* Panelin konum çıpası MADDENİN KENDİSİ. Önce `.rhead` idi ve panel
     başlığın tamamının — arama satırı dahil — altına açılıyordu: fare
     menüden panele giderken arama kutusunun üstünden geçiyor, imleç
     maddeden çıkınca panel kapanıyordu. Şimdi panel maddenin hemen
     altında ve ikisi bitişik. */
  .rnav-i{position:relative}
  .rnav-i>a{display:inline-flex;align-items:center;gap:6px;font-size:12px;letter-spacing:.16em;
            text-transform:uppercase;color:var(--soft);transition:.25s;padding:6px 0}
  .rnav-i>a:hover,.rnav-i>a.em{color:var(--gold)}
  .rnav-i>a.em{color:var(--white)}
  .rnav-i>a svg{width:12px;height:12px;color:var(--muted);transition:transform .25s}
  .has-mega:hover>a svg,.has-mega:focus-within>a svg{transform:rotate(180deg)}

  .mega{position:absolute;left:0;top:100%;z-index:60;display:none;width:620px;max-width:calc(100vw - 48px);
        background:var(--ink2);border:1px solid var(--hair);
        box-shadow:0 26px 60px -24px rgba(12,12,14,.3)}
  /* Madde ile panel arasında görünmez bir köprü: aradaki birkaç piksellik
     boşlukta fare "hiçbir şeyin üstünde" kalıp paneli kapatmasın. */
  .has-mega::after{content:"";position:absolute;left:0;right:0;top:100%;height:14px}
  .has-mega:hover .mega,.has-mega:focus-within .mega{display:block}


  .mega-body{padding:20px 26px 26px;max-height:min(70vh,520px);overflow:auto}
  .mega-top{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;
            padding-bottom:12px;border-bottom:1px solid var(--gold);margin-bottom:22px}
  .mega-lbl{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--muted)}
  .mega-all{display:inline-flex;align-items:center;gap:8px;font-size:11px;letter-spacing:.18em;
            text-transform:uppercase;font-weight:600;color:var(--gold)}
  .mega-all svg{width:14px;height:14px;transition:transform .25s}
  .mega-all:hover svg{transform:translateX(4px)}

  .mega-cols{display:grid;grid-template-columns:1fr 1fr;gap:32px}
  .mega-col h4{font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--muted);
               font-weight:500;margin-bottom:12px}
  .mega-col a{display:flex;align-items:center;justify-content:space-between;gap:20px;
              padding:8px 0;font-size:14.5px;color:var(--white);transition:.16s}
  .mega-col a:hover{color:var(--gold)}
  .mega-col a .c{color:var(--muted);font-size:12.5px;font-variant-numeric:tabular-nums}
  .mega-col a:hover .c{color:var(--gold)}

  /* Dar ekranda mega menü hiç açılmıyor: gezinti zaten gizli, yerine
     hamburger var. Paneli orada göstermek ekranı tamamen kaplardı. */
  @media(max-width:1100px){ .mega{display:none !important} }

  /* Harita kutusu. Yükseklik ÖNCEDEN veriliyor: Leaflet geldiğinde kutu
     büyüseydi altındaki her şey aşağı kayardı (CLS). */
  .harita{height:420px;width:100%;border:1px solid var(--hair);background:var(--ink3);
          display:grid;place-items:center;position:relative;z-index:1}
  .harita-bekle{font-size:13px;color:var(--muted);letter-spacing:.06em}
  .harita.hazir{display:block}
  .harita.hazir .harita-bekle{display:none}
  .leaflet-container{font-family:inherit}

  /* Süzgeç satırı, düğme satırıyla HEM başlasın HEM bitsin.
     Subgrid sütunu iki satırın geniş olanına göre belirliyor; süzgeçler
     dar kalınca sol kenarlar çakışıyor ama sağ kenarlar açık kalıyordu.
     Kutuları esnetince sütunu tam dolduruyorlar. */

  /* Dokunmatik cihazda kart okları BAŞTAN görünür. `:hover` yok, dolayısıyla
     "üzerine gelince çıkan" ok telefonda hiç çıkmıyordu — galeriye ulaşmanın
     tek yolu kaydırmaktı ve bunu bilmenin bir yolu yoktu. */
  @media (hover:none){
    .pcard .parrow{opacity:1;background:rgba(255,255,255,.9)}
  }
  .mega-il a.on{color:var(--gold);font-weight:600}
  .mega-il a.on .c{color:var(--gold)}


  /* ============================================================
     BLOG
     ============================================================ */

  .blog-arsiv{padding:clamp(14px,1.8vw,26px) 0 clamp(60px,8vw,110px)}
  .ba-head{text-align:center;max-width:820px;margin:0 auto clamp(38px,5vw,60px)}
  /* Başlık tek satırda dursun: puntoyu pencere genişliğine bağlayıp
     (vw) üst sınırı düşük tuttuk. Dar ekranda iki satıra sarması
     serbest — orada tek satırda tutmak okunaksız bir punto demekti. */
  .ba-head h1{font-size:clamp(26px,3.4vw,44px);font-weight:600;letter-spacing:-.015em;line-height:1.12;
              margin-top:18px;color:var(--white);white-space:nowrap}
  @media(max-width:820px){ .ba-head h1{white-space:normal;font-size:clamp(26px,6vw,34px)} }
  /* Giriş metni başlığın altında dengeli iki satıra sarsın diye
     dar tutuluyor; tek uzun satır başlık bloğunu yayvanlaştırıyor. */
  .ba-sub{font-size:16px;color:var(--soft);margin-top:18px;line-height:1.7;max-width:620px;margin-inline:auto}

  .yazi-grid.dort{grid-template-columns:repeat(4,1fr);gap:24px}
  .post{display:flex;flex-direction:column;background:var(--ink2);border:1px solid var(--hair);
        transition:box-shadow .3s,transform .3s,border-color .3s}
  .post:hover{box-shadow:0 24px 50px -30px rgba(12,12,14,.4);transform:translateY(-3px);border-color:var(--line)}
  .post .pi{aspect-ratio:16/10;overflow:hidden;background:var(--ink3);flex:none}
  .post .pi img{width:100%;height:100%;object-fit:cover;transition:transform .7s ease;display:block;filter:none}
  .post:hover .pi img{transform:scale(1.05)}
  .post-govde{padding:20px;display:flex;flex-direction:column;flex:1;min-width:0}
  .post-govde .pcat{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold)}
  .post-govde h2,.post-govde h3{font-size:17px;font-weight:600;line-height:1.35;color:var(--white);margin-top:12px}
  .post:hover .post-govde h2,.post:hover .post-govde h3{color:var(--gold)}
  .post-govde .pex{font-size:13.5px;color:var(--soft);line-height:1.6;margin-top:10px;flex:1}
  .post-govde .pm{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:18px;
            padding-top:14px;border-top:1px solid var(--hair);font-size:12px;color:var(--muted)}
  .post-govde .oku{display:inline-flex;align-items:center;gap:7px;letter-spacing:.16em;text-transform:uppercase;
             font-weight:600;color:var(--gold)}
  .post-govde .oku svg{width:13px;height:13px;transition:transform .25s}
  .post:hover .post-govde .oku svg{transform:translateX(4px)}

  /* ── Yazı sayfası ─────────────────────────────────────────────────── */
  .yz-hero{position:relative;min-height:clamp(380px,52vw,620px);display:grid;place-items:center;
           background:var(--ink3);overflow:visible;margin-bottom:clamp(70px,8vw,110px)}
  .yz-kapak{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
  /* Fotoğrafın üstüne koyu bir perde: başlık beyaz ve fotoğrafın hangi
     tonda olduğunu önceden bilemiyoruz. Perde olmadan açık bir kapakta
     başlık tamamen kayboluyor. */
  .yz-hero.kapakli::after{content:"";position:absolute;inset:0;z-index:1;
    background:linear-gradient(180deg,rgba(12,12,14,.30) 0%,rgba(12,12,14,.52) 55%,rgba(12,12,14,.72) 100%)}
  .yz-hero-in{position:relative;z-index:2;text-align:center;padding:clamp(40px,7vw,90px) var(--gut) clamp(70px,9vw,120px);max-width:min(1180px,100%)}
  .yz-kat{display:inline-block;font-size:10.5px;letter-spacing:.32em;text-transform:uppercase;color:var(--gold-soft)}
  /* Başlık TAM görünür. Önce `nowrap` vardı ve uzun başlıklar üç noktayla
     kesiliyordu — bir yazının adını yarım göstermek, tek satırda tutmaktan
     daha kötü. Punto pencereye bağlı: çoğu başlık tek satıra sığıyor,
     sığmayan dengeli biçimde ikiye ayrılıyor. */
  .yz-hero-in h1{font-size:clamp(26px,3.4vw,46px);font-weight:600;line-height:1.12;letter-spacing:-.015em;
                 color:#fff;margin-top:18px;text-shadow:0 2px 24px rgba(0,0,0,.35);text-wrap:balance}
  .yz-hero:not(.kapakli) .yz-hero-in h1{color:var(--white);text-shadow:none}
  .yz-hero:not(.kapakli) .yz-kat{color:var(--gold)}

  /* Yazar şeridi hero'nun ALT kenarına biniyor: tasarımdaki gibi. */
  .yz-yazar{position:absolute;z-index:3;left:50%;bottom:-42px;transform:translateX(-50%);
            display:flex;align-items:center;gap:16px;background:var(--ink2);border:1px solid var(--hair);
            padding:14px 20px;box-shadow:0 22px 50px -26px rgba(12,12,14,.35);max-width:calc(100% - 32px)}
  .yz-yazar .av{width:46px;height:46px;border-radius:50%;overflow:hidden;background:var(--ink3);color:var(--soft);
                font-size:14px;font-weight:600;display:grid;place-items:center;flex:none}
  .yz-yazar .av img{width:100%;height:100%;object-fit:cover;display:block}
  .yz-kim{min-width:0}
  .yz-kim .nm{display:block;font-size:15px;font-weight:600;color:var(--white)}
  .yz-kim .nm:hover{color:var(--gold)}
  .yz-kim .tr{display:block;font-size:12px;color:var(--muted);margin-top:3px}
  .yz-share{display:flex;gap:8px;margin-left:8px;padding-left:16px;border-left:1px solid var(--hair)}
  .yz-share a{width:34px;height:34px;display:grid;place-items:center;border:1px solid var(--hair);
              color:var(--soft);transition:.2s}
  .yz-share a:hover{border-color:var(--gold);color:var(--gold)}
  .yz-share svg{width:14px;height:14px}

  .yz-body{max-width:760px;margin:0 auto;padding:0 var(--gut)}
  .yz-lead{font-size:clamp(18px,2vw,21px);line-height:1.6;color:var(--white);font-weight:500;margin-bottom:28px}
  .yz-icerik{font-size:17px;line-height:1.8;color:var(--soft)}
  .yz-icerik p{margin-bottom:22px}
  .yz-icerik h2{font-size:clamp(21px,2.4vw,28px);font-weight:600;color:var(--white);
                margin:44px 0 16px;padding-top:26px;border-top:1px solid var(--hair)}
  .yz-icerik h3{font-size:19px;font-weight:600;color:var(--white);margin:30px 0 12px}
  .yz-icerik ul,.yz-icerik ol{margin:0 0 22px 22px}
  .yz-icerik li{margin-bottom:9px}
  .yz-icerik strong{color:var(--white);font-weight:600}
  .yz-icerik a{color:var(--gold);text-decoration:underline;text-underline-offset:3px}
  .yz-icerik blockquote{margin:30px 0;padding:24px 28px;background:var(--ink3);border-left:3px solid var(--gold);
                        font-size:16.5px;line-height:1.7;color:var(--white)}
  .yz-icerik blockquote p:last-child{margin-bottom:0}
  .yz-icerik img{max-width:100%;height:auto;display:block;margin:26px 0}

  .yz-etiket{display:flex;flex-wrap:wrap;gap:10px;margin-top:44px;padding-top:28px;border-top:1px solid var(--hair)}
  .yz-etiket a{font-size:11px;letter-spacing:.1em;color:var(--soft);background:var(--ink3);
               border:1px solid var(--hair);padding:9px 15px;transition:.2s}
  .yz-etiket a:hover{border-color:var(--gold);color:var(--gold)}

  .yz-devam{margin-top:clamp(60px,8vw,100px);padding:clamp(48px,6vw,76px) 0;background:var(--ink2);
            border-top:1px solid var(--hair)}
  .yzd-bar{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;margin-bottom:30px}
  .yzd-bar .lbl{font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--muted)}
  .yzd-bar a{display:inline-flex;align-items:center;gap:8px;font-size:11px;letter-spacing:.18em;
             text-transform:uppercase;font-weight:600;color:var(--gold)}
  .yzd-bar a svg{width:14px;height:14px;transition:transform .25s}
  .yzd-bar a:hover svg{transform:translateX(4px)}
  .yz-devam .yazi-grid{grid-template-columns:repeat(3,1fr);gap:24px}

  @media(max-width:1200px){ .yazi-grid.dort{grid-template-columns:repeat(3,1fr)} }
  @media(max-width:900px){
    .yazi-grid.dort,.yz-devam .yazi-grid{grid-template-columns:repeat(2,1fr)}
    .yz-yazar{flex-wrap:wrap;justify-content:center;text-align:center;bottom:-64px}
    .yz-share{margin-left:0;padding-left:0;border-left:0}
  }
  @media(max-width:600px){ .yazi-grid.dort,.yz-devam .yazi-grid{grid-template-columns:1fr} }

  /* Mobilde hamburger ile marka arası: 28px'lik masaüstü boşluğu dar
     ekranda kocaman bir delik bırakıyordu. */
  @media(max-width:1100px){
    .rhead-l{gap:10px}
  }

  /* Uzun giriş metinleri tek satırda dursun; sığmazsa üç nokta.
     Ortalanmış başlık bloklarında iki satıra taşan bir cümle,
     başlığın altındaki dengeyi bozuyordu. */
  .b-sub{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
  @media(max-width:900px){
    .b-sub{white-space:normal;text-overflow:clip}
  }

  /* Dar ekranda kenar boşluğu: 20-64px'lik gutter telefonda içeriği
     gereksiz daraltıyordu. `--gut` tek değişken olduğu için başlık,
     hero, içerik ve alt bilgi birlikte değişiyor. */
  @media(max-width:760px){
    :root{--gut:5px}
  }

  /* ── BAŞLIK HİZASI (subgrid'siz) ──────────────────────────────────────
     İki satır da aynı `var(--gut)` iç boşluğuna sahip, yani içerik
     kutularının SAĞ kenarları zaten aynı çizgide. Dolayısıyla sağdaki
     hizayı sağlamak için ızgaraya gerek yok: süzgeç grubunu sağa
     yaslamak yeterli.

     Subgrid denendi ve KALDIRILDI: sütun genişliği iki satırın geniş
     olanına göre belirlendiği için süzgeç etiketleri uzadıkça üstteki
     "Bizimle Satın / Hesap" sola kayıyordu. Sütunu üst satıra
     sabitleyince bu sefer etiketler kırpıldı ("Kira…", "Aydı…").
     Bu düzende üst satır hiç kımıldamıyor ve etiketler tam yazılıyor. */
  .rsearch{justify-content:flex-end}
  .rsearch .sbox{flex:1 1 auto;min-width:0}
  .rsel-group{flex:0 0 auto;display:flex;gap:10px;align-items:center}
  .rsel-group>.rdd{flex:0 0 auto}
  .rclear{flex:none}

  /* Mobilde hero videosu tam 16:9 ve arkasını KAPATIYOR.
     Önce `height:56.25vw` ile veriliyordu; panelin kendi görseli 16:10
     olduğu için altta bir şerit açıkta kalıyor, videonun arkasından
     fotoğraf görünüyordu. */
  @media(max-width:900px){
    .panel.active .pvideo{position:absolute;left:0;right:0;top:0;width:100%;height:auto;
                          aspect-ratio:16/9;object-fit:cover;background:#000;z-index:8}
    .panel.active:has(.pvideo) .bg{visibility:hidden}
    .panel.active:has(.pvideo) .shot,
    .panel.active:has(.pvideo) .harrow{display:none}
  }

  /* ── Işık kutusu: dar ekranda dikey akış ──────────────────────────────
     Dikey akış YALNIZ dar ekranda. Varsayılan `display:none` olmadan
     masaüstünde de basılıyor ve şeridin altına yirmi fotoğrafı alt alta
     dizerek kutunun düzenini bozuyordu. */
  .lb-scroll{display:none}
  .lb-scroll .git{position:relative;width:100%;background:#000}
  .lb-scroll .git + .git{margin-top:6px}
  .lb-scroll img,.lb-scroll video{width:100%;height:auto;display:block}

  @media(max-width:820px){
    .lb-mid,.lb-strip{display:none !important}
    .lb-scroll{display:block;position:absolute;inset:56px 0 0;overflow-y:auto;
               -webkit-overflow-scrolling:touch;background:#0A0A0B}
    .lb-top{position:relative;z-index:2}
  }

  /* Blog kartı başlığı tek satır. Dört sütunlu ızgarada iki satıra taşan
     bir başlık kartların yüksekliğini eşitsizleştiriyordu. */
  .post-govde h2,.post-govde h3{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

            display:flex;flex-direction:column;align-items:center;gap:14px;
            background:0;border:0;cursor:pointer;color:#fff}
                 border:1.5px solid rgba(255,255,255,.7);display:grid;place-items:center;
                 backdrop-filter:blur(3px);transition:.25s}
              text-shadow:0 2px 12px rgba(0,0,0,.6)}
  /* Küçük resim şeridindeki oynat işareti */
  .lb-play{position:absolute;inset:0;display:grid;place-items:center;background:rgba(0,0,0,.35);pointer-events:none}
  .lb-play span{width:28px;height:28px;border-radius:50%;background:rgba(0,0,0,.6);
                border:1.5px solid #fff;display:grid;place-items:center}
  .lb-play svg{width:12px;height:12px;fill:#fff;margin-left:2px}

  /* Video tıklama katmanı: saydam, denetim çubuğunun üstünde biter. */
  .lb-tik{position:absolute;z-index:7;background:0;border:0;cursor:pointer;padding:0}
  .lb-tik[hidden]{display:none}

  .oneri-suzgec .oneri-pin{background:var(--gold);color:#fff}

  /* Dar ekranda ışık kutusu: üst çubuk yok, yüzer kapatma düğmesi var. */
  .lb-mx{display:none}
  @media(max-width:820px){
    .lb-top{display:none}
    .lb-scroll{inset:0}
    .lb-mx{display:grid;place-items:center;position:fixed;top:12px;right:12px;z-index:12;
           width:44px;height:44px;border-radius:50%;background:rgba(0,0,0,.55);
           border:1px solid rgba(255,255,255,.35);color:#fff;cursor:pointer}
    .lb-mx svg{width:19px;height:19px}
    /* Akıştaki video ve fotoğraflar tam genişlik, aralarında ince şerit. */
    .lb-scroll .git video{width:100%;height:auto;display:block;background:#000}
    /* Yüklenmemiş fotoğraflar için YER AYIR: `src` gelmeden yükseklik
       sıfır oluyor, hepsi üst üste biniyor ve altta kocaman siyah bir
       boşluk kalıyordu. Ayrıca kaydırma yükleyicisi gerçek konumu
       ölçemiyor, ya hepsini birden ya hiçbirini istiyordu. */
    .lb-scroll .git img{aspect-ratio:16/10;object-fit:cover;background:#111}
  }

  /* ── SAYFA ŞABLONU ───────────────────────────────────────────────────
     Bu dosya yokken sayfalar `index.php`ye düşüyor ve kart listesi gibi
     basılıyordu — içerik hiç görünmüyordu. */
  .sayfa{padding-bottom:clamp(60px,8vw,100px)}
  .sy-hero{position:relative;padding:clamp(34px,4.6vw,66px) var(--gut);background:var(--ink3);
           display:grid;place-items:center;text-align:center;overflow:hidden}
  .sy-hero.kapakli{min-height:clamp(300px,38vw,460px)}
  .sy-hero.kapakli::after{content:"";position:absolute;inset:0;z-index:1;
    background:linear-gradient(180deg,rgba(12,12,14,.34) 0%,rgba(12,12,14,.6) 100%)}
  .sy-hero-in{position:relative;z-index:2;max-width:min(1100px,100%)}
  .sy-hero h1{font-size:clamp(30px,4.4vw,52px);font-weight:600;letter-spacing:-.015em;
              line-height:1.1;color:var(--white)}
  .sy-hero.kapakli h1{color:#fff;text-shadow:0 2px 22px rgba(0,0,0,.4)}
  /* Giriş metni tek satır; sığmazsa punto pencereyle küçülüyor. Dar
     ekranda sarmasına izin var — orada tek satırda tutmak okunaksız bir
     punto demekti. */
  .sy-lead{margin-top:18px;font-size:clamp(15px,1.35vw,19px);line-height:1.65;color:var(--soft);
           white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  @media(max-width:1000px){ .sy-lead{white-space:normal;text-overflow:clip;max-width:640px;margin-inline:auto} }
  .sy-hero.kapakli .sy-lead{color:rgba(255,255,255,.9)}

  .sy-body{max-width:780px;margin:0 auto;padding:clamp(40px,5vw,64px) var(--gut) 0}
  .sy-body .yz-icerik ol{margin:0 0 22px 22px}
  .sy-body .yz-icerik ol li{margin-bottom:12px}

  .sy-cta{margin-top:clamp(44px,6vw,72px);padding:clamp(28px,4vw,42px);background:var(--ink2);
          border:1px solid var(--hair);display:flex;align-items:center;justify-content:space-between;
          gap:28px;flex-wrap:wrap}
  .sy-cta .lbl{font-size:10px;letter-spacing:.26em;text-transform:uppercase;color:var(--gold)}
  .sy-cta h2{font-size:clamp(22px,2.6vw,30px);font-weight:600;color:var(--white);margin-top:10px}
  .sy-cta p{font-size:15px;color:var(--soft);margin-top:8px}
  .sy-cta-bt{display:flex;flex-direction:column;gap:10px;min-width:260px}
  .sy-cta-bt a{white-space:nowrap}

  @media(max-width:760px){
    .sy-cta{flex-direction:column;align-items:stretch}
    .sy-cta-bt{min-width:0}
  }

  /* ── Dar ekranda arama/süzgeç çubuğu: YALNIZ listelerde ──────────────
     Çubuk ekranın üçte birini yiyor. İlan listesinde bunu hak ediyor —
     orada zaten süzerek geziliyor. Ama ilan detayında, blogda, danışman
     sayfalarında ve içerik sayfalarında yalnız yer kaplıyordu.

     Ana sayfa istisna: orada arama kutusu duruyor (süzgeçler zaten
     gizli), çünkü sitenin giriş noktası ve aramanın başladığı yer. */
  @media(max-width:900px){
    .rsearch{display:none}
    body.home .rsearch,
    body.wpemlak-liste .rsearch{display:flex}
  }

  /* ── SÜZGEÇLER: dar ekranda etiketli ızgara ───────────────────────────
     Geniş ekranda kutular tek sırada ve etiket gizli: kutunun içindeki
     metin zaten neyin seçili olduğunu söylüyor. Dar ekranda kutular
     ikişerli iniyor ve üstlerine etiket geliyor — orada "Satılık Daire
     (1.250)" ile "Tüm İller" yan yanayken hangisinin ne olduğu
     anlaşılmıyordu. */
  .rsel-alan{display:contents}
  .rsel-lbl{display:none}

  @media(max-width:900px){
    .rsearch{flex-direction:column;align-items:stretch;gap:14px}
    .rsearch .sbox{width:100%}

    .rsel-group{display:grid !important;grid-template-columns:1fr 1fr;gap:12px 14px;width:100%}
    .rsel-alan{display:flex;flex-direction:column;gap:7px;min-width:0}
    .rsel-lbl{display:block;font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold)}
    .rsel-group>.rdd,.rsel-alan>.rdd{flex:1;min-width:0}
    .rsel{width:100%;justify-content:space-between;padding:15px 16px}
    .rsel .fv{overflow:hidden;text-overflow:ellipsis}
    .rdd-menu{left:0;right:0;min-width:0}
    /* "Temizle" dar ekranda YOK: süzgeci sıfırlamak için menüden ya da
       adresten dönmek zaten mümkün ve ızgarada tek başına yarım kutu
       gibi durup süzgeç sanılıyordu. */
    .rclear{display:none}
  }

  /* Ana sayfada yalnız arama kutusu. Orada süzgeç kullanmak için önce
     bir listeye gitmek gerekiyor; kutular boş boş duruyordu. */
  body.home .rsel-group{display:none !important}

  /* Dar ekranda tür seçiliyse o kutu gizli — seçimi menüden yapmış
     birine aynı soruyu ikinci kez sormuyoruz ve kalan iki kutu ekrana
     rahat sığıyor. Geniş ekranda üçü de duruyor. */
  @media(max-width:900px){
    .rsel-alan.rsel-tur.secili{display:none}
  }

  /* Dar ekranda bölüm başlığı ve "tümünü gör" ortalanıyor: solda
     başlık sağda bağlantı düzeni iki satıra sarınca sola yaslı ve
     dengesiz duruyordu. */
  @media(max-width:760px){
    .shead{flex-direction:column;align-items:center;text-align:center;gap:14px}
    .shead h2{margin-top:0}
    .sim-head,.yzd-bar{flex-direction:column;align-items:center;text-align:center;gap:12px}
  }

  /* Kartta hangi karede olduğunu gösteren ince şerit. Fare kartın
     üzerinde gezerken fotoğraf değişiyor ama kaç fotoğraf olduğunu ve
     nerede olduğunuzu söyleyen bir işaret yoktu — sağ alttaki "3/10"
     sayısı tek başına yeterince görünür değil. */
  .pdots{position:absolute;left:10px;right:10px;bottom:10px;display:none;gap:3px;z-index:4;pointer-events:none}
  .pimg[data-galeri]:hover .pdots{display:flex}
  .pdots i{flex:1;height:2px;background:rgba(255,255,255,.4);border-radius:2px;transition:background .2s}
  .pdots i.on{background:#fff}
  @media (hover:none){ .pdots{display:none !important} }
  /* Mega menü sütun etiketi: eskiden <h4>'tü ve belgenin başlık
     sırasını bozuyordu (sayfa h4 ile başlıyordu). Görünüşü aynı,
     anlamı artık başlık değil. */
  .mega-lbl2{display:block;font-size:10px;letter-spacing:.24em;text-transform:uppercase;
             color:var(--muted);font-weight:500;margin-bottom:12px}

  /* ============================================================
     KURUMSAL SAYFALAR — Ajanslar · Harita · İletişim
     ------------------------------------------------------------
     Üçü de `.browse` kabuğunu kullanıyor: başlık, tek satırlık giriş
     ve altında içerik. Danışman arşiviyle aynı kabuk olması bilinçli —
     ziyaretçi bu sayfalar arasında gezerken düzenin değişmemesi
     gerekiyor.
     ============================================================ */

  /* ---- Ajanslar ---- */
  .ajans-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;margin-top:38px}
  .ajans{background:var(--ink2);border:1px solid var(--hair);padding:28px}
  .ajans-bas{display:flex;align-items:center;gap:16px}
  .ajans-rozet{width:56px;height:56px;flex:none;display:grid;place-items:center;background:var(--white);
               color:var(--gold-soft);font-size:17px;font-weight:700;letter-spacing:.04em}
  .ajans-bas h2{font-size:21px;font-weight:600;line-height:1.2;color:var(--white)}
  .ajans-olcu{margin-top:6px;font-size:13.5px;color:var(--muted)}
  .ajans-bolge{margin-top:22px;padding-top:20px;border-top:1px solid var(--hair)}
  .ajans-bolge .lbl{display:block;font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--muted);margin-bottom:11px}
  .ajans-bolge .chips{display:flex;flex-wrap:wrap;gap:7px}
  .ajans-bolge .chips a,.ajans-bolge .chips span{font-size:12.5px;padding:6px 12px;border:1px solid var(--hair);
               background:var(--ink);color:var(--soft);transition:.2s}
  .ajans-bolge .chips a:hover{border-color:var(--gold);color:var(--gold)}
  .ajans-kisiler{margin-top:22px;padding-top:20px;border-top:1px solid var(--hair);
                 display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
  .ajans-kisi{display:flex;align-items:center;gap:11px;min-width:0}
  .ajans-kisi .av{width:38px;height:38px;flex:none;border-radius:50%;overflow:hidden;background:var(--ink3);
                  color:var(--soft);font-size:12px;font-weight:600;display:grid;place-items:center}
  .ajans-kisi .av img{width:100%;height:100%;object-fit:cover;display:block}
  .ajans-kisi .nm{font-size:14px;color:var(--white);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:.2s}
  .ajans-kisi:hover .nm{color:var(--gold)}
  .ajans-alt{margin-top:44px;padding-top:32px;border-top:1px solid var(--hair);
             display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}
  .ajans-alt p{font-size:15px;color:var(--soft);max-width:560px}

  /* ---- Harita sayfası ---- */
  /* Harita kenardan kenara: bölge dağılımı geniş görünmeli. `.wrap`ın
     dışında durduğu için kendi üst/alt boşluğunu kendisi veriyor. */
  .harita-genis{margin:0 0 8px}
  /* Harita sayfasında üst boşluk yok: sayfa doğrudan haritayla başlıyor. */
  .harita-sayfa{padding-top:0}
  /* Harita YÜKSEK olmalı. Kutu geniş ve alçakken `fitBounds` dikeyde
     sıkışıyor: işaretlerin 4 derecelik enlem aralığını sığdırmak için
     yakınlaşmayı düşürüyor ve yatayda 14 derece boyunca alakasız alan
     (İtalya, Akdeniz) açılıyor. Ülke o boşluğun sağına itilmiş görünüyordu.
     Kutu yükseldikçe aynı enlem aralığı daha yüksek yakınlaşmayla sığıyor
     ve çerçeve verinin etrafına oturuyor. */
  .harita-tam{height:min(84vh,820px)}
  /* Leaflet'in kendi z-index'leri 400-1000 arasında; başlık 50'de ama
     mega menü 60'ta ve harita üstüne binmemeli. */
  .harita-genis .leaflet-pane,.harita-genis .leaflet-control{z-index:auto}

  /* İl rozeti — Leaflet divIcon. Konum noktasında ORTALANMASI gerekiyor
     ama içerik genişliği değişken (il adı uzunluğu), o yüzden sabit bir
     iconSize verilmiyor; ortalama transform ile yapılıyor. */
  .hrt-il{width:auto !important;height:auto !important;margin:0 !important;
          transform:translate(-50%,-50%);white-space:nowrap;pointer-events:auto}
  .hrt-il a{display:block;cursor:pointer;transition:filter .2s,transform .2s}
  .hrt-il a:hover{filter:brightness(1.12);transform:scale(1.06)}
  .hrt-il a:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
  .hrt-il b,.hrt-il i{display:inline-block;vertical-align:middle}
  .hrt-il b{background:var(--white);color:var(--ink2);font-size:11.5px;font-weight:600;
            letter-spacing:.04em;padding:5px 9px}
  .hrt-il i{background:var(--gold);color:#fff;font-size:11.5px;font-weight:700;font-style:normal;padding:5px 8px}

  .hs-liste{display:grid;grid-template-columns:repeat(3,1fr);gap:30px 34px;margin-top:44px}
  .hs-il h2{font-size:16px;font-weight:600;letter-spacing:.02em;color:var(--white);
            display:flex;align-items:baseline;justify-content:space-between;gap:12px;
            padding-bottom:11px;border-bottom:1px solid var(--hair)}
  .hs-il h2 a{transition:.2s}
  .hs-il h2 a:hover{color:var(--gold)}
  .hs-il ul{list-style:none;margin-top:12px}
  .hs-il li{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:5px 0;font-size:14px}
  .hs-il li a{color:var(--soft);transition:.2s}
  .hs-il li a:hover{color:var(--gold)}
  .hs-il .c{font-size:12.5px;color:var(--muted);font-variant-numeric:tabular-nums;flex:none}

  /* ---- İletişim ---- */
  .il-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:44px;margin-top:40px;align-items:start}
  .il-kanallar{display:grid;gap:12px}
  .il-kanal{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;gap:2px 14px;
            align-items:center;background:var(--ink2);border:1px solid var(--hair);padding:18px 20px;transition:.25s}
  .il-kanal:hover{border-color:var(--gold)}
  .il-kanal svg{width:20px;height:20px;color:var(--gold);grid-row:1/3}
  .il-kanal .lbl{font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--muted)}
  .il-kanal .val{font-size:15.5px;color:var(--white);font-weight:500}
  .il-kutu{margin-top:24px;background:var(--ink2);border:1px solid var(--hair);padding:24px}
  .il-kutu h2{font-size:15px;font-weight:600;letter-spacing:.02em;color:var(--white)}
  .il-kutu p{margin-top:10px;font-size:14px;line-height:1.65;color:var(--soft)}
  .il-kutu .btn-line{margin-top:16px}
  .il-saat{margin-top:14px}
  .il-saat div{display:flex;align-items:baseline;justify-content:space-between;gap:16px;
               padding:8px 0;border-bottom:1px solid var(--hair);font-size:14px}
  .il-saat div:last-child{border-bottom:0}
  .il-saat dt{color:var(--soft)}
  .il-saat dd{color:var(--white);font-variant-numeric:tabular-nums}
  .il-not{font-size:13px !important;color:var(--muted) !important}
  .il-form{background:var(--ink2);border:1px solid var(--hair);padding:32px}
  .il-form h2{font-size:20px;font-weight:600;color:var(--white);margin-bottom:20px}
  .il-form .cc-form{margin-top:0}
  .il-form select{width:100%;background:var(--ink);border:1px solid var(--hair);color:var(--white);
                  font-family:inherit;font-size:14.5px;padding:14px 15px;margin-bottom:11px}

  @media(max-width:1000px){
    .ajans-grid{grid-template-columns:1fr}
    .hs-liste{grid-template-columns:repeat(2,1fr)}
    .il-grid{grid-template-columns:1fr;gap:32px}
  }
  @media(max-width:600px){
    .hs-liste{grid-template-columns:1fr}
    .ajans-kisiler{grid-template-columns:1fr}
    .ajans,.il-form{padding:22px}
    .harita-tam{height:56vh}
  }
  /* Dar ekranda il rozetinin ADI gizleniyor, yalnız sayı kalıyor.
     Rozet piksel ölçüsünde sabit ama harita daralıyor: telefonda
     Bursa, Eskişehir ve Ankara rozetleri üst üste biniyor ve hiçbiri
     okunmuyordu. Sayı çipi üçte bir genişlikte; ada dokununca açılan
     balonda zaten yazıyor. */
  @media(max-width:700px){
    .hrt-il b{display:none}
    /* Beyaz kontur: yan yana düşen iki rozet üst üste binse bile
       birbirinden ayırt edilebilsin. */
    .hrt-il i{padding:6px 10px;font-size:12px;box-shadow:0 0 0 1.5px #fff}
  }

  /* ---- Bülten sayfası ---- */
  .bl-kutu{max-width:680px;margin-top:38px;background:var(--ink2);border:1px solid var(--hair);padding:32px}
  .bl-bas{font-size:19px;font-weight:600;color:var(--white);margin-bottom:18px}
  .bl-form{display:flex;gap:10px;flex-wrap:wrap}
  .bl-form input{flex:1;min-width:220px;background:var(--ink);border:1px solid var(--hair);color:var(--white);
                 font-family:inherit;font-size:15px;padding:16px 18px}
  .bl-form input::placeholder{color:var(--muted)}
  .bl-form button{background:var(--white);color:var(--ink2);border:1px solid var(--white);font-family:inherit;
                  font-size:12px;letter-spacing:.18em;text-transform:uppercase;font-weight:600;padding:16px 28px;cursor:pointer;transition:.25s}
  .bl-form button:hover{background:var(--gold);border-color:var(--gold);color:#fff}
  .bl-madde{list-style:none;margin-top:26px;display:grid;gap:11px}
  .bl-madde li{position:relative;padding-left:22px;font-size:14.5px;line-height:1.6;color:var(--soft)}
  .bl-madde li::before{content:"";position:absolute;left:0;top:9px;width:8px;height:8px;background:var(--gold)}
  .bl-not{margin-top:22px;padding-top:18px;border-top:1px solid var(--hair);font-size:13px;color:var(--muted)}
  .bl-not a{color:var(--gold);text-decoration:underline}

  /* ---- Blog arşivi sayfalaması ----
     `the_posts_pagination()` hiç biçimlendirilmemişti: bağlantılar
     tarayıcı varsayılanıyla, sola yaslı ve ızgaraya yapışık çıkıyordu.
     Görünüm ilan listesindeki `.pager` ile aynı tutuldu — iki ayrı
     sayfalama görüntüsü, aynı sitede iki farklı site izlenimi verir.

     `.nav-links` ORTALANMASI gereken yer: `nav` blok elemanı ve zaten
     tam genişlikte; içindeki bağlantı kümesini ortalayan bu satır. */
  .blog-arsiv .pagination{margin-top:20px}
  .blog-arsiv .pagination .nav-links{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap}
  .blog-arsiv .pagination .page-numbers{min-width:46px;height:46px;padding:0 14px;display:grid;place-items:center;
             border:1px solid var(--hair);background:var(--ink2);font-size:14px;color:var(--white);transition:.2s}
  .blog-arsiv .pagination a.page-numbers:hover{border-color:var(--gold);color:var(--gold)}
  .blog-arsiv .pagination .page-numbers.current{background:var(--white);color:var(--ink2);border-color:var(--white)}
  .blog-arsiv .pagination .page-numbers.dots{border:0;background:0;min-width:auto;color:var(--muted)}

  /* Hesap göstergesi pasifken: görünüm aynı, imleç ve etkileşim yok.
     Üyelik akışı açıldığında `header.php`deki span yeniden bağlantıya
     döner ve bu kural kendiliğinden devre dışı kalır. */
  .signin-pasif{cursor:default;opacity:.62}
  .signin-pasif:hover{background:var(--white);border-color:var(--white);color:#FFFFFF}
