/* ==========================================================================
   HOTEL SAKSHAM PALACE — Homepage specific styles
   Hero, Welcome, Rooms, Experiences, Stats, Testimonials, How-to-reach
   ========================================================================== */


/* ---------- Homepage Hero Image Slider ---------- */
.hero-slider{
  position:absolute;
  inset:0;
  z-index:0;
  overflow:hidden;
  touch-action:pan-y;
}
.hero-slides{
  position:absolute;
  inset:0;
}
.hero-slide{
  position:absolute;
  inset:0;
  opacity:0;
  background-position:center;
  background-size:cover;
  background-repeat:no-repeat;
  transform:scale(1.04);
  transition:opacity .8s ease, transform 6s ease;
}
.hero-slide.is-active{
  opacity:1;
  transform:scale(1);
}
.hero-slider-overlay{
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg, rgba(10,28,19,.86) 0%, rgba(18,44,31,.72) 38%, rgba(18,44,31,.50) 68%, rgba(10,28,19,.72) 100%),
    linear-gradient(180deg, rgba(10,28,19,.20), rgba(10,28,19,.35));
  z-index:1;
}
.hero-slide-label{
  position:absolute;
  right:2rem;
  bottom:6.5rem;
  padding:.45rem .8rem;
  border:1px solid rgba(245,239,224,.28);
  border-radius:999px;
  background:rgba(10,28,19,.38);
  color:rgba(245,239,224,.82);
  font-size:.68rem;
  letter-spacing:.12em;
  text-transform:uppercase;
  backdrop-filter:blur(8px);
}
.hero-nav{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  z-index:3;
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border-radius:50%;
  color:var(--c-cream);
  background:rgba(18,44,31,.45);
  border:1px solid rgba(245,239,224,.32);
  transition:all var(--t) var(--ease);
}
.hero-nav:hover{
  background:var(--c-honey);
  color:var(--c-forest-deep);
  border-color:var(--c-honey);
}
.hero-prev{left:1.25rem}
.hero-next{right:1.25rem}
.hero-dots{
  position:absolute;
  left:50%;
  bottom:2.2rem;
  transform:translateX(-50%);
  z-index:3;
  display:flex;
  align-items:center;
  gap:.45rem;
  padding:.45rem .65rem;
  border-radius:999px;
  background:rgba(18,44,31,.48);
  border:1px solid rgba(245,239,224,.18);
  backdrop-filter:blur(8px);
}
.hero-dot{
  width:8px;
  height:8px;
  padding:0;
  border-radius:50%;
  background:rgba(245,239,224,.55);
  transition:all .3s var(--ease);
}
.hero-dot.is-active{
  width:24px;
  border-radius:5px;
  background:var(--c-honey);
}

