/* ═══════════════════════════════════════════════
   SWEEKAR EXECUTIVE · HOME PAGE CSS · v4
   Issues 1-8 addressed · WCAG AA · Mobile-first
═══════════════════════════════════════════════ */
:root {
  --bg:        #F8F5F0;
  --bg2:       #F0EBE3;
  --white:     #FFFFFF;
  --border:    #E4DDD4;
  --ink:       #1A140C;
  --ink2:      #4A3E32;
  --ink3:      #6E6358; /* raised from 7A6E62 for WCAG on bg */
  --ink4:      #A8998D;
  --warm:      #B8801E; /* 4.7:1 on white ✓ */
  --warm-h:    #9E6C16;
  --warm-pale: #FBF3E7;
  --warm-dim:  rgba(184,128,30,.13);
  --teal:      #2A6B5E;
  --teal-pale: #EAF3F0;
  --success:   #1D6B45;
  --font:  'Inter', system-ui, sans-serif;
  --serif: 'Instrument Serif', Georgia, serif;
  --r-sm: 8px; --r: 14px; --r-lg: 22px;
  --sh-sm: 0 1px 4px rgba(26,20,12,.07);
  --sh:    0 4px 20px rgba(26,20,12,.10);
  --sh-lg: 0 16px 52px rgba(26,20,12,.14);
  --ease:  cubic-bezier(.4,0,.2,1);
}
*,*::before,*::after { box-sizing:border-box; margin:0; padding:0; }
html { scroll-behavior:smooth; font-size:16px; -webkit-tap-highlight-color:transparent; }
body { font-family:var(--font); background:var(--bg); color:var(--ink); overflow-x:hidden; line-height:1.6; }
a { text-decoration:none; color:inherit; }
::-webkit-scrollbar { width:4px; }
::-webkit-scrollbar-thumb { background:var(--border); border-radius:2px; }

