/* ============================================================
   Qaya Villa — haki & beyaz, elegant
   ============================================================ */

:root{
  /* Haki ailesi */
  --khaki-950:#20231A;
  --khaki-900:#2E3226;
  --khaki-800:#3D4232;
  --khaki-700:#555B41;
  --khaki-600:#6B7150;   /* birincil */
  --khaki-500:#848A66;
  --khaki-400:#9DA382;
  --khaki-300:#BBBFA3;
  --khaki-200:#D5D8C3;
  --khaki-100:#E7E9DC;

  /* Nötrler */
  --white:#FFFFFF;
  --cream:#FAF9F4;
  --sand:#F1EFE6;
  --line:#E2E0D4;
  --line-soft:#EDEBE1;

  --ink:#24261D;
  --body:#585C4C;
  --muted:#8A8D7C;

  --gold:#B29A66;

  --r-sm:2px;
  --r-md:3px;
  --shadow-sm:0 1px 2px rgba(36,38,29,.05), 0 8px 24px -16px rgba(36,38,29,.25);
  --shadow-md:0 2px 4px rgba(36,38,29,.05), 0 24px 56px -28px rgba(36,38,29,.35);
  --shadow-lg:0 40px 90px -40px rgba(36,38,29,.45);

  --serif:"Cormorant Garamond", "Iowan Old Style", Georgia, "Times New Roman", serif;
  --sans:"Jost", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;

  --wrap:1240px;
  --gut:clamp(20px, 5vw, 64px);
  --nav-h:76px;

  --ease:cubic-bezier(.22,.61,.36,1);
}

*,*::before,*::after{box-sizing:border-box}

html{-webkit-text-size-adjust:100%; scroll-behavior:smooth; scroll-padding-top:calc(var(--nav-h) + 16px)}

