/*
Theme Name: Blueprint
Theme URI: https://example.com/blueprint
Author: REWP
Description: New construction and developer theme. Live availability by build stage, a standard-features showcase and an interest-list sign-up form.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 7.1
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: re-blueprint
Tags: real-estate, new-construction, developer
*/

/* ==========================================================================
   BLUEPRINT
   Persona: Yeni insaat ve gelistirici on satisi.
   Burada satilan sey mevcut bir ev degil, bir PLAN. Bu yuzden vurgu kat
   planlari, faz musaitligi ve teslim tarihinde. Mimari, sert grid,
   tek canli aksan; Harbor'in yumusak portal dilinden bilincli olarak uzak.
   ========================================================================== */

:root{
  --blue:#1e6bff; --blue-d:#1553cc; --on-accent:#fff; --accent-ink:#075cff; --navy:#101418; --navy-d:#080b0e;
  --orange:#ff7a1a; --green:#17b26a; --red:#e5484d;
  --ink:#12161b; --ink-2:#454d57; --muted:#656c76;
  --bg:#f4f6f8; --surface:#fff; --line:#dfe3e8; --line-2:#eef1f4;
  --sans:'Space Grotesk',-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;
  --wrap:1200px; --gutter:16px;
  --r:2px;
  --sh:0 1px 3px rgba(31,41,55,.08);
  --sh-2:0 6px 20px rgba(31,41,55,.13);
}
*,*::before,*::after{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);
  font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
h1,h2,h3,h4{margin:0;font-weight:700;line-height:1.25;letter-spacing:-.01em}
p{margin:0 0 1em}
.wrap{max-width:var(--wrap);margin-inline:auto;padding-inline:var(--gutter)}
.ico{flex:none;vertical-align:-2px}