/* ── NAV ─────────────────────────────────── */
.nav {
  position:fixed; top:0; left:0; right:0; z-index:200;
  height:60px; display:flex; align-items:center;
  justify-content:space-between; padding:0 5%;
  transition:background .35s var(--ease), box-shadow .35s var(--ease);
}
.nav.scrolled { background:rgba(248,245,240,.97); backdrop-filter:blur(12px); box-shadow:0 1px 0 var(--border); }
.nav-logo { display:flex; align-items:center; gap:9px; }
.logo-mark {
  width:34px; height:34px; background:var(--warm); border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  font-family:var(--serif); font-size:14px; font-style:italic;
  color:#fff; flex-shrink:0; transition:transform .3s var(--ease);
}
.nav-logo:hover .logo-mark { transform:rotate(-8deg) scale(1.08); }
.logo-name { font-family:var(--serif); font-size:17px; color:#fff; transition:color .3s; }
.nav.scrolled .logo-name { color:var(--ink); }
.nav-links { display:flex; align-items:center; gap:4px; }
.nav-links a { font-size:13.5px; color:rgba(255,255,255,.82); padding:7px 13px; border-radius:var(--r-sm); transition:all .2s; }
.nav-links a:hover { color:#fff; background:rgba(255,255,255,.1); }
.nav.scrolled .nav-links a { color:var(--ink2); }
.nav.scrolled .nav-links a:hover { background:var(--warm-pale); color:var(--warm); }
.nav-cta { background:var(--warm)!important; color:#fff!important; font-weight:500!important; border-radius:var(--r-sm)!important; padding:8px 18px!important; }
.nav-cta:hover { background:var(--warm-h)!important; }
.hamburger { display:none; flex-direction:column; gap:5px; padding:6px; background:none; border:none; cursor:pointer; min-width:44px; min-height:44px; align-items:center; justify-content:center; }
.hamburger span { display:block; width:20px; height:1.5px; background:#fff; border-radius:2px; transition:.3s; }
.nav.scrolled .hamburger span { background:var(--ink); }

/* ── MOBILE MENU ─────────────────────────── */
.mobile-menu { display:none; position:fixed; inset:0; z-index:999; background:var(--bg); flex-direction:column; align-items:center; justify-content:center; gap:4px; }
.mobile-menu.open { display:flex; }
.mobile-menu a { font-family:var(--serif); font-size:28px; font-style:italic; color:var(--ink2); padding:10px 24px; border-radius:var(--r); transition:color .2s; min-height:44px; display:flex; align-items:center; }
.mobile-menu a:hover { color:var(--warm); }
.mm-book { background:var(--warm)!important; color:#fff!important; font-family:var(--font)!important; font-size:15px!important; font-style:normal!important; border-radius:var(--r-sm)!important; padding:13px 28px!important; margin-top:8px; }
.mm-close { position:absolute; top:18px; right:5%; font-size:22px; color:var(--ink3); background:none; border:none; cursor:pointer; min-width:44px; min-height:44px; display:flex; align-items:center; justify-content:center; }

/* ── HERO ────────────────────────────────── */
.hero { min-height:100svh; background:var(--ink); display:grid; grid-template-rows:1fr auto; position:relative; overflow:hidden; }
.hero-canvas { position:absolute; inset:0; pointer-events:none; overflow:hidden; }
.hero-canvas::before { content:''; position:absolute; width:800px; height:800px; border-radius:50%; background:radial-gradient(circle,rgba(184,128,30,.16) 0%,transparent 70%); top:-200px; right:-150px; }
.hero-canvas::after  { content:''; position:absolute; width:500px; height:500px; border-radius:50%; background:radial-gradient(circle,rgba(184,128,30,.07) 0%,transparent 70%); bottom:-100px; left:-100px; }
.hero-texture { position:absolute; inset:0; background-image:repeating-linear-gradient(-45deg,transparent,transparent 36px,rgba(184,128,30,.022) 36px,rgba(184,128,30,.022) 37px); }

/* Issue 1: booking form IN the hero as right column */
.hero-body {
  display:grid; grid-template-columns:1fr 400px;
  gap:40px; align-items:center;
  padding:108px 5% 56px;
  position:relative; z-index:2;
}
.hero-left {}
.hero-eyebrow { display:inline-flex; align-items:center; gap:8px; padding:5px 13px; border-radius:30px; background:rgba(184,128,30,.15); border:1px solid rgba(184,128,30,.28); font-size:11.5px; font-weight:500; color:#F5D99A; letter-spacing:.04em; margin-bottom:22px; }
.hero-eyebrow-dot { width:6px; height:6px; background:var(--warm); border-radius:50%; animation:pls 2.4s ease-in-out infinite; flex-shrink:0; }
@keyframes pls { 0%,100%{opacity:1;transform:scale(1)} 50%{opacity:.35;transform:scale(.7)} }
.hero h1 { font-family:var(--serif); font-weight:400; font-size:clamp(38px,5vw,72px); line-height:1.04; color:#fff; margin-bottom:16px; letter-spacing:-.02em; }
.hero h1 em { font-style:italic; color:#F5D99A; }
.hero-sub { font-size:clamp(14px,1.5vw,16.5px); font-weight:300; color:rgba(255,255,255,.72); line-height:1.75; margin-bottom:28px; max-width:440px; }

/* Issue 6: trust row below headline */
.hero-trust { display:flex; flex-wrap:wrap; gap:18px; margin-bottom:32px; }
.ht-item { display:flex; align-items:center; gap:10px; }
.ht-icon { width:34px; height:34px; border-radius:50%; background:rgba(255,255,255,.09); border:1px solid rgba(255,255,255,.12); display:flex; align-items:center; justify-content:center; font-size:15px; flex-shrink:0; }
.ht-label { font-size:12.5px; font-weight:600; color:#fff; line-height:1.2; }
.ht-sub   { font-size:11px; color:rgba(255,255,255,.48); }

/* Issue 2: single primary CTA */
.hero-ctas { display:flex; gap:12px; flex-wrap:wrap; }
.btn-primary-hero { display:inline-flex; align-items:center; gap:8px; padding:14px 28px; background:var(--warm); color:#fff; font-size:14px; font-weight:500; border-radius:var(--r-sm); border:none; cursor:pointer; font-family:var(--font); transition:all .25s; min-height:44px; }
.btn-primary-hero:hover { background:var(--warm-h); transform:translateY(-2px); box-shadow:0 8px 24px rgba(184,128,30,.32); }
.btn-ghost-hero { display:inline-flex; align-items:center; gap:8px; padding:13px 28px; border:1.5px solid rgba(255,255,255,.22); color:rgba(255,255,255,.8); font-size:14px; font-weight:400; border-radius:var(--r-sm); cursor:pointer; font-family:var(--font); transition:all .25s; background:none; min-height:44px; }
.btn-ghost-hero:hover { border-color:rgba(184,128,30,.6); color:#F5D99A; }

/* Booking widget — right column of hero (Issue 1) */
.hero-booking { background:rgba(255,255,255,.07); backdrop-filter:blur(22px); border:1px solid rgba(255,255,255,.13); border-radius:var(--r-lg); padding:26px 24px; }
.hb-title { font-family:var(--serif); font-size:19px; color:#fff; font-style:italic; margin-bottom:4px; }
.hb-sub   { font-size:12px; color:rgba(255,255,255,.52); margin-bottom:18px; }
.hb-field { margin-bottom:11px; }
.hb-label { display:block; font-size:10px; font-weight:500; letter-spacing:.12em; text-transform:uppercase; color:rgba(255,255,255,.55); margin-bottom:5px; }
.hb-input { width:100%; padding:10px 12px; background:rgba(255,255,255,.09); border:1px solid rgba(255,255,255,.15); border-radius:var(--r-sm); color:#fff; font-size:14px; font-family:var(--font); outline:none; transition:border-color .2s; appearance:none; }
.hb-input:focus { border-color:var(--warm); background:rgba(255,255,255,.13); }
.hb-input::placeholder { color:rgba(255,255,255,.36); }
.hb-input option { background:#2A1F10; color:#fff; }
.hb-input[type="date"]::-webkit-calendar-picker-indicator { filter:invert(1) opacity(.4); cursor:pointer; }
.hb-row { display:grid; grid-template-columns:1fr 1fr; gap:9px; }
/* Issue 2: single focused CTA */
.hb-btn { width:100%; padding:13px; margin-top:6px; background:var(--warm); color:#fff; font-size:14px; font-weight:500; border:none; border-radius:var(--r-sm); cursor:pointer; font-family:var(--font); transition:all .22s; min-height:44px; letter-spacing:.01em; }
.hb-btn:hover { background:var(--warm-h); }
.hb-assurances { display:flex; flex-wrap:wrap; gap:9px; margin-top:12px; }
.hb-badge { font-size:11px; color:rgba(255,255,255,.5); display:inline-flex; align-items:center; gap:4px; }
.hb-badge span { color:var(--warm); font-weight:600; }

/* Hero stats strip */
.hero-stats { border-top:1px solid rgba(255,255,255,.08); display:grid; grid-template-columns:repeat(4,1fr); width:100%; position:relative; z-index:2; }
.hs-item { padding:18px 20px; border-right:1px solid rgba(255,255,255,.08); }
.hs-item:last-child { border-right:none; }
.hs-num   { font-family:var(--serif); font-size:28px; color:#F5D99A; font-weight:400; font-style:italic; line-height:1; margin-bottom:4px; }
.hs-label { font-size:11px; color:rgba(255,255,255,.45); font-weight:400; text-transform:uppercase; letter-spacing:.07em; }

/* ── STICKY MOBILE BAR (Issue 5) ──────────── */
.sticky-book { display:none; position:fixed; bottom:0; left:0; right:0; z-index:300; padding:12px 16px; padding-bottom:max(16px,env(safe-area-inset-bottom)); background:var(--white); border-top:1px solid var(--border); box-shadow:0 -4px 20px rgba(26,20,12,.10); align-items:center; justify-content:space-between; gap:12px; }
.sticky-book-text { font-size:12px; color:var(--ink3); }
.sticky-book-text strong { color:var(--ink); font-size:14px; display:block; }
.sticky-book-btn { flex-shrink:0; padding:11px 20px; background:var(--warm); color:#fff; font-size:14px; font-weight:500; border:none; border-radius:var(--r-sm); cursor:pointer; font-family:var(--font); min-height:44px; white-space:nowrap; }

/* ── SECTIONS ────────────────────────────── */
section { padding:88px 5%; }
.s-inner { max-width:1200px; margin:0 auto; }
.s-eyebrow { display:flex; align-items:center; gap:9px; margin-bottom:12px; }
.s-eyebrow-line { width:22px; height:1px; background:var(--warm); }
.s-eyebrow-text { font-size:11px; font-weight:500; letter-spacing:.14em; text-transform:uppercase; color:var(--warm); }
h2.s-title { font-family:var(--serif); font-weight:400; font-size:clamp(26px,3.8vw,46px); line-height:1.1; color:var(--ink); letter-spacing:-.01em; }
h2.s-title em { font-style:italic; }
h2.s-title.light { color:#fff; }
p.s-body { font-size:15px; color:var(--ink2); line-height:1.75; margin-top:11px; font-weight:300; }

/* ── ROOMS (Issue 3: bigger price, badges) ── */
.rooms-section { background:var(--bg); }
.rooms-header { display:flex; justify-content:space-between; align-items:flex-end; margin-bottom:44px; gap:20px; flex-wrap:wrap; }
.rooms-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.room-card { border-radius:var(--r); overflow:hidden; background:var(--white); border:1px solid var(--border); transition:transform .32s var(--ease), box-shadow .32s var(--ease); display:flex; flex-direction:column; }
.room-card:hover { transform:translateY(-5px); box-shadow:var(--sh-lg); }
.room-thumb { height:215px; position:relative; overflow:hidden; flex-shrink:0; }
.rt-1 { background:radial-gradient(ellipse 70% 60% at 70% 40%,rgba(184,128,30,.22) 0%,transparent 60%),linear-gradient(160deg,#1A1208 0%,#2C1E0E 40%,#160E06 100%); }
.rt-2 { background:radial-gradient(ellipse 80% 70% at 30% 60%,rgba(42,107,94,.2) 0%,transparent 60%),linear-gradient(160deg,#0E1A16 0%,#162A24 40%,#0A1410 100%); }
.rt-3 { background:radial-gradient(ellipse 90% 80% at 60% 30%,rgba(106,72,160,.2) 0%,transparent 60%),linear-gradient(160deg,#120E1C 0%,#1E1630 40%,#0E0A18 100%); }
.rt-4 { background:radial-gradient(ellipse 100% 90% at 40% 70%,rgba(160,44,44,.18) 0%,transparent 60%),linear-gradient(160deg,#1A0C0C 0%,#2C1616 40%,#140808 100%); }
.room-thumb-pattern { position:absolute; inset:0; opacity:.06; background-image:repeating-linear-gradient(0deg,rgba(255,255,255,.4) 0,rgba(255,255,255,.4) 1px,transparent 1px,transparent 28px),repeating-linear-gradient(90deg,rgba(255,255,255,.4) 0,rgba(255,255,255,.4) 1px,transparent 1px,transparent 28px); }
.room-badge { position:absolute; top:13px; left:13px; padding:4px 11px; background:var(--warm); color:#fff; font-size:10px; font-weight:500; letter-spacing:.06em; text-transform:uppercase; border-radius:20px; }
.room-badge-value { left:auto; right:13px; background:var(--success); }
/* Issue 3: large "Starting at" price */
.room-price-wrap { position:absolute; bottom:13px; left:14px; }
.room-price-from { font-size:9.5px; color:rgba(255,255,255,.55); letter-spacing:.06em; text-transform:uppercase; margin-bottom:2px; }
.room-price-num  { font-family:var(--serif); font-size:26px; font-weight:400; color:#fff; line-height:1; font-style:italic; }
.room-price-unit { font-size:11px; color:rgba(255,255,255,.5); }
.room-body { padding:20px; flex:1; display:flex; flex-direction:column; }
.room-name { font-family:var(--serif); font-size:19px; color:var(--ink); margin-bottom:5px; font-style:italic; }
.room-desc { font-size:12.5px; color:var(--ink2); line-height:1.65; font-weight:300; margin-bottom:11px; }
.room-amenities { display:flex; gap:5px; flex-wrap:wrap; margin-bottom:13px; }
.room-amenity { font-size:11px; color:var(--ink3); padding:3px 9px; background:var(--bg2); border-radius:20px; }
.room-footer { margin-top:auto; display:flex; align-items:center; justify-content:space-between; padding-top:13px; border-top:1px solid var(--border); }
.room-rate-label { font-size:10px; color:var(--ink4); text-transform:uppercase; letter-spacing:.06em; margin-bottom:2px; }
/* Issue 3: prominent price display */
.room-rate-price { font-family:var(--serif); font-size:22px; font-weight:400; color:var(--warm); font-style:italic; line-height:1; }
.room-book { padding:9px 16px; background:var(--ink); color:#fff; font-size:12.5px; border:none; border-radius:var(--r-sm); cursor:pointer; font-family:var(--font); transition:all .22s; min-height:40px; white-space:nowrap; }
.room-book:hover { background:var(--warm); }

/* ── FEEL ────────────────────────────────── */
.feel-section { background:var(--bg2); padding:72px 5%; }
.feel-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--border); border:1px solid var(--border); border-radius:var(--r); overflow:hidden; max-width:1200px; margin:0 auto; }
.feel-item { background:var(--white); padding:34px 30px; transition:background .25s; }
.feel-item:hover { background:var(--bg); }
.feel-icon  { width:44px; height:44px; border-radius:10px; background:var(--warm-pale); display:flex; align-items:center; justify-content:center; font-size:20px; margin-bottom:16px; }
.feel-title { font-family:var(--serif); font-size:19px; color:var(--ink); font-style:italic; margin-bottom:9px; }
.feel-body  { font-size:13px; color:var(--ink2); line-height:1.7; font-weight:300; }

/* ── REVIEWS (Issue 6) ───────────────────── */
.reviews-section { background:var(--bg); }
.reviews-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:44px; }
.review-card { background:var(--white); border:1px solid var(--border); border-radius:var(--r); padding:22px; transition:box-shadow .25s; }
.review-card:hover { box-shadow:var(--sh); }
.review-stars { font-size:15px; color:var(--warm); letter-spacing:2px; margin-bottom:12px; }
.review-text { font-size:13.5px; color:var(--ink2); line-height:1.7; font-weight:300; font-style:italic; margin-bottom:16px; flex:1; }
.review-author { display:flex; align-items:center; gap:10px; }
.review-avatar { width:36px; height:36px; border-radius:50%; background:var(--warm); color:#fff; display:flex; align-items:center; justify-content:center; font-size:14px; font-weight:600; flex-shrink:0; }
.review-name { font-size:13px; font-weight:500; color:var(--ink); }
.review-city { font-size:11.5px; color:var(--ink3); }

/* ── AMENITIES ───────────────────────────── */
.amenities-section { background:var(--bg2); }
.amenities-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; margin-top:42px; }
.amenity-card { background:var(--white); border:1px solid var(--border); border-radius:var(--r); padding:20px 18px; transition:border-color .25s, transform .25s; }
.amenity-card:hover { border-color:var(--warm); transform:translateY(-3px); }
.amenity-icon { font-size:22px; margin-bottom:10px; }
.amenity-name { font-size:13.5px; font-weight:500; color:var(--ink); margin-bottom:4px; }
.amenity-desc { font-size:12px; color:var(--ink3); line-height:1.6; font-weight:300; }

/* ── NEARBY (Issue 7: icon circles) ──────── */
.nearby-section { background:var(--bg); }
.nearby-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-top:38px; }
.nearby-card { background:var(--white); border:1px solid var(--border); border-radius:var(--r); padding:18px 18px; transition:all .25s; display:flex; align-items:flex-start; gap:14px; }
.nearby-card:hover { box-shadow:var(--sh); transform:translateY(-3px); }
/* Issue 7: colour-coded icon circles */
.nearby-icon-wrap { width:46px; height:46px; border-radius:12px; display:flex; align-items:center; justify-content:center; font-size:22px; flex-shrink:0; }
.ni-temple { background:#FEF3E7; }
.ni-market { background:#FFF8E7; }
.ni-biz    { background:#EBF3FC; }
.ni-med    { background:#EAF5EF; }
.ni-cave   { background:#F3EAF5; }
.ni-lounge { background:#E7F5F5; }
.nearby-dist { font-size:11px; font-weight:600; color:var(--warm); letter-spacing:.04em; margin-bottom:5px; }
.nearby-name { font-family:var(--serif); font-size:16px; color:var(--ink); font-style:italic; margin-bottom:5px; }
.nearby-desc { font-size:12.5px; color:var(--ink2); line-height:1.65; font-weight:300; }

/* ── CONTACT ──────────────────────────────  */
.contact-section { background:var(--ink); padding:80px 5%; }
.contact-inner { max-width:1200px; margin:0 auto; display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:start; }
.contact-btns { display:flex; gap:10px; margin-top:24px; flex-wrap:wrap; }
.btn-wa { display:inline-flex; align-items:center; gap:7px; padding:11px 20px; background:#22C55E; color:#fff; font-size:13px; font-weight:500; border-radius:var(--r-sm); transition:all .2s; min-height:44px; }
.btn-wa:hover { background:#16A34A; }
.btn-call { display:inline-flex; align-items:center; gap:7px; padding:11px 20px; border:1.5px solid rgba(255,255,255,.22); color:rgba(255,255,255,.88); font-size:13px; border-radius:var(--r-sm); transition:all .2s; min-height:44px; }
.btn-call:hover { border-color:var(--warm); color:#F5D99A; }
.contact-items {}
.c-item { display:flex; align-items:flex-start; gap:13px; padding:16px 0; border-bottom:1px solid rgba(255,255,255,.08); }
.c-item:last-child { border-bottom:none; }
.c-icon  { width:38px; height:38px; border-radius:var(--r-sm); background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.09); display:flex; align-items:center; justify-content:center; font-size:16px; flex-shrink:0; }
.c-label { font-size:10px; font-weight:500; letter-spacing:.12em; text-transform:uppercase; color:var(--warm); margin-bottom:2px; }
.c-val   { font-size:14px; color:rgba(255,255,255,.75); font-weight:300; }
.c-val a { transition:color .2s; }
.c-val a:hover { color:#F5D99A; }

/* ── FOOTER ───────────────────────────────── */
footer { background:#100D08; padding:26px 5%; border-top:1px solid rgba(255,255,255,.05); }
.footer-inner { max-width:1200px; margin:0 auto; display:flex; align-items:center; justify-content:space-between; gap:14px; flex-wrap:wrap; }
.footer-inner p { font-size:12px; color:rgba(255,255,255,.28); }
.footer-links { display:flex; gap:20px; }
.footer-links a { font-size:12px; color:rgba(255,255,255,.28); transition:color .2s; }
.footer-links a:hover { color:var(--warm); }

/* ── MODAL ────────────────────────────────── */
.overlay { display:none; position:fixed; inset:0; z-index:2000; background:rgba(16,13,8,.65); backdrop-filter:blur(6px); align-items:center; justify-content:center; padding:16px; }
.overlay.open { display:flex; }
.modal { background:var(--white); max-width:620px; width:100%; border-radius:var(--r-lg); box-shadow:var(--sh-lg); overflow:hidden; animation:up .28s var(--ease); }
@keyframes up { from{opacity:0;transform:translateY(14px)} to{opacity:1;transform:translateY(0)} }
.modal-head { padding:20px 24px; background:var(--ink); display:flex; align-items:center; justify-content:space-between; }
.modal-head h3 { font-family:var(--serif); font-size:19px; font-weight:400; color:#fff; font-style:italic; }
.modal-close { font-size:20px; color:rgba(255,255,255,.45); border:none; background:none; cursor:pointer; transition:color .2s; min-width:44px; min-height:44px; display:flex; align-items:center; justify-content:center; }
.modal-close:hover { color:#F5D99A; }
.modal-body { padding:20px 24px; }
.avail-row { display:flex; align-items:center; gap:13px; padding:12px 15px; border:1.5px solid var(--border); border-radius:var(--r); margin-bottom:9px; transition:all .2s; }
.avail-row:hover { border-color:var(--warm); background:var(--warm-pale); }
.avail-icon { font-size:24px; flex-shrink:0; }
.avail-name { font-family:var(--serif); font-size:16px; color:var(--ink); font-style:italic; }
.avail-meta { font-size:12px; color:var(--ink3); margin-top:2px; }
.avail-price { text-align:right; margin-left:auto; }
.avail-price strong { font-family:var(--serif); font-size:18px; color:var(--warm); display:block; font-style:italic; }
.avail-price span { font-size:11px; color:var(--ink4); }
.avail-btn { padding:8px 16px; background:var(--ink); color:#fff; border:none; border-radius:var(--r-sm); font-size:12px; cursor:pointer; font-family:var(--font); transition:all .2s; flex-shrink:0; margin-left:10px; min-height:40px; }
.avail-btn:hover { background:var(--warm); }
.modal-loading { text-align:center; padding:36px 0; color:var(--ink3); font-size:13.5px; }

/* ── SCROLL REVEAL ────────────────────────── */
.reveal { opacity:0; transform:translateY(16px); transition:opacity .55s var(--ease), transform .55s var(--ease); }
.reveal.visible { opacity:1; transform:translateY(0); }

/* ═════════════════ RESPONSIVE ═════════════ */
/* Issue 5: Mobile-first stacking */
@media (max-width:1200px) {
  .rooms-grid { grid-template-columns:repeat(2,1fr); }
  .reviews-grid { grid-template-columns:repeat(2,1fr); }
}
@media (max-width:1024px) {
  /* Issue 1: booking widget stacks below headline on tablet */
  .hero-body { grid-template-columns:1fr; gap:36px; padding-top:116px; }
  .hero-booking { max-width:480px; }
  .feel-grid { grid-template-columns:1fr; }
  .contact-inner { grid-template-columns:1fr; gap:44px; }
  .amenities-grid { grid-template-columns:repeat(2,1fr); }
  .nearby-grid { grid-template-columns:1fr 1fr; }
  .hs-item { padding:14px 16px; }
}
@media (max-width:768px) {
  .nav-links { display:none; }
  .hamburger { display:flex; }
  section { padding:60px 5%; }
  .feel-section, .contact-section { padding:60px 5%; }
  .hero-body { padding:90px 5% 36px; }
  .hero h1 { font-size:36px; }
  .hero-booking { max-width:100%; }
  .hb-row { grid-template-columns:1fr; }
  .rooms-grid { grid-template-columns:1fr; }
  .rooms-header { flex-direction:column; align-items:flex-start; }
  .amenities-grid { grid-template-columns:1fr 1fr; }
  .nearby-grid { grid-template-columns:1fr; }
  .reviews-grid { grid-template-columns:1fr; }
  .hero-stats { grid-template-columns:repeat(2,1fr); }
  /* Issue 5: show sticky bar on mobile */
  .sticky-book { display:flex; }
  body { padding-bottom:80px; }
}
@media (max-width:480px) {
  .hero h1 { font-size:30px; }
  .hero-ctas { flex-direction:column; }
  .btn-primary-hero, .btn-ghost-hero { width:100%; justify-content:center; }
  .amenities-grid { grid-template-columns:1fr; }
  .hero-trust { gap:12px; }
}