body{
  margin:0;
  background:var(--cream);
  color:var(--body);
  font-family:var(--sans);
  font-size:16px;
  line-height:1.72;
  font-weight:300;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
body.no-scroll{overflow:hidden}

img{max-width:100%; display:block}
a{color:inherit; text-decoration:none}
button{font:inherit; color:inherit; cursor:pointer; background:none; border:0}
ul{margin:0; padding:0; list-style:none}

/* ---------- Tipografi ---------- */
h1,h2,h3,h4{
  font-family:var(--serif);
  color:var(--ink);
  font-weight:400;
  line-height:1.12;
  letter-spacing:-.01em;
  margin:0;
}
h1{font-size:clamp(2.6rem, 6.2vw, 5rem)}
h2{font-size:clamp(2rem, 4.2vw, 3.35rem)}
h3{font-size:clamp(1.35rem, 2.2vw, 1.85rem)}
h4{font-size:1.15rem}
p{margin:0 0 1.1em}
p:last-child{margin-bottom:0}

.eyebrow{
  font-family:var(--sans);
  font-size:.7rem;
  font-weight:400;
  letter-spacing:.34em;
  text-transform:uppercase;
  color:var(--khaki-500);
  margin:0 0 1.1rem;
  display:flex; align-items:center; gap:.9rem;
}
.eyebrow::before{
  content:""; width:32px; height:1px; background:var(--khaki-300); flex:none;
}
.eyebrow.center{justify-content:center}
.eyebrow.center::after{content:""; width:32px; height:1px; background:var(--khaki-300); flex:none}

.lead{font-size:1.075rem; line-height:1.8; color:var(--body)}

/* ---------- Yerleşim ---------- */
.wrap{width:100%; max-width:var(--wrap); margin-inline:auto; padding-inline:var(--gut)}
.wrap-narrow{max-width:820px}
section{position:relative}
.section{padding-block:clamp(72px, 10vw, 140px)}
.section--tight{padding-block:clamp(56px, 7vw, 96px)}
.section--sand{background:var(--sand)}
.section--white{background:var(--white)}
.section--dark{background:var(--khaki-900); color:var(--khaki-200)}
.section--dark h1,.section--dark h2,.section--dark h3{color:var(--white)}
.section--dark .eyebrow{color:var(--khaki-300)}
.section--dark .eyebrow::before,.section--dark .eyebrow::after{background:var(--khaki-600)}

.sec-head{max-width:660px; margin-bottom:clamp(40px,5vw,68px)}
.sec-head.center{margin-inline:auto; text-align:center}
.sec-head p{margin-top:1.1rem}

/* ---------- Butonlar ---------- */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:.6rem;
  padding:.95rem 2rem;
  font-size:.74rem; font-weight:400; letter-spacing:.2em; text-transform:uppercase;
  border:1px solid transparent; border-radius:var(--r-sm);
  transition:all .45s var(--ease);
  white-space:nowrap; text-align:center;
}
.btn--solid{background:var(--khaki-700); color:var(--white); border-color:var(--khaki-700)}
.btn--solid:hover{background:var(--khaki-900); border-color:var(--khaki-900)}
.btn--ghost{border-color:var(--khaki-300); color:var(--ink)}
.btn--ghost:hover{border-color:var(--khaki-700); background:var(--khaki-700); color:var(--white)}
.btn--light{border-color:rgba(255,255,255,.5); color:#fff; backdrop-filter:blur(6px); background:rgba(255,255,255,.06)}
.btn--light:hover{background:var(--white); color:var(--ink); border-color:var(--white)}
.btn--block{display:flex; width:100%}
.btn--sm{padding:.72rem 1.4rem; font-size:.68rem}

.link-ul{
  display:inline-flex; align-items:center; gap:.55rem;
  font-size:.73rem; letter-spacing:.2em; text-transform:uppercase; color:var(--ink);
  padding-bottom:.4rem; border-bottom:1px solid var(--khaki-300);
  transition:border-color .4s var(--ease), color .4s var(--ease), gap .4s var(--ease);
}
.link-ul:hover{border-color:var(--khaki-700); gap:.9rem}
.link-ul .arw{transition:transform .4s var(--ease)}
.link-ul:hover .arw{transform:translateX(3px)}

/* ---------- Üst menü ---------- */
.nav{
  position:fixed; inset:0 0 auto; z-index:80; height:var(--nav-h);
  display:flex; align-items:center;
  transition:background .5s var(--ease), box-shadow .5s var(--ease), border-color .5s var(--ease);
  border-bottom:1px solid transparent;
}
.nav__in{display:flex; align-items:center; justify-content:space-between; gap:2rem; width:100%}
.nav.is-solid{background:rgba(250,249,244,.93); backdrop-filter:blur(14px) saturate(1.3); border-bottom-color:var(--line); box-shadow:0 1px 30px -18px rgba(36,38,29,.5)}

.brand{display:flex; align-items:center; gap:.75rem; flex:none}
.brand__mark{
  width:34px; height:34px; flex:none; border:1px solid currentColor; border-radius:50%;
  display:grid; place-items:center; font-family:var(--serif); font-size:1rem; letter-spacing:.02em;
  transition:color .5s var(--ease);
}
.brand__txt{display:flex; flex-direction:column; line-height:1.05}
.brand__name{font-family:var(--serif); font-size:1.3rem; letter-spacing:.06em}
.brand__sub{font-size:.53rem; letter-spacing:.32em; text-transform:uppercase; opacity:.72; margin-top:3px}

.nav__links{display:flex; align-items:center; gap:2.2rem}
.nav__links a{
  position:relative; font-size:.73rem; letter-spacing:.18em; text-transform:uppercase; padding-block:.4rem;
}
.nav__links a::after{
  content:""; position:absolute; left:0; bottom:0; width:0; height:1px; background:currentColor;
  transition:width .45s var(--ease); opacity:.75;
}
.nav__links a:hover::after,.nav__links a.active::after{width:100%}
.nav__cta{display:flex; align-items:center; gap:1.2rem; flex:none}
.nav__tel{font-size:.78rem; letter-spacing:.1em; white-space:nowrap}

/* Şeffaf (hero üstü) durum */
.nav--over{color:var(--white)}
.nav--over .btn--ghost{border-color:rgba(255,255,255,.55); color:#fff}
.nav--over .btn--ghost:hover{background:#fff; color:var(--ink); border-color:#fff}
.nav.is-solid{color:var(--ink)}
.nav.is-solid .btn--ghost{border-color:var(--khaki-300); color:var(--ink)}

.burger{display:none; width:42px; height:42px; place-items:center; flex:none}
.burger span{display:block; width:22px; height:1px; background:currentColor; position:relative; transition:.4s var(--ease)}
.burger span::before,.burger span::after{content:""; position:absolute; left:0; width:22px; height:1px; background:currentColor; transition:.4s var(--ease)}
.burger span::before{top:-7px}
.burger span::after{top:7px}
body.menu-open .burger span{background:transparent}
body.menu-open .burger span::before{top:0; transform:rotate(45deg)}
body.menu-open .burger span::after{top:0; transform:rotate(-45deg)}

.drawer{
  position:fixed; inset:0; z-index:70; background:var(--khaki-900); color:var(--khaki-100);
  display:flex; flex-direction:column; justify-content:center; gap:.4rem;
  padding:var(--nav-h) var(--gut) var(--gut);
  opacity:0; visibility:hidden; transform:translateY(-12px);
  transition:opacity .5s var(--ease), transform .5s var(--ease), visibility .5s;
}
body.menu-open .drawer{opacity:1; visibility:visible; transform:none}
.drawer a{font-family:var(--serif); font-size:clamp(2rem,8vw,3rem); color:var(--white); padding-block:.35rem; border-bottom:1px solid rgba(255,255,255,.08)}
.drawer .drawer__foot{margin-top:2.4rem; font-size:.8rem; letter-spacing:.12em; color:var(--khaki-300); border:0}

/* ---------- Hero ---------- */
.hero{position:relative; min-height:100svh; display:flex; align-items:flex-end; color:var(--white); overflow:hidden}
.hero__media{position:absolute; inset:0}
.hero__media img{width:100%; height:100%; object-fit:cover; animation:heroZoom 16s var(--ease) forwards}
@keyframes heroZoom{from{transform:scale(1.1)} to{transform:scale(1)}}
.hero::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(32,35,26,.55) 0%, rgba(32,35,26,.12) 34%, rgba(32,35,26,.72) 100%);
}
.hero__in{position:relative; z-index:2; width:100%; padding-bottom:clamp(56px,9vh,110px); padding-top:calc(var(--nav-h) + 40px)}
.hero h1{color:var(--white); max-width:15ch; text-shadow:0 2px 40px rgba(0,0,0,.35)}
.hero h1 em{font-style:italic; color:var(--khaki-200)}
.hero .eyebrow{color:rgba(255,255,255,.82)}
.hero .eyebrow::before{background:rgba(255,255,255,.45)}
.hero__sub{max-width:46ch; margin-top:1.6rem; color:rgba(255,255,255,.88); font-size:1.05rem}
.hero__actions{display:flex; flex-wrap:wrap; gap:1rem; margin-top:2.4rem}
.hero__stats{
  display:flex; flex-wrap:wrap; gap:clamp(1.6rem,4vw,3.6rem);
  margin-top:clamp(2.6rem,5vh,4rem); padding-top:1.8rem; border-top:1px solid rgba(255,255,255,.2);
}
.hero__stat b{display:block; font-family:var(--serif); font-size:1.9rem; font-weight:400; color:var(--white); line-height:1}
.hero__stat span{font-size:.66rem; letter-spacing:.24em; text-transform:uppercase; color:rgba(255,255,255,.7)}
.scroll-hint{
  position:absolute; right:var(--gut); bottom:clamp(56px,9vh,110px); z-index:3;
  writing-mode:vertical-rl; font-size:.62rem; letter-spacing:.3em; text-transform:uppercase;
  color:rgba(255,255,255,.65); display:flex; align-items:center; gap:1rem;
}
.scroll-hint::after{content:""; width:1px; height:56px; background:linear-gradient(rgba(255,255,255,.6), transparent)}

/* ---------- Giriş / anlatı ---------- */
.intro-grid{display:grid; grid-template-columns:1fr 1fr; gap:clamp(40px,6vw,88px); align-items:center}
.intro-figure{position:relative}
.intro-figure img{width:100%; aspect-ratio:4/5; object-fit:cover}
.intro-figure__badge{
  position:absolute; right:-24px; bottom:-24px; background:var(--white); padding:1.6rem 1.8rem;
  box-shadow:var(--shadow-md); text-align:center; min-width:170px;
}
.intro-figure__badge b{display:block; font-family:var(--serif); font-size:2.6rem; color:var(--ink); line-height:1}
.intro-figure__badge span{font-size:.62rem; letter-spacing:.24em; text-transform:uppercase; color:var(--muted)}

.rule-list{margin-top:2rem; border-top:1px solid var(--line)}
.rule-list li{display:flex; gap:1.2rem; padding:1.05rem 0; border-bottom:1px solid var(--line); align-items:baseline}
.rule-list li b{font-family:var(--serif); font-size:.95rem; color:var(--khaki-500); flex:none; width:2.2rem}
.rule-list li span{font-size:.95rem}

/* ---------- Villa kartları ---------- */
.villa-grid{display:grid; grid-template-columns:repeat(auto-fill, minmax(340px,1fr)); gap:clamp(28px,3.4vw,52px)}
.villa-grid--feature{grid-template-columns:repeat(2,1fr)}

.vcard{display:block; background:var(--white); border:1px solid var(--line-soft); transition:box-shadow .6s var(--ease), transform .6s var(--ease), border-color .6s var(--ease)}
.vcard:hover{box-shadow:var(--shadow-md); transform:translateY(-4px); border-color:var(--line)}
.vcard__media{position:relative; overflow:hidden; aspect-ratio:4/3; background:var(--khaki-100)}
.vcard--tall .vcard__media{aspect-ratio:3/2}
.vcard__media img{width:100%; height:100%; object-fit:cover; transition:transform 1.1s var(--ease)}
.vcard:hover .vcard__media img{transform:scale(1.055)}
.vcard__tags{position:absolute; left:16px; top:16px; display:flex; flex-wrap:wrap; gap:6px; max-width:calc(100% - 32px)}
.tag{
  font-size:.58rem; letter-spacing:.18em; text-transform:uppercase;
  background:rgba(250,249,244,.94); color:var(--khaki-800); padding:.42rem .7rem; backdrop-filter:blur(4px);
}
.tag--dark{background:rgba(46,50,38,.82); color:var(--khaki-100)}
.vcard__price{
  position:absolute; right:16px; bottom:16px; background:rgba(250,249,244,.94); backdrop-filter:blur(4px);
  padding:.5rem .8rem; font-size:.78rem; color:var(--ink); letter-spacing:.03em;
}
.vcard__price b{font-family:var(--serif); font-size:1.08rem; font-weight:500}
.vcard__price i{font-style:normal; color:var(--muted); font-size:.66rem; letter-spacing:.1em}

.vcard__body{padding:1.6rem 1.7rem 1.75rem}
.vcard__loc{font-size:.64rem; letter-spacing:.24em; text-transform:uppercase; color:var(--khaki-500); display:flex; align-items:center; gap:.5rem}
.vcard__name{margin:.6rem 0 .5rem; font-size:1.6rem}
.vcard__desc{font-size:.92rem; line-height:1.65; color:var(--body); margin-bottom:1.2rem}
.vcard__meta{display:flex; flex-wrap:wrap; gap:1.1rem; padding-top:1.1rem; border-top:1px solid var(--line-soft); font-size:.78rem; color:var(--khaki-700)}
.vcard__meta span{display:flex; align-items:center; gap:.42rem}
.vcard__meta svg{width:15px; height:15px; stroke:var(--khaki-500); fill:none; stroke-width:1.3; flex:none}

/* ---------- Filtreler ---------- */
.filters{display:flex; flex-wrap:wrap; gap:.55rem; margin-bottom:clamp(32px,4vw,52px)}
.chip{
  font-size:.68rem; letter-spacing:.16em; text-transform:uppercase; padding:.66rem 1.25rem;
  border:1px solid var(--line); background:var(--white); color:var(--khaki-700);
  transition:all .4s var(--ease);
}
.chip:hover{border-color:var(--khaki-400)}
.chip.is-on{background:var(--khaki-700); border-color:var(--khaki-700); color:var(--white)}
.result-count{font-size:.78rem; color:var(--muted); margin-bottom:1.6rem; letter-spacing:.06em}

/* ---------- Özellik / deneyim ---------- */
.feat-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:clamp(28px,3.5vw,56px)}
.feat{padding-top:1.6rem; border-top:1px solid var(--line)}
.section--dark .feat{border-top-color:rgba(255,255,255,.14)}
.feat__ico{width:26px; height:26px; stroke:var(--khaki-500); fill:none; stroke-width:1.2; margin-bottom:1.1rem}
.section--dark .feat__ico{stroke:var(--khaki-300)}
.feat h3{font-size:1.28rem; margin-bottom:.6rem}
.feat p{font-size:.92rem; line-height:1.7}