/* ---------- Hero ---------- */
.hero{
  position:relative;min-height:90vh;
  background:linear-gradient(135deg, #122c1f 0%, #1a3d2b 60%, #2d5a3d 100%);
  color:var(--c-cream);overflow:hidden;
  display:flex;align-items:center;
  padding:5rem 0 4rem;
}
.hero::before{
  content:"";position:absolute;inset:0;
  background-image:
    radial-gradient(ellipse at 80% 20%, rgba(212,162,78,.2) 0%, transparent 50%),
    radial-gradient(ellipse at 20% 80%, rgba(201,121,78,.15) 0%, transparent 50%),
    url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 600' opacity='0.07'><path d='M0 600 L0 380 Q150 280 300 340 T600 320 T900 350 T1200 330 L1200 600 Z' fill='%23E5BE76'/><path d='M0 600 L0 440 Q150 360 300 400 T600 380 T900 410 T1200 390 L1200 600 Z' fill='%23D4A24E' opacity='0.6'/></svg>");
  background-size:cover, cover, 100% auto;
  background-position:center, center, bottom;
  background-repeat:no-repeat;
  pointer-events:none;
}
.hero::after{
  content:"";position:absolute;left:0;right:0;bottom:-1px;height:60px;
  background:var(--c-cream);
  -webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 60' preserveAspectRatio='none'><path d='M0 60 V30 Q300 0 600 30 T1200 30 V60 Z' fill='black'/></svg>");
  mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 60' preserveAspectRatio='none'><path d='M0 60 V30 Q300 0 600 30 T1200 30 V60 Z' fill='black'/></svg>");
  -webkit-mask-size:100% 100%;mask-size:100% 100%;
}
.hero .wrap{display:grid;grid-template-columns:1.4fr 1fr;gap:3rem;align-items:center;position:relative;z-index:2}
.hero-loc{
  display:inline-flex;align-items:center;gap:.5rem;
  padding:.5rem 1rem;border-radius:var(--radius-pill);
  background:rgba(212,162,78,.18);border:1px solid rgba(212,162,78,.4);
  font-size:.7rem;letter-spacing:.22em;text-transform:uppercase;
  font-weight:600;color:var(--c-honey-soft);margin-bottom:1.5rem;
}
.hero-loc svg{width:13px;height:13px}
.hero h1{
  font-family:var(--f-display);font-weight:400;
  font-size:clamp(2.6rem, 6.5vw, 5rem);line-height:1.05;letter-spacing:-.01em;
  margin:0 0 1.6rem;color:var(--c-cream);
}
.hero h1 em{font-style:italic;color:var(--c-honey);font-weight:500;display:inline-block}
.hero-sub{
  font-size:1.1rem;line-height:1.75;color:rgba(245,239,224,.85);max-width:560px;
  margin-bottom:2.2rem;font-weight:400;
}
.hero-cta{display:flex;gap:.8rem;flex-wrap:wrap;align-items:center}
.hero-rating{
  display:inline-flex;align-items:center;gap:.7rem;margin-top:1.8rem;
  font-size:.86rem;color:rgba(245,239,224,.8);
}
.hero-rating .stars{color:var(--c-honey);font-size:1rem;letter-spacing:.05em}

/* Hero booking widget (right side) */
.hero-content,.hero-widget{position:relative;z-index:2}
.hero-widget{
  background:rgba(245,239,224,.06);
  backdrop-filter:blur(20px) saturate(150%);
  border:1px solid rgba(245,239,224,.18);
  border-radius:var(--radius-lg);padding:2rem 1.8rem;
  box-shadow:var(--shadow-lg);
}
.hw-head{text-align:center;margin-bottom:1.4rem}
.hw-head .small{font-size:.7rem;letter-spacing:.22em;text-transform:uppercase;color:var(--c-honey-soft);font-weight:600}
.hw-head h3{font-family:var(--f-display);font-style:italic;color:var(--c-cream);font-size:1.5rem;margin:.4rem 0 .3rem;font-weight:500}
.hw-head p{font-size:.84rem;color:rgba(245,239,224,.7)}
.hw-form{display:grid;gap:.8rem}
.hw-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:.7rem}
.hw-field label{font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;font-weight:600;color:var(--c-honey-soft);display:block;margin-bottom:.35rem}
.hw-field input, .hw-field select{
  width:100%;padding:.7rem .85rem;background:rgba(245,239,224,.08);
  border:1px solid rgba(245,239,224,.18);color:var(--c-cream);
  border-radius:var(--radius-xs);font-size:.86rem;
  transition:all var(--t);
}
.hw-field input:focus, .hw-field select:focus{
  outline:none;border-color:var(--c-honey);background:rgba(212,162,78,.12);
}
.hw-field select option{background:var(--c-forest-deep);color:var(--c-cream)}
.hw-foot{margin-top:.6rem}
.hw-foot .btn{width:100%;padding:1rem;font-size:.78rem}
.hw-checks{display:flex;justify-content:center;gap:1rem;flex-wrap:wrap;margin-top:1rem;font-size:.7rem;color:rgba(245,239,224,.7)}
.hw-checks span{display:inline-flex;align-items:center;gap:.3rem}
.hw-checks svg{width:11px;height:11px;color:var(--c-honey)}

