/* =========================================================
   FAMILY HOUSE DIENG — Stylesheet Utama
   Palet baru: hutan pinus dieng, terracotta hangat, amber senja, kabut pagi
   ========================================================= */

:root{
  --forest-900:#0F2118;
  --forest-800:#173225;
  --forest-700:#204431;
  --forest-600:#2E5D42;
  --sage-500:#7FA089;
  --sage-300:#B9CBBB;
  --terracotta-700:#9C4423;
  --terracotta-600:#C1552F;
  --terracotta-500:#D66A3E;
  --terracotta-400:#E4895F;
  --amber-500:#E7A93F;
  --amber-400:#F0BE64;
  --cream-100:#FBF7EE;
  --cream-200:#F5EEDD;
  --mist-200:#E9EEE4;
  --mist-300:#D3DED1;
  --ink-900:#1C2620;
  --ink-600:#4E5A4C;
  --white:#ffffff;

  --font-display:'Fraunces', 'Georgia', serif;
  --font-body:'Plus Jakarta Sans','Segoe UI',sans-serif;

  --radius-lg:22px;
  --radius-md:14px;
  --radius-sm:8px;
  --shadow-soft:0 18px 40px -18px rgba(15,33,24,0.4);
  --shadow-card:0 12px 30px -14px rgba(15,33,24,0.28);
  --header-h:82px;
  --container:1180px;
}

