/* ============================================================
   0. DESIGN TOKENS
   ============================================================ */
:root{
  /* --- palette: lacivert / krem / altın / beyaz / taş --- */
  --navy-950:#0A1826;
  --navy-900:#0E2036;
  --navy-800:#152C46;
  --navy-700:#1F3B59;
  --cream:#F8F3E8;
  --cream-soft:#F1E9D8;
  --stone:#E4DBC6;
  --white:#FFFFFF;
  --gold:#C9A24B;
  --gold-light:#E4CD93;
  --gold-dim:#9C7B34;
  --ink:#1B2430;
  --ink-soft:#5B6572;

  --bg:var(--cream);
  --bg-alt:var(--cream-soft);
  --surface:var(--white);
  --text:var(--ink);
  --text-soft:var(--ink-soft);
  --line:rgba(27,36,48,0.12);
  --glass-bg:rgba(255,255,255,0.55);
  --glass-border:rgba(255,255,255,0.6);
  --nav-text:#fff;

  --radius-s:6px;
  --radius-m:14px;
  --radius-l:28px;
  --maxw:1240px;
  --ease:cubic-bezier(.16,.84,.44,1);
}

[data-theme="dark"]{
  --bg:var(--navy-950);
  --bg-alt:var(--navy-900);
  --surface:var(--navy-800);
  --text:var(--cream);
  --text-soft:rgba(248,243,232,0.66);
  --line:rgba(248,243,232,0.12);
  --glass-bg:rgba(21,44,70,0.55);
  --glass-border:rgba(248,243,232,0.14);
}

*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--bg);
  color:var(--text);
  font-family:'Manrope',sans-serif;
  font-weight:400;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
  transition:background .5s var(--ease), color .5s var(--ease);
}
h1,h2,h3,h4,.display{
  font-family:'Fraunces',serif;
  font-weight:600;
  letter-spacing:-0.01em;
  margin:0;
  color:var(--text);
}
p{margin:0;}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}
button{font-family:inherit;}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 40px;}
::selection{background:var(--gold);color:#fff;}

.eyebrow{
  font-family:'Manrope',sans-serif;
  text-transform:uppercase;
  letter-spacing:0.3em;
  font-size:11.5px;
  color:var(--gold);
  font-weight:700;
  display:inline-flex;
  align-items:center;
  gap:12px;
}
.eyebrow::before{content:"";width:30px;height:1px;background:var(--gold);}

.btn{
  position:relative;
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  padding:17px 34px;
  border-radius:100px;
  font-size:13.5px;font-weight:700;
  letter-spacing:0.05em;text-transform:uppercase;
  cursor:pointer;border:1px solid transparent;
  transition:transform .4s var(--ease), box-shadow .4s var(--ease), background .3s ease, color .3s ease;
  overflow:hidden;
  white-space:nowrap;
}
.btn:active{transform:scale(.97);}
.btn-gold{background:var(--gold);color:#1B1405;}
.btn-gold:hover{box-shadow:0 14px 34px -10px rgba(201,162,75,0.6);transform:translateY(-2px);}
.btn-ghost{border-color:rgba(255,255,255,0.5);color:#fff;background:rgba(255,255,255,0.06);backdrop-filter:blur(6px);}
.btn-ghost:hover{background:rgba(255,255,255,0.16);transform:translateY(-2px);}
.btn-dark{background:var(--navy-900);color:var(--cream);}
.btn-dark:hover{background:var(--navy-800);transform:translateY(-2px);}
.btn-sm{padding:12px 24px;font-size:12px;}
.btn .ripple{position:absolute;border-radius:50%;background:rgba(255,255,255,0.5);transform:scale(0);animation:ripple .6s linear;pointer-events:none;}
@keyframes ripple{to{transform:scale(3);opacity:0;}}

/* glass card base */
.glass{
  background:var(--glass-bg);
  border:1px solid var(--glass-border);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
}

section{position:relative;padding:150px 0;}
.section-alt{background:var(--bg-alt);}
.section-head{max-width:640px;margin-bottom:70px;}
.section-head h2{font-size:clamp(34px,4.4vw,54px);margin-top:20px;line-height:1.08;}
.section-head p{color:var(--text-soft);font-size:16.5px;margin-top:20px;max-width:520px;}
.section-head.center{margin-left:auto;margin-right:auto;text-align:center;}
.section-head.center .eyebrow{justify-content:center;}
.section-head.center .eyebrow::before{display:none;}

[data-aos]{transition-timing-function:var(--ease) !important;}

/* ============================================================
   1. LOADER
   ============================================================ */
#loader{
  position:fixed;inset:0;z-index:9999;
  background:var(--navy-950);
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:22px;
  transition:opacity .8s ease, visibility .8s ease;
}
#loader.hide{opacity:0;visibility:hidden;pointer-events:none;}
.loader-mark{width:64px;height:64px;color:var(--gold);}
.loader-mark svg{width:100%;height:100%;}
.loader-mark .l-path{stroke-dasharray:140;stroke-dashoffset:140;animation:draw 1.6s var(--ease) forwards;}
@keyframes draw{to{stroke-dashoffset:0;}}
.loader-bar{width:180px;height:2px;background:rgba(201,162,75,0.2);position:relative;overflow:hidden;border-radius:2px;}
.loader-bar::after{
  content:"";position:absolute;left:-40%;top:0;bottom:0;width:40%;
  background:var(--gold);animation:loadbar 1.1s ease-in-out infinite;
}
@keyframes loadbar{0%{left:-40%;}100%{left:100%;}}
.loader-label{font-family:'Manrope';letter-spacing:0.35em;font-size:10.5px;text-transform:uppercase;color:rgba(248,243,232,0.5);}

/* ============================================================
   2. CURSOR + PROGRESS + BACK TO TOP
   ============================================================ */
.cursor-dot, .cursor-ring{
  position:fixed;top:0;left:0;pointer-events:none;z-index:9000;
  border-radius:50%;transform:translate(-50%,-50%);
  transition:opacity .3s ease;
}
.cursor-dot{width:6px;height:6px;background:var(--gold);}
.cursor-ring{width:34px;height:34px;border:1px solid rgba(201,162,75,0.6);transition:transform .15s ease-out, opacity .3s ease;}
body.cursor-hover .cursor-ring{transform:translate(-50%,-50%) scale(1.6);background:rgba(201,162,75,0.08);}

#scrollProgress{
  position:fixed;top:0;left:0;height:3px;background:var(--gold);
  z-index:1200;width:0%;transition:width .1s linear;
}

#backToTop{
  position:fixed;right:26px;bottom:96px;z-index:800;
  width:46px;height:46px;border-radius:50%;
  background:var(--navy-900);color:var(--gold);
  display:flex;align-items:center;justify-content:center;
  border:1px solid rgba(201,162,75,0.4);
  opacity:0;visibility:hidden;transform:translateY(10px);
  transition:all .4s var(--ease);
  cursor:pointer;
}
#backToTop.show{opacity:1;visibility:visible;transform:translateY(0);}
#backToTop svg{width:18px;height:18px;}