/* ---------- Welcome / Story Section ---------- */
.welcome{padding-block:clamp(4rem,9vw,7rem);background:var(--c-cream);position:relative}
.welcome-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:4rem;align-items:center}
.welcome-content .eyebrow{margin-bottom:1.2rem}
.welcome-content h2{
  font-family:var(--f-display);font-weight:400;
  font-size:clamp(2rem, 4.5vw, 3.4rem);line-height:1.12;
  color:var(--c-forest-deep);margin:0 0 1.4rem;
}
.welcome-content h2 em{font-style:italic;color:var(--c-terracotta);font-weight:500}
.welcome-content p{margin-bottom:1.2rem;color:var(--c-ink-soft);line-height:1.8;font-size:1rem}
.welcome-features{
  display:grid;grid-template-columns:1fr 1fr;gap:.8rem 1.2rem;
  margin:2rem 0;padding:1.6rem 0;
  border-top:1px solid var(--c-line);border-bottom:1px solid var(--c-line);
}
.wf-item{display:flex;gap:.7rem;align-items:flex-start;font-size:.92rem;line-height:1.4;color:var(--c-text)}
.wf-item .ic{
  width:32px;height:32px;border-radius:50%;
  background:var(--c-honey);color:var(--c-forest-deep);
  display:grid;place-items:center;flex-shrink:0;
}
.wf-item .ic svg{width:15px;height:15px}

.welcome-img{position:relative;aspect-ratio:4/5;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-lg)}
.welcome-img .fill-img{position:absolute;inset:0}
.welcome-img::before{
  content:"";position:absolute;inset:-15px;border:2px solid var(--c-honey);
  border-radius:var(--radius-lg);z-index:-1;opacity:.4;
}
.welcome-badge{
  position:absolute;bottom:-25px;right:-15px;z-index:3;
  width:130px;height:130px;border-radius:50%;
  background:var(--c-terracotta);color:#fff;
  display:grid;place-items:center;text-align:center;
  font-family:var(--f-display);font-style:italic;font-weight:500;
  font-size:.95rem;line-height:1.15;padding:1rem;
  box-shadow:var(--shadow-lg);
  animation:slowSpin 22s linear infinite;
}
.welcome-badge span{display:block;font-size:1.7rem;font-style:normal;font-weight:600;margin-bottom:.1rem}
.welcome-badge small{font-size:.6rem;letter-spacing:.15em;text-transform:uppercase;font-style:normal;display:block;margin-top:.2rem;opacity:.85}
@keyframes slowSpin{from{transform:rotate(0)}to{transform:rotate(360deg)}}

/* ---------- Section Heads ---------- */
.sec-head{text-align:center;max-width:760px;margin:0 auto 3.5rem}
.sec-head .eyebrow{justify-content:center;margin-bottom:1rem}
.sec-head h2{
  font-family:var(--f-display);font-weight:400;
  font-size:clamp(2rem, 4.5vw, 3.2rem);line-height:1.12;
  color:var(--c-forest-deep);margin:0 0 .8rem;
}
.sec-head h2 em{font-style:italic;color:var(--c-terracotta);font-weight:500}
.sec-head p{color:var(--c-muted);font-size:1.02rem;line-height:1.7;max-width:580px;margin:0 auto}