*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:var(--font-body);
  color:var(--ink-900);
  background:var(--cream-100);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
  position:relative;
}
body::before{
  content:"";position:fixed;inset:0;pointer-events:none;z-index:9999;opacity:.035;mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='120' height='120'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
ul{list-style:none;margin:0;padding:0;}
h1,h2,h3,h4{font-family:var(--font-display);margin:0 0 .5em;color:var(--forest-900);font-weight:600;}
p{margin:0 0 1em;}
.container{max-width:var(--container);margin:0 auto;padding:0 24px;}
.fhd-icon{color:var(--terracotta-600);flex-shrink:0;vertical-align:-4px;}

@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  *{animation-duration:0.001ms !important; transition-duration:0.001ms !important;}
}

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:9px;
  padding:14px 28px;border-radius:999px;font-weight:600;font-size:.95rem;
  cursor:pointer;border:none;transition:transform .25s ease, box-shadow .25s ease, background .25s ease;
  font-family:var(--font-body);
}
.btn-primary{background:linear-gradient(135deg,var(--terracotta-500),var(--terracotta-600));color:var(--cream-100);box-shadow:0 12px 26px -8px rgba(193,85,47,.55);}
.btn-primary:hover{background:linear-gradient(135deg,var(--terracotta-600),var(--terracotta-700));transform:translateY(-2px);box-shadow:0 16px 30px -8px rgba(193,85,47,.6);}
.btn-outline{background:rgba(255,255,255,.06);color:var(--cream-100);border:1.5px solid rgba(255,255,255,.55);}
.btn-outline:hover{background:rgba(255,255,255,.16);transform:translateY(-2px);}
.btn-dark{background:var(--forest-800);color:var(--cream-100);}
.btn-dark:hover{background:var(--forest-900);transform:translateY(-2px);}
.btn-whatsapp{background:#25D366;color:#fff;}
.btn-whatsapp:hover{background:#1fb958;transform:translateY(-2px);}
.btn-block{width:100%;}
.btn-sm{padding:9px 18px;font-size:.85rem;}

.eyebrow{
  display:inline-flex;align-items:center;gap:8px;
  font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;
  color:var(--terracotta-600);font-weight:700;margin-bottom:14px;
}
.eyebrow::before{content:"";width:22px;height:2px;background:var(--amber-500);display:inline-block;}
.eyebrow::after{content:"";width:5px;height:5px;background:var(--amber-500);display:inline-block;transform:rotate(45deg);border-radius:1px;}

/* ---------- Header / Nav ---------- */
.site-header{
  position:fixed;top:0;left:0;right:0;z-index:1000;
  padding:16px 0;transition:background .35s ease, box-shadow .35s ease, padding .35s ease;
  background:linear-gradient(180deg, rgba(15,33,24,.86) 0%, rgba(15,33,24,.55) 70%, rgba(15,33,24,0) 100%);
}
.site-header.scrolled{
  background:rgba(15,33,24,0.96);backdrop-filter:blur(10px);
  box-shadow:0 8px 24px -12px rgba(0,0,0,.4); padding:10px 0;
}
.site-header .nav-wrap{display:flex;align-items:center;justify-content:space-between;gap:20px;}
.logo{display:flex;align-items:center;gap:11px;font-family:var(--font-display);font-weight:700;font-size:1.2rem;color:#fff;}
.logo-text{line-height:1.25;}
.logo-mark{width:40px;height:40px;border-radius:11px;object-fit:cover;flex-shrink:0;box-shadow:0 4px 12px -4px rgba(0,0,0,.4);}
.site-header.scrolled .logo-mark,
.footer-about .logo-mark{width:34px;height:34px;}
.footer-about .logo{font-size:1.05rem;}
.logo span{color:var(--amber-500);}
.fhd-logo-mark{flex-shrink:0;filter:drop-shadow(0 4px 10px rgba(0,0,0,.25));}
.nav-links{display:flex;gap:32px;align-items:center;}
.nav-links a{color:#f1ede0;font-weight:600;font-size:.92rem;position:relative;padding:6px 0;}
.nav-links a::after{content:"";position:absolute;left:0;bottom:0;width:0;height:2px;background:var(--amber-500);transition:width .25s ease;}
.nav-links a:hover::after,.nav-links a.active::after{width:100%;}
.nav-cta{display:flex;gap:12px;align-items:center;}
.burger{display:none;background:none;border:none;color:#fff;cursor:pointer;padding:6px;align-items:center;justify-content:center;}
.burger .icon-close{display:none;}
.burger.is-open .icon-menu{display:none;}
.burger.is-open .icon-close{display:block;}

@media (max-width:900px){
  .nav-links{position:fixed;top:0;right:-100%;height:100vh;width:78%;max-width:320px;
    background:var(--forest-900);flex-direction:column;justify-content:center;gap:26px;
    transition:right .4s ease;padding:40px;box-shadow:-20px 0 50px -20px rgba(0,0,0,.5);}
  .nav-links.open{right:0;}
  .burger{display:flex;}
  .nav-cta .btn-outline{display:none;}
}
@media (max-width:520px){
  .nav-cta .btn-primary{padding:10px 16px;font-size:.82rem;}
}

/* ---------- Hero Parallax ---------- */
.hero{
  position:relative;min-height:100vh;overflow:hidden;
  display:flex;align-items:center;
  background:linear-gradient(180deg,#0c1c14 0%, #163526 45%, #234a34 78%, #2e5d42 100%);
}
.hero-layer{position:absolute;left:0;right:0;bottom:0;width:100%;will-change:transform;}
.hero-sky{position:absolute;inset:0;background:radial-gradient(ellipse at 20% 0%, rgba(231,169,63,.22), transparent 55%), radial-gradient(ellipse at 85% 15%, rgba(214,106,62,.14), transparent 50%);}
.hero-fog{position:absolute;left:-10%;right:-10%;height:40%;bottom:22%;
  background:radial-gradient(ellipse at center, rgba(255,255,255,.14), transparent 70%);
  filter:blur(6px);}
.hero-content{position:relative;z-index:5;color:#fff;padding-top:var(--header-h);width:100%;}
.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:40px;align-items:center;}
.hero-content .eyebrow{color:var(--amber-500);}
.hero-content .eyebrow::before{background:var(--amber-500);}
.hero-content h1{color:#fff;font-size:clamp(2.3rem,5vw,4.1rem);line-height:1.08;max-width:820px;}
.hero-content h1 em{font-style:normal;color:var(--amber-400);}
.hero-content p.lead{color:#e7e3d4;font-size:1.12rem;max-width:540px;margin-bottom:30px;}
.hero-actions{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:34px;}
.hero-stats{display:flex;gap:14px;flex-wrap:wrap;}
.hero-stat{
  display:flex;align-items:center;gap:10px;padding:10px 18px 10px 12px;border-radius:999px;
  background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);backdrop-filter:blur(4px);
}
.hero-stat .ic{
  width:34px;height:34px;border-radius:50%;background:var(--amber-500);color:var(--forest-900);
  display:flex;align-items:center;justify-content:center;flex-shrink:0;
}
.hero-stat strong{display:block;font-size:.92rem;color:#fff;font-family:var(--font-display);}
.hero-stat span{display:block;font-size:.72rem;color:#d8d4c4;}

.hero-visual{position:relative;display:flex;justify-content:center;align-items:center;}
.hero-photo-card{
  position:relative;width:100%;max-width:380px;border-radius:26px;overflow:hidden;
  box-shadow:0 30px 60px -18px rgba(0,0,0,.55);border:6px solid rgba(255,255,255,.08);
  transform:rotate(2deg);
}
.hero-photo-card img{width:100%;height:420px;object-fit:cover;}
.hero-badge-float{
  position:absolute;left:-26px;bottom:26px;background:#fff;color:var(--forest-900);
  border-radius:18px;padding:14px 18px;box-shadow:0 18px 34px -14px rgba(0,0,0,.4);
  display:flex;align-items:center;gap:12px;transform:rotate(-3deg);
}
.hero-badge-float .ic{width:40px;height:40px;border-radius:50%;background:var(--forest-800);color:var(--amber-400);display:flex;align-items:center;justify-content:center;}
.hero-badge-float strong{display:block;font-family:var(--font-display);font-size:1rem;}
.hero-badge-float span{display:block;font-size:.72rem;color:var(--ink-600);}

@media (max-width:1024px){
  .hero-grid{grid-template-columns:1fr;}
  .hero-visual{display:none;}
}

.hero-scroll{
  position:absolute;bottom:28px;left:50%;transform:translateX(-50%);
  color:#e7e3d4;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;
  display:flex;flex-direction:column;align-items:center;gap:8px;z-index:5;
}
.hero-scroll .dot{width:1px;height:36px;background:linear-gradient(#e7e3d4,transparent);animation:scrollpulse 1.8s infinite;}
@keyframes scrollpulse{0%{opacity:.2;}50%{opacity:1;}100%{opacity:.2;}}

.mountain{position:absolute;bottom:0;left:0;width:100%;}
.mountain svg{width:100%;height:auto;display:block;}

/* ---------- Sections generic ---------- */
section{padding:100px 0;}
.section-alt{background:var(--mist-200);}
.section-dark{background:var(--forest-900);color:var(--cream-200);position:relative;overflow:hidden;}
.section-dark::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 15% 20%, rgba(231,169,63,.1), transparent 50%),radial-gradient(ellipse at 85% 80%, rgba(214,106,62,.1), transparent 50%);}
.section-dark .container{position:relative;z-index:1;}
.section-dark h2{color:#fff;}
.section-head{max-width:640px;margin-bottom:56px;}
.section-head.center{margin-left:auto;margin-right:auto;text-align:center;}
.section-head h2{font-size:clamp(1.8rem,3.4vw,2.6rem);}

.reveal{opacity:0;transform:translateY(28px);transition:opacity .7s ease, transform .7s ease;}
.reveal.in{opacity:1;transform:translateY(0);}

/* ---------- Home: intro + facilities ---------- */
.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;}

/* Auto-sliding photo carousel (tanpa terpotong, ukuran tetap) */
.intro-carousel{
  position:relative;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-soft);
  aspect-ratio:4/3;background:linear-gradient(135deg,var(--forest-800),var(--forest-900));
}
.carousel-track{display:flex;height:100%;transition:transform .7s cubic-bezier(.65,0,.35,1);}
.carousel-slide{min-width:100%;height:100%;display:flex;align-items:center;justify-content:center;position:relative;}
.carousel-slide img{width:100%;height:100%;object-fit:cover;object-position:center;}
.carousel-dots{position:absolute;bottom:16px;left:0;right:0;display:flex;justify-content:center;gap:8px;z-index:3;}
.carousel-dots button{width:8px;height:8px;border-radius:50%;border:none;background:rgba(255,255,255,.5);cursor:pointer;padding:0;transition:all .25s ease;}
.carousel-dots button.active{background:#fff;width:22px;border-radius:5px;}
.carousel-nav{position:absolute;top:50%;transform:translateY(-50%);width:38px;height:38px;border-radius:50%;background:rgba(15,33,24,.55);color:#fff;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:3;transition:background .2s ease;backdrop-filter:blur(3px);}
.carousel-nav:hover{background:rgba(15,33,24,.85);}
.carousel-nav.prev{left:14px;}
.carousel-nav.next{right:14px;}

.facility-list{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:28px;}
.facility-item{display:flex;gap:14px;align-items:flex-start;background:var(--white);padding:16px;border-radius:var(--radius-md);box-shadow:var(--shadow-card);}
.icon-badge{
  width:42px;height:42px;border-radius:12px;display:flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg,var(--mist-200),var(--mist-300));color:var(--terracotta-600);flex-shrink:0;
}
.icon-badge.on-dark{background:rgba(255,255,255,.1);color:var(--amber-400);}
.icon-badge.round{border-radius:50%;}
.facility-item strong{display:block;font-size:.95rem;color:var(--forest-900);}
.facility-item span{font-size:.82rem;color:var(--ink-600);}

/* ---------- Room Cards ---------- */
.room-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;}
.room-card{
  background:var(--white);border-radius:var(--radius-lg);overflow:hidden;
  box-shadow:var(--shadow-card);transition:transform .35s ease, box-shadow .35s ease;
  display:flex;flex-direction:column;
}
.room-card:hover{transform:translateY(-6px);box-shadow:0 24px 44px -16px rgba(15,33,24,.35);}
.room-card .thumb{position:relative;aspect-ratio:4/3;overflow:hidden;}
.room-card .thumb img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease;}
.room-card .thumb.jeep-thumb{aspect-ratio:924/1307;background:#f3ead9;}
.room-card .thumb.jeep-thumb img{object-fit:contain;object-position:center;}
.room-card:hover .thumb img{transform:scale(1.08);}
.room-card .price-tag{
  position:absolute;top:14px;right:14px;background:rgba(15,33,24,.9);color:#fff;
  padding:6px 14px;border-radius:999px;font-size:.78rem;font-weight:700;
}
.room-card .body{padding:20px 22px 24px;display:flex;flex-direction:column;gap:10px;flex:1;}
.room-card .room-desc{font-size:.85rem;color:var(--ink-600);margin:0;}
.room-meta{display:flex;gap:16px;font-size:.8rem;color:var(--ink-600);flex-wrap:wrap;}
.room-meta span{display:flex;align-items:center;gap:6px;}
.room-meta .fhd-icon{width:16px;height:16px;color:var(--terracotta-500);}
.room-card h3{
  font-size:1.12rem;margin:2px 0 0;padding-top:12px;
  border-top:1px dashed var(--mist-300);
  position:relative;
}
.room-card h3::before{
  content:"";position:absolute;top:-1px;left:0;width:34px;height:2px;background:var(--amber-500);
}
.room-card .foot{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:10px;}
.room-card .foot .btn{flex:1;}

.filter-bar{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:36px;}
.filter-bar button{
  padding:9px 18px;border-radius:999px;border:1.5px solid var(--mist-300);background:var(--white);
  font-weight:600;font-size:.85rem;cursor:pointer;color:var(--ink-600);transition:all .2s ease;
}
.filter-bar button.active,.filter-bar button:hover{background:var(--forest-800);color:#fff;border-color:var(--forest-800);}

/* ---------- Detail Kamar / halaman dalam ---------- */
.detail-hero{padding-top:calc(var(--header-h) + 68px);padding-bottom:40px;background:linear-gradient(160deg,var(--forest-900),var(--forest-700));position:relative;overflow:hidden;}
.detail-hero::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 85% 0%, rgba(231,169,63,.14), transparent 55%);}
.detail-hero .container{position:relative;z-index:1;}
.detail-hero .eyebrow{color:var(--amber-500);}
.detail-hero .eyebrow::before{background:var(--amber-500);}
.detail-hero h1{color:#fff;}
.detail-hero p{color:#d7ddd2 !important;}
.breadcrumb{font-size:.85rem;color:#c9d2c4;margin-bottom:16px;}
.breadcrumb a{color:var(--amber-400);font-weight:600;}
.gallery-main{border-radius:var(--radius-lg);overflow:hidden;aspect-ratio:16/10;margin-bottom:14px;box-shadow:var(--shadow-card);}
.gallery-main img{width:100%;height:100%;object-fit:cover;}
.gallery-main.jeep-gallery{aspect-ratio:924/1307;background:#f3ead9;max-width:520px;margin-left:auto;margin-right:auto;}
.gallery-main.jeep-gallery img{object-fit:contain;}
.gallery-thumbs{display:flex;gap:10px;flex-wrap:wrap;}
.gallery-thumbs img{width:84px;height:64px;object-fit:cover;border-radius:10px;cursor:pointer;opacity:.6;transition:opacity .2s;border:2px solid transparent;}
.gallery-thumbs img:hover,.gallery-thumbs img.active{opacity:1;border-color:var(--terracotta-500);}
.gallery-thumbs.jeep-thumbs img{width:56px;height:79px;object-fit:contain;background:#f3ead9;}

.detail-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:50px;align-items:start;padding-top:60px;}
.info-badges{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:20px;}
.info-badges span{display:inline-flex;align-items:center;gap:7px;background:var(--mist-200);padding:8px 16px;border-radius:999px;font-size:.82rem;font-weight:600;color:var(--forest-800);}
.info-badges .fhd-icon{width:16px;height:16px;color:var(--terracotta-600);}
.two-col-list{display:grid;grid-template-columns:1fr 1fr;gap:10px 20px;margin:18px 0;}
.two-col-list li{display:flex;gap:9px;font-size:.92rem;color:var(--ink-600);align-items:flex-start;}
.two-col-list li .fhd-icon{color:var(--terracotta-600);margin-top:2px;width:16px;height:16px;}

.booking-card{
  background:var(--white);border-radius:var(--radius-lg);padding:28px;box-shadow:var(--shadow-soft);
  position:sticky;top:calc(var(--header-h) + 20px);
}
.booking-card .price{font-family:var(--font-display);font-size:1.7rem;color:var(--forest-900);}
.booking-card .price small{font-size:.85rem;font-weight:400;color:var(--ink-600);}
.booking-card .help-text{display:flex;align-items:center;gap:6px;}

/* ---------- Forms ---------- */
.form-group{margin-bottom:18px;}
.form-group label{display:block;font-weight:600;font-size:.85rem;margin-bottom:7px;color:var(--forest-900);}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
input[type=text],input[type=email],input[type=tel],input[type=date],input[type=number],
input[type=password],textarea,select{
  width:100%;padding:13px 15px;border-radius:var(--radius-sm);border:1.5px solid var(--mist-300);
  font-family:var(--font-body);font-size:.95rem;background:var(--cream-100);color:var(--ink-900);
  transition:border-color .2s ease, box-shadow .2s ease;
}
input:focus,textarea:focus,select:focus{outline:none;border-color:var(--terracotta-500);background:#fff;box-shadow:0 0 0 4px rgba(214,106,62,.12);}
textarea{resize:vertical;min-height:100px;}
.help-text{font-size:.78rem;color:var(--ink-600);margin-top:5px;}
.summary-box{background:var(--mist-200);border-radius:var(--radius-md);padding:18px;margin:20px 0;}
.summary-box .row{display:flex;justify-content:space-between;font-size:.9rem;padding:5px 0;}
.summary-box .row.total{font-weight:700;font-size:1.05rem;border-top:1px dashed var(--mist-300);margin-top:8px;padding-top:12px;color:var(--forest-900);}
.alert{padding:14px 18px;border-radius:var(--radius-sm);margin-bottom:20px;font-size:.9rem;}
.alert-success{background:#e3f5e8;color:#1c6b3a;border:1px solid #b6e3c3;}
.alert-error{background:#fbe7e2;color:#a3341c;border:1px solid #f1c3b6;}
.alert-info{background:#e6eef8;color:#1e4a7a;border:1px solid #c2d8f0;}

/* ---------- Galeri ---------- */
.masonry{columns:3 260px;column-gap:18px;}
.masonry .g-item{break-inside:avoid;margin-bottom:18px;border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-card);position:relative;}
.masonry .g-item img{width:100%;display:block;transition:transform .4s ease;}
.masonry .g-item:hover img{transform:scale(1.05);}

/* ---------- Profil ---------- */
.map-frame{border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-card);aspect-ratio:16/9;}
.map-frame iframe{width:100%;height:100%;border:0;}
.advantage-list{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.advantage-list li{display:flex;gap:12px;background:var(--white);padding:16px 18px;border-radius:var(--radius-md);box-shadow:var(--shadow-card);font-size:.92rem;align-items:center;}

/* ---------- Footer ---------- */
.site-footer{background:var(--forest-900);color:#cfd8ce;padding:70px 0 26px;position:relative;overflow:hidden;}
.site-footer::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 10% 0%, rgba(231,169,63,.08), transparent 45%);}
.site-footer .container{position:relative;z-index:1;}
.footer-grid{display:grid;grid-template-columns:1.3fr .8fr .8fr 1fr 1fr;gap:36px;margin-bottom:50px;}
.footer-grid h4{color:#fff;font-family:var(--font-body);font-size:.9rem;text-transform:uppercase;letter-spacing:.08em;margin-bottom:18px;}
.footer-grid a{color:#cfd8ce;font-size:.9rem;display:block;margin-bottom:10px;transition:color .2s;}
.footer-grid a:hover{color:var(--amber-400);}
.footer-about p{color:#b6c2b4;font-size:.9rem;max-width:270px;}
.footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding-top:22px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;font-size:.8rem;color:#8ea18f;}

.footer-social-item{display:flex;align-items:center;gap:12px;margin-bottom:14px;}
.footer-social-item .ic{
  width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.08);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .2s ease;
}
.footer-social-item:hover .ic{background:var(--terracotta-500);}
.footer-social-item .txt strong{display:block;font-size:.85rem;color:#fff;font-weight:600;}
.footer-social-item .txt span{display:block;font-size:.76rem;color:#9db09e;}

.footer-address{display:flex;gap:12px;align-items:flex-start;}
.footer-address .ic{width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.08);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--amber-400);}
.footer-address p{color:#cfd8ce;font-size:.88rem;margin:0;}

.whatsapp-float{
  position:fixed;bottom:24px;right:24px;z-index:900;
  width:60px;height:60px;border-radius:50%;background:#25D366;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 12px 26px -8px rgba(0,0,0,.45);animation:floatpulse 2.4s infinite;
}
@keyframes floatpulse{0%,100%{transform:scale(1);}50%{transform:scale(1.06);}}

/* ---------- Responsive ---------- */
@media (max-width:1024px){
  .room-grid{grid-template-columns:repeat(2,1fr);}
  .intro-grid{grid-template-columns:1fr;}
  .detail-grid{grid-template-columns:1fr;}
  .footer-grid{grid-template-columns:1fr 1fr;}
  .masonry{columns:2 220px;}
}
@media (max-width:640px){
  section{padding:66px 0;}
  .room-grid{grid-template-columns:1fr;}
  .form-row{grid-template-columns:1fr;}
  .two-col-list{grid-template-columns:1fr;}
  .advantage-list{grid-template-columns:1fr;}
  .facility-list{grid-template-columns:1fr;}
  .footer-grid{grid-template-columns:1fr;gap:30px;}
  .masonry{columns:1 100%;}
  .booking-card{position:static;}
  .hero-stats{gap:10px;}
  .hero-stat{padding:8px 14px 8px 8px;}
  .whatsapp-float{width:54px;height:54px;bottom:18px;right:18px;}
}