/* ---------- Yorumlar ---------- */
.rev-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); gap:clamp(24px,2.6vw,36px)}
.rev{background:var(--white); border:1px solid var(--line-soft); padding:2rem 1.9rem}
.rev__stars{color:var(--gold); letter-spacing:.18em; font-size:.8rem; margin-bottom:1rem}
.rev__txt{font-family:var(--serif); font-size:1.14rem; line-height:1.58; color:var(--ink); font-style:italic; margin-bottom:1.5rem}
.rev__who{font-size:.72rem; letter-spacing:.16em; text-transform:uppercase; color:var(--khaki-600)}
.rev__meta{font-size:.7rem; color:var(--muted); margin-top:.3rem; letter-spacing:.06em}

/* ---------- CTA şeridi ---------- */
.cta-band{position:relative; overflow:hidden; color:var(--white); text-align:center}
.cta-band__media{position:absolute; inset:0}
.cta-band__media img{width:100%; height:100%; object-fit:cover}
.cta-band::after{content:""; position:absolute; inset:0; background:rgba(32,35,26,.68)}
.cta-band__in{position:relative; z-index:2; padding-block:clamp(80px,11vw,150px)}
.cta-band h2{color:var(--white); max-width:18ch; margin-inline:auto}
.cta-band p{max-width:52ch; margin:1.4rem auto 2.4rem; color:rgba(255,255,255,.85)}