/* ---------- Rooms grid (homepage) ---------- */
.rooms{padding-block:clamp(4rem,9vw,7rem);background:var(--c-cream-warm)}
.rooms-grid{display:grid;grid-template-columns:repeat(3, 1fr);gap:1.8rem}
.room-card{
  background:var(--c-paper);border-radius:var(--radius-md);overflow:hidden;
  border:1px solid var(--c-line);position:relative;
  transition:transform var(--t) var(--ease), box-shadow var(--t) var(--ease);
  display:flex;flex-direction:column;
}
.room-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg);border-color:var(--c-honey-soft)}
.room-img{position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--c-cream-deep)}
.room-img .fill-img{position:absolute;inset:0;transition:transform .8s var(--ease)}
.room-card:hover .room-img .fill-img{transform:scale(1.05)}
.room-tag{
  position:absolute;top:1rem;left:1rem;z-index:2;
  background:var(--c-forest-deep);color:var(--c-honey-soft);
  padding:.4rem .85rem;border-radius:var(--radius-pill);
  font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;font-weight:600;
}
.room-body{padding:1.6rem 1.6rem 1.8rem;display:flex;flex-direction:column;flex:1}
.room-body h3{
  font-family:var(--f-display);font-weight:500;font-size:1.5rem;
  color:var(--c-forest-deep);margin-bottom:.6rem;line-height:1.2;
}
.room-body p{color:var(--c-muted);font-size:.94rem;line-height:1.65;margin-bottom:1.1rem;flex:1}
.room-feats{display:flex;flex-wrap:wrap;gap:.4rem .7rem;margin-bottom:1.4rem;font-size:.78rem;color:var(--c-muted)}
.room-feats span{display:inline-flex;align-items:center;gap:.3rem}
.room-feats span::before{content:"";width:4px;height:4px;border-radius:50%;background:var(--c-honey);display:inline-block}
.room-feats span:first-child::before{display:none}
.room-foot{display:flex;justify-content:space-between;align-items:center;padding-top:1.1rem;border-top:1px solid var(--c-line)}
.room-price{display:flex;flex-direction:column;line-height:1}
.room-price small{font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;color:var(--c-muted);font-weight:600;margin-bottom:.4rem}
.room-price strong{font-family:var(--f-display);font-style:italic;font-size:1.5rem;color:var(--c-terracotta);font-weight:500}
.room-price em{font-size:.74rem;font-style:normal;color:var(--c-muted);margin-left:.2rem}
.room-card .btn{padding:.7rem 1rem;font-size:.7rem}
.rooms-cta{text-align:center;margin-top:3rem}

/* ---------- Stats ---------- */
.stats{
  background:var(--c-forest-deep);color:var(--c-cream);
  padding:clamp(2.5rem,6vw,4rem) 0;position:relative;overflow:hidden;
}
.stats::before{
  content:"";position:absolute;inset:0;
  background:radial-gradient(ellipse at center, rgba(212,162,78,.15) 0%, transparent 60%);
}
.stats-grid{display:grid;grid-template-columns:repeat(4, 1fr);gap:2rem;text-align:center;position:relative;z-index:2}
.stat{padding:1rem}
.stat strong{
  display:block;font-family:var(--f-display);font-style:italic;font-weight:500;
  font-size:clamp(2.2rem,4.5vw,3.2rem);color:var(--c-honey);line-height:1;margin-bottom:.5rem;
}
.stat span{font-size:.74rem;letter-spacing:.22em;text-transform:uppercase;color:rgba(245,239,224,.78);font-weight:600}

/* ---------- Experiences ---------- */
.exp{padding-block:clamp(4rem,9vw,7rem);background:var(--c-cream);position:relative}
.exp-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.4rem}
.exp-card{
  background:var(--c-paper);border-radius:var(--radius-md);
  padding:2rem 1.6rem;border:1px solid var(--c-line);text-align:center;
  transition:all var(--t) var(--ease);position:relative;overflow:hidden;
}
.exp-card::before{
  content:"";position:absolute;top:-30px;right:-30px;
  width:90px;height:90px;border-radius:50%;
  background:var(--c-honey);opacity:.12;
  transition:transform .6s var(--ease);
}
.exp-card:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:var(--c-honey-soft)}
.exp-card:hover::before{transform:scale(1.4)}
.exp-icon{
  width:64px;height:64px;border-radius:50%;
  background:var(--c-cream-warm);color:var(--c-forest-deep);
  display:grid;place-items:center;margin:0 auto 1.2rem;
  border:2px solid var(--c-honey);position:relative;z-index:2;
  transition:all var(--t) var(--ease);
}
.exp-card:hover .exp-icon{background:var(--c-honey);color:var(--c-forest-deep)}
.exp-icon svg{width:26px;height:26px}
.exp-card h3{
  font-family:var(--f-display);font-weight:500;font-size:1.2rem;
  color:var(--c-forest-deep);margin-bottom:.6rem;position:relative;z-index:2;
}
.exp-card p{font-size:.88rem;color:var(--c-muted);line-height:1.6;position:relative;z-index:2}