#waFloat{
  position:fixed;right:26px;bottom:26px;z-index:800;
  width:56px;height:56px;border-radius:50%;
  background:#25D366;color:#fff;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 12px 28px -8px rgba(37,211,102,0.6);
  animation:pulseWa 2.6s ease-in-out infinite;
}
#waFloat svg{width:26px;height:26px;}
@keyframes pulseWa{0%,100%{box-shadow:0 12px 28px -8px rgba(37,211,102,0.6);}50%{box-shadow:0 12px 36px -4px rgba(37,211,102,0.85);}}

/* ============================================================
   3. HEADER / NAV
   ============================================================ */
header{
  position:fixed;top:0;left:0;right:0;z-index:500;
  padding:26px 0;transition:all .5s var(--ease);
}
header .wrap{display:flex;align-items:center;justify-content:space-between;gap:24px;}
header.scrolled{
  padding:14px 0;
  background:var(--glass-bg);
  backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
  border-bottom:1px solid var(--glass-border);
}
.brand{display:flex;align-items:center;gap:12px;color:#fff;transition:color .5s ease;}
header.scrolled .brand{color:var(--text);}
.brand svg{width:34px;height:34px;}
.brand-name{font-family:'Fraunces',serif;font-size:21px;font-weight:600;letter-spacing:0.01em;}

nav.mainnav{display:flex;gap:38px;align-items:center;}
nav.mainnav a{
  color:#fff;font-size:13.5px;font-weight:600;letter-spacing:0.03em;
  position:relative;padding-bottom:4px;transition:color .5s ease;
}
header.scrolled nav.mainnav a{color:var(--text);}
nav.mainnav a::after{content:"";position:absolute;left:0;bottom:-2px;width:0;height:1px;background:var(--gold);transition:width .3s ease;}
nav.mainnav a:hover::after{width:100%;}

.nav-tools{display:flex;align-items:center;gap:14px;}
.tool-btn{
  display:flex;align-items:center;justify-content:center;
  width:38px;height:38px;border-radius:50%;
  border:1px solid rgba(255,255,255,0.35);color:#fff;
  background:rgba(255,255,255,0.06);cursor:pointer;
  transition:all .35s ease;
}
header.scrolled .tool-btn{border-color:var(--line);color:var(--text);background:transparent;}
.tool-btn:hover{background:var(--gold);border-color:var(--gold);color:#1B1405;}
.tool-btn svg{width:16px;height:16px;}
.lang-switch{
  display:flex;border:1px solid rgba(255,255,255,0.35);border-radius:100px;overflow:hidden;
}
header.scrolled .lang-switch{border-color:var(--line);}
.lang-switch button{
  border:none;background:transparent;color:#fff;font-size:11.5px;font-weight:700;
  padding:8px 12px;cursor:pointer;letter-spacing:0.04em;transition:all .3s ease;
}
header.scrolled .lang-switch button{color:var(--text);}
.lang-switch button.active{background:var(--gold);color:#1B1405;}
.lang-switch button.disabled{opacity:.35;cursor:not-allowed;}

.hamburger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:6px;z-index:600;}
.hamburger span{width:24px;height:2px;background:#fff;transition:all .3s ease;border-radius:2px;}
header.scrolled .hamburger span{background:var(--text);}
header.nav-open .hamburger span:nth-child(1){transform:translateY(7px) rotate(45deg);background:#fff;}
header.nav-open .hamburger span:nth-child(2){opacity:0;}
header.nav-open .hamburger span:nth-child(3){transform:translateY(-7px) rotate(-45deg);background:#fff;}

/* ============================================================
   4. HERO
   ============================================================ */
.hero{
  position:relative;height:100vh;min-height:680px;
  display:flex;align-items:flex-end;overflow:hidden;background:var(--navy-950);
}
.hero-media{
  position:absolute;inset:0;
  background-image:url('../images/facade.jpg');
  background-size:cover;background-position:center 32%;
  animation:kenburns 30s ease-in-out infinite alternate;
}
@keyframes kenburns{0%{transform:scale(1);}100%{transform:scale(1.1);}}
.hero::before{
  content:"";position:absolute;inset:0;z-index:1;
  background:linear-gradient(180deg, rgba(9,15,22,0.6) 0%, rgba(9,15,22,0.2) 40%, rgba(6,11,17,0.92) 100%);
}
#particles{position:absolute;inset:0;z-index:1;}
.hero-content{position:relative;z-index:2;width:100%;padding-bottom:110px;}
.hero-content .eyebrow{color:var(--gold-light);margin-bottom:26px;}
.hero-content .eyebrow::before{background:var(--gold-light);}
.hero-content h1{
  color:#fff;font-size:clamp(52px,9vw,110px);line-height:0.96;margin-bottom:24px;
  font-weight:600;
}
.hero-content h1 span{display:block;color:var(--gold-light);font-style:italic;font-weight:500;font-size:0.42em;letter-spacing:0.02em;margin-top:14px;}
.hero-content p.sub{color:rgba(255,255,255,0.82);font-size:18px;max-width:460px;margin-bottom:40px;font-weight:300;}
.hero-btns{display:flex;gap:18px;flex-wrap:wrap;}
.scroll-cue{
  position:absolute;bottom:32px;left:50%;transform:translateX(-50%);z-index:2;
  color:rgba(255,255,255,0.65);display:flex;flex-direction:column;align-items:center;gap:10px;
  font-size:10.5px;letter-spacing:0.28em;text-transform:uppercase;
}
.scroll-cue .line{width:1px;height:38px;background:rgba(255,255,255,0.5);position:relative;overflow:hidden;}
.scroll-cue .line::after{content:"";position:absolute;left:0;top:-100%;width:100%;height:100%;background:var(--gold);animation:scrolldown 2.2s ease-in-out infinite;}
@keyframes scrolldown{0%{top:-100%;}60%{top:100%;}100%{top:100%;}}

/* ============================================================
   5. ABOUT / COUNTERS
   ============================================================ */
.about-grid{display:grid;grid-template-columns:0.95fr 1.05fr;gap:80px;align-items:center;}
.about-media{position:relative;}
.about-media .frame{border-radius:var(--radius-l);overflow:hidden;box-shadow:0 40px 80px -30px rgba(10,24,38,0.4);}
.about-media img{height:600px;object-fit:cover;width:100%;}
.about-media .float-card{
  position:absolute;bottom:-34px;left:-40px;
  padding:22px 26px;border-radius:var(--radius-m);
  display:flex;align-items:center;gap:16px;
  box-shadow:0 20px 40px -14px rgba(10,24,38,0.25);
}
.about-media .float-card svg{width:34px;height:34px;color:var(--gold);flex-shrink:0;}
.about-media .float-card strong{display:block;font-family:'Fraunces';font-size:20px;}
.about-media .float-card span{font-size:12.5px;color:var(--text-soft);}

.about-copy p.lead{color:var(--text-soft);font-size:17px;margin:24px 0 0;max-width:480px;}
.counters{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:56px;}
.counter{padding:24px 0 0;border-top:1px solid var(--line);}
.counter .num{font-family:'Fraunces';font-size:clamp(30px,3.4vw,42px);font-weight:600;color:var(--gold-dim);display:flex;align-items:baseline;gap:2px;}
[data-theme="dark"] .counter .num{color:var(--gold);}
.counter .num sup{font-size:0.5em;}
.counter .lbl{font-size:12.5px;color:var(--text-soft);margin-top:6px;letter-spacing:0.02em;}

/* ============================================================
   6. ROOMS
   ============================================================ */
.room-tabs{display:flex;gap:10px;margin-bottom:50px;flex-wrap:wrap;}
.room-tabs button{
  padding:11px 22px;border-radius:100px;border:1px solid var(--line);
  background:transparent;color:var(--text-soft);font-size:13px;font-weight:600;cursor:pointer;
  transition:all .3s ease;
}
.room-tabs button.active, .room-tabs button:hover{background:var(--navy-900);color:var(--cream);border-color:var(--navy-900);}

.room-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:34px;}
.room-card{
  background:var(--surface);border-radius:var(--radius-l);overflow:hidden;
  box-shadow:0 24px 50px -26px rgba(10,24,38,0.25);
  transition:transform .5s var(--ease), box-shadow .5s var(--ease);
  cursor:pointer;
  border:1px solid var(--line);
}
.room-card:hover{transform:translateY(-10px);box-shadow:0 34px 60px -20px rgba(10,24,38,0.32);}
.room-thumb{position:relative;overflow:hidden;height:260px;}
.room-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease);}
.room-card:hover .room-thumb img{transform:scale(1.1);}
.room-thumb::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 55%,rgba(9,15,22,0.55) 100%);}
.room-badge{
  position:absolute;top:18px;left:18px;z-index:2;
  background:rgba(9,15,22,0.55);color:var(--gold-light);
  font-size:11px;letter-spacing:0.08em;text-transform:uppercase;font-weight:700;
  padding:7px 14px;border-radius:100px;backdrop-filter:blur(6px);
}
.room-price-tag{
  position:absolute;bottom:16px;right:16px;z-index:2;
  color:#fff;font-family:'Fraunces';font-size:20px;font-weight:600;
}
.room-price-tag small{display:block;font-family:'Manrope';font-size:10.5px;font-weight:500;color:rgba(255,255,255,0.75);text-transform:uppercase;letter-spacing:0.06em;}
.room-body{padding:28px 28px 30px;}
.room-body h3{font-size:26px;margin-bottom:10px;}
.room-body p{color:var(--text-soft);font-size:14.5px;margin:0 0 20px;}
.room-feats{display:grid;grid-template-columns:1fr 1fr;gap:10px 14px;margin-bottom:24px;}
.room-feats span{
  display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--text-soft);
}
.room-feats svg{width:15px;height:15px;color:var(--gold);flex-shrink:0;}
.room-body .btn{width:100%;}