/* ---------- Üst şerit ---------- */
.topbar{background:var(--navy);color:rgba(255,255,255,.85);font-size:13px}
.topbar .wrap{display:flex;align-items:center;gap:22px;height:38px}
.topbar a{display:inline-flex;align-items:center;gap:6px}
.topbar a:hover{color:#fff}
.topbar .right{margin-left:auto;display:flex;gap:18px}

/* ---------- Başlık ---------- */
.site-header{background:var(--surface);border-bottom:1px solid var(--line);
  position:sticky;top:0;z-index:60}
.header-inner{display:flex;align-items:center;gap:30px;height:76px}
.brand{display:flex;align-items:center;gap:9px;font-size:22px;font-weight:700;
  color:var(--navy);letter-spacing:-.02em;white-space:nowrap}
.brand-mark{width:32px;height:32px;border-radius:var(--r);background:var(--blue);
  display:grid;place-items:center;color:#fff;font-size:15px;font-weight:700}
/* Menü v2.1: 14px/500 küçük ve zayıf duruyordu; sektör sitelerinde
   ana menü 15-16px ve daha kalın. */
.nav{display:flex;gap:28px;list-style:none;margin:0;padding:0;font-size:15.5px;font-weight:600}
.nav a{padding:27px 0;display:block;color:var(--ink-2);border-bottom:2px solid transparent}
.nav a:hover{color:var(--blue);border-color:var(--blue)}
.header-right{margin-left:auto;display:flex;align-items:center;gap:14px}
.header-phone{display:flex;align-items:center;gap:7px;font-weight:700;font-size:15px;color:var(--navy)}
.nav-toggle{display:none;background:none;border:0;font-size:22px;cursor:pointer;padding:6px;margin-left:auto}

/* ---------- Butonlar ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;
  background:var(--blue);color:var(--on-accent,#fff);border:1px solid var(--blue);padding:0 20px;height:44px;
  border-radius:var(--r);font-family:inherit;font-size:14px;font-weight:700;cursor:pointer;transition:.14s}
.btn:hover{background:var(--blue-d);border-color:var(--blue-d);color:var(--on-accent,#fff)}
.btn--orange{background:var(--orange);border-color:var(--orange)}
.btn--orange:hover{background:#e56200;border-color:#e56200}
.btn--outline{background:transparent;color:var(--navy);border-color:var(--line)}
.btn--outline:hover{background:var(--navy);border-color:var(--navy);color:#fff}
.btn--sm{height:38px;padding:0 15px;font-size:13px}
.btn--lg{height:50px;padding:0 28px;font-size:15px}

/* ---------- Hero + üstüne binen arama ---------- */
.hero{position:relative;min-height:520px;display:flex;align-items:center;color:#fff}
.hero__media{position:absolute;inset:0}
.hero__media img{width:100%;height:100%;object-fit:cover}
.hero__media::after{content:'';position:absolute;inset:0;background:rgba(0,32,58,.52)}
.hero__inner{position:relative;z-index:2;width:100%;padding-block:70px;text-align:center}
.hero h1{font-size:clamp(28px,4vw,44px);font-weight:700;margin-bottom:12px;
  text-shadow:0 2px 14px rgba(0,0,0,.3)}
.hero__sub{font-size:clamp(15px,1.6vw,18px);opacity:.94;max-width:60ch;margin:0 auto 28px}

.searchbox{background:rgba(255,255,255,.97);border-radius:var(--r);padding:14px;
  box-shadow:var(--sh-2);max-width:1040px;margin:0 auto;text-align:left}
.searchbox__tabs{display:flex;gap:2px;margin:-14px -14px 14px;padding:0}
.searchbox__tabs a{flex:0 0 auto;padding:11px 22px;font-size:13.5px;font-weight:700;
  color:var(--ink-2);background:#eef1f4;border-radius:var(--r) var(--r) 0 0}
.searchbox__tabs a.on{background:var(--surface);color:var(--blue)}
.searchbox form{display:grid;grid-template-columns:1.6fr repeat(3,1fr) auto;gap:9px;align-items:end}
.f{display:flex;flex-direction:column;gap:4px;position:relative;min-width:0}
.f > span{font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}
.f input,.f select{width:100%;height:44px;padding:0 12px;border:1px solid var(--line);
  border-radius:var(--r);font:inherit;font-size:14px;background:#fff;color:var(--ink)}
.f input:focus,.f select:focus{outline:0;border-color:var(--blue);box-shadow:0 0 0 3px rgba(0,0,0,.07)}
.rewp-loc-results{position:absolute;top:100%;left:0;right:0;z-index:70;background:#fff;
  border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--sh-2);
  max-height:280px;overflow:auto;margin-top:3px}
.rewp-loc-results button{display:block;width:100%;text-align:left;padding:10px 13px;border:0;
  background:none;font:inherit;font-size:14px;cursor:pointer;border-bottom:1px solid var(--line-2)}
.rewp-loc-results button:hover{background:var(--line-2)}

/* ---------- Bölüm ---------- */
.section{padding-block:56px}
.section--white{background:var(--surface)}
.section--navy{background:var(--navy);color:#fff}
.sec-head{text-align:center;max-width:640px;margin:0 auto 34px}
.sec-head h2{font-size:clamp(23px,2.6vw,32px);margin-bottom:9px}
.sec-head p{color:var(--muted);font-size:15px;margin:0}
.section--navy .sec-head p{color:rgba(255,255,255,.72)}
.sec-more{text-align:center;margin-top:32px}

/* ---------- İlan kartı (yoğun) ---------- */
.grid-cards{display:grid;gap:22px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);
  overflow:hidden;transition:.16s}
.card:hover,.card.is-active{box-shadow:var(--sh-2);border-color:#cfd6dd;transform:translateY(-2px)}
.card__media{position:relative;aspect-ratio:16/11;background:#e7edf2;overflow:hidden}
.card__media img{width:100%;height:100%;object-fit:cover}
.card__noimg{width:100%;height:100%;background:linear-gradient(135deg,#e7edf2,#d3dee6)}
.badges{position:absolute;top:10px;left:10px;display:flex;gap:6px;flex-wrap:wrap;z-index:2}
.badge{font-size:10.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;
  padding:4px 9px;border-radius:3px;color:var(--on-accent,#fff);background:var(--blue)}
.badge--feat{background:var(--green)}
.badge--for-sale{background:var(--blue)}
.badge--for-rent{background:var(--navy)}
.badge--pending{background:var(--orange)}
.badge--sold{background:var(--red)}
.badge--coming-soon{background:#6c757d}
.card__tools{position:absolute;top:10px;right:10px;display:flex;gap:5px;z-index:2;
  opacity:0;transition:.16s}
.card:hover .card__tools{opacity:1}
.card__tools button{width:32px;height:32px;border:0;border-radius:var(--r);background:rgba(255,255,255,.94);
  color:var(--ink-2);display:grid;place-items:center;cursor:pointer}
.card__tools button:hover{background:var(--blue);color:var(--on-accent,#fff)}
.card__type{position:absolute;left:10px;bottom:10px;z-index:2;color:#fff;font-size:12px;
  font-weight:500;text-shadow:0 1px 6px rgba(0,0,0,.6)}
.card__body{padding:14px 15px 8px}
.card__title{font-size:15.5px;font-weight:700;margin:0 0 3px;line-height:1.35}
.card__title a:hover{color:var(--blue)}
.card__addr{font-size:13px;color:var(--muted);margin:0 0 10px;display:flex;gap:5px;align-items:flex-start}
.facts{display:flex;gap:14px;list-style:none;margin:0;padding:11px 0 0;border-top:1px solid var(--line-2);
  font-size:13px;color:var(--ink-2)}
.facts li{display:flex;align-items:center;gap:5px}
.facts em{font-style:normal;color:var(--muted)}
.card__foot{display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:11px 15px;border-top:1px solid var(--line-2);background:#fbfcfd}
.card__price{font-size:18px;font-weight:700;color:var(--blue);letter-spacing:-.02em}
.card__price small{font-size:12.5px;font-weight:500;color:var(--muted)}
.card__ago{font-size:12px;color:var(--muted)}

/* ---------- Tip kutucukları ---------- */
.type-grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}
.type-tile{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);
  padding:22px 16px;text-align:center;transition:.15s;display:block}
.type-tile:hover{border-color:var(--blue);box-shadow:var(--sh)}
.type-tile .ico{color:var(--blue);margin:0 auto 10px;display:block}
.type-tile b{display:block;font-size:15px;margin-bottom:2px}
.type-tile span{font-size:13px;color:var(--muted)}

/* ---------- İstatistik ---------- */
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:22px;text-align:center}
.stats b{display:block;font-size:34px;font-weight:700;color:var(--blue);line-height:1.1}
.section--navy .stats b{color:#fff}
.stats span{font-size:13.5px;color:var(--muted)}
.section--navy .stats span{color:rgba(255,255,255,.7)}

/* ---------- Split harita ---------- */
.split{display:grid;grid-template-columns:1fr 1fr;height:640px}
.split__map{position:relative;background:#dde7ef;overflow:hidden}
.map-grid{position:absolute;inset:0;
  background-image:linear-gradient(rgba(0,66,116,.07) 1px,transparent 1px),
                   linear-gradient(90deg,rgba(0,66,116,.07) 1px,transparent 1px);
  background-size:52px 52px}
.map-water{position:absolute;left:-14%;bottom:-30%;width:62%;height:52%;
  background:rgba(0,174,255,.16);border-radius:48% 52% 44% 56%/54% 46% 58% 42%;transform:rotate(-7deg)}
.map-road{position:absolute;background:rgba(0,32,58,.09)}
.pin{position:absolute;transform:translate(-50%,-100%);z-index:3}
.pin button{background:var(--surface);border:1px solid var(--line);border-radius:20px;
  padding:5px 12px;font:inherit;font-size:13px;font-weight:700;color:var(--navy);cursor:pointer;
  box-shadow:var(--sh);white-space:nowrap}
.pin button:hover,.pin.is-active button{background:var(--blue);border-color:var(--blue);color:var(--on-accent,#fff)}
.map-note{position:absolute;left:14px;bottom:12px;z-index:4;background:rgba(255,255,255,.92);
  border:1px solid var(--line);border-radius:var(--r);padding:6px 11px;font-size:12px;color:var(--muted)}
.split__list{overflow-y:auto;background:var(--bg);border-left:1px solid var(--line)}
.list-head{position:sticky;top:0;background:var(--bg);padding:14px 18px 12px;
  border-bottom:1px solid var(--line);display:flex;justify-content:space-between;
  align-items:center;gap:12px;z-index:5}
.list-count{font-size:14px;font-weight:500}
.list-count b{color:var(--blue);font-size:16px}
.list-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px;padding:16px 18px 32px}

/* ---------- Ajan ---------- */
.agent-row{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:20px}
.agent-tile{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);
  overflow:hidden;text-align:center;transition:.15s}
.agent-tile:hover{box-shadow:var(--sh-2)}
.agent-tile img{width:100%;aspect-ratio:1;object-fit:cover}
.agent-tile .meta{padding:14px}
.agent-tile b{display:block;font-size:15.5px}
.agent-tile span{font-size:13px;color:var(--muted)}

/* ---------- Tek ilan ---------- */
.prop-bar{background:var(--surface);border-bottom:1px solid var(--line);padding-block:16px}
.prop-bar .wrap{display:flex;align-items:flex-start;gap:20px;flex-wrap:wrap}
.prop-bar h1{font-size:clamp(20px,2.4vw,27px);margin-bottom:5px}
.prop-bar .addr{color:var(--muted);font-size:14px;display:flex;gap:6px;align-items:center}
.prop-bar .price{margin-left:auto;text-align:right}
.prop-bar .price b{display:block;font-size:clamp(23px,2.8vw,31px);color:var(--blue);letter-spacing:-.02em}
.prop-bar .price span{font-size:13px;color:var(--muted)}
.prop-bar .price span+span::before{content:"·";margin:0 6px} /* "$214 / sq ft · Listed today" (B-06) */
.prop-gallery{display:grid;grid-template-columns:2fr 1fr 1fr;gap:5px;margin-block:22px}
.prop-gallery img{width:100%;height:100%;object-fit:cover;aspect-ratio:4/3}
.prop-gallery > :first-child{grid-row:span 2;aspect-ratio:auto}
.prop-layout{display:grid;grid-template-columns:1fr 340px;gap:30px;align-items:start;padding-bottom:56px}
.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:20px}
.panel h3{font-size:16px;margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid var(--line-2)}
.panel--sticky{position:sticky;top:88px}
.spec-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:0;
  background:var(--surface);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;margin-bottom:24px}
/* Çizgiler hücrenin kendi gölgesi: tek sayıda öğede boş kalan hücre çizgi rengiyle dolmuyor (B-04) */
.spec-grid>*{box-shadow:1px 0 0 var(--line),0 1px 0 var(--line)}
.spec{background:var(--surface);padding:16px 14px;display:flex;gap:10px;align-items:center}
.spec .ico{color:var(--blue)}
.spec b{display:block;font-size:16px;font-weight:700;line-height:1.2}
.spec span{font-size:12px;color:var(--muted)}
.feature-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));
  gap:8px 18px;list-style:none;margin:14px 0 0;padding:0;font-size:14px}
.feature-list li{display:flex;gap:8px;align-items:center}
.feature-list .ico{color:var(--green)}
.agent-mini{display:flex;gap:12px;align-items:center;margin-bottom:16px;
  padding-bottom:14px;border-bottom:1px solid var(--line-2)}
.agent-mini img{width:54px;height:54px;border-radius:50%;object-fit:cover}
.agent-mini b{display:block;font-size:15px}
.agent-mini span{font-size:12.5px;color:var(--muted)}

/* form */
.field{display:block;margin-bottom:11px}
.field span{display:block;font-size:12.5px;font-weight:500;color:var(--ink-2);margin-bottom:4px}
.field input,.field textarea{width:100%;min-height:42px;padding:9px 12px;border:1px solid var(--line);
  border-radius:var(--r);font:inherit;font-size:14px;background:#fff}
.field textarea{resize:vertical;min-height:88px}
.field input:focus,.field textarea:focus{outline:0;border-color:var(--blue);box-shadow:0 0 0 3px rgba(0,0,0,.07)}
.field input.has-error,.field textarea.has-error{border-color:var(--red)}
.hp{position:absolute!important;left:-9999px}
.form-note{font-size:13px;color:#bb3b3f;min-height:1.1em;margin-top:6px}
.form-success{background:var(--line-2);border:1px solid var(--blue);border-radius:var(--r);
  padding:14px;font-size:14.5px;color:var(--navy)}
.rewp-lead-form .btn{width:100%}

.calc__total{font-size:25px;font-weight:700;color:var(--blue)}
.calc__hint{font-size:12.5px;color:var(--muted);margin-bottom:12px}
.calc__row{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px;font-size:13.5px}
.calc__row input{width:78px;height:36px;padding:0 9px;border:1px solid var(--line);
  border-radius:var(--r);font:inherit;font-size:13.5px}

/* ---------- Konum / kırıntı ---------- */
.page-head{background:var(--surface);border-bottom:1px solid var(--line);padding-block:26px 22px}
.page-head h1{font-size:clamp(21px,2.8vw,30px)}
.loc-meta{color:var(--muted);font-size:14px;margin-top:6px}
.rewp-breadcrumbs ol{display:flex;flex-wrap:wrap;gap:7px;list-style:none;margin:0 0 10px;padding:0;
  font-size:12.5px;color:var(--muted)}
.rewp-breadcrumbs li+li::before{content:'›';margin-right:7px}
.rewp-breadcrumbs a:hover{color:var(--blue)}
.related{margin-top:44px;padding-top:26px;border-top:1px solid var(--line)}
.related h2{font-size:19px;margin-bottom:14px}
.related ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:7px}
.related a{display:inline-block;background:var(--surface);border:1px solid var(--line);
  border-radius:var(--r);padding:7px 14px;font-size:13.5px}
.related a:hover{border-color:var(--blue);color:var(--blue)}
.related span{color:var(--muted);font-size:12px}
.rewp-empty{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);
  padding:26px;color:var(--ink-2);max-width:60ch}
.rewp-pagination{display:flex;gap:5px;justify-content:center;margin-top:34px;flex-wrap:wrap}
.rewp-pagination a,.rewp-pagination span{min-width:40px;height:40px;display:inline-flex;
  align-items:center;justify-content:center;padding:0 13px;border:1px solid var(--line);
  border-radius:var(--r);font-size:14px;background:var(--surface)}
.rewp-pagination .current{background:var(--blue);border-color:var(--blue);color:var(--on-accent,#fff)}

/* ---------- Alt bilgi ---------- */
.site-footer{background:var(--navy);color:rgba(255,255,255,.75);padding-block:48px 20px;font-size:14px}
.footer-grid{display:grid;grid-template-columns:1.7fr 1fr 1fr 1.2fr;gap:32px}
.site-footer a:hover{color:#fff}
.site-footer h3{color:#fff;font-size:19px;margin-bottom:10px}
.footer-title{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  color:rgba(255,255,255,.5);margin-bottom:12px}
.footer-col ul{list-style:none;margin:0;padding:0;line-height:2}
.footer-legal{border-top:1px solid rgba(255,255,255,.13);margin-top:32px;padding-top:18px;
  font-size:12.5px;color:rgba(255,255,255,.5);display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap}

/* ---------- Duyarlılık ---------- */
@media(max-width:1080px){
  .searchbox form{grid-template-columns:1fr 1fr 1fr}
  .prop-layout{grid-template-columns:1fr}
  .panel--sticky{position:static}
  .footer-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:860px){
  .split{grid-template-columns:1fr;height:auto}
  .split__map{height:320px}
  .split__list{border-left:0;overflow:visible}
  .prop-gallery{grid-template-columns:1fr 1fr}
  .prop-gallery > :first-child{grid-row:auto;grid-column:span 2}
}
@media(max-width:640px){
  .topbar,.nav,.header-right .btn{display:none}
  .nav-toggle{display:block}
  .site-header.nav-open .nav{display:flex;position:absolute;top:70px;left:0;right:0;background:#fff;
    flex-direction:column;gap:0;padding:6px 16px 14px;border-bottom:1px solid var(--line)}
  .site-header.nav-open .nav a{padding:12px 0;border-bottom:1px solid var(--line-2)}
  .searchbox form{grid-template-columns:1fr 1fr}
  .footer-grid{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){*{transition-duration:.01ms!important}}

/* ==========================================================================
   v2.1 — duyarlı düzen sınıfları, filtre çubuğu, alt bilgi
   Ana sayfalarda satır içi grid stilleri kullanılıyordu (örn. 1fr 400px);
   bunlar medya sorgusu almadığı için 390px ekranda yatay taşmaya yol açıyor
   ve sayfanın sağı kesiliyordu. Artık hepsi sınıf üzerinden.
   ========================================================================== */

html,body{max-width:100%;overflow-x:hidden}

/* iki sütun: eşit */
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,3.4vw,48px);align-items:center}
.two-col--media{grid-template-columns:.85fr 1.15fr}
.two-col img{width:100%;border-radius:var(--r)}
.two-col__figure img{aspect-ratio:4/5;object-fit:cover}

/* içerik + yandaki form paneli */
.col-form{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:clamp(24px,3vw,40px);align-items:start}

@media(max-width:900px){
  .two-col,.two-col--media,.col-form{grid-template-columns:1fr}
  .two-col__figure{max-width:420px}
}

/* ---------- Arşiv filtre çubuğu ---------- */
.filterbar{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);
  padding:14px;box-shadow:var(--sh);margin-bottom:22px}
.filterbar form{display:grid;grid-template-columns:1.5fr repeat(4,1fr) auto;gap:10px;align-items:end}
.filterbar .f > span{font-size:11px}
.filterbar .btn{width:100%}
@media(max-width:980px){.filterbar form{grid-template-columns:repeat(3,1fr)}}
@media(max-width:600px){.filterbar form{grid-template-columns:1fr 1fr}}

.result-bar{display:flex;align-items:center;justify-content:space-between;gap:14px;
  flex-wrap:wrap;margin-bottom:18px}
.result-bar .count{font-size:14.5px;color:var(--ink-2)}
.result-bar .count b{color:var(--ink);font-size:16px}
.result-bar form{display:flex;align-items:center;gap:8px}
.result-bar label{font-size:13px;color:var(--muted);font-weight:500}
.result-bar select{height:40px;padding:0 12px;border:1px solid var(--line);border-radius:var(--r);
  font:inherit;font-size:14px;background:var(--surface);color:var(--ink)}
.result-bar select:focus{outline:0;border-color:var(--blue)}

.active-filters{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:18px}
.chip{display:inline-flex;align-items:center;gap:7px;background:var(--line-2);border:1px solid var(--line);
  border-radius:999px;padding:5px 12px;font-size:13px;color:var(--ink-2)}
.chip a{display:inline-flex;color:var(--muted);font-size:15px;line-height:1}
.chip a:hover{color:var(--red)}
.chip--clear{background:transparent;border-style:dashed}

/* ---------- Alt bilgi zenginleştirme ---------- */
.footer-cta{background:var(--blue);color:var(--on-accent,#fff);padding-block:36px}
.footer-cta .wrap{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}
.footer-cta h2{font-size:clamp(19px,2.2vw,26px);color:inherit;margin-bottom:4px}
.footer-cta p{margin:0;color:inherit;opacity:.9;font-size:15px}
.footer-cta .btn{background:#fff;color:var(--navy);border-color:#fff}
.footer-cta .btn:hover{background:rgba(255,255,255,.88);border-color:rgba(255,255,255,.88);color:var(--navy)}

.footer-col ul li{display:block}
.footer-areas{columns:2;column-gap:18px}
.footer-areas li{break-inside:avoid}
.footer-social{display:flex;gap:10px;margin-top:14px}
.footer-social a{width:36px;height:36px;border-radius:var(--r);background:rgba(255,255,255,.1);
  display:grid;place-items:center;color:inherit}
.footer-social a:hover{background:rgba(255,255,255,.2);color:#fff}
.footer-badges{display:flex;gap:14px;align-items:center;margin-top:16px;
  font-size:11.5px;color:rgba(255,255,255,.55);flex-wrap:wrap}

@media(max-width:640px){
  .footer-areas{columns:1}
  .hero h1{font-size:clamp(24px,7vw,32px)}
  .hero__inner{padding-block:48px}
  .searchbox{padding:12px}
  .searchbox form{gap:8px}
  .result-bar{align-items:flex-start;flex-direction:column}
}

/* ==========================================================================
   v2.2 — mobil taşma düzeltmesi
   Sorun: .header-inner bir flex konteyneri ve çocukları varsayılan
   min-width:auto ile içeriklerinden küçülemiyordu. Marka (nowrap) + telefon
   + buton toplamı 390px'i aşınca başlık genişliyor, BODY onunla birlikte
   geniyor ve tüm sayfa sağdan kesiliyordu. overflow-x:hidden taşmayı
   gizliyordu ama düzeni düzeltmiyordu.
   ========================================================================== */

.wrap{width:100%}
.header-inner > *{min-width:0}
.brand{min-width:0;overflow:hidden;text-overflow:ellipsis}
.grid-cards > *,.type-grid > *,.agent-row > *,.two-col > *,.col-form > *,
.filterbar .f,.searchbox .f,.stats > *{min-width:0}
.facts{flex-wrap:wrap}
img,svg{max-width:100%}

@media(max-width:820px){
  .header-inner{gap:14px}
  .header-phone{font-size:14px}
}

@media(max-width:640px){
  .header-inner{height:62px;gap:10px}
  .brand{font-size:18px}
  .brand-mark{width:28px;height:28px;font-size:13px}
  /* Telefon mobilde GİZLENMEZ: emlak sitesinde mobilin birincil dönüşümü
     aramadır. Yalnızca küçültülür. (Önce gizlemiştim; ölçüm hatasıydı,
     gerçekte taşma yoktu.) */
  .header-phone{font-size:13.5px;gap:5px}
  .nav-toggle{display:block;margin-left:0;order:9}
  .site-header.nav-open .nav{top:62px}
  .hero{min-height:auto}
  .searchbox{max-width:100%}
  .searchbox form{grid-template-columns:1fr}
  .searchbox__tabs a{padding:10px 16px;font-size:13px}
  .sec-head h2{font-size:22px}
  .page-head h1{font-size:22px}
  .prop-bar .price{margin-left:0;text-align:left}
  .card__foot{flex-wrap:wrap}
  .footer-cta .wrap{flex-direction:column;align-items:flex-start}
}

/* Akış içinde kullanılan rozetler (ilan detay başlığı). */
.badges--inline{position:static;margin-top:10px;display:flex;gap:6px;flex-wrap:wrap}

/* Marka işareti v3: renkli kare + harf yerine temaya özgü SVG logo.
   Kutu SVG'nin kendi içinde, o yüzden konteyner nötrleniyor. */
.brand-mark{background:none;border-radius:0;color:inherit;width:34px;height:34px;font-size:0;
  display:block;flex:0 0 auto}
.brand-mark svg{display:block;width:34px;height:34px}
@media (max-width:860px){
  .brand-mark{width:30px;height:30px}
  .brand-mark svg{width:30px;height:30px}
}

/* Tablet (641-1080px): tam menü, telefon ve düğme aynı satıra sığmıyor, ikisi alt satıra
   kırılıyordu. Bu aralıkta menü hamburgere geçer; telefon ve düğme tek satırda kalır. */
.header-phone,.header-right .btn{white-space:nowrap}
@media(min-width:641px) and (max-width:1080px){
  .nav{display:none}
  .nav-toggle{display:block;margin-left:0;order:9}
  .site-header.nav-open .nav{display:flex;position:absolute;top:76px;left:0;right:0;background:#fff;
    flex-direction:column;gap:0;padding:6px 16px 14px;border-bottom:1px solid var(--line)}
  .site-header.nav-open .nav a{padding:12px 0;border-bottom:1px solid var(--line-2)}
}