/* ---------- Amenities band ---------- */
.amen-band{padding-block:clamp(3rem,7vw,5rem);background:var(--c-cream-warm);text-align:center}
.amen-band h2{
  font-family:var(--f-display);font-weight:400;font-style:italic;
  font-size:clamp(1.4rem, 3vw, 2rem);color:var(--c-forest-deep);
  margin-bottom:2rem;
}
.amen-list{
  display:flex;flex-wrap:wrap;justify-content:center;gap:1rem 2rem;
  max-width:980px;margin:0 auto;
}
.amen-list .item{
  display:inline-flex;align-items:center;gap:.6rem;font-size:.92rem;
  color:var(--c-text);font-weight:500;
}
.amen-list .item svg{width:18px;height:18px;color:var(--c-terracotta)}

/* ---------- Testimonials ---------- */
.testimonials{padding-block:clamp(4rem,9vw,7rem);background:var(--c-cream)}
.testimonials .sec-head h2{color:var(--c-forest-deep)}
.tst-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.6rem}
.tst-card{
  background:var(--c-paper);border-radius:var(--radius-md);
  padding:2rem;border:1px solid var(--c-line);position:relative;
  transition:all var(--t) var(--ease);
}
.tst-card:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:var(--c-honey-soft)}
.tst-quote{
  font-size:3rem;line-height:1;color:var(--c-honey);
  font-family:var(--f-display);font-style:italic;
  position:absolute;top:1.2rem;right:1.4rem;opacity:.5;
}
.tst-stars{color:var(--c-honey);font-size:.95rem;letter-spacing:.1em;margin-bottom:1rem}
.tst-card p{font-size:.94rem;color:var(--c-ink-soft);line-height:1.7;font-style:italic;margin-bottom:1.4rem}
.tst-author{display:flex;align-items:center;gap:.8rem;padding-top:1.1rem;border-top:1px solid var(--c-line)}
.tst-avatar{
  width:42px;height:42px;border-radius:50%;
  background:var(--c-forest-deep);color:var(--c-honey);
  display:grid;place-items:center;font-family:var(--f-display);font-weight:500;font-size:1.1rem;flex-shrink:0;
}
.tst-meta strong{display:block;font-size:.92rem;color:var(--c-forest-deep);font-weight:600}
.tst-meta span{font-size:.78rem;color:var(--c-muted)}

/* ---------- How to reach ---------- */
.reach{
  background:var(--c-forest-deep);color:var(--c-cream);
  padding:clamp(4rem,9vw,7rem) 0;position:relative;overflow:hidden;
}
.reach::before{
  content:"";position:absolute;inset:0;
  background:radial-gradient(ellipse at 80% 20%, rgba(212,162,78,.15) 0%, transparent 50%);
}
.reach .sec-head h2{color:var(--c-cream)}
.reach .sec-head h2 em{color:var(--c-honey)}
.reach .sec-head p{color:rgba(245,239,224,.78)}
.reach-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;max-width:840px;margin:0 auto}
.reach-row{
  display:flex;justify-content:space-between;align-items:center;
  padding:1.2rem 1.4rem;border-radius:var(--radius-md);
  background:rgba(245,239,224,.06);border:1px solid rgba(245,239,224,.12);
}
.reach-row strong{font-size:.95rem;color:var(--c-cream)}
.reach-row span{font-family:var(--f-display);font-style:italic;color:var(--c-honey);font-size:1.05rem}
.reach-cta{text-align:center;margin-top:2.5rem}

/* ---------- Boot screen (used on index home only) ---------- */
.boot{
  position:fixed;inset:0;z-index:9999;background:var(--c-forest-deep);
  display:grid;place-items:center;gap:1.4rem;
  color:var(--c-cream);transition:opacity .6s var(--ease), visibility .6s;
}
.boot.gone{opacity:0;visibility:hidden;pointer-events:none}
.b-mark{
  width:84px;height:84px;border-radius:50%;
  background:var(--c-honey);color:var(--c-forest-deep);
  display:grid;place-items:center;
  font-family:var(--f-display);font-size:2.6rem;font-weight:500;font-style:italic;
  box-shadow:0 0 0 6px rgba(245,239,224,.1), 0 12px 30px rgba(0,0,0,.3);
  animation:bootPulse 1.4s var(--ease) infinite alternate;
}
.b-text{font-family:var(--f-display);font-size:1.7rem;font-style:italic;letter-spacing:.02em;text-align:center;color:var(--c-cream)}
.b-tag{font-size:.66rem;letter-spacing:.4em;text-transform:uppercase;color:var(--c-honey);margin-top:6px}
@keyframes bootPulse{from{transform:scale(1)}to{transform:scale(1.06)}}