/* Room modal */
.modal-overlay{
  position:fixed;inset:0;z-index:2000;background:rgba(9,15,22,0.78);
  display:flex;align-items:center;justify-content:center;padding:28px;
  opacity:0;visibility:hidden;transition:opacity .4s ease, visibility .4s ease;
  backdrop-filter:blur(4px);
}
.modal-overlay.open{opacity:1;visibility:visible;}
.modal{
  background:var(--surface);border-radius:var(--radius-l);max-width:920px;width:100%;
  max-height:88vh;overflow-y:auto;position:relative;
  transform:translateY(30px) scale(.98);transition:transform .45s var(--ease);
}
.modal-overlay.open .modal{transform:translateY(0) scale(1);}
.modal-close{
  position:absolute;top:20px;right:20px;z-index:5;width:38px;height:38px;border-radius:50%;
  background:rgba(9,15,22,0.5);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;
}
.modal-close svg{width:16px;height:16px;}
.modal-slider{position:relative;height:400px;overflow:hidden;border-radius:var(--radius-l) var(--radius-l) 0 0;}
.modal-slides{display:flex;height:100%;transition:transform .5s var(--ease);}
.modal-slides img{width:100%;height:100%;object-fit:cover;flex-shrink:0;}
.modal-nav{position:absolute;top:50%;transform:translateY(-50%);width:100%;display:flex;justify-content:space-between;padding:0 16px;z-index:4;}
.modal-nav button{
  width:42px;height:42px;border-radius:50%;background:rgba(255,255,255,0.85);color:var(--navy-900);
  display:flex;align-items:center;justify-content:center;cursor:pointer;border:none;
}
.modal-nav svg{width:16px;height:16px;}
.modal-dots{position:absolute;bottom:16px;left:50%;transform:translateX(-50%);display:flex;gap:6px;z-index:4;}
.modal-dots span{width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,0.5);transition:all .3s ease;}
.modal-dots span.active{background:#fff;width:18px;border-radius:4px;}
.modal-body{padding:36px 40px 40px;}
.modal-body h3{font-size:30px;margin-bottom:8px;}
.modal-body .modal-price{color:var(--gold-dim);font-family:'Fraunces';font-size:20px;margin-bottom:20px;}
[data-theme="dark"] .modal-price{color:var(--gold);}
.modal-body p.desc{color:var(--text-soft);font-size:15px;margin-bottom:26px;max-width:600px;}
.modal-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-bottom:28px;}
.modal-grid h4{font-size:13px;text-transform:uppercase;letter-spacing:0.06em;margin-bottom:14px;color:var(--text-soft);}
.modal-feats{list-style:none;padding:0;margin:0;display:grid;gap:10px;}
.modal-feats li{display:flex;gap:10px;align-items:center;font-size:14px;}
.modal-feats svg{width:16px;height:16px;color:var(--gold);flex-shrink:0;}
.modal-rules{list-style:none;padding:0;margin:0;display:grid;gap:8px;font-size:13.5px;color:var(--text-soft);}

