/* Casa Luna Pass 16 — hard QA fixes + single luxury design system */
:root{
  --cl-night:#111914;
  --cl-forest:#172318;
  --cl-olive:#65724d;
  --cl-gold:#cfa85d;
  --cl-gold-soft:#e6c77d;
  --cl-paper:#f6efe2;
  --cl-cream:#fffaf0;
  --cl-ink:#172018;
  --cl-muted:#5d594f;
  --cl-line:rgba(207,168,93,.32);
  --cl-shadow:0 24px 70px rgba(17,25,20,.18);
}
body{background:var(--cl-paper)!important;color:var(--cl-ink)!important;}

/* One nav. One behavior. No overlap. */
.lux-nav.lux-nav--pass16,
.lux-nav{
  position:fixed!important;top:0!important;left:0!important;right:0!important;z-index:7000!important;
  height:108px!important;padding:24px 32px 14px!important;box-sizing:border-box!important;
  display:grid!important;grid-template-columns:minmax(230px,300px) minmax(420px,1fr) auto!important;
  align-items:start!important;gap:26px!important;overflow:visible!important;background:transparent!important;
  transition:height .28s ease,background .28s ease,box-shadow .28s ease,padding .28s ease!important;
}
.lux-nav:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(17,25,20,.38),rgba(17,25,20,0));pointer-events:none;z-index:-1;}
.lux-nav.is-scrolled{height:92px!important;padding:20px 32px 12px!important;background:rgba(246,239,226,.96)!important;box-shadow:0 8px 30px rgba(17,25,20,.09)!important;}
.lux-nav.is-scrolled:before{display:none!important;}
.lux-brand{display:block!important;min-width:0!important;text-decoration:none!important;color:#fff!important;line-height:1!important;padding:0!important;transform:none!important;overflow:visible!important;}
.lux-brand-name{display:block!important;font-family:var(--font-display,Georgia,serif)!important;font-size:clamp(29px,2.7vw,43px)!important;font-weight:400!important;letter-spacing:.09em!important;line-height:1.05!important;text-transform:uppercase!important;white-space:nowrap!important;color:currentColor!important;margin:0!important;}
.lux-brand-sub,.lux-brand-place{display:block!important;font-family:var(--font-ui,Arial,sans-serif)!important;color:currentColor!important;text-transform:uppercase!important;font-weight:700!important;letter-spacing:.22em!important;font-size:11px!important;line-height:1.25!important;margin:9px 0 0 44px!important;white-space:nowrap!important;opacity:.95!important;}
.lux-brand-place{font-size:10px!important;margin-top:7px!important;letter-spacing:.18em!important;}
.lux-nav.is-scrolled .lux-brand{color:var(--cl-ink)!important;}
.lux-links{justify-self:center!important;align-self:start!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:clamp(22px,2.5vw,44px)!important;min-width:0!important;padding-top:11px!important;}
.lux-links a{font-family:var(--font-ui,Arial,sans-serif)!important;font-size:12px!important;font-weight:800!important;letter-spacing:.18em!important;text-transform:uppercase!important;text-decoration:none!important;color:#fff!important;text-shadow:0 2px 14px rgba(0,0,0,.38)!important;white-space:nowrap!important;}
.lux-links a.active,.lux-links a:hover{color:var(--cl-gold-soft)!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,.lux-nav.is-scrolled .lux-links a:hover{color:var(--cl-gold)!important;}
.lux-actions{justify-self:end!important;align-self:start!important;display:flex!important;align-items:flex-start!important;gap:16px!important;min-width:0!important;max-width:100%!important;position:relative!important;padding-top:0!important;}
.lux-book{display:inline-flex!important;align-items:center!important;justify-content:center!important;height:58px!important;min-width:190px!important;max-width:210px!important;padding:0 24px!important;box-sizing:border-box!important;border:1px solid rgba(255,255,255,.72)!important;background:rgba(17,25,20,.14)!important;color:#fff!important;text-decoration:none!important;font-family:var(--font-ui,Arial,sans-serif)!important;font-size:12px!important;font-weight:900!important;letter-spacing:.18em!important;text-transform:uppercase!important;white-space:nowrap!important;text-shadow:0 2px 14px rgba(0,0,0,.35)!important;}
.lux-nav.is-scrolled .lux-book{border-color:rgba(207,168,93,.55)!important;background:transparent!important;color:var(--cl-ink)!important;text-shadow:none!important;}
.lang-switcher{position:relative!important;inset:auto!important;right:auto!important;top:auto!important;transform:none!important;z-index:7300!important;flex:0 0 auto!important;margin:0!important;max-width:132px!important;min-width:116px!important;height:42px!important;align-self:8px!important;}
.lang-btn{height:42px!important;min-width:116px!important;max-width:132px!important;padding:0 12px!important;box-sizing:border-box!important;background:rgba(17,25,20,.18)!important;border:1px solid rgba(255,255,255,.38)!important;color:#fff!important;font-family:var(--font-ui,Arial,sans-serif)!important;font-size:10px!important;font-weight:800!important;letter-spacing:.12em!important;text-transform:uppercase!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:6px!important;overflow:hidden!important;}
.lang-label{max-width:64px!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;}
.lang-dropdown{right:0!important;left:auto!important;top:48px!important;min-width:220px!important;max-width:min(260px,calc(100vw - 24px))!important;background:var(--cl-night)!important;border:1px solid rgba(207,168,93,.35)!important;z-index:7400!important;}
.lux-nav.is-scrolled .lang-btn{background:#fffaf0!important;border-color:rgba(207,168,93,.42)!important;color:var(--cl-ink)!important;}
.lux-menu{position:relative!important;inset:auto!important;right:auto!important;top:auto!important;transform:none!important;width:44px!important;height:44px!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:7px!important;background:transparent!important;border:0!important;margin:0!important;z-index:7300!important;}
.lux-menu span{display:block!important;width:30px!important;height:2px!important;background:#fff!important;transition:background .25s ease!important;}
.lux-nav.is-scrolled .lux-menu span{background:var(--cl-ink)!important;}
@media(max-width:1260px){
  .lux-nav{grid-template-columns:minmax(210px,270px) 1fr auto!important;gap:18px!important;padding-left:24px!important;padding-right:24px!important;}
  .lux-links{gap:22px!important;}.lux-links a{font-size:11px!important;letter-spacing:.14em!important}.lux-book{min-width:172px!important;max-width:185px!important;}
}
@media(max-width:1080px){
  .lux-nav{grid-template-columns:1fr auto!important;height:92px!important;align-items:start!important;}
  .lux-links{position:fixed!important;inset:0!important;background:rgba(17,25,20,.98)!important;display:none!important;flex-direction:column!important;justify-content:center!important;gap:28px!important;padding:0!important;z-index:7200!important;}
  .lux-links.open{display:flex!important;}
  .lux-links a{color:#fff!important;font-size:14px!important;text-shadow:none!important;}
  .lux-actions{grid-column:2!important;}
  .lux-book{display:none!important;}
}
@media(max-width:760px){
  .lux-nav{height:82px!important;padding:18px 18px 10px!important;}
  .lux-brand-name{font-size:29px!important;}
  .lux-brand-sub,.lux-brand-place{display:none!important;}
  .lang-switcher{display:none!important;}
}

/* Page hero readability - never dark/green text over photos */
.page-hero .ph-content{max-width:1100px!important;}
.page-hero .section-label,.ph-content .section-label{color:var(--cl-gold-soft)!important;text-shadow:0 2px 18px rgba(0,0,0,.55)!important;}
.page-hero .ph-title,.ph-title{color:#fff!important;text-shadow:0 3px 28px rgba(0,0,0,.62)!important;}
.page-hero .ph-title em,.ph-title em{color:var(--cl-gold-soft)!important;}
.page-hero .ph-sub,.ph-sub{color:rgba(255,255,255,.92)!important;text-shadow:0 2px 18px rgba(0,0,0,.65)!important;max-width:760px!important;}
.ph-overlay{background:linear-gradient(90deg,rgba(17,25,20,.64),rgba(17,25,20,.34) 45%,rgba(17,25,20,.24)),linear-gradient(180deg,rgba(17,25,20,.34),rgba(17,25,20,.48))!important;}

/* Readable light sections */
.section[style*="var(--cream)"],.section[style*="var(--paper)"],.practical-details,.details-grid{color:var(--cl-ink)!important;}
.section p,.practical-details p,.details-grid p,.info-card p{color:var(--cl-muted)!important;}
.section-label,.eyebrow{color:var(--cl-gold)!important;}
.section-title,.section-heading{color:var(--cl-ink)!important;}
.section-title em,.section-heading em{color:var(--cl-gold)!important;}

/* Two floors: editorial, no emoji look */
.floors-grid{gap:clamp(24px,3vw,42px)!important;align-items:stretch!important;}
.floor-card{background:rgba(255,250,240,.96)!important;border:1px solid var(--cl-line)!important;border-radius:0!important;box-shadow:var(--cl-shadow)!important;overflow:hidden!important;}
.floor-card:before{content:"";display:block;height:7px;background:linear-gradient(90deg,var(--cl-gold),rgba(207,168,93,.12));}
.floor-header{background:linear-gradient(135deg,var(--cl-night),#2a3525)!important;padding:34px 38px 30px!important;border-bottom:1px solid rgba(207,168,93,.32)!important;}
.floor-header h3{color:var(--cl-cream)!important;font-size:clamp(23px,2.1vw,34px)!important;line-height:1.04!important;letter-spacing:.035em!important;max-width:420px!important;}
.floor-badge,.floor-badge[style]{background:transparent!important;color:var(--cl-gold-soft)!important;border:1px solid rgba(229,201,135,.65)!important;border-radius:0!important;padding:8px 11px!important;margin-bottom:18px!important;font-size:10px!important;letter-spacing:.24em!important;}
.floor-rooms{padding:22px 34px 30px!important;}
.floor-room{display:grid!important;grid-template-columns:42px 1fr!important;gap:20px!important;padding:24px 0!important;border-bottom:1px solid rgba(207,168,93,.25)!important;}
.floor-room:last-child{border-bottom:none!important;}
.fr-icon{width:42px!important;height:42px!important;border:1px solid rgba(207,168,93,.55)!important;border-radius:50%!important;display:flex!important;align-items:center!important;justify-content:center!important;color:var(--cl-gold)!important;background:rgba(207,168,93,.08)!important;font-family:var(--font-ui,Arial,sans-serif)!important;font-size:11px!important;font-weight:900!important;letter-spacing:.12em!important;line-height:1!important;}
.floor-room h4{color:var(--cl-ink)!important;font-size:clamp(20px,1.65vw,26px)!important;letter-spacing:.025em!important;margin-bottom:8px!important;}
.floor-room p{color:var(--cl-muted)!important;font-size:15px!important;line-height:1.72!important;max-width:620px!important;}

/* Insider Guide map: no clipping, readable panel, contained popup */
.local-guide-panel{background:var(--cl-night)!important;color:#fff!important;padding:92px 0!important;}
.guide-map-grid--experience{display:grid!important;grid-template-columns:minmax(380px,.40fr) minmax(640px,.60fr)!important;gap:34px!important;align-items:start!important;}
.guide-detail{background:var(--cl-paper)!important;color:var(--cl-ink)!important;border:1px solid var(--cl-line)!important;box-shadow:0 28px 70px rgba(0,0,0,.18)!important;max-height:720px!important;overflow:auto!important;scrollbar-color:var(--cl-gold) rgba(17,25,20,.12)!important;}
.guide-detail__kicker,.guide-detail__meta{color:var(--cl-gold)!important;font-family:var(--font-ui,Arial,sans-serif)!important;font-weight:900!important;letter-spacing:.18em!important;text-transform:uppercase!important;font-size:11px!important;}
.guide-detail__media{height:190px!important;overflow:hidden!important;border-bottom:1px solid var(--cl-line)!important;}
.guide-detail__media img{width:100%!important;height:100%!important;object-fit:cover!important;display:block!important;}
.guide-detail__body{padding:28px!important;}
.guide-detail h3{color:var(--cl-ink)!important;font-family:var(--font-display,Georgia,serif)!important;font-size:clamp(34px,3.1vw,52px)!important;line-height:.98!important;letter-spacing:.045em!important;text-transform:uppercase!important;margin:10px 0 16px!important;}
.guide-detail p,.guide-detail li,.guide-detail dd{color:var(--cl-ink)!important;font-size:15px!important;line-height:1.72!important;}
.guide-facts{border:1px solid rgba(207,168,93,.4)!important;margin:24px 0!important;background:rgba(255,250,240,.54)!important;}
.guide-facts div{padding:14px 16px!important;border-bottom:1px solid rgba(207,168,93,.25)!important;}
.guide-facts div:last-child{border-bottom:none!important;}
.guide-facts dt{color:var(--cl-gold)!important;font-size:11px!important;font-weight:900!important;letter-spacing:.18em!important;text-transform:uppercase!important;}
.guide-recs{background:rgba(255,250,240,.78)!important;border-top:1px solid var(--cl-line)!important;border-bottom:1px solid var(--cl-line)!important;padding:20px 22px!important;margin:22px 0!important;}
.guide-recs h4{color:var(--cl-ink)!important;letter-spacing:.18em!important;text-transform:uppercase!important;font-size:12px!important;}
.guide-actions{display:flex!important;gap:12px!important;flex-wrap:wrap!important;}
.guide-action,.vmap-directions,.vmap-guide-link{background:var(--cl-gold)!important;color:#fff!important;border:1px solid var(--cl-gold)!important;padding:13px 18px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;text-decoration:none!important;font-size:12px!important;font-weight:900!important;letter-spacing:.12em!important;text-transform:uppercase!important;}
.guide-action:not(.guide-action--primary),.vmap-directions{background:transparent!important;color:var(--cl-ink)!important;border-color:rgba(207,168,93,.55)!important;}
.guide-map-card{background:rgba(255,250,240,.04)!important;border:1px solid rgba(255,255,255,.15)!important;padding:20px!important;overflow:visible!important;}
.vmap-wrap{position:relative!important;overflow:hidden!important;border:1px solid rgba(255,255,255,.26)!important;background:#0e160f!important;}
.guide-map-card #vmap{height:620px!important;border:0!important;}
.mapboxgl-ctrl-geocoder{margin:18px!important;max-width:300px!important;min-width:260px!important;box-shadow:0 12px 34px rgba(0,0,0,.25)!important;}
.vmap-reset{top:18px!important;right:84px!important;background:var(--cl-paper)!important;color:var(--cl-ink)!important;border:1px solid var(--cl-gold)!important;z-index:10!important;}
.vmap-card{position:absolute!important;left:auto!important;right:26px!important;bottom:26px!important;top:auto!important;width:min(420px,calc(100% - 52px))!important;max-height:360px!important;overflow:auto!important;background:var(--cl-paper)!important;color:var(--cl-ink)!important;border:1px solid var(--cl-line)!important;box-shadow:0 20px 50px rgba(0,0,0,.28)!important;padding:24px!important;transform:none!important;}
.vmap-card h4{color:var(--cl-ink)!important;font-family:var(--font-display,Georgia,serif)!important;font-size:31px!important;line-height:1!important;margin:0 28px 12px 0!important;letter-spacing:.04em!important;text-transform:uppercase!important;}
.vmap-card p{color:var(--cl-muted)!important;font-size:14px!important;line-height:1.65!important;}
.vmap-card-close{color:var(--cl-ink)!important;background:transparent!important;border:0!important;position:absolute!important;top:14px!important;right:14px!important;font-size:22px!important;}
.vmap-card .vmap-directions{color:var(--cl-ink)!important;background:transparent!important;}
.map-instruction{color:rgba(255,255,255,.74)!important;}
.vmap-chips{gap:10px!important;}
.vmap-chip{background:rgba(255,255,255,.07)!important;border:1px solid rgba(255,255,255,.15)!important;color:#fff!important;}
.vmap-chip:hover{border-color:var(--cl-gold)!important;}

/* Experience cards/buttons */
.act-card-new,.exc-card,.fw-card,.info-card,.experience-card{background:rgba(255,250,240,.96)!important;border:1px solid var(--cl-line)!important;box-shadow:0 18px 50px rgba(24,32,24,.075)!important;}
.act-card-new h3,.act-card-new h4,.exc-card h3,.fw-card h3,.info-card h3,.experience-card h3{color:var(--cl-ink)!important;text-shadow:none!important;}
.act-card-new p,.act-card-new li,.exc-card p,.fw-card p,.info-card p,.experience-card p{color:var(--cl-muted)!important;text-shadow:none!important;}
.exc-vendor-btn{background:var(--cl-night)!important;color:#fff!important;border-color:var(--cl-night)!important;}
.exc-vendor-btn span{color:rgba(255,255,255,.72)!important;}
.exc-vendor-secondary{background:transparent!important;color:var(--cl-ink)!important;border-color:rgba(207,168,93,.52)!important;}

/* remove cheap emoji rendering if any remains */
.floor-room .fr-icon,.fw-icon,.span-number{font-variant-emoji:text!important;}

@media(max-width:1120px){
  .guide-map-grid--experience{grid-template-columns:1fr!important;}
  .guide-detail{max-height:none!important;}
  .guide-map-card #vmap{height:560px!important;}
  .vmap-card{right:18px!important;bottom:18px!important;width:min(380px,calc(100% - 36px))!important;}
}
@media(max-width:640px){
  .page-hero,.ph-bg{min-height:62vh!important;}
  .guide-detail__media{height:160px!important;}
  .guide-detail__body{padding:22px!important;}
  .guide-map-card{padding:10px!important;}
  .guide-map-card #vmap{height:500px!important;}
  .mapboxgl-ctrl-geocoder{max-width:230px!important;min-width:210px!important;}
  .vmap-reset{right:16px!important;top:74px!important;}
  .vmap-card{left:10px!important;right:10px!important;bottom:10px!important;width:auto!important;max-height:300px!important;padding:18px!important;}
}