/* ---------- Footer ---------- */
.foot{background:var(--khaki-950); color:var(--khaki-300); padding-block:clamp(56px,7vw,88px) 0}
.foot a:hover{color:var(--white)}
.foot__top{display:grid; grid-template-columns:1.6fr 1fr 1fr 1.2fr; gap:clamp(32px,4vw,56px)}
.foot .brand{color:var(--white); margin-bottom:1.3rem}
.foot__about{font-size:.9rem; line-height:1.75; max-width:34ch}
.foot h4{color:var(--white); font-family:var(--sans); font-size:.68rem; letter-spacing:.24em; text-transform:uppercase; margin-bottom:1.4rem; font-weight:400}
.foot__list li{margin-bottom:.7rem; font-size:.9rem}
.foot__bot{
  margin-top:clamp(40px,5vw,64px); padding-block:1.6rem; border-top:1px solid rgba(255,255,255,.1);
  display:flex; flex-wrap:wrap; gap:1rem; justify-content:space-between; font-size:.76rem; color:var(--khaki-500);
}

/* ============================================================
   Villa detay
   ============================================================ */
.vhero{padding-top:calc(var(--nav-h) + 28px)}
.crumb{font-size:.68rem; letter-spacing:.18em; text-transform:uppercase; color:var(--muted); margin-bottom:1.3rem}
.crumb a:hover{color:var(--ink)}
.crumb span{margin-inline:.5rem; opacity:.5}

