/* ============================================================
   KUŞADASI REAL ESTATE
   Layout & proportions derived from the supplied mockup
   (design canvas 939 x 1613 -> fluid 1040px container)
   ============================================================ */

:root{
  --navy:#16233c;
  --navy-2:#1e2d49;
  --gold:#ab9159;
  --gold-dark:#8e7644;
  --gold-light:#cdb684;
  --bg:#f4f5f7;
  --card:#ffffff;
  --muted:#98a0ad;
  --line:#e7e9ed;
  --shadow-sm:0 8px 22px rgba(18,32,58,.07);
  --shadow-md:0 20px 44px rgba(16,30,55,.13);
  --serif:'Playfair Display',Georgia,'Times New Roman',serif;
  --serif-alt:'Cormorant Garamond',Georgia,serif;
  --sans:'Inter','Segoe UI',Roboto,Helvetica,Arial,sans-serif;
}

*{box-sizing:border-box;}
[hidden]{display:none !important;}
html{-webkit-text-size-adjust:100%;}
body{
  margin:0;
  font-family:var(--sans);
  color:var(--navy);
  background:#e8e9ed;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
img{display:block;max-width:100%;}
a{color:inherit;}
button{font-family:inherit;}

.app{
  position:relative;
  width:100%;
  max-width:1040px;
  margin:0 auto;
  min-height:100vh;
  background:#fff;
  /* overflow-x:clip yatay taşmayı keser ama scroll container oluşturmaz;
     böylece alt menünün position:sticky davranışı ekrana göre çalışır. */
  overflow-x:hidden;
  overflow-x:clip;
}

/* ---------- TOP BAR ---------- */
.topbar{
  position:absolute;inset:0 0 auto 0;z-index:30;
  display:flex;align-items:center;justify-content:space-between;
  padding:clamp(14px,2vw,22px) clamp(18px,4vw,44px) 14px;
}
.app.on-sub .topbar{position:sticky;background:var(--navy);}
.brand{display:flex;align-items:center;gap:clamp(8px,1vw,12px);text-decoration:none;}
.brand-mark svg{display:block;width:clamp(42px,6.4vw,68px);height:auto;}
.brand-text{display:flex;flex-direction:column;line-height:1;}
.brand-name{
  font-family:var(--serif-alt);font-weight:500;
  font-size:clamp(26px,3.2vw,36px);letter-spacing:clamp(3px,.42vw,5px);color:#fff;
}
.brand-sub{
  font-size:clamp(8px,.85vw,11px);letter-spacing:clamp(3px,.42vw,5px);
  color:rgba(255,255,255,.82);margin-top:clamp(9px,1vw,13px);font-weight:500;
}
.menu-btn{
  width:clamp(38px,3.6vw,46px);height:clamp(30px,2.8vw,38px);padding:0;background:none;border:0;cursor:pointer;
  display:flex;flex-direction:column;justify-content:space-between;
}
.menu-btn span{display:block;width:100%;height:3px;border-radius:2px;background:#fff;}

/* ---------- HERO ---------- */
.hero{position:relative;}
.hero-media{
  width:100%;
  height:clamp(360px,55vw,580px);
  object-fit:cover;object-position:center 55%;
}
.hero-overlay{
  position:absolute;inset:0;
  background:
    linear-gradient(180deg,rgba(9,18,34,.70) 0%,rgba(9,18,34,.18) 26%,rgba(9,18,34,.16) 45%,rgba(9,18,34,.70) 100%),
    linear-gradient(90deg,rgba(9,18,34,.55) 0%,rgba(9,18,34,0) 62%);
}
.hero-content{
  position:absolute;left:0;right:0;
  bottom:clamp(86px,12.5vw,132px);
  padding:0 clamp(20px,4.2vw,44px);
}
.eyebrow{
  margin:0 0 clamp(8px,1vw,12px);
  color:var(--gold-light);
  font-size:clamp(13px,1.75vw,20px);font-weight:600;letter-spacing:clamp(2.4px,.35vw,4px);
}
.hero h1{
  margin:0;color:#fff;font-family:var(--serif);font-weight:500;
  font-size:clamp(31px,5.6vw,60px);line-height:1.14;letter-spacing:.2px;
  text-shadow:0 2px 22px rgba(0,0,0,.3);
}
.hero-text{
  margin:clamp(14px,1.8vw,20px) 0 0;max-width:clamp(300px,42vw,440px);
  color:rgba(255,255,255,.94);
  font-size:clamp(14.5px,2.05vw,23px);line-height:1.6;
}

/* ---------- SEARCH CARD ---------- */
.search-card{
  position:relative;z-index:5;
  margin:clamp(-64px,-6vw,-82px) clamp(14px,3.8vw,40px) 0;
  padding:clamp(12px,1.4vw,16px) clamp(12px,1.4vw,16px) clamp(14px,1.6vw,18px);
  background:#fff;border-radius:clamp(16px,1.8vw,20px);
  box-shadow:var(--shadow-md);
}
.tabs{display:grid;grid-template-columns:1fr 1fr;gap:clamp(8px,.9vw,12px);}
.tab{
  display:flex;align-items:center;justify-content:center;gap:clamp(8px,.9vw,12px);
  padding:clamp(12px,1.5vw,18px) 10px;border:0;border-radius:clamp(11px,1.2vw,14px);cursor:pointer;
  font-size:clamp(15px,2.1vw,24px);font-weight:600;background:#f1f2f5;color:var(--navy);
  transition:background .2s ease,color .2s ease;
}
.tab svg{
  width:clamp(19px,2vw,26px);height:auto;
  fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;
}
.tab.is-active{background:var(--gold);color:#fff;box-shadow:0 6px 16px rgba(171,145,89,.32);}

.fields{
  display:grid;grid-template-columns:repeat(3,1fr);align-items:center;
  gap:clamp(8px,.9vw,12px);margin-top:clamp(10px,1.2vw,14px);
}
.field{
  position:relative;display:flex;align-items:center;gap:clamp(6px,.7vw,9px);
  min-width:0;padding:clamp(10px,1.1vw,14px) clamp(9px,1vw,13px);
  border:1px solid var(--line);border-radius:clamp(11px,1.2vw,14px);background:#fff;
}
.field-icon{
  flex:0 0 auto;width:clamp(18px,1.9vw,24px);height:auto;
  fill:none;stroke:var(--navy);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;
}
.field-body{display:flex;flex-direction:column;min-width:0;line-height:1.28;}
.field-label{
  font-size:clamp(12px,1.75vw,19px);font-weight:600;color:var(--navy);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.field-hint{
  font-size:clamp(10.5px,1.5vw,17px);color:var(--muted);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.field select{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;}
.field-chevron{
  flex:0 0 auto;width:clamp(19px,1.9vw,24px);height:clamp(19px,1.9vw,24px);
  padding:0;background:none;border:0;cursor:pointer;
  display:grid;place-items:center;
}
.field-chevron svg{
  width:100%;height:auto;
  fill:none;stroke:var(--navy);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;
}

.price-pop{
  position:absolute;top:calc(100% + 8px);right:0;z-index:40;width:250px;
  padding:14px;background:#fff;border-radius:14px;box-shadow:var(--shadow-md);
  display:grid;gap:10px;
}
.pop-label{display:grid;gap:6px;font-size:12px;font-weight:600;color:var(--muted);}
.pop-label input{
  width:100%;padding:10px 11px;border:1px solid var(--line);border-radius:10px;
  font-family:inherit;font-size:14px;color:var(--navy);background:#fbfbfc;
}
.pop-apply{
  padding:11px;border:0;border-radius:10px;background:var(--gold);color:#fff;
  font-size:14px;font-weight:600;cursor:pointer;
}

.btn-search{
  width:100%;margin-top:clamp(11px,1.2vw,15px);padding:clamp(13px,1.5vw,18px);
  border:0;border-radius:clamp(11px,1.2vw,14px);
  display:flex;align-items:center;justify-content:center;gap:clamp(9px,1vw,12px);
  background:var(--gold);color:#fff;font-size:clamp(16px,2.1vw,25px);font-weight:600;cursor:pointer;
  text-decoration:none;
  box-shadow:0 8px 20px rgba(171,145,89,.32);transition:background .2s ease,transform .15s ease;
}
.btn-search:hover{background:var(--gold-dark);}
.btn-search:active{transform:translateY(1px);}
.btn-search svg{width:clamp(20px,2.1vw,27px);height:auto;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;}

/* ---------- FEATURES ---------- */
.features{
  display:grid;grid-template-columns:repeat(4,1fr);
  padding:clamp(24px,3vw,36px) clamp(6px,1vw,20px) clamp(22px,2.8vw,34px);
  background:#fff;
}
.feature{
  display:flex;flex-direction:column;align-items:center;gap:clamp(8px,1vw,12px);
  text-align:center;font-size:clamp(12.5px,1.6vw,18px);line-height:1.35;color:var(--navy);
}
.feature + .feature{border-left:1px solid var(--line);}
.feature svg{
  width:clamp(28px,3.8vw,42px);height:auto;
  fill:none;stroke:var(--navy);stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round;
}

/* ---------- LISTINGS ---------- */
.listings{background:var(--bg);padding:clamp(26px,3.2vw,42px) clamp(16px,4vw,40px) clamp(10px,1.4vw,16px);}
.section-head{
  display:flex;align-items:baseline;justify-content:space-between;gap:14px;
  margin-bottom:clamp(14px,1.8vw,22px);
}
.section-head h2,.sub-head h2,.sub-head h1{
  margin:0;font-family:var(--serif);font-weight:600;color:var(--navy);
  font-size:clamp(26px,4.4vw,48px);letter-spacing:.2px;
}
.all-link{
  font-size:clamp(13.5px,1.7vw,19px);font-weight:600;color:var(--navy);
  text-decoration:none;white-space:nowrap;
}
.all-link span{display:inline-block;font-size:1.25em;margin-left:5px;transition:transform .2s ease;}
.all-link:hover span{transform:translateX(4px);}

.cards{display:grid;gap:clamp(12px,1.5vw,20px);}
.card{
  background:var(--card);border-radius:clamp(13px,1.4vw,16px);overflow:hidden;
  box-shadow:var(--shadow-sm);
}
.card-media{position:relative;}
.card-media img{width:100%;aspect-ratio:4/3;object-fit:cover;}
.badge{
  position:absolute;left:clamp(8px,1vw,12px);bottom:clamp(8px,1vw,12px);
  padding:clamp(4px,.55vw,7px) clamp(10px,1.1vw,14px);border-radius:6px;
  font-size:clamp(12px,1.6vw,18px);font-weight:600;color:#fff;
}
.badge--sale{background:var(--gold);}
.badge--rent{background:rgba(18,30,50,.86);}
.fav{
  position:absolute;top:clamp(8px,1vw,12px);right:clamp(8px,1vw,12px);
  width:clamp(32px,3.2vw,40px);height:clamp(32px,3.2vw,40px);padding:0;
  border:0;border-radius:50%;background:rgba(255,255,255,.92);
  display:grid;place-items:center;cursor:pointer;box-shadow:0 4px 12px rgba(10,20,35,.18);
}
.fav svg{width:55%;height:auto;fill:none;stroke:var(--navy);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;transition:fill .18s ease,stroke .18s ease;}
.fav.is-active svg{fill:var(--gold);stroke:var(--gold);}

.card-body{padding:clamp(12px,1.4vw,18px) clamp(13px,1.5vw,19px) clamp(14px,1.6vw,20px);}
.card-body h3{margin:0;font-size:clamp(15px,1.9vw,21px);font-weight:700;color:var(--navy);}
.card-loc{
  display:flex;align-items:center;gap:6px;margin:clamp(6px,.8vw,9px) 0 clamp(9px,1.1vw,13px);
  font-size:clamp(12.5px,1.6vw,18px);color:var(--muted);
}
.card-loc svg{width:clamp(15px,1.5vw,18px);height:auto;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;}
.card-specs{
  display:flex;align-items:center;gap:clamp(12px,1.5vw,18px);list-style:none;
  margin:0 0 clamp(10px,1.2vw,14px);padding:0;
  font-size:clamp(12px,1.6vw,18px);color:var(--navy);
}
.card-specs li{display:flex;align-items:center;gap:5px;}
.card-specs svg{width:clamp(16px,1.6vw,20px);height:auto;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;}
.card-price{margin:0;font-size:clamp(17px,2vw,23px);font-weight:700;color:var(--navy);}
.card-price .per{font-size:.68em;font-weight:500;color:var(--muted);}
.filter-note{margin:14px 2px 4px;font-size:13.5px;color:var(--muted);}
.filter-note strong{color:var(--navy);}

/* ---------- CTA BANNER ---------- */
.cta{
  position:relative;margin:clamp(16px,1.8vw,22px) clamp(16px,4vw,40px) clamp(20px,2.4vw,30px);
  border-radius:clamp(13px,1.4vw,16px);overflow:hidden;
  min-height:clamp(150px,15vw,176px);display:flex;align-items:center;
}
.cta > img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 50%;}
.cta-overlay{
  position:absolute;inset:0;
  background:linear-gradient(100deg,rgba(12,24,44,.94) 0%,rgba(12,24,44,.78) 45%,rgba(12,24,44,.20) 100%);
}
.cta-content{position:relative;padding:clamp(18px,2.4vw,28px) clamp(18px,2.4vw,28px);}
.cta-eyebrow{
  margin:0 0 8px;color:var(--gold-light);
  font-size:clamp(11px,1.3vw,15px);font-weight:600;letter-spacing:clamp(2px,.26vw,3px);
}
.cta h2{margin:0;color:#fff;font-family:var(--serif);font-size:clamp(24px,3.9vw,42px);font-weight:500;line-height:1.24;}
.cta-text{margin:9px 0 0;color:rgba(255,255,255,.85);font-size:clamp(12px,1.4vw,16px);}
.cta-btn{
  position:absolute;right:clamp(16px,2.4vw,28px);top:50%;transform:translateY(-50%);z-index:2;
  padding:clamp(10px,1.1vw,13px) clamp(14px,1.7vw,20px);
  border:1px solid rgba(255,255,255,.55);border-radius:10px;
  color:#fff;font-size:clamp(13px,1.65vw,19px);font-weight:600;text-decoration:none;white-space:nowrap;
  backdrop-filter:blur(3px);background:rgba(255,255,255,.06);transition:background .2s ease;
}
.cta-btn:hover{background:rgba(255,255,255,.16);}
.cta-btn span{margin-left:6px;font-size:1.1em;}

/* ---------- SUB VIEWS ---------- */
.app.on-sub{background:var(--bg);}
.view-sub{padding:clamp(22px,2.8vw,34px) clamp(16px,4vw,40px) 40px;animation:fade .28s ease;}
@keyframes fade{from{opacity:0;transform:translateY(8px);}to{opacity:1;transform:none;}}
.sub-head{margin-bottom:clamp(16px,2vw,24px);}
.sub-head p{margin:7px 0 0;font-size:clamp(13px,1.5vw,17px);color:var(--muted);}
.empty-note{margin:18px 4px;font-size:13.5px;color:var(--muted);line-height:1.6;}

.contact-grid{display:grid;gap:clamp(10px,1.2vw,16px);margin-bottom:clamp(16px,2vw,24px);}
.contact-card{
  display:flex;align-items:center;gap:14px;padding:clamp(14px,1.6vw,20px);
  background:#fff;border-radius:14px;box-shadow:var(--shadow-sm);
  text-decoration:none;color:var(--navy);
}
.contact-card svg{width:clamp(20px,2.2vw,26px);height:auto;flex:0 0 auto;fill:none;stroke:var(--gold);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;}
.contact-card span{display:flex;flex-direction:column;gap:3px;min-width:0;}
.contact-card strong{font-size:clamp(13.5px,1.6vw,17px);font-weight:600;word-break:break-word;}
.contact-card small{font-size:12px;color:var(--muted);}

.contact-form{background:#fff;border-radius:14px;padding:clamp(16px,1.8vw,22px);box-shadow:var(--shadow-sm);}
.contact-form h3{margin:0 0 14px;font-family:var(--serif);font-size:clamp(18px,2.2vw,24px);font-weight:600;}
.contact-form input,.contact-form textarea{
  width:100%;margin-bottom:10px;padding:13px;border:1px solid var(--line);border-radius:10px;
  font-family:inherit;font-size:14px;color:var(--navy);background:#fbfbfc;resize:vertical;
}
.contact-form input:focus,.contact-form textarea:focus{outline:none;border-color:var(--gold);}
.contact-form .btn-search{margin-top:4px;}
.form-ok{margin:12px 0 0;font-size:13px;color:#2f7a4d;}

/* ---------- BOTTOM NAV ---------- */
.tabbar{
  position:sticky;bottom:0;z-index:25;
  display:grid;grid-template-columns:repeat(4,1fr);
  padding:clamp(9px,1vw,13px) 6px 6px;background:#fff;border-top:1px solid var(--line);
}
.tabnav{
  display:flex;flex-direction:column;align-items:center;gap:5px;
  padding:4px 0;background:none;border:0;cursor:pointer;
  color:var(--navy);font-size:clamp(11px,1.4vw,16px);font-weight:500;
}
.tabnav svg{width:clamp(22px,3.3vw,36px);height:auto;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;}
.tabnav.is-active{color:var(--gold);}
.home-indicator{
  grid-column:1/-1;display:block;width:clamp(110px,14vw,150px);height:5px;border-radius:3px;
  background:#1b2434;margin:8px auto 3px;
}

/* ---------- DRAWER ---------- */
.drawer-backdrop{position:fixed;inset:0;z-index:55;background:rgba(10,18,32,.55);animation:fade .2s ease;}
.drawer{
  position:fixed;top:0;right:0;z-index:60;height:100%;width:min(78vw,340px);
  background:#fff;padding:30px 24px;box-shadow:-20px 0 50px rgba(10,20,35,.22);
  transform:translateX(102%);transition:transform .3s cubic-bezier(.4,0,.2,1);
  display:flex;flex-direction:column;
}
.drawer.open{transform:none;}
.drawer-close{
  position:absolute;top:16px;right:18px;width:34px;height:34px;
  background:none;border:0;font-size:28px;line-height:1;color:var(--navy);cursor:pointer;
}
.drawer-brand{display:flex;flex-direction:column;line-height:1;margin-bottom:26px;}
.drawer-brand .brand-name{color:var(--navy);font-size:25px;}
.drawer-brand .brand-sub{color:var(--gold);margin-top:9px;}
.drawer-nav{display:flex;flex-direction:column;}
.drawer-nav a{
  padding:14px 0;border-bottom:1px solid var(--line);
  font-size:15px;font-weight:500;color:var(--navy);text-decoration:none;
}
.drawer-nav a:hover{color:var(--gold-dark);}
.drawer-foot{margin-top:auto;display:flex;flex-direction:column;gap:8px;font-size:13px;color:var(--muted);}
.drawer-foot a{text-decoration:none;color:var(--navy);}

/* ---------- TOAST ---------- */
.toast{
  position:fixed;left:50%;bottom:clamp(92px,12vw,120px);z-index:80;transform:translate(-50%,16px);
  padding:12px 20px;border-radius:30px;background:rgba(20,32,54,.95);color:#fff;
  font-size:13.5px;opacity:0;pointer-events:none;transition:opacity .25s ease,transform .25s ease;
  max-width:86vw;text-align:center;
}
.toast.show{opacity:1;transform:translate(-50%,0);}

/* ---------- RESPONSIVE GRID ---------- */
@media (min-width:520px){
  .cards{grid-template-columns:repeat(2,1fr);}
}
@media (min-width:780px){
  .cards{grid-template-columns:repeat(3,1fr);}
}

/* ---------- DESKTOP FRAME ---------- */
@media (min-width:1080px){
  body{
    background:
      radial-gradient(1100px 560px at 15% -10%,#f4f1ea 0%,transparent 62%),
      radial-gradient(900px 520px at 92% 108%,#e3e7ef 0%,transparent 62%),
      #e7e8ec;
    padding:30px 0;
  }
  .app{
    border-radius:24px;overflow:hidden;
    box-shadow:0 36px 90px rgba(14,28,50,.22);
    min-height:calc(100vh - 60px);
  }
  .tabbar{border-radius:0 0 24px 24px;}
}

@media (max-width:430px){
  .field:not(.field-price) .field-chevron{display:none;}
  .field-price .field-body{cursor:pointer;}
}
@media (max-width:430px){
  .cta{flex-direction:column;align-items:flex-start;justify-content:center;}
  .cta-btn{position:static;transform:none;margin:0 clamp(18px,2.4vw,28px) clamp(16px,2vw,24px);}
}
@media (prefers-reduced-motion:reduce){
  *{animation-duration:.01ms !important;transition-duration:.01ms !important;}
}

/* ============================================================
   YENİ BİLEŞENLER — mevcut palet/tipografi/spacing korunarak
   ============================================================ */

/* ---------- FİLTRE: ÇOKLU KONUM + FİYAT PANELİ ---------- */
.field-btn{
  display:flex;flex-direction:column;align-items:flex-start;justify-content:center;
  width:100%;min-width:0;padding:0;background:none;border:0;cursor:pointer;text-align:left;
}
.multi-panel,.price-panel{
  position:absolute;top:calc(100% + 8px);left:0;z-index:45;
  width:330px;max-width:min(88vw,330px);
  padding:14px;background:#fff;border-radius:14px;box-shadow:var(--shadow-md);
}
.price-panel{width:300px;}
.panel-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px;}
.panel-title{font-size:14px;font-weight:700;color:var(--navy);}
.panel-note{font-size:12px;color:var(--muted);}
.multi-list{
  max-height:260px;overflow-y:auto;margin:6px 0 10px;padding-right:4px;
  border-top:1px solid var(--line);border-bottom:1px solid var(--line);
}
.multi-list::-webkit-scrollbar{width:5px;}
.multi-list::-webkit-scrollbar-thumb{background:#d7dae0;border-radius:3px;}
.multi-item{
  display:flex;align-items:center;gap:10px;padding:9px 4px;cursor:pointer;
  font-size:13.5px;color:var(--navy);
}
.multi-item:hover{color:var(--gold-dark);}
.multi-check{position:absolute;opacity:0;width:0;height:0;}
.multi-box{
  flex:0 0 auto;width:18px;height:18px;border:1.5px solid #cfd4dc;border-radius:5px;
  background:#fff;position:relative;transition:background .15s ease,border-color .15s ease;
}
.multi-check:checked + .multi-box{background:var(--gold);border-color:var(--gold);}
.multi-check:checked + .multi-box::after{
  content:"";position:absolute;left:5px;top:1.5px;width:5px;height:9px;
  border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg);
}
.multi-all{border-bottom:1px solid var(--line);font-weight:600;padding-bottom:11px;margin-bottom:4px;}
.panel-actions{display:flex;gap:8px;margin-top:12px;}
.panel-clear,.panel-apply{
  flex:1;padding:11px;border-radius:10px;font-size:13.5px;font-weight:600;cursor:pointer;
}
.panel-clear{background:#f1f2f5;color:var(--navy);border:0;}
.panel-apply{background:var(--gold);color:#fff;border:0;}
.price-quick{display:flex;flex-direction:column;gap:6px;margin-bottom:12px;}
.price-quick-item{
  padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#fff;
  font-size:13.5px;color:var(--navy);text-align:left;cursor:pointer;
}
.price-quick-item:hover{border-color:var(--gold);color:var(--gold-dark);}
.price-quick-item.is-active{background:var(--gold);border-color:var(--gold);color:#fff;}
.price-inputs{display:grid;grid-template-columns:1fr 1fr;gap:8px;}

/* Mobilde panel alttan açılan pencere */
@media (max-width:640px){
  .multi-panel,.price-panel{
    position:fixed;left:0;right:0;bottom:0;top:auto;width:100%;max-width:none;
    max-height:80vh;overflow-y:auto;border-radius:20px 20px 0 0;
    padding:18px 16px 24px;box-shadow:0 -14px 44px rgba(10,20,35,.3);
    animation:sheetUp .25s ease;
  }
  .price-inputs{grid-template-columns:1fr;}
}
@keyframes sheetUp{from{transform:translateY(22px);opacity:.5;}to{transform:none;opacity:1;}}

/* ---------- SLIDER (yatay kaydırmalı ilan bölümleri) ---------- */
.listing-area{background:var(--bg);}
.slider-section{padding:clamp(26px,3.2vw,42px) 0 clamp(8px,1vw,14px);}
.slider-section .section-head{
  padding:0 clamp(16px,4vw,40px);
  margin-bottom:clamp(14px,1.8vw,22px);
}
.section-actions{display:flex;align-items:center;gap:clamp(10px,1.2vw,16px);}
.slider-arrows{display:none;gap:8px;}
.slider-btn{
  width:34px;height:34px;border-radius:50%;border:1px solid var(--line);background:#fff;
  color:var(--navy);font-size:20px;line-height:1;cursor:pointer;
  display:grid;place-items:center;transition:border-color .2s ease,color .2s ease;
}
.slider-btn:hover:not(:disabled){border-color:var(--gold);color:var(--gold-dark);}
.slider-btn:disabled{opacity:.38;cursor:default;}
.slider-track{
  display:flex;gap:clamp(12px,1.5vw,20px);
  padding:4px clamp(16px,4vw,40px) clamp(14px,1.6vw,20px);
  overflow-x:auto;overflow-y:hidden;
  scroll-snap-type:x mandatory;scroll-behavior:smooth;
  scrollbar-width:none;-ms-overflow-style:none;cursor:grab;
}
.slider-track::-webkit-scrollbar{display:none;}
.slider-track.is-dragging{cursor:grabbing;scroll-snap-type:none;scroll-behavior:auto;user-select:none;}
.slider-track .card{
  flex:0 0 82%;scroll-snap-align:start;
}
@media (min-width:520px){
  .slider-track .card{flex:0 0 46%;}
}
@media (min-width:780px){
  .slider-arrows{display:flex;}
  .slider-track .card{flex:0 0 31.5%;}
}
/* NOT — "min-width:1200px" kuralı bilerek kaldırıldı.
   .app kabuğu max-width:1040px ile sınırlı; viewport 1200px+ olsa bile kabuk
   1040px'te kalır. O kural, kabuğun 1200px geniş olduğunu varsayıp kartları
   %24'e (4 dar kart) düşürüyordu; "250 m²" gibi değerler iki satıra bölünüyor,
   başlıklar üç satıra taşıyordu. 939px'lik tasarım tuvalinde kart sayısı zaten
   3 idi (%31.5) — masaüstünde de aynı yoğunluk doğru olan. */

/* ---------- KART TIKLAMA (stretched link) ---------- */
.card{position:relative;}
.card-hit{
  position:absolute;inset:0;z-index:2;border-radius:inherit;
}

/* ---------- ALT MENÜ (3 başlık) ---------- */
.tabbar{grid-template-columns:repeat(3,1fr);}
@media (min-width:1080px){
  .tabbar{position:static;}
}

/* ---------- TÜM İLANLAR SAYFASI ---------- */
.view-sub--page{padding-bottom:clamp(28px,3vw,44px);}
.search-card--page{margin:0 0 clamp(14px,1.8vw,22px);}
.toolbar{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  margin-bottom:clamp(12px,1.5vw,18px);padding:0 2px;
}
.toolbar-count{margin:0;font-size:clamp(13px,1.5vw,16px);color:var(--muted);}
.toolbar-count strong{color:var(--navy);font-weight:700;}
.toolbar-sort{
  position:relative;display:flex;align-items:center;gap:8px;
  padding:9px 12px;border:1px solid var(--line);border-radius:11px;background:#fff;cursor:pointer;
}
.toolbar-sort-label{font-size:12.5px;color:var(--muted);white-space:nowrap;}
.toolbar-sort select{
  appearance:none;-webkit-appearance:none;border:0;background:none;padding-right:18px;
  font-family:inherit;font-size:13.5px;font-weight:600;color:var(--navy);cursor:pointer;
}
.toolbar-sort .field-chevron{position:absolute;right:8px;width:16px;pointer-events:none;}
.cards--grid{grid-template-columns:repeat(3,1fr);}
/* NOT — "min-width:1200px" / 4 sütun kuralı da bilerek kaldırıldı.
   1040px'lik kabukta 4 sütun sütun başına ~250px düşüyor ve kart içeriği
   (başlık, konum, özellik satırı, fiyat) sıkışıyor. 3 sütun hem mockup'taki
   yoğunlukla birebir aynı hem de okunabilir. */
.empty-state{
  display:flex;flex-direction:column;align-items:center;text-align:center;
  gap:10px;padding:clamp(36px,5vw,64px) 20px;background:#fff;border-radius:14px;
}
.empty-state svg{width:42px;height:42px;fill:none;stroke:var(--gold);stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;}
.empty-state h2{margin:6px 0 0;font-family:var(--serif);font-size:clamp(20px,2.4vw,26px);font-weight:600;color:var(--navy);}
.empty-state p{margin:0;color:var(--muted);font-size:14px;}
.btn-search--inline{width:auto;align-self:center;padding:14px 28px;margin-top:8px;}

/* ---------- İLETİŞİM SAYFASI ---------- */
.map-placeholder{
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;
  min-height:clamp(170px,20vw,240px);margin-bottom:clamp(16px,2vw,24px);
  background:#fff;border-radius:14px;box-shadow:var(--shadow-sm);text-align:center;
}
.map-placeholder svg{width:34px;height:34px;fill:none;stroke:var(--gold);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;}
.map-placeholder strong{font-size:15px;color:var(--navy);}
.map-placeholder span{font-size:13px;color:var(--muted);}

/* ---------- DETAY SAYFASI (yer tutucu) ---------- */
.detail-card{
  background:#fff;border-radius:16px;padding:clamp(22px,3vw,40px);
  box-shadow:var(--shadow-sm);
}
.detail-card .eyebrow{margin-bottom:8px;}
.detail-card h1{
  margin:0 0 10px;font-family:var(--serif);font-weight:600;color:var(--navy);
  font-size:clamp(24px,3.4vw,38px);line-height:1.2;
}
.detail-loc{margin:0 0 16px;font-size:clamp(13px,1.6vw,16px);color:var(--muted);}
.detail-price{margin:0 0 18px;font-size:clamp(19px,2.2vw,26px);font-weight:700;color:var(--navy);}
.detail-price .per{font-size:.68em;font-weight:500;color:var(--muted);}
.detail-note{
  margin:0 0 20px;padding:14px 16px;border-radius:12px;background:var(--bg);
  font-size:clamp(13px,1.5vw,15px);color:var(--navy-soft);line-height:1.6;
}
.detail-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap;}
.detail-actions .btn-search{width:auto;padding:14px 28px;margin-top:0;}
.detail-link{font-size:14px;font-weight:600;color:var(--navy);text-decoration:none;}
.detail-empty{
  background:#fff;border-radius:16px;padding:clamp(28px,4vw,56px);text-align:center;
  box-shadow:var(--shadow-sm);
}
.detail-empty h1{margin:0 0 10px;font-family:var(--serif);font-size:clamp(22px,3vw,32px);color:var(--navy);}
.detail-empty p{margin:0 0 20px;color:var(--muted);font-size:14px;}
.detail-empty .btn-search{width:auto;align-self:center;margin:0;}

/* ============================================================
   İLAN DETAY SAYFASI — galeri, fiyat, detay tablosu
   ============================================================ */
.ilan-detay{padding-bottom:clamp(20px,2.5vw,34px);}

.detay-ust{padding-bottom:clamp(6px,1vw,10px);}
.geri-btn{
  display:inline-flex;align-items:center;gap:7px;
  padding:9px 16px 9px 12px;border:1px solid var(--line);border-radius:999px;
  background:#fff;color:var(--navy);font-size:13.5px;font-weight:600;cursor:pointer;
  box-shadow:var(--shadow-sm);transition:border-color .2s ease,color .2s ease;
}
.geri-btn:hover{border-color:var(--gold);color:var(--gold-dark);}
.geri-btn svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}

.kirinti{
  display:flex;align-items:center;gap:8px;flex-wrap:wrap;
  padding:0 2px clamp(10px,1.2vw,14px);
  font-size:clamp(12px,1.4vw,14.5px);color:var(--muted);
}
.kirinti a{color:var(--navy);text-decoration:none;font-weight:600;}
.kirinti a:hover{color:var(--gold-dark);}
.kirinti-ayrac{color:var(--gold);}
.kirinti strong{color:var(--navy);font-weight:700;}

/* ---------- GALERİ ---------- */
.galeri{position:relative;}
.galeri-media{position:relative;overflow:hidden;border-radius:clamp(13px,1.4vw,16px);background:#e9eaee;}
.galeri-track{
  display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;
  scrollbar-width:none;-ms-overflow-style:none;cursor:grab;
}
.galeri-track::-webkit-scrollbar{display:none;}
.galeri-track.is-dragging{cursor:grabbing;scroll-snap-type:none;scroll-behavior:auto;user-select:none;}
.galeri-slayt{flex:0 0 100%;margin:0;scroll-snap-align:center;}
.galeri-slayt img{width:100%;aspect-ratio:16/9;object-fit:cover;display:block;}
.galeri-rozet{position:absolute;left:clamp(10px,1.2vw,16px);bottom:clamp(10px,1.2vw,16px);z-index:3;}
.galeri-btn{
  position:absolute;top:50%;transform:translateY(-50%);z-index:3;
  width:clamp(34px,3.4vw,42px);height:clamp(34px,3.4vw,42px);
  border:0;border-radius:50%;background:rgba(255,255,255,.92);color:var(--navy);
  display:none;place-items:center;cursor:pointer;box-shadow:0 6px 18px rgba(10,20,35,.2);
}
.galeri-btn svg{width:52%;height:52%;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;}
.galeri-btn--prev{left:clamp(10px,1.2vw,16px);}
.galeri-btn--next{right:clamp(10px,1.2vw,16px);}
.galeri-btn:disabled{opacity:.35;cursor:default;}
@media (min-width:780px){
  .galeri-btn{display:grid;}
}
.galeri-alt{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:clamp(10px,1.2vw,14px) 4px 0;}
.galeri-noktalar{display:flex;align-items:center;gap:7px;flex-wrap:wrap;}
.galeri-nokta{
  width:8px;height:8px;padding:0;border:0;border-radius:50%;background:#d5d9e0;
  cursor:pointer;transition:background .2s ease,transform .2s ease;
}
.galeri-nokta.is-active{background:var(--gold);transform:scale(1.3);}
.galeri-sayac{font-size:13px;color:var(--muted);white-space:nowrap;}
.galeri-sayac strong{color:var(--navy);font-weight:700;}

/* ---------- LIGHTBOX ---------- */
.lightbox{
  position:fixed;inset:0;z-index:90;background:rgba(10,16,28,.96);
  display:flex;align-items:center;justify-content:center;padding:clamp(16px,3vw,40px);
}
.lightbox[hidden]{display:none;}
.lightbox-govde{margin:0;max-width:min(1100px,100%);}
.lightbox-govde img{width:100%;max-height:78vh;object-fit:contain;display:block;border-radius:12px;}
.lightbox-kapat{
  position:absolute;top:clamp(12px,1.8vw,22px);right:clamp(12px,1.8vw,22px);
  width:42px;height:42px;border:0;border-radius:50%;
  background:rgba(255,255,255,.14);color:#fff;font-size:26px;line-height:1;cursor:pointer;
}
.lightbox-btn{
  position:absolute;top:50%;transform:translateY(-50%);
  width:46px;height:46px;border-radius:50%;border:1px solid rgba(255,255,255,.28);
  background:rgba(255,255,255,.1);color:#fff;display:grid;place-items:center;cursor:pointer;
}
.lightbox-btn svg{width:50%;height:50%;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}
.lightbox-btn--prev{left:clamp(8px,2vw,26px);}
.lightbox-btn--next{right:clamp(8px,2vw,26px);}
.lightbox-sayac{
  position:absolute;bottom:clamp(14px,2vw,26px);left:50%;transform:translateX(-50%);
  color:rgba(255,255,255,.85);font-size:13px;
}

/* ---------- DETAY GÖVDE ---------- */
.detay-govde{padding:clamp(18px,2.4vw,30px) 0 0;}
.detay-fiyat{
  margin:0 0 8px;color:var(--gold);
  font-size:clamp(26px,3.6vw,44px);font-weight:700;letter-spacing:.3px;line-height:1.1;
}
.detay-fiyat .per{font-size:.42em;font-weight:500;color:var(--muted);letter-spacing:0;}
.detay-baslik{
  margin:0 0 8px;font-family:var(--serif);font-weight:600;color:var(--navy);
  font-size:clamp(21px,2.8vw,34px);line-height:1.24;
}
.detay-konum{
  display:flex;align-items:center;gap:6px;margin:0 0 clamp(16px,2vw,24px);
  font-size:clamp(13px,1.5vw,16px);color:var(--muted);
}
.detay-konum svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;}

.detay-tablo{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 clamp(16px,2.4vw,32px);
  margin:0 0 clamp(18px,2.2vw,26px);padding:0;
  background:#fff;border-radius:clamp(13px,1.4vw,16px);
  box-shadow:var(--shadow-sm);overflow:hidden;
}
.detay-satir{
  display:flex;align-items:baseline;justify-content:space-between;gap:10px;
  min-width:0;padding:clamp(11px,1.3vw,15px) clamp(13px,1.5vw,18px);
  border-bottom:1px solid var(--line);
}
.detay-etiket{margin:0;flex:0 1 auto;min-width:0;font-size:clamp(12.5px,1.4vw,15px);font-weight:500;color:var(--muted);}
.detay-deger{margin:0;flex:0 0 auto;max-width:62%;font-size:clamp(13px,1.5vw,16px);font-weight:600;color:var(--navy);text-align:right;overflow-wrap:anywhere;}
@media (max-width:640px){
  .detay-tablo{grid-template-columns:minmax(0,1fr);}
}
.detay-aciklama{
  background:#fff;border-radius:clamp(13px,1.4vw,16px);
  padding:clamp(16px,1.9vw,24px) clamp(15px,1.7vw,22px);
  box-shadow:var(--shadow-sm);margin:0 0 clamp(18px,2.2vw,26px);
}
.detay-aciklama h2{
  margin:0 0 9px;font-family:var(--serif);font-weight:600;color:var(--navy);
  font-size:clamp(17px,2vw,23px);line-height:1.3;
}
.detay-aciklama p{
  margin:0;font-size:clamp(13.5px,1.5vw,16px);line-height:1.75;color:var(--navy);
}
.detay-konum-blok{
  background:#fff;border-radius:clamp(13px,1.4vw,16px);
  padding:clamp(16px,1.9vw,24px) clamp(15px,1.7vw,22px);
  box-shadow:var(--shadow-sm);margin:0 0 clamp(18px,2.2vw,26px);
}
.detay-konum-ust{display:flex;gap:clamp(12px,1.7vw,17px);align-items:flex-start;}
.detay-konum-ikon{
  flex:none;display:flex;align-items:center;justify-content:center;
  width:clamp(38px,4vw,46px);height:clamp(38px,4vw,46px);
  background:rgba(171,145,89,.14);border-radius:12px;
}
.detay-konum-ikon svg{
  width:clamp(19px,2vw,23px);height:clamp(19px,2vw,23px);
  fill:none;stroke:var(--gold-dark);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;
}
.detay-konum-metin{min-width:0;}
.detay-konum-blok h2{
  margin:0 0 6px;font-family:var(--serif);font-weight:600;color:var(--navy);
  font-size:clamp(17px,2vw,23px);line-height:1.3;
}
.detay-konum-blok p{
  margin:0;font-size:clamp(13.5px,1.5vw,16px);line-height:1.7;color:var(--navy);
}
.detay-konum-blok .detay-konum-alt{
  margin-top:5px;font-size:clamp(12.5px,1.35vw,14px);color:var(--muted);
}
.detay-konum-link{
  display:inline-flex;align-items:center;gap:6px;margin-top:11px;
  font-size:clamp(12.5px,1.4vw,14.5px);font-weight:600;color:var(--gold-dark);
  text-decoration:none;padding-bottom:2px;
  border-bottom:1px solid rgba(171,145,89,.45);
  transition:color .18s ease,border-color .18s ease;
}
.detay-konum-link:hover{color:var(--navy);border-color:rgba(22,35,60,.4);}

/* ----- Konum harita görüntüsü ----- */
.detay-harita{margin:clamp(14px,1.8vw,19px) 0 0;}
.detay-harita-cerceve{
  position:relative;overflow:hidden;border-radius:12px;background:#e9edf1;
  box-shadow:inset 0 0 0 1px rgba(22,35,60,.07);
}
.detay-harita-karo{
  position:absolute;width:256px;height:256px;display:block;z-index:1;
  opacity:0;transition:opacity .45s ease;
}
.detay-harita-cerceve.hazir .detay-harita-karo{opacity:1;}
.detay-harita-isaret{
  position:absolute;left:50%;top:50%;transform:translate(-50%,-100%);
  width:34px;height:34px;pointer-events:none;z-index:3;
  filter:drop-shadow(0 3px 5px rgba(18,32,58,.35));
}
.detay-harita-isaret svg{width:100%;height:100%;fill:#b2483d;stroke:#fff;stroke-width:1.1;}
.detay-harita-yedek{
  position:absolute;inset:0;display:none;flex-direction:column;z-index:2;
  align-items:center;justify-content:center;gap:5px;padding:16px;text-align:center;
  background:linear-gradient(180deg,#eef1f5,#e3e9ef);
}
.detay-harita-cerceve.hata .detay-harita-yedek{display:flex;}
.detay-harita-yedek svg{width:25px;height:25px;fill:none;stroke:var(--gold-dark);stroke-width:1.6;}
.detay-harita-yedek strong{font-family:var(--serif);font-size:15px;color:var(--navy);}
.detay-harita-yedek span{font-size:12.5px;color:var(--muted);}
.detay-harita-atif{
  position:absolute;right:0;bottom:0;padding:3px 7px;z-index:3;
  background:rgba(255,255,255,.88);font-size:10px;line-height:1.4;color:#5c6572;
  text-decoration:none;border-top-left-radius:6px;
}
.detay-harita-atif:hover{color:var(--navy);}
.detay-cta{display:inline-flex;width:auto;align-self:flex-start;padding:14px 26px;margin:0 0 clamp(18px,2vw,24px);}
.detay-cta svg{width:20px;height:20px;}

/* ---------- İLAN BULUNAMADI ---------- */
.detay-bos{
  background:#fff;border-radius:clamp(13px,1.4vw,16px);
  padding:clamp(30px,5vw,72px) clamp(18px,3vw,40px);text-align:center;
  box-shadow:var(--shadow-sm);
}
.detay-bos-ikon{
  width:56px;height:56px;margin:0 auto 14px;border-radius:50%;background:var(--bg);
  display:grid;place-items:center;
}
.detay-bos-ikon svg{width:26px;height:26px;fill:none;stroke:var(--gold);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;}
.detay-bos h1{margin:0 0 10px;font-family:var(--serif);font-size:clamp(23px,3vw,34px);font-weight:600;color:var(--navy);}
.detay-bos p{margin:0 auto clamp(20px,2.4vw,28px);max-width:520px;font-size:clamp(13.5px,1.5vw,16px);color:var(--muted);line-height:1.6;}
.detay-bos-eylem{display:flex;align-items:center;justify-content:center;gap:16px;flex-wrap:wrap;}
.detay-bos-eylem .btn-search{width:auto;padding:14px 28px;margin:0;}
.detay-bos-geri{background:none;border:0;color:var(--navy);font-size:14px;font-weight:600;text-decoration:underline;cursor:pointer;}

/* ============================================================
   SABİT WHATSAPP BUTONU — tüm sayfalarda sağ alt köşe
   ============================================================ */
.whatsapp-fab{
  position:fixed;right:clamp(12px,2vw,24px);bottom:clamp(86px,13vw,104px);z-index:45;
  display:inline-flex;align-items:center;gap:clamp(9px,1vw,12px);
  padding:9px clamp(15px,1.8vw,20px) 9px 9px;border-radius:999px;
  background:var(--navy);color:#fff;text-decoration:none;
  box-shadow:0 12px 28px rgba(16,30,55,.26);
  transition:transform .2s ease,box-shadow .2s ease,opacity .2s ease;
}
.whatsapp-fab:hover{transform:translateY(-2px);box-shadow:0 16px 34px rgba(16,30,55,.32);}
.whatsapp-fab:focus-visible{outline:3px solid var(--gold);outline-offset:3px;}
.whatsapp-fab-ikon{
  display:grid;place-items:center;flex:0 0 auto;
  width:clamp(38px,4.4vw,46px);height:clamp(38px,4.4vw,46px);border-radius:50%;
  background:#25d366;
}
.whatsapp-fab-ikon svg{width:56%;height:56%;fill:none;stroke:#fff;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;}
.whatsapp-fab-yazi{display:flex;flex-direction:column;line-height:1.2;}
.whatsapp-fab-yazi strong{font-size:clamp(13px,1.5vw,15px);font-weight:700;color:#fff;letter-spacing:.1px;}
.whatsapp-fab-yazi small{margin-top:2px;font-size:clamp(11px,1.25vw,12.5px);font-weight:500;color:var(--gold-light);}
@media (min-width:1080px){
  .whatsapp-fab{bottom:clamp(22px,2.4vw,30px);padding:11px clamp(18px,2vw,22px) 11px 11px;}
}
/* Çekmece açıkken buton gizlenir */
.drawer.open ~ .whatsapp-fab{opacity:0;pointer-events:none;transform:translateY(12px);}
