/* ============================================================
   Hotel Anan Palace — Main Stylesheet
   mobile-first | fully responsive | dynamic color via header.php
   ============================================================ */

/* ── CSS Variable Defaults (overridden by header.php <style>) ─ */
:root {
  --purple:        #2A1F4A;
  --purple-dark:   #1A1230;
  --purple-deeper: #0e0922;
  --gold:          #B88A2E;
  --gold-light:    #D4A84A;
  --gold-deep:     #8C6620;
  --cream:         #F4ECD8;
  --ivory:         #FBF6E8;
  --bg:            #FAF7F1;
  --text:          #1A1230;
  --gray:          #6b6679;
  --line:          #ebe4d2;
  --topbar-h:      32px;
  --nav-h:         60px;
  --header-h:      calc(var(--topbar-h) + var(--nav-h));
  --radius:        6px;
  --shadow:        0 4px 20px -8px rgba(26,18,48,.18);
  --shadow-md:     0 8px 32px -12px rgba(26,18,48,.22);
  --shadow-lg:     0 20px 50px -16px rgba(26,18,48,.3);
}
@media(min-width:1024px){
  :root { --topbar-h:36px; --nav-h:80px; }
}

/* ── Reset ──────────────────────────────────────────────────── */
*,*::before,*::after { box-sizing:border-box; margin:0; padding:0; }
html { scroll-behavior:smooth; -webkit-tap-highlight-color:transparent; }
body {
  font-family:'Poppins',sans-serif;
  color:var(--text); background:#fff;
  line-height:1.65; font-weight:400;
  overflow-x:hidden; -webkit-font-smoothing:antialiased;
}
img { max-width:100%; display:block; }
a { color:inherit; text-decoration:none; }
button { font-family:inherit; cursor:pointer; border:none; background:none; }
input,select,textarea { font-family:'Poppins',sans-serif; }

::-webkit-scrollbar { width:6px; }
::-webkit-scrollbar-track { background:var(--purple-dark); }
::-webkit-scrollbar-thumb { background:var(--gold); border-radius:3px; }

/* ── Layout ─────────────────────────────────────────────────── */
.container { max-width:1280px; margin:0 auto; padding:0 16px; }
@media(min-width:640px)  { .container { padding:0 24px; } }
@media(min-width:1024px) { .container { padding:0 32px; } }

/* ── Typography ─────────────────────────────────────────────── */
.eyebrow {
  font-size:10px; letter-spacing:.3em; text-transform:uppercase;
  color:var(--gold); font-weight:600; display:inline-block;
  position:relative; padding-left:36px;
}
.eyebrow::before { content:''; position:absolute; left:0; top:50%; width:24px; height:1px; background:var(--gold); }
.eyebrow.center { padding:0 36px; }
.eyebrow.center::after { content:''; position:absolute; right:0; top:50%; width:24px; height:1px; background:var(--gold); }

.section-heading {
  font-weight:700; font-size:clamp(24px,4vw,46px);
  line-height:1.1; color:var(--purple-dark); letter-spacing:-.02em; margin-top:12px;
}
.section-heading .gold { color:var(--gold); }
.section-sub { color:var(--gray); font-size:15px; max-width:560px; margin-top:12px; line-height:1.8; }
.text-center { text-align:center; }
.text-gold { color:var(--gold); }

/* ── Spacing ────────────────────────────────────────────────── */
.mt-8{margin-top:8px} .mt-16{margin-top:16px} .mt-24{margin-top:24px}
.mt-32{margin-top:32px} .mt-48{margin-top:48px} .mb-24{margin-bottom:24px}
.py-section { padding:64px 0; }
@media(min-width:768px) { .py-section { padding:100px 0; } }

/* ── Buttons ────────────────────────────────────────────────── */
.btn {
  display:inline-flex; align-items:center; gap:8px;
  padding:12px 22px; font-weight:600; font-size:13px;
  letter-spacing:.05em; border-radius:2px;
  border:1.5px solid transparent; transition:all .3s ease;
  cursor:pointer; white-space:nowrap; text-align:center;
}
.btn-sm   { padding:9px 16px; font-size:12px; }
.btn-full { width:100%; justify-content:center; }

