/* Lucayan Luxe — VIP Concierge Theme */
:root{
  --bg:#05090d;
  --bg-deep:#0b1218;
  --text:#e9eef2;
  --muted:#a9b7c1;
  --gold:#c5a368;
  --gold-2:#e6c88f;
  --glass:rgba(10,16,22,.55);
}

html,body{background:var(--bg);color:var(--text);scroll-behavior:smooth}
.topbar{height:38px;background:linear-gradient(90deg,rgba(197,163,104,.25),transparent)}
.navbar.glass-nav{backdrop-filter:saturate(180%) blur(10px);background:var(--glass)}
.navbar-brand .brand-mark{display:inline-grid;place-items:center;width:32px;height:32px;border:1px solid var(--gold);border-radius:50%;margin-right:.4rem;color:var(--gold)}
.nav-link{color:var(--text)}
.nav-link:hover{color:var(--gold)}
.btn-gold{background:var(--gold);border-color:var(--gold);color:#101418}
.btn-gold:hover{background:var(--gold-2);border-color:var(--gold-2);color:#101418}
.btn-outline-light{border-color:#e9eef2;color:#e9eef2}
.btn-outline-light:hover{background:#e9eef2;color:#101418}

.hero{height:90vh;min-height:540px;position:relative;overflow:hidden}
.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.6)}
.hero .overlay{position:absolute;inset:0;background:linear-gradient(0deg,rgba(5,9,13,.7),rgba(5,9,13,.35))}
.scroll-indicator{position:absolute;left:50%;bottom:12px;transform:translateX(-50%);font-size:2rem;color:var(--gold);opacity:.85;animation:float 2.5s ease-in-out infinite}
@keyframes float{0%,100%{transform:translate(-50%,0)}50%{transform:translate(-50%,-6px)}}

.bg-deep{background:var(--bg-deep)}
.text-gold{color:var(--gold)}
.section-title{font-weight:600;letter-spacing:.2px}

.mega{min-width:800px;max-width:1000px;background:rgba(9,14,20,.95);border:1px solid rgba(255,255,255,.07);border-radius:14px}
.mega .dropdown-item{color:var(--text);border-radius:8px}
.mega .dropdown-item:hover{background:rgba(197,163,104,.13);color:var(--gold)}
.mega-card{background:linear-gradient(180deg,rgba(197,163,104,.12),rgba(197,163,104,.04));border:1px solid rgba(197,163,104,.35)}

.carousel .carousel-caption{background:rgba(0,0,0,.35);backdrop-filter:blur(2px);border-radius:12px;padding:.75rem 1rem}
.carousel .carousel-item img{display:block;}

.xp-card{position:relative;border-radius:18px;overflow:hidden;cursor:pointer;box-shadow:0 10px 30px rgba(0,0,0,.25);transform:translateZ(0)}
.xp-card img{width:100%;height:100%;object-fit:cover;aspect-ratio:1/1}
.xp-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent,rgba(0,0,0,.55));opacity:.6;transition:.3s}
.xp-card:hover::after{opacity:.85}
.xp-overlay{position:absolute;left:0;right:0;bottom:0;padding:1rem 1rem 1.2rem}
.xp-overlay h5{margin:0 0 .25rem 0}
.xp-overlay p{margin:0;color:#d7dde2}

.quote{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08);padding:1.2rem;border-radius:14px;box-shadow:0 6px 24px rgba(0,0,0,.25)}
.quote .who{opacity:.7;margin-top:.6rem}

.mini-form{background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.02));border:1px solid rgba(255,255,255,.08)}

footer{background:rgba(255,255,255,.02)}

.concierge-btn{position:fixed;right:18px;bottom:18px;border:1px solid rgba(197,163,104,.6);background:linear-gradient(90deg,var(--gold),var(--gold-2));color:#101418;padding:.65rem 1rem;border-radius:999px;box-shadow:0 14px 32px rgba(0,0,0,.35);z-index:1040}
.concierge-btn i{margin-right:.5rem}

.pulse{position:relative}
.pulse::after{content:"";position:absolute;inset:-6px;border:2px solid rgba(197,163,104,.6);border-radius:999px;animation:pulse 1.6s ease-out infinite}
@keyframes pulse{0%{opacity:.8;transform:scale(.95)}100%{opacity:0;transform:scale(1.2)}}

.toast-container .toast{box-shadow:0 12px 32px rgba(0,0,0,.35)}
.consent-ribbon{position:fixed;left:0;right:0;bottom:-100%;background:rgba(10,16,22,.95);border-top:1px solid rgba(255,255,255,.08);padding:.6rem 0;z-index:1080;transition:.4s ease}
.consent-ribbon.show{bottom:0}

.sticky-booking{position:fixed;left:0;right:0;bottom:0;display:flex;background:rgba(5,9,13,.9);backdrop-filter:blur(8px);border-top:1px solid rgba(255,255,255,.06);z-index:1070}
.sticky-booking .sb-item{flex:1;display:flex;flex-direction:column;align-items:center;gap:.2rem;padding:.55rem 0;color:#e9eef2;text-decoration:none;font-size:.9rem}
.sticky-booking .sb-primary{background:linear-gradient(90deg,var(--gold),var(--gold-2));color:#101418;border-left:1px solid rgba(0,0,0,.2)}

.floating-actions{position:fixed;right:18px;bottom:90px;z-index:1060}
.fab-btn{width:46px;height:46px;display:grid;place-items:center;border-radius:50%;background:rgba(10,16,22,.8);border:1px solid rgba(197,163,104,.5);text-decoration:none;color:#e9eef2;box-shadow:0 10px 28px rgba(0,0,0,.35)}
.fab-btn:hover{background:rgba(197,163,104,.15);color:var(--gold)}

.lb-open{overflow:hidden}
#lightboxModal .modal-body{padding:0}
#lightboxImg{max-height:80vh;object-fit:contain}

.pre-reveal{opacity:0;transform:translateY(10px);transition:opacity .5s ease, transform .6s ease}
.reveal{opacity:1;transform:translateY(0)}