/* ============================================================
   6b. SPA
   ============================================================ */
/* Spa section reuses .gallery-masonry styles; kept intentionally minimal (photos only) */

/* ============================================================
   7. PACKAGES
   ============================================================ */
.pkg-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;}
.pkg-card{
  position:relative;border-radius:var(--radius-l);overflow:hidden;height:420px;
  display:flex;align-items:flex-end;
  box-shadow:0 24px 50px -26px rgba(10,24,38,0.3);
}
.pkg-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease);}
.pkg-card:hover img{transform:scale(1.08);}
.pkg-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(9,15,22,0) 30%,rgba(9,15,22,0.9) 100%);}
.pkg-body{position:relative;z-index:2;padding:30px;color:#fff;}
.pkg-body .eyebrow{color:var(--gold-light);}
.pkg-body .eyebrow::before{background:var(--gold-light);}
.pkg-body h3{font-size:26px;color:#fff;margin:12px 0 10px;}
.pkg-body p{font-size:13.5px;color:rgba(255,255,255,0.78);margin-bottom:16px;}

/* ============================================================
   8. GALLERY
   ============================================================ */
.gallery-masonry{
  columns:4 260px;column-gap:20px;
}
.gallery-masonry figure{
  margin:0 0 20px;border-radius:var(--radius-m);overflow:hidden;cursor:pointer;
  break-inside:avoid;position:relative;
}
.gallery-masonry img{width:100%;display:block;transition:transform .6s var(--ease);}
.gallery-masonry figure:hover img{transform:scale(1.08);}
.gallery-masonry figure::after{
  content:"\002B";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  color:#fff;font-size:28px;background:rgba(9,15,22,0);opacity:0;transition:all .35s ease;
}
.gallery-masonry figure:hover::after{background:rgba(9,15,22,0.35);opacity:1;}

.lightbox{
  position:fixed;inset:0;z-index:3000;background:rgba(6,11,17,0.94);
  display:flex;align-items:center;justify-content:center;
  opacity:0;visibility:hidden;transition:opacity .4s ease,visibility .4s ease;
}
.lightbox.open{opacity:1;visibility:visible;}
.lightbox img{max-width:88vw;max-height:82vh;border-radius:8px;}
.lightbox-close, .lightbox-prev, .lightbox-next{
  position:absolute;color:#fff;cursor:pointer;background:rgba(255,255,255,0.1);
  border-radius:50%;display:flex;align-items:center;justify-content:center;
}
.lightbox-close{top:26px;right:26px;width:44px;height:44px;}
.lightbox-prev{left:26px;top:50%;transform:translateY(-50%);width:52px;height:52px;}
.lightbox-next{right:26px;top:50%;transform:translateY(-50%);width:52px;height:52px;}
.lightbox-close svg, .lightbox-prev svg, .lightbox-next svg{width:18px;height:18px;}

/* ============================================================
   9. SERVICES
   ============================================================ */
.services-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2px;background:var(--line);border-radius:var(--radius-l);overflow:hidden;}
.service-item{
  background:var(--surface);padding:36px 24px;text-align:center;
  display:flex;flex-direction:column;align-items:center;gap:14px;
  transition:all .4s ease;
}
.service-item:hover{background:var(--navy-900);}
.service-item:hover svg{color:var(--gold);transform:translateY(-4px) scale(1.1);}
.service-item:hover span{color:var(--cream);}
.service-item svg{width:30px;height:30px;color:var(--gold-dim);transition:all .4s var(--ease);}
[data-theme="dark"] .service-item svg{color:var(--gold);}
.service-item span{font-size:13px;font-weight:600;color:var(--text);transition:color .4s ease;}

/* ============================================================
   10. NEARBY + WEATHER
   ============================================================ */
.explore-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:34px;}
.nearby-list{display:grid;gap:18px;}
.nearby-card{
  display:flex;gap:20px;align-items:center;padding:22px;border-radius:var(--radius-m);
  background:var(--surface);border:1px solid var(--line);transition:all .3s ease;
}
.nearby-card:hover{border-color:var(--gold);transform:translateX(6px);}
.nearby-card .dist{
  flex-shrink:0;width:72px;height:72px;border-radius:50%;background:var(--bg-alt);
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  font-family:'Fraunces';color:var(--gold-dim);
}
[data-theme="dark"] .nearby-card .dist{color:var(--gold);}
.nearby-card .dist strong{font-size:17px;line-height:1;}
.nearby-card .dist span{font-size:9px;text-transform:uppercase;color:var(--text-soft);}
.nearby-card h4{font-size:17px;margin-bottom:4px;}
.nearby-card p{font-size:13px;color:var(--text-soft);}