.btn-gold        { background:var(--gold); color:#fff; border-color:var(--gold); }
.btn-gold:hover  { background:var(--gold-deep); border-color:var(--gold-deep); transform:translateY(-2px); box-shadow:0 10px 24px -8px rgba(184,138,46,.5); }
.btn-outline     { border-color:#fff; color:#fff; }
.btn-outline:hover { background:#fff; color:var(--purple-dark); }
.btn-purple      { background:var(--purple); color:#fff; }
.btn-purple:hover { background:var(--purple-dark); transform:translateY(-1px); }
.btn-purple-out  { border-color:var(--purple); color:var(--purple); }
.btn-purple-out:hover { background:var(--purple); color:#fff; }
.btn-gold-out    { border-color:var(--gold); color:var(--gold); }
.btn-gold-out:hover { background:var(--gold); color:#fff; }

/* ── Reveal (scroll animation) ──────────────────────────────── */
/* NOTE: Elements start visible; JS adds 'in' class. No content hidden on load. */
.reveal { transition:opacity .7s ease, transform .7s ease; }
.reveal:not(.in) { opacity:0; transform:translateY(20px); }
.reveal.in { opacity:1; transform:none; }

/* ── Alert boxes ────────────────────────────────────────────── */
.alert { border-radius:6px; padding:14px 18px; margin-bottom:18px; font-size:14px; line-height:1.5; }
.alert-success { background:#d4edda; border:1px solid #b8dac4; color:#155724; }
.alert-error   { background:#f8d7da; border:1px solid #f1b0b7; color:#721c24; }
.alert i { margin-right:7px; }

/* ════════════════════════════════════════════════════════════
   TOPBAR
   ════════════════════════════════════════════════════════════ */
.header-top {
  position:fixed; top:0; left:0; right:0; z-index:51;
  background:var(--purple-deeper); height:var(--topbar-h);
  padding:0 16px;
  display:flex; align-items:center; justify-content:space-between;
  border-bottom:1px solid rgba(184,138,46,.18);
  transition:transform .4s ease, opacity .4s ease;
}
.header-top.hide { transform:translateY(-100%); opacity:0; pointer-events:none; }
@media(min-width:640px)  { .header-top { padding:0 32px; } }
@media(min-width:1024px) { .header-top { padding:0 64px; } }

.header-top-left { display:flex; align-items:center; gap:10px; overflow:hidden; min-width:0; }
.header-top-left a {
  color:rgba(255,255,255,.6); font-size:10px; font-weight:400;
  display:inline-flex; align-items:center; gap:5px;
  transition:color .3s; white-space:nowrap;
}
.header-top-left a:hover { color:var(--gold); }
.header-top-left a i { color:var(--gold); font-size:9px; flex-shrink:0; }
@media(min-width:480px) { .header-top-left a { font-size:11px; } }

/* Show full address only on larger screens */
.topbar-hide-sm { display:none; }
.topbar-show-sm { display:inline; }
@media(min-width:640px) { .topbar-hide-sm { display:inline; } .topbar-show-sm { display:none; } }

.header-top-sep { width:1px; height:11px; background:rgba(255,255,255,.15); flex-shrink:0; }
.header-top-socials { display:flex; align-items:center; gap:12px; flex-shrink:0; }
.header-top-socials a { color:rgba(255,255,255,.45); font-size:11px; transition:color .3s; }
.header-top-socials a:hover { color:var(--gold); }

/* ════════════════════════════════════════════════════════════
   NAV
   ════════════════════════════════════════════════════════════ */
.nav {
  position:fixed; top:var(--topbar-h); left:0; right:0; z-index:50;
  background:#fffef2; height:var(--nav-h);
  padding:0 16px;
  display:flex; align-items:center; justify-content:space-between;
  border-bottom:2px solid var(--gold);
  transition:top .4s, height .4s, box-shadow .4s;
}
.nav.scrolled { top:0; height:58px; box-shadow:0 4px 24px rgba(14,9,34,.2); }
@media(min-width:640px)  { .nav { padding:0 24px; } }
@media(min-width:1024px) { .nav { padding:0 64px; } }

.nav-logo { display:flex; align-items:center; flex-shrink:0; }
.nav-logo-img { height:46px; width:auto; object-fit:contain; transition:height .4s; }
.nav.scrolled .nav-logo-img { height:38px; }
@media(min-width:1024px) {
  .nav-logo-img { height:64px; }
  .nav.scrolled .nav-logo-img { height:46px; }
}

.nav-links { display:none; }
@media(min-width:1024px) {
  .nav-links {
    display:flex; gap:28px; align-items:center;
  }
  /* Only top-level nav links — NOT items inside .nav-dropdown */
  .nav-links > a,
  .nav-links > .nav-dropdown-wrap > .nav-link {
    color:var(--purple-dark); font-size:13px; font-weight:600;
    letter-spacing:.04em; position:relative; padding:6px 0; transition:color .3s;
  }
  .nav-links > a::after,
  .nav-links > .nav-dropdown-wrap > .nav-link::after {
    content:''; position:absolute; bottom:0; left:0;
    width:0; height:2px; background:var(--gold); transition:width .35s;
  }
  .nav-links > a:hover::after,
  .nav-links > a.active-link::after,
  .nav-links > .nav-dropdown-wrap > .nav-link:hover::after,
  .nav-links > .nav-dropdown-wrap > .nav-link.active-link::after { width:100%; }
  .nav-links > a:hover,
  .nav-links > a.active-link,
  .nav-links > .nav-dropdown-wrap > .nav-link:hover,
  .nav-links > .nav-dropdown-wrap > .nav-link.active-link { color:var(--gold); }

  /* Reset only ::after for dropdown items — do NOT reset padding */
  .nav-dropdown a::after { display:none !important; width:0 !important; }

  /* CSS hover fallback — works even if JS fails */
  .nav-dropdown-wrap:hover .nav-dropdown { display:block; }
  .nav-dropdown-wrap:hover .nav-drop-icon { transform:rotate(180deg); }
  .nav-dropdown-wrap:hover > .nav-link { color:var(--gold); }
}

.nav-phone { display:none; }
@media(min-width:1024px) {
  .nav-phone {
    display:flex; align-items:center; gap:7px;
    color:var(--purple-dark); font-size:12px; font-weight:500; transition:color .3s;
  }
  .nav-phone i { color:var(--gold); font-size:11px; }
  .nav-phone:hover { color:var(--gold); }
}

.nav-right { display:flex; align-items:center; gap:10px; flex-shrink:0; }
@media(min-width:1024px) { .nav-right { gap:16px; } }

.nav-cta {
  padding:9px 20px;
  background:var(--gold); color:#fff;
  font-size:12px; font-weight:700; letter-spacing:.06em;
  border-radius:50px;                /* ← pill shape */
  display:inline-flex; align-items:center; justify-content:center;
  gap:0;
  transition:all .3s; white-space:nowrap;
  box-shadow:0 4px 14px -4px rgba(184,138,46,.5);
}
.nav-cta:hover {
  background:var(--gold-deep);
  transform:translateY(-2px);
  box-shadow:0 8px 20px -6px rgba(184,138,46,.6);
}
/* Mobile: smaller pill, no icon space needed */
@media(max-width:639px) {
  .nav-cta { padding:8px 16px; font-size:11px; }
}

.nav-burger { display:flex; align-items:center; color:var(--purple-dark); font-size:22px; padding:4px; }
@media(min-width:1024px) { .nav-burger { display:none; } }

/* ═══════════════════════════════════════
   DESKTOP DROPDOWN NAV
═══════════════════════════════════════ */
.nav-link {
  font-size:13px; font-weight:600; color:var(--purple-dark);
  letter-spacing:.02em; padding:6px 2px;
  position:relative; white-space:nowrap;
  transition:color .25s;
}
.nav-link::after {
  content:''; position:absolute; bottom:-2px; left:0; right:0;
  height:2px; background:var(--gold);
  transform:scaleX(0); transform-origin:left;
  transition:transform .3s ease;
}
.nav-link:hover, .nav-link.active-link { color:var(--gold); }
.nav-link:hover::after, .nav-link.active-link::after { transform:scaleX(1); }

.nav-has-drop { display:flex; align-items:center; gap:5px; cursor:pointer; }
.nav-drop-icon { font-size:9px; transition:transform .2s; }
.nav-dropdown-wrap { position:relative; display:flex; align-items:center; }
.nav-dropdown-wrap.is-open .nav-drop-icon { transform:rotate(180deg); }
.nav-dropdown-wrap.is-open > .nav-link { color:var(--gold); }

/* ── DROPDOWN PANEL ── */
.nav-dropdown {
  display: none;
  position: absolute;
  top: calc(100% + 6px);
  left: 0;
  background: #ffffff;
  border: 1px solid #e5e0d5;
  border-top: 3px solid var(--gold);
  border-radius: 4px;
  box-shadow: 0 8px 24px rgba(0,0,0,0.12);
  min-width: 200px;
  z-index: 9999;
  padding: 8px 0;
}
.nav-dropdown-wrap.is-open .nav-dropdown { display: block; }

/* ── DROPDOWN ITEMS ── */
.nav-links .nav-dropdown a,
.nav-dropdown a {
  display: block !important;
  padding: 10px 24px !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  color: #1A1230 !important;
  white-space: nowrap !important;
  background: none !important;
  border: none !important;
  text-decoration: none !important;
  line-height: 1.4 !important;
  position: static !important;
  letter-spacing: normal !important;
  transition: background 0.15s, color 0.15s;
}
.nav-dropdown a::after { display:none !important; }
.nav-dropdown a:hover { background: #f9f5ee; color: var(--gold); }

.nav-drop-divider { height:1px; background:#e5e0d5; margin:6px 0; }

.nav-drop-all {
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: 0.15em !important;
  text-transform: uppercase !important;
  color: var(--gold) !important;
  padding: 10px 24px 8px !important;
}
.nav-drop-all:hover { background:#fdf8ef !important; color:var(--gold) !important; }
.nav-drop-icon-item { display:none; }



/* ═══════════════════════════════════════
   MOBILE ACCORDION NAV
═══════════════════════════════════════ */
.nav-mob-link {
  display:flex; align-items:center; justify-content:space-between;
  padding:16px 24px;
  font-size:16px; font-weight:500;
  color:rgba(255,255,255,.85);
  border-bottom:1px solid rgba(255,255,255,.08);
  transition:color .2s, background .2s;
}
.nav-mob-link:hover, .nav-mob-link.nav-mobile-active {
  color:var(--gold); background:rgba(255,255,255,.04);
}

.nav-mob-accordion { border-bottom:1px solid rgba(255,255,255,.08); }

.nav-mob-acc-btn {
  display:flex; align-items:center; justify-content:space-between;
  width:100%; padding:16px 24px;
  font-size:16px; font-weight:500;
  color:rgba(255,255,255,.85);
  background:none; border:none; cursor:pointer;
  font-family:inherit; transition:color .2s, background .2s;
}
.nav-mob-acc-btn:hover, .nav-mob-acc-btn.nav-mobile-active {
  color:var(--gold); background:rgba(255,255,255,.04);
}
.nav-mob-caret { font-size:10px; transition:transform .3s; color:rgba(255,255,255,.5); }
.nav-mob-acc-btn.open .nav-mob-caret { transform:rotate(180deg); color:var(--gold); }

.nav-mob-acc-body {
  display:none;
  background:rgba(0,0,0,.15);
  border-top:1px solid rgba(255,255,255,.06);
}
.nav-mob-acc-body.open { display:block; }

.nav-mob-sub-link {
  display:flex; align-items:center; gap:10px;
  padding:13px 36px;
  font-size:14px; color:rgba(255,255,255,.6);
  border-bottom:1px solid rgba(255,255,255,.05);
  transition:color .2s, background .2s;
}
.nav-mob-sub-link:last-child { border-bottom:none; }
.nav-mob-sub-link:hover { color:var(--gold); background:rgba(255,255,255,.04); }

/* ── Mobile Drawer ── */
.nav-mobile {
  display:none; position:fixed; inset:0;
  background:var(--purple-deeper); z-index:60;
  flex-direction:column; overflow-y:auto;
}
.nav-mobile.open { display:flex; }
.nav-mobile-header {
  position:sticky; top:0; z-index:1; height:64px; padding:0 20px;
  display:flex; align-items:center; justify-content:space-between;
  border-bottom:1px solid rgba(184,138,46,.18);
  background:var(--purple-deeper); flex-shrink:0;
}
.nav-mobile-logo img { height:36px; width:auto; }
.nav-mobile-close { color:rgba(255,255,255,.8); font-size:22px; padding:4px; line-height:1; }
.nav-mobile > a {
  color:rgba(255,255,255,.8); font-size:16px; font-weight:500;
  padding:16px 24px;
  border-bottom:1px solid rgba(255,255,255,.07);
  display:flex; align-items:center; justify-content:space-between;
  transition:color .3s, background .3s;
}
.nav-mobile > a i { color:var(--gold); font-size:10px; }
.nav-mobile > a:hover,
.nav-mobile > a.nav-mobile-active { color:var(--gold-light); background:rgba(255,255,255,.03); }
.nav-mobile-book {
  margin:20px 24px 0; background:var(--gold); color:#fff;
  padding:14px 24px; font-size:13px; font-weight:600;
  border-radius:2px; text-align:center; display:block;
}
.nav-mobile-contact { margin:16px 24px 0; padding-top:16px; border-top:1px solid rgba(255,255,255,.1); }
.nav-mobile-contact a {
  color:rgba(255,255,255,.5); font-size:13px;
  padding:7px 0; display:flex; align-items:center; gap:10px;
}
.nav-mobile-contact a i { color:var(--gold); width:14px; text-align:center; flex-shrink:0; }
.nav-mobile-contact a:hover { color:var(--gold-light); }

/* ════════════════════════════════════════════════════════════
   HERO
   ════════════════════════════════════════════════════════════ */
.hero {
  position:relative; min-height:100svh; overflow:hidden;
  background:var(--purple-dark); display:flex; flex-direction:column;
}
.hero-bg {
  position:absolute; inset:0;
  background-size:cover; background-position:center top;
  background-color:var(--purple-dark); /* shows while image loads */
}
.hero-overlay {
  position:absolute; inset:0; z-index:2;
  background:linear-gradient(180deg,rgba(26,18,48,.75) 0%,rgba(26,18,48,.38) 45%,rgba(26,18,48,.9) 100%);
}
.hero-content {
  position:relative; z-index:3; flex:1;
  display:flex; align-items:center; justify-content:center;
  padding:calc(var(--header-h) + 32px) 20px 80px;
  text-align:center;
}
.hero-inner { max-width:680px; color:#fff; width:100%; }
.hero-pill {
  display:inline-flex; align-items:center; gap:7px;
  padding:6px 14px;
  border:1px solid rgba(212,168,74,.4); color:var(--gold-light);
  font-size:10px; letter-spacing:.2em; text-transform:uppercase; font-weight:600;
  margin-bottom:16px; border-radius:30px;
  background:rgba(255,255,255,.05); backdrop-filter:blur(8px);
}
.hero h1 {
  font-size:clamp(28px,7vw,72px);
  line-height:1.05; font-weight:700;
  letter-spacing:-.025em; margin-bottom:14px;
}
.hero h1 .gold { color:var(--gold-light); font-weight:500; }
.hero-desc {
  font-size:clamp(13px,2vw,16px); line-height:1.8;
  max-width:500px; margin:0 auto 22px;
  color:rgba(255,255,255,.82); font-weight:300;
}
.hero-ctas { display:flex; gap:10px; flex-wrap:wrap; justify-content:center; }
@media(max-width:380px) {
  .hero-ctas { flex-direction:column; align-items:center; }
  .hero-ctas .btn { width:100%; max-width:260px; justify-content:center; }
}
.hero-scroll {
  position:absolute; bottom:20px; left:50%; transform:translateX(-50%);
  z-index:4; display:flex; flex-direction:column; align-items:center; gap:5px;
  color:rgba(255,255,255,.38); font-size:9px; letter-spacing:.16em; text-transform:uppercase;
  animation:scrollBounce 2.2s ease-in-out infinite;
}
.hero-scroll i { font-size:13px; color:rgba(184,138,46,.6); }
@keyframes scrollBounce {
  0%,100% { transform:translateX(-50%) translateY(0); }
  50%      { transform:translateX(-50%) translateY(6px); }
}

/* ════════════════════════════════════════════════════════════
   BOOKING BAR
   ════════════════════════════════════════════════════════════ */
.booking-bar {
  background:#fff;
  margin:-36px 12px 0; position:relative; z-index:6;
  border-top:3px solid var(--gold);
  box-shadow:0 20px 50px -16px rgba(26,18,48,.22);
  padding:18px 16px;
}
@media(min-width:480px) { .booking-bar { margin:-40px 20px 0; padding:22px 24px; } }
@media(min-width:768px) { .booking-bar { margin:-50px 32px 0; padding:24px 32px; } }
@media(min-width:1024px){ .booking-bar { margin:-60px auto 0; max-width:1180px; padding:28px 36px; } }

.booking-grid { display:grid; grid-template-columns:1fr; gap:12px; }
@media(min-width:480px) { .booking-grid { grid-template-columns:1fr 1fr; } }
@media(min-width:1024px){ .booking-grid { grid-template-columns:repeat(4,1fr) auto; gap:0; align-items:center; } }

.booking-field { padding:6px 0; }
@media(min-width:1024px) {
  .booking-field { padding:6px 22px; border-right:1px solid var(--line); }
  .booking-field:first-child { padding-left:6px; }
}
.booking-field label {
  display:block; font-size:10px; letter-spacing:.22em; text-transform:uppercase;
  color:var(--gold); font-weight:600; margin-bottom:5px;
}
.booking-field input,
.booking-field select {
  background:transparent; border:none; border-bottom:1.5px solid var(--line);
  color:var(--purple-dark); font-size:14px; font-weight:500;
  width:100%; outline:none; padding:4px 0; -webkit-appearance:none;
}
@media(min-width:1024px) {
  .booking-field input,
  .booking-field select { border-bottom:none; }
}
.booking-cta {
  background:var(--gold); color:#fff; padding:13px 18px;
  font-size:13px; font-weight:600; letter-spacing:.05em;
  display:flex; align-items:center; justify-content:center; gap:8px;
  border-radius:2px; transition:background .3s; cursor:pointer; width:100%;
}
@media(min-width:480px) { .booking-cta { grid-column:1/-1; } }
@media(min-width:1024px){ .booking-cta { width:auto; margin-left:18px; grid-column:unset; flex-shrink:0; } }
.booking-cta:hover { background:var(--gold-deep); }

/* ════════════════════════════════════════════════════════════
   ABOUT
   ════════════════════════════════════════════════════════════ */
.about { padding:72px 0; background:#fff; }
@media(min-width:1024px) { .about { padding:140px 0 120px; } }

.about-grid { display:grid; grid-template-columns:1fr; gap:48px; }
@media(min-width:1024px) { .about-grid { grid-template-columns:1fr 1.05fr; gap:80px; align-items:center; } }

.about-images { position:relative; max-width:420px; width:100%; }
@media(min-width:1024px) { .about-images { max-width:none; } }
.about-img-main {
  width:100%; aspect-ratio:3/4; object-fit:cover; border-radius:6px;
  box-shadow:0 24px 60px -16px rgba(26,18,48,.3);
}
.about-badge {
  position:absolute; top:24px; left:-14px;
  background:var(--purple-dark); color:#fff;
  padding:18px 22px; border-radius:4px;
  box-shadow:0 14px 36px -10px rgba(26,18,48,.45);
  border-left:3px solid var(--gold);
}
@media(min-width:640px) { .about-badge { left:-26px; } }
.about-badge .num { font-size:28px; font-weight:700; color:var(--gold); line-height:1; }
.about-badge .lbl { font-size:10px; letter-spacing:.2em; text-transform:uppercase; margin-top:5px; color:rgba(255,255,255,.82); }
.about-text p { margin-bottom:14px; color:var(--gray); font-size:15px; line-height:1.85; }

.about-features { display:grid; grid-template-columns:1fr 1fr; gap:10px 20px; margin:20px 0; list-style:none; }
.about-features li { display:flex; align-items:center; gap:10px; font-size:13px; font-weight:500; color:var(--purple-dark); }
.about-features i {
  color:#fff; background:var(--gold); width:20px; height:20px;
  border-radius:50%; display:inline-flex; align-items:center; justify-content:center;
  font-size:9px; flex-shrink:0;
}

.about-stats { display:flex; margin-top:32px; padding-top:24px; border-top:1px solid var(--line); }
.stat { flex:1; padding:0 14px; border-right:1px solid var(--gold); text-align:center; }
.stat:first-child { padding-left:0; text-align:left; }
.stat:last-child  { border-right:none; padding-right:0; text-align:right; }
.stat .num { font-size:26px; color:var(--purple-dark); font-weight:700; line-height:1; }
.stat .num span { color:var(--gold); }
.stat .lbl { font-size:10px; letter-spacing:.16em; text-transform:uppercase; color:var(--gray); margin-top:5px; }

@media(max-width:400px) {
  .about-stats { flex-direction:column; gap:14px; }
  .stat { padding:10px 0; border-right:none; border-bottom:1px solid var(--line); text-align:center !important; }
  .stat:last-child { border-bottom:none; }
}

/* ════════════════════════════════════════════════════════════
   AMENITIES
   ════════════════════════════════════════════════════════════ */
.amenities { padding:72px 0; background:var(--bg); }
@media(min-width:768px) { .amenities { padding:100px 0; } }
.amenities-head { text-align:center; margin-bottom:48px; }
.amenities-head .section-sub { margin:12px auto 0; }
.amenities-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
@media(min-width:768px)  { .amenities-grid { grid-template-columns:repeat(4,1fr); gap:18px; } }
@media(min-width:1024px) { .amenities-grid { gap:24px; } }

.amenity-card {
  background:#fff; padding:24px 16px; text-align:center; border-radius:var(--radius);
  border:1px solid transparent; transition:all .4s; position:relative; overflow:hidden;
}
@media(min-width:640px) { .amenity-card { padding:36px 22px; } }
.amenity-card::after {
  content:''; position:absolute; bottom:0; left:50%; transform:translateX(-50%);
  width:0; height:2px; background:var(--gold); transition:width .4s;
}
.amenity-card:hover { border-color:var(--gold); transform:translateY(-5px); box-shadow:var(--shadow-lg); }
.amenity-card:hover::after { width:65%; }
.amenity-card:hover .amenity-icon { background:var(--gold); color:#fff; }
.amenity-icon {
  width:56px; height:56px; border-radius:50%; background:var(--ivory); color:var(--gold);
  display:inline-flex; align-items:center; justify-content:center;
  font-size:20px; margin-bottom:14px; transition:all .4s;
}
@media(min-width:640px) { .amenity-icon { width:64px; height:64px; font-size:24px; } }
.amenity-card h4 { font-size:14px; color:var(--purple-dark); font-weight:600; margin-bottom:6px; line-height:1.3; }
@media(min-width:640px) { .amenity-card h4 { font-size:16px; } }
.amenity-card p  { font-size:12px; color:var(--gray); line-height:1.6; display:none; }
@media(min-width:480px) { .amenity-card p { display:block; } }

/* ════════════════════════════════════════════════════════════
   ROOMS SLIDER (homepage)
   ════════════════════════════════════════════════════════════ */
.rooms { padding:72px 0; background:#fff; }
@media(min-width:768px) { .rooms { padding:100px 0; } }
.rooms-head { text-align:center; margin-bottom:40px; }
.rooms-head .section-sub { margin:12px auto 0; }

.rooms-slider-outer {
  overflow:hidden; cursor:grab; user-select:none;
  padding-right:48px; /* peek of next card */
}
.rooms-slider-outer.is-dragging { cursor:grabbing; }
.rooms-slider { display:flex; padding:8px 0 24px; will-change:transform; }

/* Mobile: 1 card + peek */
.room-card {
  width:calc(100vw - 80px); flex:0 0 calc(100vw - 80px);
  margin-right:14px;
  background:#fff; border-radius:10px; overflow:hidden;
  box-shadow:var(--shadow-md); display:flex; flex-direction:column;
  transition:transform .4s,box-shadow .4s; border:1px solid var(--line);
}
/* Tablet: 2 cards */
@media(min-width:540px) {
  .room-card { width:calc(50% - 12px); flex:0 0 calc(50% - 12px); margin-right:18px; }
  .rooms-slider-outer { padding-right:52px; }
}
/* Desktop: 3 cards */
@media(min-width:1024px) {
  .room-card { width:calc(33.333% - 16px); flex:0 0 calc(33.333% - 16px); margin-right:22px; }
  .rooms-slider-outer { padding-right:56px; }
}
.room-card:hover { transform:translateY(-6px); box-shadow:var(--shadow-lg); border-color:var(--gold); }

.room-img-wrap { position:relative; aspect-ratio:16/10; overflow:hidden; flex-shrink:0; }
.room-img-wrap img { width:100%; height:100%; object-fit:cover; transition:transform .8s; pointer-events:none; }
.room-card:hover .room-img-wrap img { transform:scale(1.06); }
.room-ribbon {
  position:absolute; top:12px; left:12px;
  background:var(--gold); color:#fff;
  padding:4px 12px; font-size:10px; letter-spacing:.14em; text-transform:uppercase; font-weight:600;
  border-radius:20px;
}
.room-body { padding:18px; flex:1; display:flex; flex-direction:column; }
.room-body h3 { font-size:17px; color:var(--purple-dark); font-weight:600; margin-bottom:6px; line-height:1.3; }
.room-body p.desc { font-size:13px; color:var(--gray); margin-bottom:12px; line-height:1.65; flex:1; }
.room-meta {
  display:flex; gap:10px; flex-wrap:wrap; padding:10px 0;
  border-top:1px solid var(--line); border-bottom:1px solid var(--line);
  font-size:11px; color:var(--gray); font-weight:500; margin-bottom:12px;
}
.room-meta div { display:flex; align-items:center; gap:5px; }
.room-meta i { color:var(--gold); font-size:11px; }
.room-price { display:flex; align-items:baseline; gap:4px; margin-bottom:14px; }
.room-price .num { font-size:22px; color:var(--gold); font-weight:700; }
.room-price .per { font-size:12px; color:var(--gray); }
.room-actions { display:flex; gap:8px; }
.room-actions .btn { flex:1; justify-content:center; padding:9px 10px; font-size:11px; }

.rooms-controls { display:flex; justify-content:center; align-items:center; gap:14px; margin-top:8px; }
.rooms-arrow {
  width:40px; height:40px; border-radius:50%;
  border:1.5px solid var(--gold); background:#fff; color:var(--gold); font-size:13px;
  display:flex; align-items:center; justify-content:center;
  cursor:pointer; transition:all .28s; flex-shrink:0;
}
.rooms-arrow:hover { background:var(--gold); color:#fff; }
.rooms-arrow:disabled { opacity:.3; cursor:default; }
.rooms-dots { display:flex; gap:6px; align-items:center; }
.rooms-dots span { width:7px; height:7px; border-radius:50%; background:rgba(42,31,74,.18); cursor:pointer; transition:all .3s; }
.rooms-dots span.active { background:var(--gold); width:20px; border-radius:4px; }
.rooms-link { text-align:center; margin-top:24px; }
.rooms-link a {
  color:var(--purple-dark); font-weight:600; letter-spacing:.1em;
  text-transform:uppercase; font-size:12px;
  border-bottom:1.5px solid var(--gold); padding-bottom:3px; transition:color .3s;
}
.rooms-link a:hover { color:var(--gold); }

/* ════════════════════════════════════════════════════════════
   ROOMS PAGE GRID (rooms.php listing)
   ════════════════════════════════════════════════════════════ */
.rooms-page-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 20px;
}
@media(min-width:480px)  { .rooms-page-grid { grid-template-columns: 1fr 1fr; gap:20px; } }
@media(min-width:1024px) { .rooms-page-grid { grid-template-columns: repeat(3,1fr); gap:28px; } }
/* CRITICAL: Reset all slider sizing so grid controls width */
.rooms-page-grid .room-card {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  flex: 0 0 auto !important;
  margin-right: 0 !important;
}

/* ════════════════════════════════════════════════════════════
   SERVICES / EXPERIENCES
   ════════════════════════════════════════════════════════════ */
.services { padding:80px 0; background:var(--purple-dark); position:relative; overflow:hidden; }
@media(min-width:768px) { .services { padding:100px 0; } }
.services::before {
  content:''; position:absolute; inset:0; pointer-events:none;
  background:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23B88A2E' fill-opacity='0.04'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/svg%3E");
}
.services-head { text-align:center; margin-bottom:36px; position:relative; z-index:1; }
.services-head .eyebrow { color:var(--gold-light); }
.services-head .section-heading { color:#fff; }
.services-head p { color:rgba(255,255,255,.6); font-size:14px; max-width:500px; margin:10px auto 0; line-height:1.75; }

.svc-tabs { display:flex; gap:8px; flex-wrap:wrap; justify-content:center; margin-bottom:32px; position:relative; z-index:2; }
.svc-tab {
  display:flex; align-items:center; gap:7px; padding:9px 14px;
  background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.12);
  border-radius:40px; cursor:pointer; font-family:'Poppins',sans-serif;
  transition:all .3s; color:rgba(255,255,255,.65);
}
@media(min-width:640px) { .svc-tab { padding:11px 20px; gap:10px; } }
.svc-tab:hover { background:rgba(184,138,46,.15); border-color:rgba(184,138,46,.35); color:#fff; }
.svc-tab.active { background:var(--gold); border-color:var(--gold); color:#fff; box-shadow:0 6px 18px -6px rgba(184,138,46,.5); }
.svc-tab .tab-num  { font-size:10px; letter-spacing:.18em; font-weight:700; opacity:.7; display:none; }
@media(min-width:640px) { .svc-tab .tab-num { display:inline; } }
.svc-tab.active .tab-num { opacity:1; }
.svc-tab .tab-name { font-size:12px; font-weight:600; }
.svc-tab .tab-icon { font-size:13px; }

.svc-showcase { position:relative; z-index:1; }
.svc-panel { display:none; }
.svc-panel.active { display:block; animation:svcFade .5s ease; }
@keyframes svcFade { from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none} }
.svc-inner {
  display:grid; grid-template-columns:1fr; border-radius:12px; overflow:hidden;
  box-shadow:0 28px 60px -18px rgba(0,0,0,.5);
}
@media(min-width:768px) { .svc-inner { grid-template-columns:1.1fr 1fr; min-height:440px; } }

.svc-visual { position:relative; overflow:hidden; min-height:200px; background:var(--purple-dark); }
@media(min-width:640px) { .svc-visual { min-height:260px; } }
@media(min-width:768px) { .svc-visual { min-height:0; } }
.svc-visual img { width:100%; height:100%; object-fit:cover; display:block; transition:transform 8s ease; }
.svc-panel.active .svc-visual img { transform:scale(1.05); }
.svc-visual-overlay {
  position:absolute; inset:0;
  background:linear-gradient(to right, transparent 40%, rgba(26,18,48,.45) 100%),
             linear-gradient(to top, rgba(26,18,48,.6) 0%, transparent 50%);
}
.svc-badge {
  position:absolute; top:16px; left:16px; z-index:3;
  display:flex; align-items:center; gap:6px;
  background:rgba(0,0,0,.3); backdrop-filter:blur(8px);
  border:1px solid rgba(184,138,46,.3); border-radius:30px;
  padding:5px 12px; color:var(--gold-light);
  font-size:10px; letter-spacing:.2em; text-transform:uppercase; font-weight:600;
}
.svc-num-big {
  position:absolute; bottom:12px; left:16px; z-index:3;
  font-size:clamp(56px,10vw,100px); font-weight:700; line-height:1;
  color:rgba(255,255,255,.07); letter-spacing:-.04em; pointer-events:none;
}
.svc-detail { background:var(--ivory); padding:24px 20px; display:flex; flex-direction:column; position:relative; }
@media(min-width:640px) { .svc-detail { padding:36px 32px; } }
@media(min-width:1024px){ .svc-detail { padding:44px 40px; } }
.svc-detail::before { content:''; position:absolute; top:0; left:0; bottom:0; width:3px; background:var(--gold); }
.svc-eyebrow-tag {
  display:inline-flex; align-items:center; gap:7px;
  font-size:10px; letter-spacing:.24em; text-transform:uppercase;
  color:var(--gold); font-weight:700; margin-bottom:10px;
}
.svc-eyebrow-tag::before { content:''; width:16px; height:1px; background:var(--gold); }
.svc-detail h3 { font-size:clamp(20px,2.5vw,30px); font-weight:700; color:var(--purple-dark); line-height:1.15; margin-bottom:10px; }
.svc-lead { font-size:14px; line-height:1.7; color:var(--gray); margin-bottom:18px; border-bottom:1px solid var(--line); padding-bottom:18px; }
.svc-features { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-bottom:20px; }
@media(max-width:380px) { .svc-features { grid-template-columns:1fr; } }
.svc-feat { display:flex; align-items:flex-start; gap:10px; }
.svc-feat-icon { width:32px; height:32px; border-radius:7px; background:rgba(184,138,46,.1); color:var(--gold); display:flex; align-items:center; justify-content:center; font-size:13px; flex-shrink:0; }
.svc-feat-text strong { display:block; font-size:12px; color:var(--purple-dark); font-weight:600; line-height:1.3; }
.svc-feat-text span   { font-size:11px; color:var(--gray); }
.svc-cta-row { display:flex; gap:10px; align-items:center; margin-top:auto; padding-top:18px; border-top:1px solid var(--line); flex-wrap:wrap; }
.svc-cta-primary {
  background:var(--purple-dark); color:#fff; padding:11px 20px; border-radius:4px;
  font-size:12px; letter-spacing:.1em; text-transform:uppercase; font-weight:600;
  display:inline-flex; align-items:center; gap:7px; transition:all .3s;
}
.svc-cta-primary:hover { background:var(--gold); transform:translateY(-2px); }
.svc-cta-secondary {
  font-size:12px; color:var(--gray); letter-spacing:.05em; text-transform:uppercase;
  font-weight:500; display:inline-flex; align-items:center; gap:4px; transition:color .3s;
}
.svc-cta-secondary:hover { color:var(--gold); }

/* ════════════════════════════════════════════════════════════
   GALLERY STRIP (homepage)
   ════════════════════════════════════════════════════════════ */
.gallery { padding:72px 0 52px; background:var(--bg); overflow:hidden; }
@media(min-width:768px) { .gallery { padding:100px 0 72px; } }
.gallery-head { text-align:center; margin-bottom:32px; }
.gallery-track-wrap { position:relative; margin:0 -16px; }
@media(min-width:640px)  { .gallery-track-wrap { margin:0 -24px; } }
@media(min-width:1024px) { .gallery-track-wrap { margin:0 -32px; } }
.gallery-track {
  display:flex; gap:10px; padding:6px 16px;
  overflow-x:auto; scroll-behavior:smooth; scrollbar-width:none;
}
@media(min-width:640px) { .gallery-track { gap:14px; padding:6px 24px; } }
.gallery-track::-webkit-scrollbar { display:none; }
.gallery-track img {
  height:180px; width:auto; flex-shrink:0; object-fit:cover; border-radius:4px;
  transition:transform .5s, filter .4s; cursor:pointer;
}
@media(min-width:640px)  { .gallery-track img { height:230px; } }
@media(min-width:1024px) { .gallery-track img { height:280px; } }
.gallery-track img:hover { transform:scale(1.02); filter:brightness(1.05); }
.gallery-arrow {
  position:absolute; top:50%; transform:translateY(-50%);
  width:42px; height:42px; border-radius:50%;
  background:var(--gold); color:#fff;
  display:flex; align-items:center; justify-content:center;
  z-index:2; cursor:pointer; transition:all .3s;
  box-shadow:0 6px 20px -6px rgba(0,0,0,.3);
}
.gallery-arrow:hover { background:var(--purple-dark); transform:translateY(-50%) scale(1.06); }
.gallery-arrow.prev { left:14px; }
.gallery-arrow.next { right:14px; }
.gallery-dots { display:flex; justify-content:center; gap:8px; margin-top:20px; }
.gallery-dots span { width:7px; height:7px; border-radius:50%; background:rgba(42,31,74,.2); cursor:pointer; transition:all .3s; }
.gallery-dots span.active { background:var(--gold); width:20px; border-radius:4px; }

/* ════════════════════════════════════════════════════════════
   TESTIMONIALS
   ════════════════════════════════════════════════════════════ */
.testimonials { padding:72px 0; background:#fff; }
@media(min-width:768px) { .testimonials { padding:100px 0; } }
.testimonials-head { text-align:center; margin-bottom:40px; }
.testimonials-grid { display:grid; grid-template-columns:1fr; gap:18px; }
@media(min-width:640px)  { .testimonials-grid { grid-template-columns:1fr 1fr; } }
@media(min-width:1024px) { .testimonials-grid { grid-template-columns:repeat(3,1fr); gap:24px; } }
.tcard {
  background:#fff; border-top:3px solid var(--gold);
  padding:24px 20px; border-radius:6px;
  box-shadow:var(--shadow-md); display:flex; flex-direction:column;
}
.tcard .quote { font-size:24px; color:var(--gold); margin-bottom:12px; }
.tcard p { font-size:14px; color:#544a5e; line-height:1.75; margin-bottom:12px; flex:1; }
.tcard .stars { color:var(--gold); margin-bottom:12px; letter-spacing:3px; font-size:12px; }
.tcard .divider { height:1px; background:var(--gold); width:36px; margin-bottom:12px; opacity:.5; }
.tcard .guest { display:flex; align-items:center; gap:12px; }
.tcard .avatar {
  width:40px; height:40px; border-radius:50%;
  background:var(--purple); color:var(--gold-light);
  display:flex; align-items:center; justify-content:center;
  font-weight:600; font-size:13px; flex-shrink:0;
}
.tcard .guest h5   { font-size:13px; color:var(--purple-dark); font-weight:600; margin-bottom:2px; }
.tcard .guest span { font-size:11px; color:var(--gray); }

/* ════════════════════════════════════════════════════════════
   ATTRACTIONS / BLOG CARDS
   ════════════════════════════════════════════════════════════ */
.attractions-grid { display:grid; grid-template-columns:1fr; gap:16px; }
@media(min-width:480px)  { .attractions-grid { grid-template-columns:1fr 1fr; } }
@media(min-width:1024px) { .attractions-grid { grid-template-columns:repeat(3,1fr); gap:24px; } }

.acard { display:flex; flex-direction:column; background:#fff; border-radius:6px; overflow:hidden; box-shadow:var(--shadow); transition:all .35s; }
.acard:hover { transform:translateY(-4px); box-shadow:var(--shadow-lg); }
.acard-img { position:relative; aspect-ratio:4/3; overflow:hidden; }
.acard-img img { width:100%; height:100%; object-fit:cover; transition:transform .7s; }
.acard:hover .acard-img img { transform:scale(1.07); }
.acard-distance { position:absolute; top:10px; right:10px; background:var(--gold); color:#fff; padding:4px 10px; font-size:10px; letter-spacing:.08em; font-weight:600; border-radius:2px; z-index:2; }
.acard-body { padding:16px; display:flex; flex-direction:column; flex:1; }
.acard-body h4  { font-size:15px; color:var(--purple-dark); font-weight:600; margin-bottom:5px; line-height:1.3; }
.acard-body .km { color:var(--gold); font-size:11px; font-weight:600; margin-bottom:8px; display:block; }
.acard-body p   { font-size:13px; color:var(--gray); line-height:1.65; margin-bottom:12px; flex:1; }
.acard-body a   { color:var(--purple-dark); font-size:11px; letter-spacing:.1em; text-transform:uppercase; font-weight:600; display:inline-flex; align-items:center; gap:6px; transition:color .3s; }
.acard-body a:hover { color:var(--gold); }
.acard-body a i { transition:transform .3s; }
.acard-body a:hover i { transform:translateX(3px); }

/* ════════════════════════════════════════════════════════════
   PARTNERS MARQUEE
   ════════════════════════════════════════════════════════════ */
.partners { padding:60px 0; background:#fff; overflow:hidden; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.partners-head { text-align:center; margin-bottom:36px; }
.partners-head .section-heading { font-size:clamp(20px,2.4vw,30px); }
.marquee { position:relative; overflow:hidden; mask:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent); -webkit-mask:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent); }
.marquee-track { display:flex; gap:48px; align-items:center; animation:marquee 32s linear infinite; width:max-content; padding:8px 0; }
@media(min-width:768px) { .marquee-track { gap:72px; } }
.marquee:hover .marquee-track { animation-play-state:paused; }
@keyframes marquee { 0%{transform:translateX(0)}100%{transform:translateX(-50%)} }
.partner {
  flex-shrink:0; display:flex; align-items:center; justify-content:center;
  height:56px; min-width:130px;
  filter:grayscale(.2); opacity:.78; transition:all .35s;
}
@media(min-width:768px) { .partner { height:64px; min-width:160px; } }
.partner:hover { filter:none; opacity:1; transform:scale(1.06); }
.partner img { max-height:48px; max-width:150px; width:auto; object-fit:contain; display:block; }
@media(min-width:768px) { .partner img { max-height:54px; max-width:170px; } }
.partner-text { font-size:13px; font-weight:700; color:var(--gray); letter-spacing:.04em; }

/* ════════════════════════════════════════════════════════════
   NEWSLETTER
   ════════════════════════════════════════════════════════════ */
.newsletter { background:var(--gold); padding:40px 20px; text-align:center; }
@media(min-width:768px) { .newsletter { padding:52px 32px; } }
.newsletter h3 { font-size:clamp(18px,2.8vw,26px); color:var(--purple-dark); font-weight:700; margin-bottom:6px; }
.nl-form { display:flex; max-width:480px; margin:14px auto 0; flex-direction:column; gap:8px; }
@media(min-width:480px) { .nl-form { flex-direction:row; gap:0; } }
.nl-form input {
  flex:1; padding:13px 16px; border:none; background:#fff;
  font-family:'Poppins'; font-size:14px; color:var(--purple-dark); outline:none;
  border-radius:2px;
}
@media(min-width:480px) { .nl-form input { border-radius:2px 0 0 2px; } }
.nl-form button {
  background:var(--purple-dark); color:#fff; padding:13px 22px;
  font-family:'Poppins'; font-size:12px; letter-spacing:.1em;
  text-transform:uppercase; font-weight:600; cursor:pointer; transition:all .3s;
  border:none; border-radius:2px;
}
@media(min-width:480px) { .nl-form button { border-radius:0 2px 2px 0; } }
.nl-form button:hover { background:#000; }
.nl-feedback { font-weight:600; margin-bottom:10px; font-size:14px; }
.nl-ok  { color:var(--purple-dark); }
.nl-err { color:#6b1c1c; }

/* ════════════════════════════════════════════════════════════
   FOOTER
   ════════════════════════════════════════════════════════════ */
.footer { background:var(--purple-dark); color:#fff; }
.footer-main { padding:56px 0 40px; }
@media(min-width:768px) { .footer-main { padding:80px 0 52px; } }

.footer-grid { display:grid; grid-template-columns:1fr; gap:32px; }
@media(min-width:640px)  { .footer-grid { grid-template-columns:1fr 1fr; gap:36px; } }
@media(min-width:1024px) { .footer-grid { grid-template-columns:1.4fr 1fr 1.3fr 1.3fr; gap:48px; } }

.footer h4 {
  font-size:13px; color:var(--gold); font-weight:600; margin-bottom:16px;
  letter-spacing:.04em; text-transform:uppercase; position:relative; padding-bottom:10px;
}
.footer h4::after { content:''; position:absolute; bottom:0; left:0; width:24px; height:1px; background:var(--gold); }
.footer-logo { height:64px; width:auto; margin-bottom:16px; }
.footer-brand p { color:rgba(255,255,255,.6); font-size:13px; line-height:1.7; margin-bottom:18px; }
.socials { display:flex; gap:10px; }
.socials a {
  width:36px; height:36px; border-radius:50%;
  border:1px solid var(--gold); display:flex; align-items:center; justify-content:center;
  color:var(--gold); font-size:13px; transition:all .3s;
}
.socials a:hover { background:var(--gold); color:var(--purple-dark); }
.footer-links { list-style:none; }
.footer-links li { margin-bottom:9px; }
.footer-links a {
  color:rgba(255,255,255,.65); font-size:13px;
  display:inline-flex; align-items:center; gap:8px; transition:color .3s;
}
.footer-links a::before { content:'\f105'; font-family:'Font Awesome 6 Free'; font-weight:900; color:var(--gold); font-size:10px; }
.footer-links a:hover { color:var(--gold); }
.footer-contact { list-style:none; }
.footer-contact li { display:flex; gap:12px; margin-bottom:12px; color:rgba(255,255,255,.65); font-size:13px; line-height:1.5; align-items:flex-start; }
.footer-contact i { color:var(--gold); margin-top:2px; width:14px; text-align:center; flex-shrink:0; }
.footer-contact a { color:rgba(255,255,255,.65); transition:color .3s; }
.footer-contact a:hover { color:var(--gold); }
.footer-hours p { font-size:13px; color:rgba(255,255,255,.65); margin-bottom:6px; }
.footer-hours p strong { color:var(--gold-light); font-weight:500; }
.footer-legal-links { display:flex; gap:12px; margin-top:12px; flex-wrap:wrap; }
.footer-legal-links a { color:rgba(255,255,255,.45); font-size:12px; transition:color .3s; }
.footer-legal-links a:hover { color:var(--gold); }
.map-embed { margin-top:14px; height:120px; border:1px solid var(--gold); border-radius:2px; overflow:hidden; }
.map-embed iframe { width:100%; height:100%; border:0; filter:grayscale(.4) brightness(.85); }

.footer-bottom { border-top:1px solid rgba(184,138,46,.25); padding:16px 0; }
.footer-bottom-inner {
  display:flex; flex-direction:column; gap:8px;
  font-size:12px; color:rgba(255,255,255,.5); text-align:center;
}
@media(min-width:640px) { .footer-bottom-inner { flex-direction:row; justify-content:space-between; text-align:left; } }
.bottom-links { display:flex; gap:16px; justify-content:center; }
@media(min-width:640px) { .bottom-links { justify-content:flex-end; } }
.bottom-links a { transition:color .3s; }
.bottom-links a:hover { color:var(--gold); }

/* ════════════════════════════════════════════════════════════
   PAGE HERO (inner pages)
   ════════════════════════════════════════════════════════════ */
.page-hero {
  position:relative; min-height:40vh;
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  overflow:hidden; padding-top:var(--header-h);
}
@media(min-width:768px) { .page-hero { min-height:50vh; } }
.page-hero-bg {
  position:absolute; inset:0;
  background-size:cover; background-position:center;
  background-color:var(--purple-dark);
  transition:transform 8s ease; transform:scale(1.05);
}
.page-hero:hover .page-hero-bg { transform:scale(1); }
.page-hero-overlay {
  position:absolute; inset:0; z-index:1;
  background:linear-gradient(180deg,rgba(26,18,48,.72) 0%,rgba(26,18,48,.48) 55%,rgba(26,18,48,.88) 100%);
}
.page-hero-content {
  position:relative; z-index:2; text-align:center; color:#fff;
  padding:44px 20px 28px; max-width:680px; width:100%;
}
.page-hero-title { font-size:clamp(24px,5vw,58px); font-weight:700; line-height:1.06; letter-spacing:-.025em; margin-top:10px; }
.page-hero-sub   { font-size:clamp(13px,1.5vw,16px); color:rgba(255,255,255,.78); margin-top:10px; line-height:1.7; font-weight:300; }
.breadcrumb {
  position:relative; z-index:2;
  display:flex; align-items:center; gap:8px; flex-wrap:wrap;
  color:rgba(255,255,255,.5); font-size:12px;
  padding:0 20px 18px; letter-spacing:.03em;
}
.breadcrumb a { color:rgba(255,255,255,.65); transition:color .3s; }
.breadcrumb a:hover { color:var(--gold); }
.breadcrumb i { font-size:8px; color:var(--gold); }

/* ════════════════════════════════════════════════════════════
   FORMS (contact, book)
   ════════════════════════════════════════════════════════════ */
.form-label {
  display:block; font-size:10px; letter-spacing:.2em; text-transform:uppercase;
  color:var(--purple-dark); font-weight:600; margin-bottom:6px;
}
.form-input {
  width:100%; padding:11px 14px;
  border:1.5px solid var(--line); border-radius:4px;
  font-family:'Poppins',sans-serif; font-size:14px; color:var(--purple-dark);
  background:#fff; outline:none; transition:border-color .3s;
  box-sizing:border-box; -webkit-appearance:none; appearance:none;
}
.form-input:focus { border-color:var(--gold); box-shadow:0 0 0 3px rgba(184,138,46,.12); }
textarea.form-input { resize:vertical; min-height:100px; }
.form-group { display:flex; flex-direction:column; gap:6px; }
.form-row { display:grid; grid-template-columns:1fr; gap:14px; }
@media(min-width:480px) { .form-row { grid-template-columns:1fr 1fr; } }

/* Book page steps */
.book-step {
  background:#fff; border-radius:10px; border-top:3px solid var(--gold);
  padding:22px 18px; box-shadow:var(--shadow);
}
@media(min-width:640px) { .book-step { padding:28px 24px; } }
.book-step-title {
  font-size:15px; font-weight:700; color:var(--purple-dark);
  margin-bottom:18px; display:flex; align-items:center; gap:12px;
}
.step-num {
  width:30px; height:30px; border-radius:50%; background:var(--gold); color:#fff;
  display:inline-flex; align-items:center; justify-content:center;
  font-size:12px; font-weight:700; flex-shrink:0;
}

/* Room radio option */
.room-option-label {
  display:flex; align-items:center; gap:14px; padding:13px 16px;
  border:1.5px solid var(--line); border-radius:8px;
  cursor:pointer; transition:all .3s; background:#fff;
}
.room-option-label:hover { border-color:var(--gold); }
.room-option-label input[type=radio] { accent-color:var(--gold); width:17px; height:17px; flex-shrink:0; }

/* Booking confirmation */
.booking-confirm {
  max-width:560px; margin:0 auto; text-align:center;
  padding:44px 22px; background:#fff; border-radius:12px;
  border-top:4px solid var(--gold); box-shadow:var(--shadow-lg);
}
@media(min-width:640px) { .booking-confirm { padding:60px 48px; } }
.booking-confirm-icon {
  width:64px; height:64px; background:var(--gold); border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  margin:0 auto 18px; font-size:26px; color:#fff;
}
.booking-confirm-ref {
  font-size:22px; font-weight:700; color:var(--gold);
  letter-spacing:.1em; padding:14px 24px; background:var(--ivory);
  border-radius:6px; display:inline-block; margin:14px 0;
}

/* Book page layout */
.book-layout { display:grid; grid-template-columns:1fr; gap:24px; }
@media(min-width:1024px) { .book-layout { grid-template-columns:1fr 300px; gap:40px; align-items:start; } }
.book-sidebar { display:flex; flex-direction:column; gap:16px; }
@media(min-width:1024px) { .book-sidebar { position:sticky; top:calc(var(--header-h) + 14px); } }
.book-sidebar-card { background:var(--purple-dark); color:#fff; border-radius:10px; padding:22px; }
.book-sidebar-card h4 { font-size:12px; letter-spacing:.2em; text-transform:uppercase; color:var(--gold); font-weight:600; margin-bottom:14px; padding-bottom:10px; border-bottom:1px solid rgba(255,255,255,.1); }
.book-perk { display:flex; align-items:center; gap:10px; margin-bottom:10px; font-size:13px; color:rgba(255,255,255,.78); }
.book-perk i { color:var(--gold); font-size:13px; flex-shrink:0; }

/* Contact page layout */
.contact-layout { display:grid; grid-template-columns:1fr; gap:40px; }
@media(min-width:1024px) { .contact-layout { grid-template-columns:1.1fr 1fr; gap:72px; align-items:start; } }
.contact-info-item { display:flex; gap:14px; align-items:flex-start; margin-bottom:20px; }
.contact-info-icon { width:42px; height:42px; border-radius:50%; background:var(--ivory); color:var(--gold); display:flex; align-items:center; justify-content:center; font-size:15px; flex-shrink:0; }
.contact-info-label { font-size:10px; letter-spacing:.2em; text-transform:uppercase; color:var(--gold); font-weight:600; margin-bottom:4px; }
.contact-info-val { font-size:14px; color:var(--gray); line-height:1.6; }
.contact-form-card { background:var(--ivory); padding:24px 20px; border-radius:10px; border-top:3px solid var(--gold); }
@media(min-width:640px) { .contact-form-card { padding:36px 32px; } }

/* ════════════════════════════════════════════════════════════
   ROOM DETAIL PAGE
   ════════════════════════════════════════════════════════════ */
.room-detail-layout { display:grid; grid-template-columns:1fr; gap:36px; }
@media(min-width:1024px) { .room-detail-layout { grid-template-columns:1fr 340px; gap:60px; align-items:start; } }
.room-sidebar { background:var(--purple-dark); border-radius:10px; overflow:hidden; box-shadow:var(--shadow-lg); }
@media(min-width:1024px) { .room-sidebar { position:sticky; top:calc(var(--header-h) + 16px); } }
.room-sidebar-price { background:var(--gold); padding:18px 22px; }
.room-sidebar-price .label { font-size:10px; letter-spacing:.2em; text-transform:uppercase; font-weight:600; opacity:.88; margin-bottom:5px; color:rgba(255,255,255,.9); }
.room-sidebar-price .amount { font-size:32px; font-weight:700; color:#fff; line-height:1; }
.room-sidebar-price .per { font-size:12px; color:rgba(255,255,255,.78); }
.room-sidebar-body { padding:22px; }
.room-sidebar label { display:block; font-size:10px; letter-spacing:.18em; text-transform:uppercase; color:var(--gold); font-weight:600; margin-bottom:6px; margin-top:12px; }
.room-sidebar label:first-child { margin-top:0; }
.room-sidebar input,
.room-sidebar select {
  width:100%; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.18);
  color:#fff; padding:10px 12px; font-family:'Poppins',sans-serif; border-radius:4px;
  font-size:14px; box-sizing:border-box; outline:none; -webkit-appearance:none; cursor:pointer;
}
.room-sidebar-btn {
  width:100%; background:var(--gold); color:#fff; padding:14px;
  font-family:'Poppins',sans-serif; font-size:13px; font-weight:600;
  letter-spacing:.07em; border-radius:4px; cursor:pointer; transition:all .3s;
  border:none; margin-top:18px;
}
.room-sidebar-btn:hover { background:var(--gold-deep); }
.room-amenities { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
@media(min-width:480px) { .room-amenities { grid-template-columns:repeat(3,1fr); } }
.room-amenity-item { display:flex; align-items:center; gap:8px; font-size:13px; font-weight:500; color:var(--purple-dark); }
.room-amenity-icon { color:#fff; background:var(--gold); width:20px; height:20px; border-radius:50%; display:inline-flex; align-items:center; justify-content:center; font-size:9px; flex-shrink:0; }
.room-stats { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; padding:18px; background:var(--ivory); border-left:3px solid var(--gold); border-radius:4px; text-align:center; }
.room-stat-num { font-size:18px; font-weight:700; color:var(--gold); line-height:1; }
.room-stat-lbl { font-size:10px; text-transform:uppercase; letter-spacing:.16em; color:var(--gray); margin-top:4px; }

/* ════════════════════════════════════════════════════════════
   PAGINATION
   ════════════════════════════════════════════════════════════ */
.pagination { display:flex; justify-content:center; gap:7px; margin-top:36px; flex-wrap:wrap; }
.page-btn {
  display:inline-flex; align-items:center; justify-content:center;
  width:38px; height:38px; border-radius:50%;
  background:#fff; color:var(--purple-dark); font-weight:600; font-size:13px;
  border:1.5px solid var(--line); transition:all .3s;
}
.page-btn:hover,
.page-btn.active { background:var(--gold); color:#fff; border-color:var(--gold); }