.vhead{display:flex; flex-wrap:wrap; gap:1.5rem 2.5rem; align-items:flex-end; justify-content:space-between; margin-bottom:2rem}
.vhead__loc{font-size:.68rem; letter-spacing:.24em; text-transform:uppercase; color:var(--khaki-500); margin-bottom:.7rem}
.vhead h1{font-size:clamp(2.3rem,4.6vw,3.9rem)}
.vhead__badges{display:flex; flex-wrap:wrap; gap:.45rem; margin-top:1rem}
.vhead__rate{text-align:right; flex:none}
.vhead__rate b{font-family:var(--serif); font-size:2.1rem; color:var(--ink); line-height:1}
.vhead__rate span{display:block; font-size:.68rem; letter-spacing:.14em; color:var(--muted); text-transform:uppercase; margin-top:.25rem}

/* Galeri mozaiği */
.gal{display:grid; grid-template-columns:2fr 1fr 1fr; grid-template-rows:repeat(2, minmax(0,1fr)); gap:10px; aspect-ratio:16/8; margin-bottom:clamp(48px,6vw,80px)}
.gal__i{overflow:hidden; background:var(--khaki-100); cursor:pointer; position:relative}
.gal__i:first-child{grid-row:span 2}
.gal__i img{width:100%; height:100%; object-fit:cover; transition:transform 1s var(--ease)}
.gal__i:hover img{transform:scale(1.05)}
.gal__more{
  position:absolute; inset:auto 12px 12px auto; background:rgba(250,249,244,.94); color:var(--ink);
  padding:.6rem 1rem; font-size:.68rem; letter-spacing:.16em; text-transform:uppercase; backdrop-filter:blur(4px);
}

.vlayout{display:grid; grid-template-columns:minmax(0,1fr) 372px; gap:clamp(40px,4.5vw,72px); align-items:start}

.vblock{padding-block:clamp(34px,3.6vw,52px); border-top:1px solid var(--line)}
.vblock:first-child{border-top:0; padding-top:0}
.vblock h2{font-size:clamp(1.6rem,2.6vw,2.1rem); margin-bottom:1.4rem}
.vblock h3{font-size:1.15rem; margin-bottom:.9rem}

.spec-row{display:grid; grid-template-columns:repeat(auto-fit,minmax(120px,1fr)); gap:1.2rem; padding:1.8rem 0; border-block:1px solid var(--line); margin-bottom:2.4rem}
.spec{text-align:center}
.spec svg{width:22px; height:22px; stroke:var(--khaki-500); fill:none; stroke-width:1.2; margin-bottom:.6rem}
.spec b{display:block; font-family:var(--serif); font-size:1.5rem; color:var(--ink); font-weight:400; line-height:1}
.spec span{font-size:.62rem; letter-spacing:.2em; text-transform:uppercase; color:var(--muted)}

.hl-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:1.6rem 2.2rem; margin-top:1.8rem}
.hl{display:flex; gap:.9rem; align-items:flex-start}
.hl__dot{width:6px; height:6px; border-radius:50%; background:var(--khaki-400); margin-top:.62rem; flex:none}
.hl b{display:block; color:var(--ink); font-weight:400; font-size:.97rem; font-family:var(--serif); font-size:1.08rem}
.hl span{font-size:.88rem; line-height:1.62}