.weather-card{
  border-radius:var(--radius-l);padding:36px;color:#fff;
  background:linear-gradient(160deg,var(--navy-900),var(--navy-700));
  display:flex;flex-direction:column;justify-content:space-between;min-height:100%;
  position:relative;overflow:hidden;
}
.weather-card::after{
  content:"";position:absolute;top:-40px;right:-40px;width:180px;height:180px;border-radius:50%;
  background:radial-gradient(circle,rgba(201,162,75,0.25),transparent 70%);
}
.weather-top .eyebrow{color:var(--gold-light);}
.weather-top .eyebrow::before{background:var(--gold-light);}
.weather-main{display:flex;align-items:center;gap:18px;margin:26px 0;}
.weather-main svg{width:56px;height:56px;color:var(--gold-light);}
.weather-temp{font-family:'Fraunces';font-size:52px;font-weight:600;}
.weather-desc{font-size:14px;color:rgba(255,255,255,0.7);margin-top:4px;}
.weather-meta{display:flex;gap:24px;font-size:12.5px;color:rgba(255,255,255,0.65);position:relative;z-index:1;}
.weather-meta strong{display:block;color:#fff;font-size:15px;font-family:'Fraunces';}

/* ============================================================
   11. TESTIMONIALS
   ============================================================ */
.testi-track-wrap{overflow:hidden;}
.testi-track{display:flex;gap:28px;transition:transform .6s var(--ease);}
.testi-card{
  flex:0 0 calc(33.333% - 19px);
  background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-l);
  padding:32px;display:flex;flex-direction:column;gap:18px;
}
.testi-stars{display:flex;gap:3px;color:var(--gold);}
.testi-stars svg{width:15px;height:15px;}
.testi-card p{font-size:14.5px;color:var(--text-soft);flex:1;}
.testi-person{display:flex;align-items:center;gap:12px;}
.testi-avatar{
  width:44px;height:44px;border-radius:50%;
  background:var(--navy-900);color:var(--gold);
  display:flex;align-items:center;justify-content:center;font-family:'Fraunces';font-weight:600;
}
.testi-person strong{display:block;font-size:14px;}
.testi-person span{font-size:12px;color:var(--text-soft);}
.testi-controls{display:flex;justify-content:center;gap:12px;margin-top:40px;}
.testi-controls button{
  width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:transparent;
  color:var(--text);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease;
}
.testi-controls button:hover{background:var(--gold);border-color:var(--gold);color:#1B1405;}
.testi-controls svg{width:16px;height:16px;}
.testi-note{text-align:center;font-size:11.5px;color:var(--text-soft);margin-top:18px;opacity:.7;}

/* ============================================================
   12. FAQ
   ============================================================ */
.faq-list{max-width:780px;margin:0 auto;}
.faq-item{border-bottom:1px solid var(--line);}
.faq-q{
  display:flex;justify-content:space-between;align-items:center;
  padding:26px 4px;cursor:pointer;font-family:'Fraunces';font-size:18px;font-weight:500;
}
.faq-q svg{width:18px;height:18px;color:var(--gold);flex-shrink:0;transition:transform .4s var(--ease);}
.faq-item.open .faq-q svg{transform:rotate(45deg);}
.faq-a{max-height:0;overflow:hidden;transition:max-height .5s var(--ease);}
.faq-a p{padding:0 4px 26px;color:var(--text-soft);font-size:14.5px;max-width:640px;}

/* ============================================================
   13. LOCATION
   ============================================================ */
.loc-grid{display:grid;grid-template-columns:0.85fr 1.15fr;gap:50px;align-items:stretch;}
.loc-list{list-style:none;margin:30px 0 34px;padding:0;}
.loc-list li{display:flex;gap:16px;align-items:flex-start;padding:18px 0;border-bottom:1px solid var(--line);}
.loc-list svg{width:20px;height:20px;color:var(--gold);flex-shrink:0;margin-top:2px;}
.loc-list strong{display:block;font-size:11.5px;letter-spacing:0.08em;text-transform:uppercase;color:var(--text-soft);margin-bottom:4px;font-weight:700;}
.loc-list span.val{font-size:15.5px;}
.loc-btns{display:flex;gap:14px;flex-wrap:wrap;}
.map-box{border-radius:var(--radius-l);overflow:hidden;box-shadow:0 30px 60px -24px rgba(10,24,38,0.3);min-height:440px;position:relative;}
.map-box iframe{width:100%;height:100%;min-height:440px;border:0;display:block;filter:saturate(0.9) contrast(1.02);}

/* ============================================================
   14. RESERVATION
   ============================================================ */
#rezervasyon{background:var(--navy-950);color:var(--cream);}
#rezervasyon .eyebrow{color:var(--gold-light);}
#rezervasyon .eyebrow::before{background:var(--gold-light);}
#rezervasyon h2{color:#fff;}
.res-grid{display:grid;grid-template-columns:0.8fr 1.2fr;gap:64px;}
.res-side p{color:rgba(248,243,232,0.65);font-size:15.5px;max-width:380px;margin:20px 0 36px;}
.res-contact{display:flex;flex-direction:column;gap:0;}
.res-contact a{
  display:flex;align-items:center;gap:14px;color:#fff;
  font-size:14.5px;padding:16px 0;border-bottom:1px solid rgba(248,243,232,0.12);
  transition:padding-left .3s ease, color .3s ease;
}
.res-contact a:hover{padding-left:8px;color:var(--gold-light);}
.res-contact svg{width:18px;height:18px;color:var(--gold-light);flex-shrink:0;}

.form-card{background:var(--cream);border-radius:var(--radius-l);padding:44px;box-shadow:0 40px 90px -30px rgba(0,0,0,0.55);}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px;}
.field{display:flex;flex-direction:column;gap:8px;}
.field.full{grid-column:1/-1;}
.field label{font-size:11.5px;letter-spacing:0.06em;text-transform:uppercase;color:var(--ink-soft);font-weight:700;}
.field input, .field select, .field textarea{
  font-family:'Manrope';border:1px solid rgba(27,36,48,0.16);background:#fff;
  border-radius:10px;padding:13px 15px;font-size:14.5px;color:var(--ink);outline:none;
  transition:border-color .3s ease, box-shadow .3s ease;
}
.field input:focus, .field select:focus, .field textarea:focus{border-color:var(--gold);box-shadow:0 0 0 4px rgba(201,162,75,0.15);}
.field textarea{resize:vertical;min-height:90px;}
.form-foot{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:10px;flex-wrap:wrap;}
.form-note{font-size:12px;color:var(--ink-soft);max-width:250px;}

