/*
 * Stylesheet for Kadupul by Serenity (detailed version).
 * Defines typography, layout and responsive design across multiple sections.
 */

:root{
  --bg:#F8F8F6;
  --bg-soft:#F2F6F4;
  --text:#3E3E3E;
  --text-strong:#2F3A40;
  --accent:#C0A060;
  --link:#708A7B;
  --light:#ffffff;
  --shadow:rgba(0,0,0,0.05);
  --section-dark:#263840;
  --section-dark-muted:#dce7e2;
  --floating-header-top:0px;
  --floating-header-space:70px;
}

/* Base styles */
html{overflow-x:hidden;}
body{margin:0;padding-top:var(--floating-header-space);background:var(--bg);color:var(--text);font-family:'Nunito Sans',sans-serif;line-height:1.6;overflow-x:hidden;}
body.site-chrome-hidden{padding-top:0;}
h1,h2,h3,h4,h5,h6{font-family:'Cormorant Garamond',serif;color:var(--text);margin-top:0;}
a{text-decoration:none;color:var(--link);} a:hover{color:#4f695d;}
picture{display:block;}
picture img{display:block;max-width:100%;height:auto;}

/* Container */
.container{max-width:1200px;margin:0 auto;padding:0 1rem;}

/* Header and navigation */
.site-header{background:rgba(255,255,255,0.95);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);position:fixed;top:var(--floating-header-top);left:0;width:100%;z-index:1000;border-bottom:1px solid rgba(224,224,224,.92);box-shadow:0 8px 24px rgba(0,0,0,.1);}
.site-header .container{display:flex;align-items:center;justify-content:space-between;padding:0.75rem 1rem;}
.site-header .logo{display:flex;align-items:center;gap:.6rem;font-family:'Cormorant Garamond',serif;font-size:1.35rem;color:var(--text);font-weight:600;line-height:1;}
.site-header .logo img{width:44px;height:44px;object-fit:contain;display:block;}
.site-header .nav-toggle{background:none;border:none;font-size:1.5rem;color:var(--text);cursor:pointer;display:none;}
.site-nav{display:flex;gap:.75rem;align-items:center;}
.site-nav a{color:var(--text);font-weight:600;padding:0.5rem .35rem;}
.site-nav a:hover{color:var(--link);}

