/* Casa Luna 2026 — Pass 13 regression fixes and full-site design normalization */
:root{
  --cl-night:#121a14; --cl-forest:#1d2b20; --cl-olive:#65724d; --cl-gold:#cfa85d; --cl-gold-soft:#e5c987; --cl-paper:#f6efe2; --cl-cream:#fff9ed; --cl-ink:#182018; --cl-stone:#dfd4c1; --cl-mist:#d9e0df;
}
html,body{background:var(--cl-paper)!important;color:var(--cl-ink)!important;overflow-x:hidden!important;}
/* Header / logo: prevent clipping on every breakpoint */
.lux-nav,.lux-nav--pass12,.lux-nav--pass13{
  position:fixed!important;top:0!important;left:0!important;right:0!important;height:118px!important;
  padding:24px clamp(18px,2.7vw,42px) 18px!important;display:grid!important;
  grid-template-columns:minmax(245px,330px) 1fr auto!important;gap:24px!important;align-items:start!important;
  overflow:visible!important;z-index:7000!important;background:linear-gradient(180deg,rgba(8,12,10,.44),rgba(8,12,10,0))!important;
  box-shadow:none!important;border:0!important;box-sizing:border-box!important;
}
.lux-brand{display:block!important;min-width:0!important;width:auto!important;max-width:330px!important;height:auto!important;min-height:0!important;overflow:visible!important;text-decoration:none!important;color:#fff!important;padding:0!important;margin:0!important;line-height:1!important;}
.lux-brand-name{display:block!important;font-family:var(--font-display, Georgia, serif)!important;font-size:clamp(32px,2.65vw,44px)!important;line-height:1.03!important;letter-spacing:.09em!important;text-transform:uppercase!important;margin:0!important;color:#fff!important;white-space:nowrap!important;text-shadow:0 10px 30px rgba(0,0,0,.44)!important;}
.lux-brand-sub{display:block!important;margin:8px 0 0 70px!important;font-family:var(--font-ui, Arial, sans-serif)!important;font-size:12px!important;line-height:1.15!important;font-weight:800!important;letter-spacing:.24em!important;text-transform:uppercase!important;color:#fff!important;text-shadow:0 7px 20px rgba(0,0,0,.42)!important;}
.lux-brand-place{display:block!important;margin:10px 0 0 18px!important;font-family:var(--font-ui, Arial, sans-serif)!important;font-size:12px!important;line-height:1.15!important;font-weight:800!important;letter-spacing:.24em!important;text-transform:uppercase!important;color:#fff!important;text-shadow:0 7px 20px rgba(0,0,0,.42)!important;}
.lux-links{display:flex!important;align-items:flex-start!important;justify-content:flex-end!important;gap:clamp(20px,2.6vw,38px)!important;padding-top:13px!important;min-width:0!important;}
.lux-links a{font-family:var(--font-ui, Arial, sans-serif)!important;font-size:13px!important;font-weight:800!important;letter-spacing:.16em!important;text-transform:uppercase!important;color:rgba(255,255,255,.94)!important;text-decoration:none!important;text-shadow:0 6px 20px rgba(0,0,0,.55)!important;white-space:nowrap!important;}
.lux-links a.active{color:var(--cl-gold-soft)!important;}
.lux-book{padding:18px 30px!important;margin-top:-11px!important;border:1px solid rgba(229,201,135,.82)!important;background:rgba(15,20,17,.14)!important;}
.lux-menu{margin-top:12px!important;z-index:7100!important;}
.lux-nav.is-scrolled{height:78px!important;padding:18px clamp(18px,2.7vw,42px) 12px!important;background:rgba(246,239,226,.96)!important;box-shadow:0 18px 55px rgba(18,26,20,.16)!important;align-items:start!important;}
.lux-nav.is-scrolled .lux-brand-name{font-size:30px!important;color:var(--cl-ink)!important;text-shadow:none!important;}
.lux-nav.is-scrolled .lux-brand-sub,.lux-nav.is-scrolled .lux-brand-place{display:none!important;}
.lux-nav.is-scrolled .lux-links{padding-top:8px!important;}
.lux-nav.is-scrolled .lux-links a{color:var(--cl-ink)!important;text-shadow:none!important;}
.lux-nav.is-scrolled .lux-links a.active{color:var(--cl-gold)!important;}
.lux-nav.is-scrolled .lux-book{border-color:rgba(207,168,93,.65)!important;background:transparent!important;}
/* Language must stay inside viewport */
.lang-switcher{position:fixed!important;right:76px!important;top:18px!important;z-index:7200!important;margin:0!important;max-width:118px!important;}
.lang-btn{height:40px!important;min-width:110px!important;background:rgba(15,20,17,.20)!important;border:1px solid rgba(255,255,255,.28)!important;color:#fff!important;border-radius:2px!important;font-size:11px!important;letter-spacing:.12em!important;overflow:hidden!important;}
.lang-dropdown{right:0!important;left:auto!important;top:44px!important;min-width:206px!important;max-width:calc(100vw - 24px)!important;z-index:7201!important;}
.lux-nav.is-scrolled ~ .lang-switcher .lang-btn,.lux-nav.is-scrolled .lang-btn{background:rgba(255,255,255,.66)!important;color:var(--cl-ink)!important;border-color:rgba(207,168,93,.45)!important;}
/* Hero: clean, no unnecessary play overlays */
.lux-hero{min-height:100svh!important;overflow:hidden!important;}
.lux-hero__content{padding-top:88px!important;}
.video-play-overlay{display:none!important;}
.hero-play span:first-child{display:none!important;}
.hero-play{gap:0!important;color:rgba(255,255,255,.9)!important;text-decoration:none!important;}
.hero-play b{font-weight:800!important;}
.hero-bottom{bottom:26px!important;left:34px!important;right:34px!important;}
/* Page heroes: text never green/dark over photos */
.page-hero{min-height:72vh!important;background:var(--cl-night)!important;overflow:hidden!important;}
.ph-bg:after,.ph-bg::after,.ph-overlay{background:linear-gradient(90deg,rgba(8,12,10,.72),rgba(8,12,10,.34) 46%,rgba(8,12,10,.52))!important;}
.ph-content{padding-top:130px!important;max-width:1040px!important;}
.ph-content,.ph-content *{text-shadow:0 8px 36px rgba(0,0,0,.68)!important;}
.ph-content .section-label,.ph-content .eyebrow{color:var(--cl-cream)!important;font-weight:800!important;letter-spacing:.3em!important;}
.ph-title{color:var(--cl-cream)!important;font-family:var(--font-display, Georgia, serif)!important;text-transform:uppercase!important;}
.ph-title em{color:var(--cl-gold-soft)!important;}
.ph-sub{color:rgba(255,255,255,.92)!important;}
/* Gallery/property page: don't use dark green text over pine/house */
body.gallery-page .ph-content, body.explore-page .ph-content{
  background:linear-gradient(90deg,rgba(12,18,14,.56),rgba(12,18,14,.20))!important;border-left:1px solid rgba(229,201,135,.42)!important;padding:34px 42px 38px!important;backdrop-filter:blur(1px)!important;
}
body.gallery-page .ph-title, body.explore-page .ph-title{color:var(--cl-cream)!important;}
body.gallery-page .ph-title em, body.explore-page .ph-title em{color:var(--cl-gold-soft)!important;}
/* Make Guesthouse page feel redesigned even before deeper copy pass */
body.guesthouse-page .glance-grid,.glance-grid{background:rgba(255,250,240,.04)!important;border:1px solid rgba(207,168,93,.28)!important;}
body.guesthouse-page .glance-item,.glance-item{border-color:rgba(207,168,93,.18)!important;}
body.guesthouse-page .section-sm[style*="charcoal"]{background:linear-gradient(135deg,var(--cl-night),var(--cl-forest))!important;}
/* Amenities system */
.amenities-snapshot{background:linear-gradient(135deg,var(--cl-paper),var(--cl-cream))!important;border-top:1px solid rgba(207,168,93,.22)!important;border-bottom:1px solid rgba(207,168,93,.22)!important;}
.amenities-list{background:rgba(207,168,93,.25)!important;border:1px solid rgba(207,168,93,.28)!important;}
.amenities-list div{background:rgba(255,250,240,.94)!important;}
/* Interactive map: keep popups and Nick panel usable */
.local-guide-panel{background:linear-gradient(135deg,#111914,#1b271c)!important;color:#fff!important;}
.guide-map-grid--experience{grid-template-columns:minmax(360px,.42fr) minmax(640px,.58fr)!important;gap:30px!important;align-items:start!important;}
.guide-detail{min-height:0!important;max-height:640px!important;overflow:auto!important;border:1px solid rgba(207,168,93,.25)!important;box-shadow:0 30px 80px rgba(0,0,0,.22)!important;}
.guide-detail__media{height:176px!important;}
.guide-detail__body{padding:22px 24px 26px!important;}
.guide-detail h3{font-size:clamp(27px,2.9vw,40px)!important;line-height:.98!important;margin-bottom:10px!important;}
.guide-detail p{font-size:13px!important;line-height:1.55!important;margin-bottom:12px!important;}
.guide-facts{grid-template-columns:1fr!important;margin:14px 0!important;}
.guide-facts div{padding:11px 13px!important;}
.guide-recs h4{font-size:10px!important;letter-spacing:.2em!important;}
.guide-recs ul{padding-left:17px!important;margin:8px 0 0!important;}
.guide-recs li{font-size:12.5px!important;line-height:1.46!important;margin-bottom:6px!important;}
.guide-actions{position:sticky!important;bottom:0!important;background:linear-gradient(180deg,rgba(246,239,226,0),rgba(246,239,226,.98) 35%)!important;padding-top:16px!important;}
.guide-map-card{padding:18px!important;overflow:hidden!important;}
.guide-map-card #vmap{height:600px!important;}
.vmap-wrap{position:relative!important;overflow:hidden!important;}
.vmap-card{left:auto!important;right:18px!important;bottom:18px!important;top:auto!important;max-width:330px!important;max-height:260px!important;overflow:auto!important;padding:16px 17px!important;background:rgba(246,239,226,.98)!important;border:1px solid rgba(207,168,93,.42)!important;box-shadow:0 24px 60px rgba(0,0,0,.28)!important;z-index:8!important;}
.vmap-card h4{font-size:23px!important;line-height:1!important;margin:0 26px 8px 0!important;color:var(--cl-ink)!important;}
.vmap-card p{font-size:12.5px!important;line-height:1.45!important;color:rgba(24,32,24,.75)!important;}
.vmap-card-close{top:11px!important;right:12px!important;color:var(--cl-ink)!important;}
.mapboxgl-popup{max-width:300px!important;}
.mapboxgl-popup-content{max-width:280px!important;max-height:220px!important;overflow:auto!important;padding:14px 15px!important;background:rgba(246,239,226,.98)!important;border:1px solid rgba(207,168,93,.42)!important;box-shadow:0 24px 60px rgba(0,0,0,.28)!important;}
.mapboxgl-popup-content h3,.mapboxgl-popup-content h4{font-size:21px!important;line-height:1!important;color:var(--cl-ink)!important;}
.mapboxgl-popup-content p{font-size:12px!important;line-height:1.42!important;color:rgba(24,32,24,.75)!important;}
.vmap-wrap .mapboxgl-ctrl-geocoder{margin:14px 0 0 14px!important;max-width:270px!important;min-width:220px!important;z-index:9!important;}
.vmap-reset{top:14px!important;left:auto!important;right:66px!important;z-index:10!important;height:42px!important;padding:0 18px!important;background:rgba(246,239,226,.98)!important;border:1px solid rgba(207,168,93,.55)!important;color:var(--cl-ink)!important;box-shadow:0 10px 30px rgba(0,0,0,.18)!important;}
.vmap-wrap .mapboxgl-ctrl-top-right{top:62px!important;right:14px!important;}
/* Curated experiences: remove cheap look, fix words/colors */
.activities-grid,.experiences-grid,.exc-grid{gap:26px!important;}
.act-heading{font-family:var(--font-display, Georgia, serif)!important;text-transform:uppercase!important;letter-spacing:.045em!important;color:var(--cl-ink)!important;}
.act-heading em{color:var(--cl-gold)!important;}
.act-card-new,.exc-card,.fw-card,.info-card{background:rgba(255,250,240,.95)!important;border:1px solid rgba(207,168,93,.25)!important;box-shadow:0 18px 50px rgba(24,32,24,.07)!important;}
.act-card-new h4,.exc-card h3,.fw-card h3,.info-card h3{font-family:var(--font-display, Georgia, serif)!important;color:var(--cl-ink)!important;text-transform:uppercase!important;letter-spacing:.045em!important;}
.act-card-new p,.act-card-new li,.exc-card p,.fw-card p,.info-card p{color:rgba(24,32,24,.74)!important;}
.fw-icon,.exc-icon{font-family:var(--font-ui, Arial, sans-serif)!important;font-size:12px!important;letter-spacing:.18em!important;color:var(--cl-gold)!important;background:transparent!important;border:0!important;}
/* Uniform cards/sections */
.section,.section-lux{background:var(--cl-paper)!important;}
.section-dark,.split-copy.dark{background:linear-gradient(135deg,var(--cl-night),var(--cl-forest))!important;}
.btn-primary,.btn-gold,.btn-lux{background:var(--cl-gold)!important;border-color:var(--cl-gold)!important;color:#fff!important;}
.btn-outline{border-color:rgba(207,168,93,.55)!important;color:var(--cl-ink)!important;background:transparent!important;}
/* Mobile */
@media(max-width:1180px){
  .lux-nav,.lux-nav--pass12,.lux-nav--pass13{height:90px!important;grid-template-columns:minmax(210px,1fr) auto!important;padding:18px 20px 10px!important;}
  .lux-brand-name{font-size:30px!important;}
  .lux-brand-sub,.lux-brand-place{display:none!important;}
  .lux-links{position:fixed!important;inset:0!important;background:rgba(18,26,20,.985)!important;display:none!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:26px!important;padding:0!important;}
  .lux-links.open{display:flex!important;}
  .lux-menu{display:flex!important;position:fixed!important;right:22px!important;top:30px!important;}
  .lang-switcher{right:82px!important;top:22px!important;}
  .guide-map-grid--experience{grid-template-columns:1fr!important;}
  .guide-detail{max-height:none!important;}
}
@media(max-width:760px){
  .lux-nav,.lux-nav--pass12,.lux-nav--pass13{height:78px!important;padding:17px 16px 8px!important;}
  .lux-brand-name{font-size:25px!important;letter-spacing:.075em!important;}
  .lang-switcher{display:none!important;}
  .lux-hero__content{padding-top:40px!important;}
  .hero-bottom{display:none!important;}
  .ph-content{padding-top:105px!important;margin:0 18px!important;padding-left:22px!important;padding-right:22px!important;}
  body.gallery-page .ph-content, body.explore-page .ph-content{margin:0 18px!important;padding:24px 22px!important;}
  .guide-map-card #vmap{height:520px!important;}
  .vmap-card{left:12px!important;right:12px!important;bottom:12px!important;max-width:none!important;max-height:238px!important;}
  .vmap-reset{right:58px!important;top:12px!important;}
  .vmap-wrap .mapboxgl-ctrl-geocoder{max-width:210px!important;min-width:190px!important;}
}
