:root{
  --brand:#16a34a;
  --brand-dark:#15803d;
  --brand-light:#dcfce7;
  --ink:#0b1324;
  --surface:#ffffff;
  --bg:#f6fbf7;
  --muted:#6b7280;
  --radius:18px;
  --shadow:0 18px 40px -20px rgba(0,0,0,.25);
  --shadow-soft:0 12px 24px -14px rgba(0,0,0,.18);
}
html{scroll-behavior:smooth}
body{color:var(--ink); background:var(--bg)}
section{padding: clamp(48px, 6vw, 84px) 0}
.container{padding-left:clamp(16px,3vw,24px); padding-right:clamp(16px,3vw,24px)}

.glass-nav{
  background:rgba(10,24,14,.55);
  backdrop-filter:saturate(140%) blur(10px);
}
.glass-nav .navbar-brand, .glass-nav .nav-link{color:#eaffea}
.glass-nav .nav-link.active{color:#fff}
.glass-nav .nav-link:hover{opacity:.9}

.btn-primary{background:var(--brand); border-color:var(--brand)}
.btn-primary:hover{background:var(--brand-dark); border-color:var(--brand-dark)}
.btn-outline-primary{color:var(--brand); border-color:var(--brand)}
.btn-outline-primary:hover{background:var(--brand); border-color:var(--brand); color:#fff}
.btn-cta{
  background:linear-gradient(135deg,#16a34a 0%,#22c55e 100%);
  border:none; color:#fff; box-shadow:0 14px 30px -14px rgba(22,163,74,.8);
}
.btn-cta:hover{filter:saturate(1.1) brightness(1.02); transform:translateY(-1px)}

.text-bg-primary{background:var(--brand)!important}
.badge.bg-light{background:#f0fdf4!important}

.hero{
  min-height: 88vh;
  position:relative;
  padding-top:6rem;
  background:
    radial-gradient(1200px 520px at 0% 0%, rgba(22,163,74,.35), transparent),
    radial-gradient(1000px 580px at 100% 10%, rgba(16,185,129,.22), transparent),
    linear-gradient(180deg, #07150d 0%, #0e2b1a 100%);
  color:#eaffea;
}
.hero .container{position:relative; z-index:2}
.hero .hero-card{
  transform: translateY(8px);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
}
.hero-waves{
  position:absolute; left:0; right:0; bottom:-1px; width:100%; height:120px;
  fill:var(--bg);
  pointer-events:none !important;
  z-index:0;
}

.section-title{
  font-weight:800; letter-spacing:.2px;
  display:flex; align-items:center; gap:.6rem;
}
.section-title::before{
  content:""; width:14px; height:14px; border-radius:999px; background:var(--brand);
  box-shadow:0 0 0 6px var(--brand-light);
}

.card {border-radius: var(--radius); border:0; background:var(--surface); box-shadow:var(--shadow-soft)}
.card.shadow{transition: transform .18s ease}
.card.shadow:hover{transform: translateY(-3px)}

.feature-card i{opacity:.9; color:var(--brand)}
.feature-card .card-body{padding:1.25rem 1.25rem 1.5rem}

.mini-tile{
  display:flex; flex-direction:column; gap:.5rem; align-items:center; justify-content:center;
  padding:1rem; border-radius:1.1rem; background:#fff;
  box-shadow:var(--shadow-soft);
  min-height:120px; text-align:center; font-weight:600
}
.mini-tile i{font-size:1.8rem; color:var(--brand)}

.amenity{
  display:flex; align-items:center; gap:.75rem;
  padding:.9rem 1rem; border-radius:14px; background:#fff;
  box-shadow:var(--shadow-soft);
  height:100%;
}
.amenity i{font-size:1.35rem; color:var(--brand)}
.amenity span{font-weight:600}

.amenities-chips .amenity-chip{
  display:inline-flex; align-items:center; gap:.45rem;
  background:#fff; border:1px solid #e6f7ea; padding:.5rem .65rem; border-radius:999px;
  font-size:.92rem; font-weight:600; box-shadow:var(--shadow-soft)
}
.amenities-chips i{color:var(--brand)}

.review .stars{color:#fbbf24; letter-spacing:2px; font-size:1.05rem}
#reviews .carousel-control-prev, 
#reviews .carousel-control-next{display:none!important}


.modal .lightbox-nav{
  position:absolute; top:50%; transform:translateY(-50%);
  width:48px; height:48px; border-radius:999px; border:none; background:rgba(255,255,255,.1);
  display:flex; align-items:center; justify-content:center; z-index:5;
}
.modal .lightbox-nav i{font-size:1.6rem; color:#fff}
.modal .lightbox-nav.prev{left:12px}
.modal .lightbox-nav.next{right:12px}
.modal .lightbox-nav:hover{background:rgba(255,255,255,.2)}

footer{background:#0a2013; color:#cfead6}

.whatsapp-float{
  position:fixed; right:18px; bottom:18px; z-index:1040;
  display:flex; align-items:center;
  background:#25D366; color:#fff; text-decoration:none;
  border-radius:999px; padding:.9rem 1.1rem; box-shadow:0 12px 24px -10px rgba(0,0,0,.35);
  transition: transform .15s ease, box-shadow .15s ease;
  font-weight:700;
}
.whatsapp-float i{font-size:1.6rem}
.whatsapp-float:hover{transform:translateY(-2px); box-shadow:0 16px 28px -8px rgba(0,0,0,.4)}

.back-to-top{
  position:fixed; right:24px; bottom:86px; z-index:1030;
  width:46px; height:46px; border:none; border-radius:50%;
  background:#0f172a; color:#fff; display:none; align-items:center; justify-content:center;
  box-shadow:0 12px 24px -12px rgba(0,0,0,.45);
}
.back-to-top.show{display:flex}
.back-to-top:hover{background:#000}

.masonry{columns: 1; column-gap: 16px}
.masonry img{
  width:100%; border-radius:14px; margin:0 0 16px; display:block; box-shadow:var(--shadow-soft); object-fit:cover; cursor:pointer;
}
@media (min-width:576px){ .masonry{columns:2}}
@media (min-width:992px){ .masonry{columns:3}}
@media (min-width:1400px){ .masonry{columns:4}}

.lead{line-height:1.6}
.nav-link{padding:.5rem .75rem}
@media (max-width: 991.98px){
  .hero{min-height:78vh}
  .whatsapp-float span{display:none!important}
}