/* Hero */
.hero{position:relative;background-size:cover;background-position:center;min-height:60vh;display:flex;align-items:center;justify-content:center;text-align:center;color:#fff;}
.hero::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(0,0,0,.62) 0%,rgba(0,0,0,.38) 46%,rgba(0,0,0,.08) 100%);}
.hero .overlay{position:relative;z-index:2;background:rgba(0,0,0,0.4);padding:2rem;border-radius:8px;max-width:800px;}
.hero h1{font-size:2.5rem;margin-bottom:0.5rem;color:#fff;}
.hero p{font-size:1.2rem;margin-bottom:1.5rem;color:#fff;}
.hero-refreshed{min-height:calc(100vh - 70px);align-items:flex-end;justify-content:center;text-align:left;background-position:center;padding:0;}
.hero-media{position:absolute;inset:0;z-index:0;}
.hero-media img{width:100%;height:100%;object-fit:cover;}
.hero-refreshed .overlay{width:100%;max-width:1120px;box-sizing:border-box;background:transparent;border-radius:0;padding:0 1.5rem 5rem;text-shadow:0 2px 18px rgba(0,0,0,.38);}
.hero-refreshed h1{font-size:clamp(2.35rem,5vw,4.5rem);line-height:.98;margin-bottom:1rem;}
.hero-refreshed p{max-width:680px;font-size:1.18rem;margin-bottom:1.2rem;}
.hero-actions{display:flex;flex-wrap:wrap;gap:.7rem;align-items:center;}
.btn{display:inline-block;padding:0.75rem 1.5rem;background:var(--accent);color:#fff;border-radius:4px;font-weight:600;margin-top:0.5rem;transition:background 0.3s ease;}
.btn:hover{background:#a68a55;}
.btn-secondary{background:var(--link);}
.btn-secondary:hover{background:#4f695d;color:#fff;}
.btn-ghost{background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.72);color:#fff;}
.btn-ghost:hover{background:rgba(255,255,255,.24);color:#fff;}
.btn-ghost-dark{background:transparent;border:1px solid #b9c8c0;color:#2f4b42;}
.btn-ghost-dark:hover{background:#eef5f1;color:#2f4b42;}

/* Sections */
section{padding:3rem 1rem;}
.welcome-message{background:#fbfaf6;padding:3.4rem 1rem;}
.welcome-message-inner{display:grid;grid-template-columns:minmax(180px,.34fr) minmax(0,.66fr);gap:2rem;align-items:center;}
.welcome-emblem{display:flex;align-items:center;justify-content:center;}
.welcome-emblem img{width:min(220px,62vw);height:auto;filter:drop-shadow(0 10px 24px rgba(0,0,0,.08));}
.welcome-message-copy{max-width:780px;}
.welcome-eyebrow{margin:0 0 .4rem;color:#8d7448;font-size:.82rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;}
.welcome-message h2{font-size:clamp(2rem,4vw,3.3rem);line-height:1;margin-bottom:1rem;color:#263840;}
.welcome-message-body{display:grid;gap:.72rem;}
.welcome-message-body p{margin:0;font-size:1.08rem;color:#3d4a51;}
.welcome-signoff{padding-top:.45rem;color:#263840;}
.welcome-signoff strong{font-family:'Cormorant Garamond',serif;font-size:1.45rem;font-weight:600;color:#263840;}
.welcome-heart{color:#bd5c5c;}
.trust-signals{background:#fff;padding:1rem;}
.trust-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.75rem;}
.trust-item{border:1px solid #e6e1d6;border-radius:8px;background:#fff;padding:1rem;text-align:center;box-shadow:0 3px 10px rgba(0,0,0,.04);}
.trust-item strong{display:block;font-size:1.45rem;line-height:1.1;color:#1f4f71;font-weight:800;}
.trust-item span{display:block;margin-top:.35rem;color:#566067;font-size:.9rem;font-weight:700;}
.rooms-suites{text-align:center;background:var(--bg-soft);}
.rooms-suites h2{font-size:2rem;margin-bottom:2rem;}
.home-room-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:1.5rem auto;max-width:1120px;}
.home-room-card{background:#fff;border:1px solid #e0e0e0;border-radius:8px;overflow:hidden;text-align:left;box-shadow:0 4px 14px rgba(0,0,0,.08);}
.home-room-card img{width:100%;height:240px;object-fit:cover;}
.home-room-card div{padding:1rem;}
.home-room-card h3{font-size:1.35rem;margin:0 0 .45rem;}
.home-room-card p{margin:0 0 .75rem;color:var(--text-strong);}
.home-room-card a{font-weight:800;}
.room-card{background:var(--light);border:1px solid #e0e0e0;border-radius:8px;box-shadow:0 2px 5px var(--shadow);overflow:hidden;flex:1 1 300px;max-width:360px;text-align:center;transition:transform 0.3s ease;}
.room-card:hover{transform:translateY(-3px);} 
.room-card img{width:100%;height:200px;object-fit:cover;display:block;}
.room-card h3{font-size:1.5rem;margin:1rem 0 0.5rem;}
.room-card p{padding:0 1rem 1rem;font-size:1rem;}
.room-card-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:.35rem;margin:auto 1rem 1rem;}
.room-card-gallery picture{min-width:0;}
.room-card-gallery img{height:82px;border-radius:6px;object-fit:cover;}
.room-card-link{display:block;margin:auto 1rem 1.1rem;font-weight:800;}
.room-detail-list{display:grid;gap:1.4rem;margin:2.2rem auto 0;max-width:1120px;text-align:left;}
.room-detail-panel{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem;align-items:stretch;background:#fff;border:1px solid #e3e3e3;border-radius:8px;box-shadow:0 4px 16px rgba(0,0,0,.07);padding:1.1rem;}
.room-detail-copy{display:flex;flex-direction:column;justify-content:center;}
.room-kicker{margin:0 0 .2rem;padding:0;color:#8d7448;font-size:.8rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;}
.room-detail-copy h2{font-size:1.8rem;margin-bottom:.5rem;}
.room-detail-copy p{padding:0;margin:0 0 1rem;color:var(--text-strong);}
.room-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin:0 0 1rem;}
.room-facts div{border:1px solid #ece8df;border-radius:8px;padding:.75rem;background:#fbfaf6;}
.room-facts dt{font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;font-weight:800;color:#7a6a4a;}
.room-facts dd{margin:.2rem 0 0;color:#35444d;}
.room-detail-amenities{columns:2;column-gap:1.5rem;margin:.2rem 0 1rem;padding-left:1.2rem;}
.room-detail-amenities li{break-inside:avoid;margin:0 0 .35rem;}
.room-detail-actions{display:flex;flex-wrap:wrap;gap:.65rem;align-items:center;}
.room-detail-actions .btn{margin-top:.2rem;}
.room-detail-gallery{display:grid;grid-template-columns:1.25fr 1fr;grid-template-rows:1fr 1fr;gap:.65rem;min-height:360px;}
.room-detail-gallery picture:first-child{grid-row:1 / span 2;}
.room-detail-gallery.single{grid-template-columns:1fr;grid-template-rows:1fr;}
.room-detail-gallery.single picture:first-child{grid-row:auto;}
.room-detail-gallery img{width:100%;height:100%;object-fit:cover;border-radius:8px;}

.single-room-page{background:#fff;}
.room-breadcrumb{display:flex;gap:.5rem;align-items:center;margin:0 0 1rem;font-size:.95rem;font-weight:800;}
.room-breadcrumb a{color:#456b80;}
.room-breadcrumb span::before{content:"/";margin-right:.5rem;color:#9a9a9a;}
.single-room-hero{display:grid;grid-template-columns:1.08fr .92fr;gap:2rem;align-items:center;margin:0 0 2.2rem;}
.single-room-hero-media img{width:100%;height:clamp(360px,45vw,560px);object-fit:cover;border-radius:8px;box-shadow:0 10px 28px rgba(0,0,0,.12);}
.single-room-hero-copy h1{font-size:clamp(2.2rem,4vw,4rem);line-height:1;margin-bottom:.8rem;}
.single-room-hero-copy p{font-size:1.08rem;color:var(--text-strong);max-width:620px;}
.single-room-hero-copy .hero-actions .btn-ghost{color:var(--text);}
.single-room-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:1.4rem;align-items:start;margin:0 0 2.3rem;}
.single-room-copy h2,.single-room-gallery h2,.related-rooms h2{font-size:1.8rem;margin-bottom:.7rem;}
.single-room-copy p{color:var(--text-strong);max-width:820px;}
.single-room-booking-card{position:sticky;top:96px;background:#fbfaf6;border:1px solid #e7dfce;border-radius:8px;padding:1.2rem;box-shadow:0 6px 20px rgba(0,0,0,.07);}
.single-room-booking-card h2{font-size:1.45rem;margin-bottom:.45rem;}
.single-room-booking-card p{margin:0 0 .9rem;color:var(--text-strong);}
.single-room-booking-card .btn{display:block;text-align:center;margin:.55rem 0 0;}
.single-room-gallery{margin:0 0 2.4rem;}
.single-room-gallery-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;}
.single-room-gallery-grid picture{min-width:0;}
.single-room-gallery-grid img{width:100%;height:280px;object-fit:cover;border-radius:8px;box-shadow:0 4px 14px rgba(0,0,0,.1);}
.related-rooms{margin-top:1.5rem;}

.rooms{text-align:center;background:#fff;}
.rooms h1{font-size:2.1rem;margin-bottom:.6rem;}
.rooms-intro{max-width:860px;margin:0 auto 1.5rem;font-size:1.04rem;}
.room-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.2rem;align-items:stretch;}
.room-grid .room-card{text-align:left;max-width:none;display:flex;flex-direction:column;}
.room-grid .room-card p{padding:0 1rem .3rem;}
.room-meta{margin:.1rem 0 1rem;padding:0 1.6rem 0 2.1rem;text-align:left;}
.room-meta li{margin:.35rem 0;color:#4a4a4a;}
.rooms .btn{margin-top:.5rem;}

.rooms-suites .btn{margin-top:1rem;}

.dining-home{text-align:center;background:#fff;}
.dining-home h2{font-size:2rem;margin-bottom:2rem;}
.dining-home .content-row{display:flex;flex-wrap:wrap;gap:2rem;align-items:center;justify-content:center;}
.dining-home .content-row picture{flex:1 1 300px;max-width:500px;}
.dining-home .content-row img{width:100%;height:340px;object-fit:cover;border-radius:8px;box-shadow:0 2px 5px var(--shadow);}
.dining-home .content-row p{flex:1 1 300px;font-size:1.1rem;max-width:500px;color:var(--text-strong);}
.dining-menu-board{max-width:1120px;margin:1.4rem auto 0;padding:2.4rem 2rem;background:#fbf4e6;color:#263840;border:1px solid #c49b4b;outline:4px double rgba(196,155,75,.72);outline-offset:-12px;box-shadow:0 18px 42px rgba(0,0,0,.18);text-align:center;}
.menu-eyebrow{margin:0 0 .35rem;color:#9a7430;font-size:.78rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase;}
.dining-home .dining-menu-board h2{font-size:clamp(2rem,4vw,3rem);line-height:1;margin:0;color:#263840;letter-spacing:.08em;text-transform:uppercase;}
.menu-note{max-width:620px;margin:.65rem auto 0;color:#526067;font-size:.98rem;}
.menu-lotus-divider{display:flex;align-items:center;justify-content:center;gap:.75rem;margin:1.3rem auto 1.6rem;color:#b48232;}
.menu-lotus-divider::before,.menu-lotus-divider::after{content:"";display:block;width:min(180px,28vw);height:1px;background:#c49b4b;}
.dining-menu-grid{display:grid;grid-template-columns:.95fr 1.45fr;gap:0;margin:0 auto;text-align:left;}
.dining-menu-column{padding:0 1.35rem;}
.dining-menu-column + .dining-menu-column{border-left:1px solid rgba(180,134,55,.45);}
.menu-card-kicker{margin:0 0 .45rem;color:#9a7430;font-size:.78rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;}
.dining-menu-column h3{font-size:1.55rem;line-height:1.05;margin:0 0 .8rem;color:#263840;}
.menu-column-note{margin:-.35rem 0 .85rem;color:#5b6570;font-size:.95rem;}
.menu-item-list{margin:0;padding:0;list-style:none;display:grid;gap:.48rem;}
.menu-item-list li{position:relative;padding-left:1rem;color:#34434c;}
.menu-item-list li::before{content:"";position:absolute;left:0;top:.72em;width:.36rem;height:.36rem;border-radius:999px;background:#bd8d39;}
.menu-item-list.compact{gap:.65rem;}
.menu-choice-list{display:grid;gap:.8rem;}
.menu-choice-list div{display:grid;gap:.16rem;padding:.75rem 0;border-top:1px solid rgba(180,134,55,.35);}
.menu-choice-list div:first-child{border-top:0;padding-top:0;}
.menu-choice-list .menu-included-choice{background:rgba(192,160,96,.13);border:1px solid rgba(180,134,55,.35);border-radius:8px;padding:.85rem .95rem;}
.menu-choice-list strong{font-family:'Cormorant Garamond',serif;color:#263840;font-size:1.35rem;line-height:1;}
.menu-choice-list span{color:#4f5e66;}
.poolside-menu-gallery{max-width:1120px;margin:3rem auto 0;text-align:center;}
.poolside-menu-gallery .menu-eyebrow{color:#d6b66d;}
.poolside-menu-gallery h2{color:#fff;margin:0 0 1.4rem;font-size:clamp(2rem,4vw,3rem);line-height:1;letter-spacing:.04em;}
.poolside-menu-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.9rem;align-items:start;}
.poolside-menu-card{margin:0;background:#fbf4e6;border:1px solid rgba(196,155,75,.72);border-radius:8px;box-shadow:0 8px 24px rgba(0,0,0,.18);overflow:hidden;}
.poolside-menu-trigger{display:block;width:100%;height:100%;border:0;background:none;padding:0;cursor:pointer;}
.poolside-menu-trigger img{display:block;width:100%;aspect-ratio:906/1280;object-fit:cover;transition:transform .2s ease;}
.poolside-menu-trigger:hover img{transform:scale(1.015);}

.amenities{text-align:center;background:#fff;}
.amenities h2{font-size:2rem;margin-bottom:2rem;}
.section-intro{max-width:820px;margin:0 auto 1.35rem;font-size:1.05rem;color:var(--text-strong);}
.amenities-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem;}
.amenity{background:var(--light);border:1px solid #e0e0e0;border-radius:8px;box-shadow:0 2px 5px var(--shadow);padding:1rem;text-align:center;}
.amenity i{font-size:2rem;color:var(--accent);margin-bottom:0.5rem;}
.amenity h3{font-size:1.25rem;margin-bottom:0.5rem;}
.amenity p{color:var(--text-strong);}

.wellness-home{text-align:center;background:var(--bg-soft);}
.wellness-home h2{font-size:2rem;margin-bottom:.65rem;}
.wellness-intro{max-width:860px;margin:0 auto 1.35rem;font-size:1.04rem;color:var(--text-strong);}
.wellness-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;max-width:1100px;margin:0 auto;}
.wellness-item{background:var(--light);border:1px solid #e0e0e0;border-radius:10px;box-shadow:0 2px 5px var(--shadow);padding:1.1rem 1rem;text-align:center;}
.wellness-item i{font-size:1.9rem;color:var(--accent);margin-bottom:.45rem;}
.wellness-item h3{font-size:1.2rem;margin-bottom:.4rem;}
.wellness-item p{color:var(--text-strong);}
.wellness-hero-art{max-width:1120px;margin:1.35rem auto 1.5rem;padding:1rem;background:#fbf4e6;border:1px solid #c49b4b;border-radius:8px;box-shadow:0 10px 28px rgba(0,0,0,.12);overflow:hidden;}
.wellness-hero-art svg{display:block;width:100%;height:clamp(220px,32vw,360px);}
.wellness-feature-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:1rem;max-width:1120px;margin:1.4rem auto 0;text-align:left;}
.wellness-feature-card,.wellness-service-section,.wellness-consultation{background:#fff;border:1px solid #e7dfce;border-radius:8px;box-shadow:0 4px 16px rgba(0,0,0,.06);}
.wellness-feature-card{padding:1.25rem;}
.wellness-feature-primary{background:#fbfaf6;}
.wellness-kicker{margin:0 0 .35rem;color:#8d7448;font-size:.78rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;}
.wellness-feature-card h2,.wellness-section-heading h2,.wellness-consultation h2{font-size:1.65rem;line-height:1.05;margin:0 0 .9rem;color:#263840;}
.wellness-fact-list{display:grid;gap:.75rem;}
.wellness-fact-list div{display:grid;gap:.12rem;padding:.75rem;border:1px solid #eee6d7;border-radius:8px;background:#fff;}
.wellness-fact-list span,.wellness-consult-price span{font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:#7a6a4a;}
.wellness-fact-list strong,.wellness-consult-price strong{color:#263840;}
.wellness-service-section{padding:1.25rem;margin:1rem auto 0;max-width:1120px;text-align:left;}
.wellness-section-heading{margin:0 0 .9rem;text-align:left;}
.wellness-price-list{display:grid;gap:.55rem;}
.wellness-price-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1rem;align-items:center;padding:.78rem .85rem;border:1px solid #ece8df;border-radius:8px;background:#fbfaf6;}
.wellness-price-row div{display:grid;gap:.1rem;min-width:0;}
.wellness-price-row strong{color:#263840;font-size:1.02rem;}
.wellness-price-row span{color:#58666f;font-size:.94rem;}
.wellness-price-row p{margin:0;color:#263840;font-weight:800;text-align:right;white-space:nowrap;}
.wellness-price-row.compact{grid-template-columns:minmax(0,1fr) auto;}
.wellness-complete-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:1rem;align-items:start;}
.wellness-included-panel{background:#fbfaf6;border:1px solid #ece8df;border-radius:8px;padding:1rem;}
.wellness-included-panel h3{font-size:1.25rem;margin:0 0 .65rem;color:#263840;}
.wellness-included-panel ul{margin:0;padding-left:1.2rem;}
.wellness-included-panel li{margin:0 0 .4rem;color:#34434c;}
.wellness-consultation{max-width:1120px;margin:1rem auto 0;padding:1.25rem;display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,.42fr);gap:1rem;align-items:center;text-align:left;}
.wellness-consultation p{margin:0;color:var(--text-strong);}
.wellness-consult-price{display:grid;grid-template-columns:1fr;gap:.15rem;background:#fbfaf6;border:1px solid #ece8df;border-radius:8px;padding:1rem;}
.wellness-consult-price strong + span{margin-top:.6rem;}
.wellness-salon-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;align-items:start;max-width:1120px;margin:0 auto;}
.wellness-salon-grid .wellness-service-section{box-sizing:border-box;min-width:0;width:auto;max-width:none;margin:1rem 0 0;}


.sustainability-home{text-align:center;background:var(--bg-soft);}
.sustainability-home h2{font-size:2rem;margin-bottom:.8rem;}
.sustainability-intro{max-width:860px;margin:0 auto 1.5rem;font-size:1.05rem;color:var(--text-strong);}
.sustainability-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.2rem;max-width:980px;margin:0 auto;}
.sustainability-item{background:var(--light);border:1px solid #e0e0e0;border-radius:8px;box-shadow:0 2px 5px var(--shadow);padding:1.1rem 1rem;text-align:center;}
.sustainability-item i{font-size:2rem;color:var(--accent);margin-bottom:0.5rem;}
.sustainability-item h3{font-size:1.25rem;margin-bottom:0.45rem;}
.sustainability-item p{color:var(--text-strong);}
.home-contact{background:#fff;padding:3.5rem 1rem;}
.home-contact-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(320px,1.1fr);gap:2rem;align-items:start;}
.home-contact-copy{max-width:520px;}
.section-kicker{margin:0 0 .35rem;color:#8d7448;font-size:.8rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;}
.home-contact h2{font-size:clamp(2rem,4vw,3.2rem);line-height:1.02;margin-bottom:.8rem;color:#263840;}
.home-contact-copy p:not(.section-kicker){font-size:1.05rem;color:#425158;margin:0 0 1.1rem;}
.home-contact-actions{display:flex;flex-wrap:wrap;gap:.7rem;align-items:center;}
.home-contact-email{display:block;width:100%;font-weight:800;color:#2f648e;overflow-wrap:anywhere;}
.home-contact-form{display:grid;gap:.85rem;background:#fbfaf6;border:1px solid #e8e1d3;border-radius:8px;padding:1.2rem;box-shadow:0 8px 22px rgba(0,0,0,.06);}
.home-contact-form input[type="text"],.home-contact-form input[type="email"],.home-contact-form textarea{box-sizing:border-box;width:100%;padding:.78rem;border:1px solid #d4d4d4;border-radius:4px;background:#fff;font-size:1rem;font-family:'Nunito Sans',sans-serif;color:var(--text);}
.home-contact-form textarea{min-height:150px;resize:vertical;}
.home-contact-form .btn{border:0;cursor:pointer;margin-top:0;}
.home-contact-form input[readonly]{background:#fbfaf6;color:#263840;font-weight:800;letter-spacing:.04em;}

.honeymoon-hero .overlay{padding-bottom:4.4rem;}
.honeymoon-hero .room-kicker{color:#f4dfaa;text-shadow:0 2px 12px rgba(0,0,0,.35);}
.honeymoon-overview{background:#fff;}
.honeymoon-overview-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.45fr);gap:1.5rem;align-items:center;}
.honeymoon-overview h2,.honeymoon-inclusions h2{font-size:clamp(2rem,4vw,3rem);line-height:1.05;margin:0 0 .85rem;color:#263840;}
.honeymoon-overview p:not(.section-kicker){margin:0;color:var(--text-strong);font-size:1.06rem;max-width:760px;}
.honeymoon-note{display:grid;gap:.35rem;background:#fbfaf6;border:1px solid #e7dfce;border-radius:8px;padding:1rem;box-shadow:0 4px 16px rgba(0,0,0,.06);}
.honeymoon-note strong{color:#263840;font-size:1.05rem;}
.honeymoon-note span{color:#4f5f66;}
.honeymoon-inclusions{background:var(--bg-soft);text-align:center;}
.honeymoon-card-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin:1.4rem auto 0;max-width:1120px;text-align:left;}
.honeymoon-card{background:#fff;border:1px solid #e1e6e3;border-radius:8px;padding:1rem;box-shadow:0 3px 12px rgba(0,0,0,.05);}
.honeymoon-card i{font-size:1.55rem;color:var(--accent);margin-bottom:.65rem;}
.honeymoon-card h3{font-size:1.25rem;margin:0 0 .4rem;color:#263840;}
.honeymoon-card p{margin:0;color:var(--text-strong);}
.honeymoon-moments{background:#fff;padding-top:2rem;}
.honeymoon-moments-grid{display:grid;grid-template-columns:1.1fr .9fr .9fr;gap:.85rem;}
.honeymoon-moments figure{margin:0;min-width:0;}
.honeymoon-moments img{display:block;width:100%;height:320px;object-fit:cover;border-radius:8px;box-shadow:0 8px 24px rgba(0,0,0,.08);}
.honeymoon-enquiry{background:#fbfaf6;}


.location-explore{background:#fff;}
.location-explore-grid{display:grid;grid-template-columns:1.35fr .8fr;gap:2rem;align-items:start;}
.location-explore-content h2{font-size:2rem;margin-bottom:.9rem;}
.location-explore-content p{font-size:1.05rem;margin:0 0 .8rem;max-width:none;text-align:left;color:var(--text-strong);}
.location-explore .explore-list{max-width:none;margin:.2rem 0 0;padding-left:1.25rem;}
.location-explore .explore-list li{margin-bottom:.42rem;color:var(--text-strong);}
.location-explore-map .map-embed{margin:.2rem 0 .75rem;}
.location-explore-map .map-embed iframe{height:260px;border-radius:10px;}
.location-explore-map .map-actions{text-align:center;}

.tours-page{background:#fff;}
.tours-hero{display:grid;grid-template-columns:.95fr 1.05fr;gap:2rem;align-items:center;}
.tours-hero-copy h1{font-size:clamp(2.2rem,4vw,4rem);line-height:1;margin-bottom:.85rem;}
.tours-hero-copy p{font-size:1.08rem;color:var(--text-strong);max-width:680px;}
.tours-hero-media img{width:100%;height:clamp(340px,42vw,520px);object-fit:cover;border-radius:8px;box-shadow:0 10px 28px rgba(0,0,0,.12);}
.tours-hero-media.vector-art-frame{position:relative;padding:.6rem;background:#fff;border:1px solid #e7dfce;border-radius:8px;box-shadow:0 10px 28px rgba(0,0,0,.1);}
.tours-hero-media.vector-art-frame img{height:auto;aspect-ratio:48/31;object-fit:contain;border-radius:6px;box-shadow:none;background:#f8f3e7;}
.transfer-quote{display:grid;grid-template-columns:minmax(0,.86fr) minmax(320px,1.14fr);gap:1.4rem;align-items:start;margin:2.2rem 0 0;padding:1.2rem;background:#f8f3e7;border:1px solid #e2d5bb;border-radius:8px;box-shadow:0 8px 24px rgba(0,0,0,.07);text-align:left;}
.transfer-quote [hidden]{display:none!important;}
.transfer-quote-intro h2{font-size:2rem;margin:0 0 .65rem;}
.transfer-quote-intro > p:not(.room-kicker){margin:0;color:var(--text-strong);font-size:1rem;line-height:1.65;}
.transfer-price-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;margin-top:1rem;}
.transfer-price-grid div{background:#fff;border:1px solid #e5dcc9;border-radius:8px;padding:.75rem;}
.transfer-price-grid span{display:block;margin-bottom:.2rem;color:#7a6a4a;font-size:.72rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;}
.transfer-price-grid strong{display:block;color:#263840;font-size:1.15rem;line-height:1.3;}
.transfer-price-grid small{display:block;margin-top:.25rem;color:#5a6469;font-size:.8rem;}
.transfer-rates-title{font-size:1.3rem;margin:1.25rem 0 .5rem;}
.transfer-rates-list{display:grid;gap:.5rem;margin:0;padding-left:1.2rem;color:var(--text-strong);line-height:1.55;}
.transfer-quote-card{display:grid;gap:.85rem;min-width:0;margin:0;background:#fff;border:1px solid #e3dac8;border-radius:8px;padding:1.2rem;box-shadow:0 5px 18px rgba(0,0,0,.06);}
.transfer-quote-card h3{font-size:1.6rem;line-height:1.2;margin:0;}
.transport-calculator-intro{margin:0;color:var(--text-strong);line-height:1.55;}
.quote-field{display:grid;gap:.35rem;margin:0;min-width:0;}
.quote-field span{color:#7a6a4a;font-size:.74rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;}
.quote-field input{box-sizing:border-box;width:100%;min-width:0;border:1px solid #d7d0c1;border-radius:4px;background:#fff;color:var(--text);font:inherit;font-size:1rem;padding:.78rem .85rem;}
.quote-field input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(192,160,96,.18);}
.transfer-quote-card .btn{box-sizing:border-box;width:100%;border:0;cursor:pointer;margin-top:0;}
.transfer-quote-result{display:grid;gap:.55rem;border-top:1px solid #ece3d2;padding-top:.9rem;}
.transfer-quote-result p{margin:0;}
.transfer-result-kicker{color:#7a6a4a;font-size:.72rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;}
.transport-total{color:#263840;font-size:2rem;line-height:1.2;overflow-wrap:anywhere;}
.transport-breakdown{color:var(--text-strong);font-size:.9rem;line-height:1.65;white-space:pre-line;overflow-wrap:anywhere;}
.nearby-experiences{background:var(--bg-soft);text-align:center;}
.nearby-home{background:#fff;}
.nearby-experiences h2{font-size:2rem;margin-bottom:.65rem;}
.experience-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:1.4rem auto 0;max-width:1120px;text-align:left;}
.experience-card-grid.compact{grid-template-columns:repeat(4,minmax(0,1fr));}
.experience-card{display:flex;flex-direction:column;min-height:190px;background:#fff;border:1px solid #e1e6e3;border-radius:8px;padding:1rem;box-shadow:0 3px 12px rgba(0,0,0,.05);}
.experience-card i{font-size:1.55rem;color:#1f4f71;margin-bottom:.65rem;}
.experience-card h3{font-size:1.25rem;margin:0 0 .4rem;}
.experience-card p{margin:0 0 .8rem;color:var(--text-strong);}
.experience-card span{display:inline-flex;align-self:flex-start;margin-top:auto;padding:.25rem .55rem;border-radius:999px;background:#eef5f7;color:#1f4f71;font-size:.82rem;font-weight:800;}
.nearby-experiences .btn{margin-top:1.3rem;}
.transfer-steps{background:#fff;}
.transfer-steps-grid{display:grid;grid-template-columns:.8fr 1fr auto;gap:1.4rem;align-items:center;}
.transfer-steps h2{font-size:1.9rem;margin-bottom:.5rem;}
.transfer-steps p{margin:0;color:var(--text-strong);}
.steps-list{display:grid;gap:.7rem;margin:0;padding:0;list-style:none;counter-reset:transfer-step;}
.steps-list li{position:relative;background:#fbfaf6;border:1px solid #e7dfce;border-radius:8px;padding:.8rem .9rem .8rem 3rem;counter-increment:transfer-step;}
.steps-list li::before{content:counter(transfer-step);position:absolute;left:.8rem;top:.8rem;width:1.55rem;height:1.55rem;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:var(--accent);color:#fff;font-weight:800;}
.steps-list strong{display:block;color:#263840;}
.steps-list span{display:block;color:var(--text-strong);font-size:.95rem;margin-top:.1rem;}
.transfer-cta{display:flex;flex-direction:column;gap:.55rem;min-width:180px;}
.transfer-cta .btn{margin:0;text-align:center;}

.gallery-home{text-align:center;background:#fff;padding:0;}
.gallery-home .container{max-width:none;padding:0;}
.gallery-home h2{font-size:2rem;margin:0;padding:2rem 1rem 1.2rem;}
.gallery-preview{position:relative;width:100vw;height:420px;margin-left:calc(50% - 50vw);border-radius:0;box-shadow:none;display:flex;align-items:center;justify-content:center;overflow:hidden;}
.gallery-preview::before{content:"";position:absolute;inset:0;z-index:1;background:rgba(0,0,0,.28);}
.gallery-preview-media{position:absolute;inset:0;}
.gallery-preview-media img{width:100%;height:100%;object-fit:cover;}
.gallery-preview-btn{margin:0;}
.gallery-preview .btn{position:relative;z-index:2;}
@media (max-width:768px){.gallery-preview{height:260px;}}

.reel-home{background:#fff;padding:3.2rem 1rem;}
.reel-home-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,360px);gap:2rem;align-items:center;}
.reel-home-copy h2{font-size:2rem;margin-bottom:.65rem;}
.reel-home-copy p{max-width:680px;color:var(--text-strong);font-size:1.06rem;}
.reel-frame{width:min(360px,100%);justify-self:center;border-radius:8px;overflow:hidden;background:#111;box-shadow:0 14px 38px rgba(0,0,0,.16);}
.reel-frame video{display:block;width:100%;aspect-ratio:9/16;object-fit:cover;background:#111;}

.gallery-page{text-align:center;background:#fff;}
.gallery-page h1{font-size:2.2rem;margin-bottom:1.2rem;}
.gallery-section{margin:1.6rem 0 2.1rem;}
.gallery-section h2{font-size:1.55rem;margin:0 0 1rem;}
.gallery-page .gallery-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem;}
.gallery-item{margin:0;aspect-ratio:4/3;background:#f4f4f2;border-radius:10px;box-shadow:0 4px 14px rgba(0,0,0,.1);display:flex;align-items:center;justify-content:center;overflow:hidden;}
.gallery-lightbox-trigger{appearance:none;border:0;background:none;padding:0;margin:0;width:100%;height:100%;cursor:pointer;display:block;}
.gallery-lightbox-trigger picture{width:100%;height:100%;}
.gallery-page .gallery-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease;}
.gallery-page .gallery-item:hover img{transform:scale(1.035);}
.gallery-empty{max-width:760px;margin:1rem auto 0;color:#5a5a5a;}

.page-feature-image{max-width:1120px;margin:1rem auto 2rem;border-radius:8px;overflow:hidden;box-shadow:0 10px 28px rgba(0,0,0,.14);}
.page-feature-image img{display:block;width:100%;height:clamp(260px,42vw,520px);object-fit:cover;}
.image-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:2rem auto 0;max-width:1120px;}
.image-strip picture{min-width:0;}
.image-strip img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:8px;box-shadow:0 4px 14px rgba(0,0,0,.1);}

.reviews-home{text-align:center;background:var(--bg-soft);}
.reviews-home h2{font-size:2rem;margin-bottom:.55rem;}
.reviews-intro{max-width:760px;margin:0 auto 1.4rem;font-size:1.02rem;color:var(--text-strong);}
.reviews-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;max-width:980px;margin:0 auto 1.4rem;}
.review-stat-card{background:#fff;border:1px solid #e2e2e2;border-radius:12px;box-shadow:0 3px 10px rgba(0,0,0,.05);padding:1rem .9rem;}
.review-stat-label{margin:0 0 .35rem;font-size:.88rem;letter-spacing:.06em;text-transform:uppercase;color:#6a6a6a;font-weight:700;}
.review-stat-value{margin:0;font-size:2rem;line-height:1;font-family:'Nunito Sans',sans-serif;font-weight:700;font-variant-numeric:tabular-nums;color:#1f4f71;}
.reviews-carousel{max-width:980px;margin:0 auto;display:grid;grid-template-columns:auto 1fr auto;gap:.8rem;align-items:center;}
.reviews-slides{position:relative;min-height:210px;}
.review-slide-card{display:none;background:#fff;border:1px solid #e2e2e2;border-radius:12px;box-shadow:0 3px 10px rgba(0,0,0,.05);padding:1.1rem 1.1rem 1.2rem;text-align:left;opacity:0;transform:translateY(6px);transition:opacity .35s ease,transform .35s ease;}
.review-slide-card.is-active{display:block;opacity:1;transform:translateY(0);}
.review-card-head{display:flex;justify-content:space-between;gap:1rem;align-items:center;margin-bottom:.7rem;}
.review-author{margin:0;font-size:1.15rem;font-weight:700;}
.review-score-badge{display:inline-flex;align-items:center;justify-content:center;padding:.22rem .65rem;border-radius:999px;background:#0b6fa4;color:#fff;font-weight:700;font-size:.95rem;min-width:58px;}
.review-body{margin:0 0 .8rem;font-size:1rem;line-height:1.65;color:#3f3f3f;}
.review-date{margin:0;color:#6c6c6c;font-size:.9rem;}
.reviews-nav{width:42px;height:42px;border-radius:999px;border:1px solid #d4dbe0;background:#fff;color:#3e3e3e;font-size:1.25rem;cursor:pointer;transition:background .25s ease,color .25s ease,border-color .25s ease;}
.reviews-nav:hover{background:#1f4f71;color:#fff;border-color:#1f4f71;}
.reviews-status{margin:.95rem 0 0;color:#5f5f5f;font-size:.95rem;min-height:1.3rem;}
.reviews-status.error{color:#9b3030;}
.reviews-all-btn{margin-top:1rem;}

.all-reviews-page{background:var(--bg);}
.all-reviews-page h1{text-align:center;font-size:2.1rem;margin-bottom:.55rem;}
.review-title-score{font-family:'Nunito Sans',sans-serif;font-variant-numeric:tabular-nums;font-weight:700;color:#1f4f71;}
.all-reviews-intro{text-align:center;max-width:860px;margin:0 auto 1.35rem;font-size:1.02rem;}
.all-reviews-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;max-width:1100px;margin:0 auto;}
.all-review-card{display:block;}
.all-reviews-pagination{display:none;align-items:center;justify-content:center;gap:.8rem;margin:1rem 0 .2rem;}
.all-reviews-page-info{font-weight:700;color:#4a4a4a;min-width:120px;text-align:center;}
.all-reviews-pagination .reviews-nav:disabled{opacity:.45;cursor:not-allowed;background:#f2f2f2;color:#8a8a8a;border-color:#e3e3e3;}

.explore-list{list-style:disc;padding-left:1.5rem;max-width:800px;margin:0 auto;font-size:1.05rem;} 
.explore-list li{margin-bottom:0.5rem;}

/* Contact & forms shared with other pages */
.contact{padding:3rem 1rem;}
.contact h1{font-size:2rem;text-align:center;margin-bottom:1rem;}
.contact form{max-width:600px;margin:0 auto;display:flex;flex-direction:column;gap:1rem;}
.contact input[type="text"],.contact input[type="email"],.contact textarea{box-sizing:border-box;padding:0.75rem;border:1px solid #ccc;border-radius:4px;font-size:1rem;font-family:'Nunito Sans',sans-serif;width:100%;}
.contact input[readonly]{background:#fbfaf6;color:#263840;font-weight:800;letter-spacing:.04em;}
.contact textarea{min-height:150px;resize:vertical;}
.contact .btn{padding:0.75rem 1.5rem;background:var(--accent);color:#fff;border:none;border-radius:4px;cursor:pointer;font-weight:600;}
.contact .btn:hover{background:#a68a55;}
.feedback-page{background:#fff;}
.feedback-page .container{max-width:760px;text-align:center;}
.feedback-page .section-kicker{margin-bottom:.35rem;}
.feedback-intro{max-width:620px;margin:0 auto 1.3rem;color:var(--text-strong);font-size:1.05rem;}
.feedback-form{text-align:left;}
.form-response{font-weight:600;min-height:1.2rem;}
.form-response.success{color:green;}
.form-response.error{color:red;}

/* Modal */
.modal{display:none;position:fixed;z-index:200;left:0;top:0;width:100%;height:100%;overflow:auto;background-color:rgba(0,0,0,0.5);} 
.modal-content{background:#fff;margin:5% auto;padding:1.5rem;border-radius:8px;max-width:400px;position:relative;text-align:center;box-shadow:0 2px 8px rgba(0,0,0,0.2);} 
.modal-content h2{margin-top:0;margin-bottom:1rem;font-family:'Cormorant Garamond',serif;} 
.modal-content ul{list-style:none;padding:0;margin:0;} 
.modal-content li{margin:0.5rem 0;} 
.modal-content a{color:var(--link);font-weight:600;text-decoration:none;} 
.modal-content a:hover{color:#4f695d;} 
.close{position:absolute;top:0.5rem;right:0.75rem;font-size:1.5rem;cursor:pointer;color:#666;background:none;border:0;line-height:1;} 
.booking-modal-content{max-width:680px;text-align:left;padding:1.7rem;}
.modal-eyebrow{margin:0 0 .3rem;font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;font-weight:800;color:#8d7448;}
.booking-modal-content h2{margin-bottom:.45rem;}
.booking-modal-intro{margin:.1rem 0 1.2rem;color:var(--text-strong);}
.booking-option-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;}
.booking-option{display:flex;flex-direction:column;gap:.2rem;border:1px solid #e3dfd5;border-radius:8px;padding:1rem;background:#fbfaf6;color:var(--text);transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;}
.booking-option strong{font-size:1.05rem;color:#253640;}
.booking-option span{font-size:.92rem;color:#62707a;font-weight:500;}
.booking-option:hover{transform:translateY(-2px);border-color:#cbb57f;box-shadow:0 8px 18px rgba(0,0,0,.08);color:var(--text);}
.booking-option-primary{background:#fff7e2;border-color:#c9aa5d;}

.lightbox{display:none;position:fixed;inset:0;z-index:300;background:rgba(0,0,0,.86);padding:1.2rem;}
.lightbox.is-open{display:flex;align-items:center;justify-content:center;}
.lightbox-dialog{position:relative;width:min(1120px,100%);height:min(760px,90vh);display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.75rem;}
.lightbox figure{margin:0;min-width:0;text-align:center;}
.lightbox img{max-width:100%;max-height:82vh;border-radius:8px;box-shadow:0 18px 60px rgba(0,0,0,.45);background:#111;}
.lightbox figcaption{margin-top:.65rem;color:#fff;font-weight:700;}
.lightbox-close,.lightbox-nav{border:0;background:rgba(255,255,255,.12);color:#fff;cursor:pointer;transition:background .2s ease,transform .2s ease;}
.lightbox-close{position:absolute;top:0;right:0;width:44px;height:44px;border-radius:999px;font-size:2rem;line-height:1;}
.lightbox-nav{width:48px;height:56px;border-radius:8px;font-size:1.7rem;}
.lightbox-close:hover,.lightbox-nav:hover{background:rgba(255,255,255,.24);transform:translateY(-1px);}

/* Alternating section backgrounds */
main > .trust-signals,
main > .rooms-suites,
main > .reel-home,
main > .dining-home,
main > .nearby-home,
main > .tours-page,
main > .transfer-steps{
  background:var(--section-dark);
}
main > .reviews-home,
main > .gallery-home,
main > .amenities,
main > .location-explore,
main > .sustainability-home,
main > .nearby-experiences:not(.nearby-home){
  background:var(--bg);
}
main > .rooms-suites h2,
main > .reel-home h2,
main > .dining-home h1,
main > .dining-home h2,
main > .nearby-home h2,
main > .tours-page h1,
main > .transfer-steps h2{
  color:#fff;
}
main > .rooms-suites > .container > .section-intro,
main > .reel-home .reel-home-copy p,
main > .dining-home .content-row > p,
main > .nearby-home > .container > .section-intro,
main > .tours-page .tours-hero-copy > p,
main > .transfer-steps .transfer-steps-grid > div > p{
  color:var(--section-dark-muted);
}

/* Footer */
.site-footer{background-image:linear-gradient(180deg,rgba(246,249,251,.74) 0%,rgba(238,245,248,.78) 100%),url('../img/footer.png?v=20260401');background-size:cover;background-position:center;background-repeat:no-repeat;border-top:1px solid #dbe5ea;padding:2.4rem 0 1.3rem;margin-top:2rem;} 
.footer-grid{display:grid;grid-template-columns:1.2fr .9fr 1.2fr .9fr;gap:2rem;align-items:start;} 
.footer-col h4{margin:0 0 .6rem;font-size:1.05rem;font-family:'Nunito Sans',sans-serif;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:#274250;} 
.footer-col p{margin:.35rem 0;font-size:.98rem;line-height:1.55;color:#334b57;} 
.footer-logo{display:block;width:min(210px,100%);height:auto;margin:0 0 .85rem;} 
.footer-address p{font-weight:700;letter-spacing:.02em;} 
.footer-links{display:flex;flex-direction:column;align-items:flex-start;gap:.35rem;} 
.footer-links a{color:#4f7396;text-decoration:none;font-weight:700;font-size:1rem;transition:color .2s ease,transform .2s ease;} 
.footer-links a:hover{color:#2c5f8f;transform:translateX(2px);} 
.footer-contact a{color:#2f648e;font-weight:700;} 
.site-footer .social-icons{display:flex;gap:.55rem;margin-top:.35rem;} 
.site-footer .social-icons a{width:2.2rem;height:2.2rem;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:#fff;border:1px solid #d6e2e8;color:#2f5977;font-size:1.1rem;transition:all .2s ease;} 
.site-footer .social-icons a:hover{transform:translateY(-2px);color:#fff;background:#2f648e;border-color:#2f648e;} 
.footer-bottom{margin-top:1.35rem;padding-top:1rem;border-top:1px solid #dbe5ea;text-align:center;} 
.footer-bottom p{margin:0;font-size:.92rem;color:#526774;} 

@media (max-width:1100px){
  .site-header .nav-toggle{display:block;}
  .site-nav{display:none;flex-direction:column;gap:0;text-align:center;background:var(--light);position:absolute;top:100%;left:0;width:100%;border-bottom:1px solid #e0e0e0;box-shadow:0 16px 28px rgba(0,0,0,.12);overflow:hidden;}
  .site-nav a{padding:0.75rem;border-top:1px solid #f0f0f0;}
  .site-nav.open{display:flex;}
}

/* Responsive navigation */
@media (max-width:768px){
  :root{--floating-header-top:0px;--floating-header-space:62px;}
  .site-header .nav-toggle{display:block;}
  .site-header .logo{font-size:1.05rem;gap:.45rem;}
  .site-header .logo img{width:36px;height:36px;}
  .site-nav{display:none;flex-direction:column;gap:0;text-align:center;background:var(--light);position:absolute;top:100%;left:0;width:100%;border-bottom:1px solid #e0e0e0;box-shadow:0 16px 28px rgba(0,0,0,.12);overflow:hidden;} 
  .site-nav a{padding:0.75rem;border-top:1px solid #f0f0f0;} 
  .site-nav.open{display:flex;} 
  .hero{min-height:50vh;} 
  .hero h1{font-size:2rem;} 
  .hero-refreshed{min-height:72vh;text-align:center;}
  .hero-refreshed .overlay{width:100%;max-width:100%;padding:0 1rem 3.5rem;}
  .hero-refreshed h1{font-size:2.1rem;line-height:1.05;overflow-wrap:break-word;}
  .hero-refreshed p{overflow-wrap:break-word;}
  .hero-actions{display:grid;grid-template-columns:1fr;justify-content:center;width:min(100%,320px);margin:0 auto;gap:.65rem;}
  .hero-actions .btn{box-sizing:border-box;width:100%;text-align:center;margin-top:0;}
  .welcome-message{padding:2.4rem 1rem;text-align:center;}
  .welcome-message-inner{grid-template-columns:1fr;gap:1.2rem;}
  .welcome-emblem img{width:142px;}
  .welcome-message h2{font-size:2.05rem;}
  .welcome-message-body p{font-size:1rem;}
  .trust-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .trust-item:last-child{grid-column:1 / -1;}
  .home-room-grid{grid-template-columns:1fr;}
  .rooms-suites .room-card{flex:1 1 100%;max-width:100%;} 
  .room-grid{grid-template-columns:1fr;}
  .room-detail-panel{grid-template-columns:1fr;}
  .room-detail-gallery{min-height:0;grid-template-columns:1fr;grid-template-rows:none;}
  .room-detail-gallery picture:first-child{grid-row:auto;}
  .room-detail-gallery img{height:240px;}
  .room-detail-actions{display:grid;grid-template-columns:1fr;}
  .room-detail-actions .btn{text-align:center;}
  .room-facts{grid-template-columns:1fr;}
  .room-detail-amenities{columns:1;}
  .single-room-hero{grid-template-columns:1fr;gap:1.2rem;}
  .single-room-hero-media img{height:320px;}
  .single-room-layout{grid-template-columns:1fr;}
  .single-room-booking-card{position:static;}
  .single-room-gallery-grid{grid-template-columns:1fr;}
  .single-room-gallery-grid img{height:260px;}
  .reel-home-grid{grid-template-columns:1fr;gap:1.3rem;text-align:center;}
  .reel-home-copy p{margin-left:auto;margin-right:auto;}
  .amenities-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .wellness-grid{grid-template-columns:1fr;}
  .wellness-feature-grid,.wellness-complete-grid,.wellness-consultation,.wellness-salon-grid{grid-template-columns:1fr;}
  .wellness-feature-card,.wellness-service-section,.wellness-consultation{padding:1rem;}
  .wellness-price-row,.wellness-price-row.compact{grid-template-columns:1fr;gap:.35rem;}
  .wellness-price-row p{text-align:left;white-space:normal;}
  .image-strip{grid-template-columns:1fr;gap:.8rem;}
  .reviews-summary-grid{grid-template-columns:1fr;max-width:360px;}
  .all-reviews-list{grid-template-columns:1fr;}
  .reviews-carousel{grid-template-columns:1fr;}
  .reviews-slides{min-height:230px;}
  .reviews-nav{justify-self:center;}
  .sustainability-grid{grid-template-columns:1fr;}
  .home-contact{padding:2.6rem 1rem;}
  .home-contact-grid{grid-template-columns:1fr;gap:1.4rem;}
  .home-contact-copy{text-align:center;margin:0 auto;}
  .home-contact-actions{display:grid;grid-template-columns:1fr;width:min(100%,320px);margin:0 auto;}
  .home-contact-actions .btn{box-sizing:border-box;width:100%;text-align:center;margin-top:0;}
  .home-contact-form{padding:1rem;}
  .honeymoon-hero{min-height:66vh;}
  .honeymoon-hero .overlay{padding:0 1rem 3.2rem;}
  .honeymoon-overview-grid,.honeymoon-card-grid,.honeymoon-moments-grid{grid-template-columns:1fr;}
  .honeymoon-overview-grid{text-align:center;}
  .honeymoon-overview p:not(.section-kicker){margin-left:auto;margin-right:auto;}
  .honeymoon-card{text-align:center;}
  .honeymoon-moments img{height:240px;}
  .dining-home .content-row picture,.dining-home .content-row p{flex:1 1 100%;max-width:100%;} 
  .dining-home .content-row img{height:280px;}
  .dining-menu-board{padding:2rem 1.15rem;outline-offset:-9px;}
  .dining-home .dining-menu-board h2{font-size:2rem;letter-spacing:.04em;}
  .dining-menu-grid{grid-template-columns:1fr;}
  .dining-menu-column{padding:1rem 0 0;}
  .dining-menu-column:first-child{padding-top:0;}
  .dining-menu-column + .dining-menu-column{border-left:0;border-top:1px solid rgba(180,134,55,.45);margin-top:1rem;}
  .poolside-menu-gallery{padding:2rem 0 0;}
  .poolside-menu-gallery h2{font-size:1.8rem;}
  .poolside-menu-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .location-explore-grid{grid-template-columns:1fr;gap:1rem;}
  .location-explore-content p{text-align:center;}
  .location-explore .explore-list{text-align:left;}
  .location-explore-map .map-embed iframe{height:230px;}
  main > .tours-page{padding-top:1.35rem;}
  .tours-hero{grid-template-columns:1fr;gap:.8rem;}
  .tours-hero-copy h1{font-size:2.15rem;margin-bottom:.55rem;}
  .tours-hero-copy p{font-size:1rem;line-height:1.5;margin-bottom:.75rem;}
  .tours-page .hero-actions{margin:.85rem 0 0;}
  .tours-hero-media{display:none;}
  .transfer-quote{grid-template-columns:1fr;gap:1rem;margin-top:1.2rem;padding:1rem;}
  .transfer-quote-intro h2{font-size:1.65rem;}
  .transfer-quote-intro > p:not(.room-kicker){font-size:.95rem;line-height:1.5;}
  .transfer-price-grid{margin-top:.75rem;}
  .experience-card-grid,.experience-card-grid.compact{grid-template-columns:1fr;}
  .experience-card{min-height:0;text-align:left;}
  .transfer-steps-grid{grid-template-columns:1fr;text-align:center;}
  .transfer-cta{min-width:0;}
  .footer-grid{grid-template-columns:1fr 1fr;gap:1.4rem;} 
  .booking-option-grid{grid-template-columns:1fr;}
  .modal-content{margin:8% 1rem;}
  .lightbox{padding:.75rem;}
  .lightbox-dialog{height:92vh;grid-template-columns:1fr;gap:.5rem;}
  .lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);width:42px;height:50px;}
  .lightbox-prev{left:.25rem;}
  .lightbox-next{right:.25rem;}
  .lightbox-close{top:.25rem;right:.25rem;}
  .lightbox img{max-height:78vh;}
  .floating-book{display:none;}
}

@media (max-width:560px){
  .amenities-grid{grid-template-columns:1fr;}
  .poolside-menu-grid{grid-template-columns:1fr;}
}

@media (max-width:640px){
  .site-footer{padding:2rem 0 1.2rem;}
  .footer-grid{grid-template-columns:1fr;gap:1.1rem;}
  .footer-logo{margin:0 auto .85rem;}
  .footer-address{text-align:center;}
  .footer-col h4{font-size:1rem;}
  .footer-col p,.footer-links a{font-size:.95rem;}
}

/* Floating Book Now button */
.floating-book{
  position:fixed;
  right:16px;
  bottom:20px;
  background:#C0A060;
  color:#fff;
  padding:.9rem 1.2rem;
  border-radius:999px;
  box-shadow:0 10px 30px rgba(0,0,0,.15);
  text-decoration:none;
  font-weight:600;
  z-index:9999;
}
.floating-book:hover{opacity:.95}
/* Map embed */
.map-embed{position:relative;width:100%;max-width:100%;margin:1rem 0}
.map-embed iframe{width:100%;height:360px;border:0;border-radius:12px}
.map-actions .btn{display:inline-block;margin-top:.5rem}
@media (min-width:1025px){.map-embed iframe{height:420px}}