/* ---------- Responsive ---------- */
@media (max-width:980px){
  .hero .wrap{grid-template-columns:1fr;gap:2rem}
  .hero-widget{order:2}
  .welcome-grid{grid-template-columns:1fr;gap:2.5rem}
  .welcome-img{max-width:480px;margin:0 auto}
  .rooms-grid{grid-template-columns:repeat(2,1fr)}
  .stats-grid{grid-template-columns:repeat(2,1fr);gap:1.5rem}
  .exp-grid{grid-template-columns:repeat(2,1fr)}
  .tst-grid{grid-template-columns:1fr;max-width:520px;margin:0 auto}
  .reach-grid{grid-template-columns:1fr}
}
@media (max-width:600px){
  .hero{min-height:auto;padding:3rem 0 2rem}
  .hero h1{font-size:2.4rem}
  .rooms-grid{grid-template-columns:1fr;max-width:420px;margin:0 auto}
  .welcome-features{grid-template-columns:1fr}
  .hw-row{grid-template-columns:1fr}
  .stats-grid{grid-template-columns:1fr 1fr}
}

/* ==========================================================================
   ROOM SLIDER + LEAD-GEN CTA TRIO (used on home + rooms pages)
   ========================================================================== */

/* Slider container */
.room-slider{
  position:relative;aspect-ratio:4/3;overflow:hidden;touch-action:pan-y;
  background:var(--c-cream-deep);border-top-left-radius:var(--radius-md);border-top-right-radius:var(--radius-md);
}
.slides{display:flex;height:100%;transition:transform .55s var(--ease);will-change:transform}
.slide{flex:0 0 100%;height:100%;position:relative}
.slide .fill-img{width:100%;height:100%}

.room-slider .nav-btn{
  position:absolute;top:50%;transform:translateY(-50%);
  width:38px;height:38px;border-radius:50%;
  background:rgba(245,239,224,.92);color:var(--c-forest-deep);
  display:grid;place-items:center;z-index:3;
  box-shadow:0 4px 12px rgba(0,0,0,.18);
  transition:all var(--t) var(--ease);
  font-size:1.4rem;font-weight:300;
}
.room-slider .nav-btn:hover{background:var(--c-honey);color:var(--c-forest-deep);transform:translateY(-50%) scale(1.08)}
.room-slider .nav-btn.prev{left:.7rem}
.room-slider .nav-btn.next{right:.7rem}
.room-slider .nav-btn svg{width:18px;height:18px}

.dots{
  position:absolute;bottom:.9rem;left:50%;transform:translateX(-50%);
  display:flex;gap:.4rem;z-index:3;
  background:rgba(26,61,43,.55);padding:.35rem .6rem;border-radius:var(--radius-pill);
}
.dot{
  width:7px;height:7px;border-radius:50%;
  background:rgba(245,239,224,.55);cursor:pointer;
  transition:all .3s var(--ease);border:0;
}
.dot.active{background:var(--c-honey);width:22px;border-radius:4px}

.room-tag{
  position:absolute;top:1rem;left:1rem;z-index:2;
  background:var(--c-forest-deep);color:var(--c-honey-soft);
  padding:.4rem .85rem;border-radius:var(--radius-pill);
  font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;font-weight:600;
}