.room-list{display:grid; gap:1px; background:var(--line); border:1px solid var(--line)}
.room{background:var(--white); padding:1.4rem 1.6rem}
.room b{display:block; font-family:var(--serif); font-size:1.2rem; color:var(--ink); margin-bottom:.7rem; font-weight:400}
.room ul{display:flex; flex-wrap:wrap; gap:.45rem}
.room li{font-size:.78rem; color:var(--khaki-700); background:var(--sand); padding:.34rem .72rem; letter-spacing:.02em}

.am-group{margin-bottom:2rem}
.am-group h3{font-family:var(--sans); font-size:.68rem; letter-spacing:.24em; text-transform:uppercase; color:var(--khaki-500); margin-bottom:1rem; font-weight:400}
.am-list{display:grid; grid-template-columns:repeat(auto-fit,minmax(190px,1fr)); gap:.7rem 1.6rem}
.am-list li{display:flex; align-items:center; gap:.7rem; font-size:.92rem; color:var(--body)}
.am-list li::before{content:""; width:14px; height:1px; background:var(--khaki-300); flex:none}

.dist-list{display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:0 2.4rem}
.dist-list li{display:flex; justify-content:space-between; gap:1rem; padding:.85rem 0; border-bottom:1px solid var(--line-soft); font-size:.92rem}
.dist-list li b{color:var(--ink); font-weight:400; font-family:var(--serif); font-size:1.02rem}

.pool-card{display:grid; grid-template-columns:repeat(auto-fit,minmax(110px,1fr)); gap:1.4rem; background:var(--sand); padding:1.8rem; margin-top:1.4rem}
.pool-card div span{display:block; font-size:.62rem; letter-spacing:.2em; text-transform:uppercase; color:var(--muted); margin-bottom:.3rem}
.pool-card div b{font-family:var(--serif); font-size:1.35rem; color:var(--ink); font-weight:400}

/* Rezervasyon paneli */
.book{position:sticky; top:calc(var(--nav-h) + 24px); background:var(--white); border:1px solid var(--line); padding:1.9rem; box-shadow:var(--shadow-sm)}
.book__price{display:flex; align-items:baseline; gap:.5rem; padding-bottom:1.3rem; border-bottom:1px solid var(--line-soft); margin-bottom:1.4rem}
.book__price b{font-family:var(--serif); font-size:2.3rem; color:var(--ink); font-weight:400; line-height:1}
.book__price span{font-size:.76rem; color:var(--muted); letter-spacing:.08em}
.field{margin-bottom:.85rem}
.field label{display:block; font-size:.6rem; letter-spacing:.22em; text-transform:uppercase; color:var(--khaki-500); margin-bottom:.42rem}
.field input,.field select,.field textarea{
  width:100%; padding:.8rem .9rem; border:1px solid var(--line); background:var(--cream);
  font-family:var(--sans); font-size:.92rem; color:var(--ink); border-radius:var(--r-sm);
  transition:border-color .3s var(--ease), background .3s var(--ease);
}
.field input:focus,.field select:focus,.field textarea:focus{outline:0; border-color:var(--khaki-500); background:var(--white)}
.field textarea{resize:vertical; min-height:110px}
.field-2{display:grid; grid-template-columns:1fr 1fr; gap:.7rem}

.book__calc{margin:1.3rem 0; padding-top:1.2rem; border-top:1px solid var(--line-soft); font-size:.88rem}
.book__calc div{display:flex; justify-content:space-between; padding:.42rem 0}
.book__calc .tot{border-top:1px solid var(--line-soft); margin-top:.5rem; padding-top:.85rem; color:var(--ink)}
.book__calc .tot b{font-family:var(--serif); font-size:1.4rem; font-weight:400}
.book__note{font-size:.74rem; color:var(--muted); text-align:center; margin-top:.9rem; line-height:1.55}
.book__trust{margin-top:1.4rem; padding-top:1.3rem; border-top:1px solid var(--line-soft); display:grid; gap:.65rem}
.book__trust li{display:flex; gap:.6rem; align-items:center; font-size:.8rem; color:var(--khaki-700)}
.book__trust svg{width:15px; height:15px; stroke:var(--khaki-500); fill:none; stroke-width:1.4; flex:none}
.book__wa{margin-top:.7rem}