/* ============================================================
   15. FOOTER
   ============================================================ */
footer{background:var(--navy-950);color:rgba(248,243,232,0.55);padding:64px 0 30px;}
.foot-top{display:grid;grid-template-columns:1.3fr 0.8fr 0.8fr 1fr;gap:50px;padding-bottom:46px;border-bottom:1px solid rgba(248,243,232,0.1);}
.foot-brand{display:flex;align-items:center;gap:12px;color:#fff;margin-bottom:18px;}
.foot-brand svg{width:30px;height:30px;color:var(--gold);}
.foot-brand span{font-family:'Fraunces';font-size:22px;font-weight:600;}
.foot-top p.desc{font-size:13.5px;max-width:280px;color:rgba(248,243,232,0.5);}
.foot-social{display:flex;gap:10px;margin-top:20px;}
.foot-social a{
  width:36px;height:36px;border-radius:50%;border:1px solid rgba(248,243,232,0.2);
  display:flex;align-items:center;justify-content:center;transition:all .3s ease;
}
.foot-social a:hover{background:var(--gold);border-color:var(--gold);color:#1B1405;}
.foot-social svg{width:15px;height:15px;}
.foot-col h4{color:#fff;font-size:12px;letter-spacing:0.08em;text-transform:uppercase;font-weight:700;margin-bottom:18px;}
.foot-col a, .foot-col span{display:block;color:rgba(248,243,232,0.55);font-size:14px;margin-bottom:12px;transition:color .3s ease;}
.foot-col a:hover{color:var(--gold-light);}
.foot-bottom{padding-top:24px;display:flex;justify-content:space-between;font-size:12px;flex-wrap:wrap;gap:10px;}
.foot-bottom a{text-decoration:underline;text-underline-offset:3px;}
.dgr-credit{
  margin-top:18px;padding-top:18px;border-top:1px solid rgba(248,243,232,0.08);
  display:flex;align-items:center;justify-content:center;gap:10px;
  font-size:11.5px;color:rgba(248,243,232,0.4);
}
.dgr-credit img{height:18px;width:auto;background:#fff;border-radius:4px;padding:2px 6px;}

/* ============================================================
   16. COOKIE BANNER + LEGAL MODAL
   ============================================================ */
#cookieBanner{
  position:fixed;left:20px;right:20px;bottom:20px;z-index:1500;
  max-width:560px;margin:0 auto;padding:22px 26px;border-radius:var(--radius-m);
  background:var(--navy-900);color:var(--cream);
  display:flex;align-items:center;gap:20px;flex-wrap:wrap;
  box-shadow:0 24px 50px -20px rgba(0,0,0,0.5);
  transform:translateY(140%);transition:transform .6s var(--ease);
}
#cookieBanner.show{transform:translateY(0);}
#cookieBanner p{font-size:13px;color:rgba(248,243,232,0.75);flex:1;min-width:200px;}
#cookieBanner .cookie-btns{display:flex;gap:10px;}

.legal-modal .modal{max-width:640px;}
.legal-modal .modal-body{padding:44px;}
.legal-modal h3{margin-bottom:18px;}
.legal-modal p, .legal-modal li{font-size:14px;color:var(--text-soft);margin-bottom:10px;}

/* search */
.search-panel{
  position:fixed;top:0;left:0;right:0;z-index:1100;background:var(--navy-950);
  padding:120px 0 40px;transform:translateY(-100%);transition:transform .5s var(--ease);
}
.search-panel.open{transform:translateY(0);}
.search-panel input{
  width:100%;background:transparent;border:none;border-bottom:1px solid rgba(248,243,232,0.3);
  color:#fff;font-family:'Fraunces';font-size:36px;padding:14px 0;outline:none;
}
.search-panel input::placeholder{color:rgba(248,243,232,0.35);}
.search-results{margin-top:24px;display:grid;gap:10px;}
.search-results a{color:rgba(248,243,232,0.7);font-size:15px;padding:8px 0;}
.search-results a:hover{color:var(--gold-light);}
.search-close{position:absolute;top:36px;right:40px;color:#fff;cursor:pointer;}

/* ============================================================
   17. RESPONSIVE
   ============================================================ */
@media (max-width:1080px){
  .about-grid,.loc-grid,.res-grid,.explore-grid{grid-template-columns:1fr;}
  .room-cards{grid-template-columns:1fr 1fr;}
  .pkg-grid{grid-template-columns:1fr 1fr;}
  .services-grid{grid-template-columns:repeat(3,1fr);}
  .foot-top{grid-template-columns:1fr 1fr;}
  .testi-card{flex:0 0 calc(50% - 14px);}
  .about-media img{height:440px;}
}
@media (max-width:720px){
  .wrap{padding:0 20px;}
  section{padding:76px 0;}
  header{padding:18px 0;}
  header.scrolled{padding:12px 0;}
  .brand-name{font-size:18px;}
  .brand svg{width:28px;height:28px;}
  nav.mainnav{
    position:fixed;top:0;right:0;height:100vh;width:82%;max-width:360px;
    background:var(--navy-950);flex-direction:column;align-items:flex-start;justify-content:center;
    padding:0 40px;gap:26px;transform:translateX(100%);transition:transform .5s var(--ease);
  }
  header.nav-open nav.mainnav{transform:translateX(0);}
  nav.mainnav a{color:#fff !important;font-size:18px;}
  .hamburger{display:flex;}
  .nav-tools{gap:6px;}
  .lang-switch button.disabled{display:none;}
  .lang-switch button{padding:6px 8px;font-size:10.5px;}
  .tool-btn{width:34px;height:34px;}
  .room-cards,.pkg-grid,.services-grid{grid-template-columns:1fr;}
  .form-row{grid-template-columns:1fr;}
  .counters{grid-template-columns:1fr 1fr;gap:20px 16px;}
  .gallery-masonry{columns:2 150px;gap:12px;}
  .gallery-masonry figure{margin-bottom:12px;}
  .testi-card{flex:0 0 100%;}
  .foot-top{grid-template-columns:1fr;gap:34px;}
  .cursor-dot,.cursor-ring{display:none;}
  #backToTop{right:16px;bottom:88px;width:42px;height:42px;}
  #waFloat{right:16px;bottom:20px;width:50px;height:50px;}
  .about-media img{height:320px;}
  .about-media .float-card{left:12px;bottom:-24px;padding:16px 18px;gap:12px;}
  .about-media .float-card strong{font-size:17px;}
  .hero-content{padding-bottom:70px;}
  .hero-btns{flex-direction:column;align-items:stretch;}
  .hero-btns .btn{width:100%;}
  .btn{padding:15px 24px;font-size:12.5px;}
  .search-panel input{font-size:24px;}
  .modal-slider{height:280px;}
  .modal-body{padding:26px 22px 30px;}
  .modal-grid{grid-template-columns:1fr;gap:22px;}
  .form-card{padding:28px 22px;}
  .weather-main{flex-wrap:wrap;}
  .weather-temp{font-size:40px;}
}
@media (max-width:400px){
  .lang-switch{display:none;}
  .eyebrow{font-size:11px;}
  .hero-content h1{font-size:clamp(40px,11vw,64px);}
}

/* ============================================================
   18. MULTI-PAGE ADDITIONS: nav active state, page banner,
   breadcrumb, home teaser cards, room detail page
   ============================================================ */
nav.mainnav a.current{color:var(--gold) !important;}
nav.mainnav a.current::after{width:100%;}

.page-banner{
  position:relative;background:var(--navy-950);color:#fff;
  padding:170px 0 76px;overflow:hidden;
}
.page-banner::after{
  content:"";position:absolute;top:-60px;right:-60px;width:280px;height:280px;border-radius:50%;
  background:radial-gradient(circle,rgba(201,162,75,0.16),transparent 70%);
}
.page-banner .eyebrow{color:var(--gold-light);position:relative;z-index:1;}
.page-banner .eyebrow::before{background:var(--gold-light);}
.page-banner h1{color:#fff;font-size:clamp(34px,5vw,58px);margin-top:16px;position:relative;z-index:1;}
.page-banner p.sub{color:rgba(248,243,232,0.68);margin-top:16px;max-width:560px;font-size:15.5px;position:relative;z-index:1;}
.breadcrumb{display:flex;gap:8px;align-items:center;margin-top:22px;font-size:12.5px;color:rgba(248,243,232,0.5);position:relative;z-index:1;}
.breadcrumb a{color:rgba(248,243,232,0.75);}
.breadcrumb a:hover{color:var(--gold-light);}

/* Home page teaser cards */
.teaser-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:26px;}
.teaser-card{
  background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-l);
  overflow:hidden;transition:transform .4s var(--ease),box-shadow .4s var(--ease);
  display:flex;flex-direction:column;
}
.teaser-card:hover{transform:translateY(-8px);box-shadow:0 28px 50px -22px rgba(10,24,38,0.28);}
.teaser-thumb{height:180px;overflow:hidden;}
.teaser-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease);}
.teaser-card:hover .teaser-thumb img{transform:scale(1.08);}
.teaser-body{padding:24px 24px 26px;display:flex;flex-direction:column;gap:8px;flex:1;}
.teaser-body h3{font-size:20px;}
.teaser-body p{font-size:13.5px;color:var(--text-soft);flex:1;}
.teaser-body .teaser-link{font-size:12.5px;font-weight:700;text-transform:uppercase;letter-spacing:0.05em;color:var(--gold-dim);display:inline-flex;align-items:center;gap:6px;margin-top:6px;}
[data-theme="dark"] .teaser-body .teaser-link{color:var(--gold);}
.teaser-body .teaser-link svg{width:14px;height:14px;transition:transform .3s ease;}
.teaser-card:hover .teaser-link svg{transform:translateX(4px);}

/* Room detail page */
.room-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start;}
.room-detail-hero{border-radius:var(--radius-l);overflow:hidden;box-shadow:0 30px 60px -24px rgba(10,24,38,0.3);}
.room-detail-hero img{width:100%;height:460px;object-fit:cover;}
.room-detail-info h2{font-size:clamp(30px,4vw,44px);}
.room-detail-info p.desc{color:var(--text-soft);font-size:16px;margin:20px 0 30px;}
.room-detail-feats{list-style:none;padding:0;margin:0 0 30px;display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.room-detail-feats li{display:flex;align-items:center;gap:10px;font-size:14.5px;}
.room-detail-feats svg{width:18px;height:18px;color:var(--gold);flex-shrink:0;}
.room-detail-rules{list-style:none;padding:0;margin:0 0 34px;display:grid;gap:10px;font-size:14px;color:var(--text-soft);}
.room-detail-other{margin-top:80px;}
.room-detail-other h3{font-size:22px;margin-bottom:24px;}
.other-rooms-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;}
.other-room-card{
  display:flex;gap:16px;align-items:center;padding:16px;border-radius:var(--radius-m);
  background:var(--surface);border:1px solid var(--line);transition:all .3s ease;
}
.other-room-card:hover{border-color:var(--gold);transform:translateX(4px);}
.other-room-card img{width:84px;height:84px;border-radius:10px;object-fit:cover;flex-shrink:0;}
.other-room-card strong{display:block;font-size:15.5px;}
.other-room-card span{font-size:12.5px;color:var(--text-soft);}

@media (max-width:900px){
  .teaser-grid{grid-template-columns:1fr 1fr;}
  .room-detail-grid{grid-template-columns:1fr;}
  .other-rooms-grid{grid-template-columns:1fr;}
  .room-detail-hero img{height:320px;}
}
@media (max-width:560px){
  .teaser-grid{grid-template-columns:1fr;}
  .room-detail-feats{grid-template-columns:1fr;}
  .page-banner{padding:150px 0 60px;}
  .page-banner h1{font-size:clamp(28px,8vw,40px);}
  .room-detail-hero img{height:240px;}
  .other-room-card img{width:64px;height:64px;}
  .pkg-card{height:320px;}
}
