:root{
  --bg:#0b0b0c;
  --panel:rgba(255,255,255,.06);
  --panel2:rgba(0,0,0,.35);
  --text50:rgba(255,255,255,.75);
  --cta:#f3c14b;
}
body{background:var(--bg);}
.text-light-50{color:var(--text50)!important;}
.bg-black-50{background:var(--panel2)!important;}
.logo{height:34px;width:auto;object-fit:contain;}
.logo-sm{height:28px;width:auto;object-fit:contain;}
.brand-text{letter-spacing:.08em;font-weight:700;font-size:.95rem;}
.btn-cta{
  background:var(--cta);
  color:#111;
  border:none;
  font-weight:700;
}
.btn-cta:hover{filter:brightness(.95); color:#111;}
.hero{position:relative; overflow:hidden;}
.hero-bg{
  position:absolute; inset:0;
  background-size:cover; background-position:center;
  filter:brightness(.45) blur(0px);
  transform:scale(1.05);
}
.hero:after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(90deg, rgba(0,0,0,.85), rgba(0,0,0,.35));
}
.hero .container{position:relative; z-index:1;}
.section{padding:4rem 0;}
.pill{
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.14);
  border-radius:999px;
  padding:.35rem .75rem;
}
.feature{
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.12);
  border-radius:1.25rem;
  padding:1.25rem;
  height:100%;
}
.feature-title{font-weight:800; margin-bottom:.25rem;}
.feature-text{color:var(--text50);}
.room-card{
  display:block; text-decoration:none; color:inherit;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.12);
  border-radius:1.25rem;
  overflow:hidden;
  transition:transform .15s ease, border-color .15s ease;
}
.room-card:hover{transform:translateY(-2px); border-color:rgba(255,255,255,.25);}
.room-img{height:180px;background-size:cover;background-position:center;}
.room-body{padding:1rem 1rem 1.1rem;}
.room-title{font-weight:800;}
.room-meta{font-size:.85rem;color:var(--text50);}
.room-cover{height:220px;background-size:cover;background-position:center;}
.gallery-hero{height:320px;background-size:cover;background-position:center;border:1px solid rgba(255,255,255,.12);}
.cta-strip{
  background:linear-gradient(135deg, rgba(243,193,75,.22), rgba(255,255,255,.06));
  border:1px solid rgba(255,255,255,.14);
}
.footer{background:#070707;}
.link-light-subtle{color:rgba(255,255,255,.7); text-decoration:none;}
.link-light-subtle:hover{color:#fff; text-decoration:underline;}
.form-control-dark{
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.18);
  color:#fff;
}
.form-control-dark:focus{
  background:rgba(255,255,255,.08);
  color:#fff;
  border-color:rgba(243,193,75,.7);
  box-shadow:none;
}
.whatsapp-fab{
  position:fixed; right:18px; bottom:18px; z-index:999;
  background:#25D366; color:#111; font-weight:800;
  padding:.8rem 1rem; border-radius:999px;
  text-decoration:none;
  box-shadow:0 10px 30px rgba(0,0,0,.35);
}
.whatsapp-fab span{color:#111;}
/* Lightbox */
.lightbox{
  position:fixed; inset:0; z-index:1055;
  display:none; align-items:center; justify-content:center;
  background:rgba(0,0,0,.82);
  padding:18px;
}
.lightbox.open{display:flex;}
.lightbox img{max-width:min(1100px, 95vw); max-height:80vh; border-radius:16px;}
.lightbox-caption{position:absolute; bottom:18px; left:18px; right:18px; color:rgba(255,255,255,.85); text-align:center;}
.lightbox-close{
  position:absolute; top:14px; right:14px;
  border:none; background:rgba(255,255,255,.12);
  color:#fff; width:44px; height:44px; border-radius:999px;
  font-size:26px; line-height:1;
}
@media (max-width: 576px){
  .section{padding:3rem 0;}
  .room-cover{height:200px;}
  .gallery-hero{height:240px;}
  .brand-text{font-size:.85rem;}
  .whatsapp-fab{right:14px; bottom:14px; padding:.7rem .9rem;}
}