/* Lightbox */
.lb{position:fixed; inset:0; z-index:120; background:rgba(24,26,20,.96); display:none; align-items:center; justify-content:center}
.lb.is-open{display:flex}
.lb__img{max-width:92vw; max-height:84vh; object-fit:contain}
.lb__x,.lb__p,.lb__n{position:absolute; color:#fff; width:52px; height:52px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.25); transition:.3s var(--ease)}
.lb__x:hover,.lb__p:hover,.lb__n:hover{background:rgba(255,255,255,.12)}
.lb__x{top:24px; right:24px; font-size:1.3rem}
.lb__p{left:24px; top:50%; transform:translateY(-50%)}
.lb__n{right:24px; top:50%; transform:translateY(-50%)}
.lb__cnt{position:absolute; bottom:26px; left:50%; transform:translateX(-50%); color:rgba(255,255,255,.7); font-size:.75rem; letter-spacing:.2em}

/* ---------- İletişim ---------- */
.contact-grid{display:grid; grid-template-columns:1fr 1fr; gap:clamp(40px,5vw,80px); align-items:start}
.cinfo li{padding:1.25rem 0; border-bottom:1px solid var(--line); display:flex; gap:1.1rem; align-items:flex-start}
.cinfo svg{width:18px; height:18px; stroke:var(--khaki-500); fill:none; stroke-width:1.3; margin-top:4px; flex:none}
.cinfo b{display:block; font-size:.62rem; letter-spacing:.22em; text-transform:uppercase; color:var(--muted); font-weight:400; margin-bottom:.25rem}
.cinfo span{color:var(--ink); font-size:.98rem}
.form-card{background:var(--white); border:1px solid var(--line); padding:clamp(24px,3vw,40px)}
.form-ok{background:var(--khaki-100); border:1px solid var(--khaki-300); padding:1rem 1.2rem; font-size:.88rem; color:var(--khaki-800); margin-bottom:1.2rem; display:none}
.form-ok.show{display:block}

/* ---------- Yardımcılar ---------- */
.reveal{opacity:0; transform:translateY(22px); transition:opacity .9s var(--ease), transform .9s var(--ease)}
.reveal.in{opacity:1; transform:none}
.center{text-align:center}
.mt-lg{margin-top:clamp(40px,5vw,64px)}
.disclaimer{background:#FFF8E6; border:1px solid #E8D9A8; color:#6B5A26; font-size:.8rem; padding:.8rem 1rem; letter-spacing:.02em}

/* ---------- Duyarlılık ---------- */
@media (max-width:1080px){
  .vlayout{grid-template-columns:1fr}
  .book{position:relative; top:0}
  .foot__top{grid-template-columns:1fr 1fr}
  .villa-grid--feature{grid-template-columns:1fr}
}
@media (max-width:900px){
  .nav__links,.nav__tel{display:none}
  .burger{display:grid}
  .intro-grid,.contact-grid{grid-template-columns:1fr}
  .intro-figure__badge{right:16px; bottom:-18px}
  .gal{grid-template-columns:1fr 1fr; aspect-ratio:4/3}
  .gal__i:first-child{grid-column:span 2; grid-row:auto}
  .gal__i:nth-child(n+4){display:none}
}
@media (max-width:640px){
  body{font-size:15px}
  .nav__cta .btn{display:none}
  .hero{min-height:92svh}
  .scroll-hint{display:none}
  .villa-grid{grid-template-columns:1fr}
  .foot__top{grid-template-columns:1fr}
  .vhead__rate{text-align:left}
  .field-2{grid-template-columns:1fr}
  .gal{aspect-ratio:1/1}
}
@media (prefers-reduced-motion:reduce){
  *{animation-duration:.01ms !important; transition-duration:.01ms !important}
  html{scroll-behavior:auto}
  .reveal{opacity:1; transform:none}
}

/* ============================================================
   WordPress eklemeleri
   ============================================================ */
body.admin-bar .nav{top:32px}
@media (max-width:782px){ body.admin-bar .nav{top:46px} }
body.admin-bar .drawer{padding-top:calc(var(--nav-h) + 46px)}

.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;word-wrap:normal!important}
.screen-reader-text:focus{clip:auto!important;clip-path:none;height:auto;width:auto;z-index:100000;background:var(--white);padding:1rem;left:1rem;top:1rem}

/* Hero video katmanı */
.hero__media video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1}