/* Lead-Gen 3-button trio */
.lead-trio{
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.4fr);gap:.5rem;
  margin-top:1rem;
}
.lead-trio .btn{
  padding:.75rem .6rem;font-size:.66rem;letter-spacing:.12em;
  display:inline-flex;align-items:center;justify-content:center;gap:.35rem;
}
.lead-trio .btn svg{width:13px;height:13px;flex-shrink:0}
.lead-trio .btn-call{background:transparent;border:1.5px solid var(--c-forest-deep);color:var(--c-forest-deep)}
.lead-trio .btn-call:hover{background:var(--c-forest-deep);color:var(--c-cream)}
.lead-trio .btn-wa{background:#25D366;color:#fff;border-color:#25D366}
.lead-trio .btn-wa:hover{background:#1ebe5b;border-color:#1ebe5b}
.lead-trio .btn-book{background:var(--c-terracotta);color:#fff;border-color:var(--c-terracotta);box-shadow:0 4px 12px rgba(201,121,78,.22)}
.lead-trio .btn-book:hover{background:var(--c-clay);border-color:var(--c-clay)}

/* Room body — homepage */
.room-card{display:flex;flex-direction:column}
.room-body{padding:1.4rem 1.4rem 1.6rem;display:flex;flex-direction:column;flex:1}
.room-body .room-meta{
  display:flex;gap:.5rem .9rem;flex-wrap:wrap;margin-bottom:.7rem;
  font-size:.74rem;color:var(--c-muted);text-transform:uppercase;letter-spacing:.14em;font-weight:600;
}
.room-body .room-meta span{display:inline-flex;align-items:center;gap:.3rem}
.room-body .room-meta span::before{content:"";width:4px;height:4px;border-radius:50%;background:var(--c-honey);display:inline-block}
.room-body .room-meta span:first-child::before{display:none}
.room-body h3{
  font-family:var(--f-display);font-weight:500;font-size:1.4rem;
  color:var(--c-forest-deep);margin-bottom:.5rem;line-height:1.2;
}
.room-body p{color:var(--c-muted);font-size:.92rem;line-height:1.65;margin-bottom:1rem;flex:1}
.room-body .price-strip{
  display:flex;align-items:baseline;gap:.4rem;
  padding:.7rem 0;border-top:1px solid var(--c-line);
  font-family:var(--f-display);font-style:italic;
}
.room-body .price-strip strong{font-size:1.5rem;color:var(--c-terracotta);font-weight:500}
.room-body .price-strip span{font-family:var(--f-body);font-style:normal;font-size:.78rem;color:var(--c-muted);font-weight:500}

@media (max-width:480px){
  .lead-trio{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:.4rem}
  .lead-trio .btn-book{grid-column:1/-1}
}

/* Hero widget — direct contact buttons below form */
.hw-direct{
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:.6rem;margin-top:.8rem;
  padding-top:.8rem;border-top:1px solid rgba(245,239,224,.15);
}
.hw-direct .btn{padding:.7rem .5rem;font-size:.7rem;letter-spacing:.06em;justify-content:center;white-space:normal;text-align:center;line-height:1.25}
.hw-direct .btn-wa{background:#25D366;color:#fff;border-color:#25D366}
.hw-direct .btn-wa:hover{background:#1ebe5b}
.hw-direct .btn-ghost{border-color:rgba(245,239,224,.4);color:var(--c-cream)}
.hw-direct .btn-ghost:hover{background:rgba(245,239,224,.08);border-color:rgba(245,239,224,.6)}

/* Room slider tag position fix */
.room-slider{position:relative}

/* Hero slider responsive adjustments */
@media (max-width: 900px){
  .hero-slider-overlay{
    background:
      linear-gradient(90deg, rgba(10,28,19,.88), rgba(18,44,31,.64)),
      linear-gradient(180deg, rgba(10,28,19,.22), rgba(10,28,19,.46));
  }
  .hero-slide-label{display:none}
  .hero-nav{width:36px;height:36px}
  .hero-prev{left:.65rem}
  .hero-next{right:.65rem}
  .hero-dots{bottom:1.6rem}
}
@media (max-width: 640px){
  .hero{min-height:auto;padding:4.5rem 0 5rem}
  .hero-slider{min-height:100%}
  .hero-widget{background:rgba(10,28,19,.48)}
}