/* Sayfa içeriği (Gutenberg) */
.prose{font-size:1.02rem;line-height:1.85}
.prose > * + *{margin-top:1.15em}
.prose h2{font-size:clamp(1.7rem,3vw,2.3rem);margin-top:1.8em}
.prose h3{font-size:1.45rem;margin-top:1.6em}
.prose a{color:var(--khaki-700);border-bottom:1px solid var(--khaki-300)}
.prose a:hover{border-color:var(--khaki-700)}
.prose ul,.prose ol{padding-left:1.3em}
.prose ul{list-style:disc}
.prose li + li{margin-top:.4em}
.prose img{height:auto}
.prose blockquote{margin:2em 0;padding-left:1.4em;border-left:2px solid var(--khaki-300);font-family:var(--serif);font-size:1.3rem;font-style:italic;color:var(--ink)}
.prose figure{margin:2em 0}
.prose figcaption{font-size:.8rem;color:var(--muted);margin-top:.6em}
.alignwide{margin-inline:calc(-1 * min(8vw,120px))}
.alignfull{margin-inline:calc(50% - 50vw)}

.page-head{padding-top:calc(var(--nav-h) + clamp(40px,6vw,88px)); padding-bottom:clamp(32px,4vw,56px)}
.page-head h1{font-size:clamp(2.4rem,5vw,4rem)}

/* İki villa (ikiz) bölümü */
.estate{display:grid;grid-template-columns:1.25fr 1fr;gap:clamp(40px,5vw,80px);align-items:center}
.estate__img{position:relative}
.estate__img img{width:100%;aspect-ratio:4/3;object-fit:cover}
.estate__pair{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line);margin-top:2rem}
.estate__pair a{background:var(--white);padding:1.3rem 1.4rem;transition:background .4s var(--ease)}
.estate__pair a:hover{background:var(--sand)}
.estate__pair b{display:block;font-family:var(--serif);font-size:1.3rem;font-weight:400;color:var(--ink)}
.estate__pair span{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}

/* Form bildirimleri */
.notice{padding:1rem 1.2rem;font-size:.9rem;margin-bottom:1.2rem;border:1px solid}
.notice--ok{background:var(--khaki-100);border-color:var(--khaki-300);color:var(--khaki-800)}
.notice--err{background:#FBEFEA;border-color:#E9C6B8;color:#7A3B22}
.hp-field{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.consent{font-size:.74rem;color:var(--muted);line-height:1.55;margin-top:.8rem}
.consent a{border-bottom:1px solid var(--line)}

/* Villa belge satırı */
.belge{font-size:.72rem;letter-spacing:.06em;color:var(--muted);margin-top:.9rem}

/* 404 */
.nf{min-height:70vh;display:grid;place-items:center;text-align:center;padding-top:var(--nav-h)}
.nf b{display:block;font-family:var(--serif);font-size:clamp(5rem,14vw,9rem);color:var(--khaki-200);line-height:1;font-weight:400}

@media (max-width:900px){
  .estate{grid-template-columns:1fr}
}

/* Tema şablonlarına özel küçük düzenlemeler */
.feat__ico{display:block;margin-bottom:1.1rem}
.feat__ico svg{width:26px;height:26px;stroke:var(--khaki-500);fill:none;stroke-width:1.2}
.section--dark .feat__ico svg{stroke:var(--khaki-300)}
button.gal__i{padding:0;border:0;display:block;width:100%;height:100%;text-align:left}
.gal__i:focus-visible,.vcard:focus-visible,.btn:focus-visible,.chip:focus-visible{outline:2px solid var(--khaki-600);outline-offset:3px}
.cinfo svg{display:block}
.vcard[hidden]{display:none}
.villa-grid--single{grid-template-columns:minmax(0,560px)}
.hero__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.intro-figure img,.estate__img img,.cta-band__media img{height:auto}
.intro-figure img{aspect-ratio:4/5;object-fit:cover}
.cta-band__media img{width:100%;height:100%;object-fit:cover}
.vcard__media img{width:100%;height:100%}
.gal--few{grid-template-columns:2fr 1fr}
@media (max-width:640px){ .villa-grid--single{grid-template-columns:1fr} }

/* Hero katmanı (gündüz fotoğrafı için): yazı alanı solda koyu, villa ve gökyüzü sağda canlı */
.hero::after{
  background:
    linear-gradient(90deg, rgba(32,35,26,.66) 0%, rgba(32,35,26,.40) 36%, rgba(32,35,26,0) 64%),
    linear-gradient(180deg, rgba(32,35,26,.40) 0%, rgba(32,35,26,0) 20%, rgba(32,35,26,0) 58%, rgba(32,35,26,.58) 100%);
}
.hero h1{text-shadow:0 2px 30px rgba(0,0,0,.28)}
@media (max-width:760px){
  .hero::after{background:linear-gradient(180deg, rgba(32,35,26,.50) 0%, rgba(32,35,26,.30) 35%, rgba(32,35,26,.45) 60%, rgba(32,35,26,.78) 100%)}
}
