:root{
  --orange:#F47C20;
  --charcoal:#1F2937;
  --muted:#6B7280;
  --soft:#F9FAFB;
  --border:#E5E7EB;
  --radius:16px;
  --shadow:0 10px 30px rgba(0,0,0,.08);
  --container:1120px;
}

*{box-sizing:border-box}
body{
  margin:0; color:var(--charcoal);
  font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;
  line-height:1.6; background:#fff;
}
a{color:inherit; text-decoration:none}
img{max-width:100%; display:block}

.vb-container{max-width:var(--container); margin:0 auto; padding:0 20px}
.vb-section{padding:56px 0}
.vb-section--soft{background:var(--soft)}
.vb-muted{color:var(--muted)}
.vb-small{font-size:.92rem}

.vb-header{
  position:sticky; top:0; z-index:50;
  background:rgba(255,255,255,.9);
  backdrop-filter:saturate(180%) blur(12px);
  border-bottom:1px solid var(--border);
}
.vb-header__inner{display:flex; align-items:center; justify-content:space-between; padding:14px 0}
.vb-logo{display:flex; gap:10px; align-items:center; font-weight:700}
.vb-logo__mark{width:12px; height:12px; border-radius:999px; background:var(--orange)}

.vb-navToggle{display:none; background:none; border:0}
.vb-navToggle span{display:block; width:22px; height:2px; background:var(--charcoal); margin:5px 0}

.vb-menu{display:flex; gap:18px; list-style:none; margin:0; padding:0; align-items:center}
.vb-menu a{padding:10px 10px; border-radius:12px}
.vb-menu a:hover{background:var(--soft)}

.vb-btn{
  display:inline-flex; align-items:center; justify-content:center;
  border-radius:999px; padding:12px 18px; font-weight:650;
  border:1px solid transparent; cursor:pointer;
}
.vb-btn--orange{background:var(--orange); color:#fff}
.vb-btn--orange:hover{filter:brightness(.95)}
.vb-btn--outline{border-color:var(--border); background:#fff}
.vb-btn--ghost{border-color:transparent; background:transparent}
.vb-btn--small{padding:10px 14px; font-size:.95rem}
.vb-btn--full{width:100%}

.vb-hero{position:relative}
.vb-hero__slider{height:min(78vh,720px); position:relative; overflow:hidden}
.vb-slide{
  position:absolute; inset:0;
  background-size:cover; background-position:center;
  opacity:0; transition:opacity .6s ease;
}
.vb-slide.is-active{opacity:1}
.vb-hero__overlay{
  position:absolute; left:20px; right:20px; bottom:26px;
  max-width:var(--container); margin:0 auto;
  color:#fff;
  padding:26px;
  border-radius:var(--radius);
  background:linear-gradient(180deg, rgba(0,0,0,0), rgba(0,0,0,.55));
}
.vb-hero__overlay h1{margin:0 0 6px; font-size:clamp(2rem,4vw,3.25rem)}
.vb-hero__overlay p{margin:0 0 16px; opacity:.92}

.vb-sliderBtn{
  position:absolute; top:50%; transform:translateY(-50%);
  width:44px; height:44px; border-radius:999px;
  border:1px solid rgba(255,255,255,.35);
  background:rgba(0,0,0,.25);
}
.vb-sliderBtn--prev{left:16px}
.vb-sliderBtn--next{right:16px}

.vb-featuresTop{display:grid; grid-template-columns:1.1fr .9fr; gap:26px; align-items:start}
.vb-featureCards{display:grid; gap:16px}

.vb-card{
  background:#fff; border:1px solid var(--border); border-radius:var(--radius);
  overflow:hidden; box-shadow:var(--shadow);
}
.vb-card__body{padding:16px}
.vb-card--pad{padding:18px}

.vb-booking{display:grid; grid-template-columns:1fr 1fr; gap:18px}
.vb-booking__form{
  background:#fff; border:1px solid var(--border); border-radius:var(--radius);
  padding:16px; display:grid; gap:12px;
}
.vb-booking__form label{display:grid; gap:8px; font-weight:600}
.vb-booking__form input,.vb-booking__form select,.vb-form input,.vb-form textarea{
  padding:12px 12px; border-radius:12px; border:1px solid var(--border); font:inherit;
}
.vb-embedPlaceholder{
  height:100%; min-height:220px; border-radius:var(--radius);
  border:1px dashed var(--border); background:#fff;
  display:flex; flex-direction:column; justify-content:center; align-items:center;
  padding:18px; text-align:center;
}

.vb-gallery{display:grid; grid-template-columns:repeat(4,1fr); gap:12px}
.vb-gallery__item{border-radius:14px; overflow:hidden; border:1px solid var(--border)}
.vb-gallery__item img{transition:transform .25s ease}
.vb-gallery__item:hover img{transform:scale(1.03)}

.vb-lightbox{
  position:fixed; inset:0; background:rgba(0,0,0,.85);
  display:grid; place-items:center; padding:24px; z-index:80; 
}
.vb-lightbox__img{max-width:min(1100px,92vw); max-height:85vh; border-radius:18px}
.vb-lightbox__close{
  position:fixed; top:18px; right:18px;
  width:46px; height:46px; border-radius:999px;
  border:1px solid rgba(255,255,255,.3);
  background:rgba(0,0,0,.35); color:#fff; font-size:26px;
}

.vb-reviews{display:grid; grid-template-columns:repeat(3,1fr); gap:16px}
.vb-reviewSource{background:#fff; border:1px solid var(--border); border-radius:var(--radius); padding:16px}
.vb-review{border-top:1px solid var(--border); padding-top:12px; margin-top:12px}
.vb-stars{color:var(--orange); letter-spacing:1px}

.vb-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:16px}
.vb-form{display:grid; gap:12px; max-width:680px}
.vb-form__status{margin:0; color:var(--muted)}

.vb-mapWrap{margin:18px 0 0}
.vb-map{height:420px; border-radius:var(--radius); border:1px solid var(--border); background:#fff}

.vb-services{display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:18px}
.vb-service{background:#fff; border:1px solid var(--border); border-radius:var(--radius); padding:16px; box-shadow:var(--shadow)}
.vb-menu{display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:18px}
.vb-attractions{display:grid; grid-template-columns:repeat(2,1fr); gap:16px; margin-top:18px}

.vb-footer{border-top:1px solid var(--border); padding:44px 0; background:#fff}
.vb-footer__grid{display:grid; grid-template-columns:1fr 1fr 1fr; gap:20px}
.vb-list{list-style:none; margin:0; padding:0; display:grid; gap:10px}
.vb-socials{display:flex; gap:12px; margin:10px 0 0}
.vb-legal{margin-top:14px; color:var(--muted); font-size:.92rem}

.vb-cookie{
  position:fixed; left:0; right:0; bottom:0; z-index:90;
  background:#fff; border-top:1px solid var(--border);
}
.vb-cookie__inner{display:flex; gap:16px; align-items:center; justify-content:space-between; padding:14px 20px}
.vb-cookie__actions{display:flex; gap:10px; align-items:center}

.vb-whatsapp{
  position:fixed; right:18px; bottom:18px; z-index:85;
  background:var(--orange); color:#fff;
  padding:12px 14px; border-radius:999px; box-shadow:var(--shadow);
}

/* Responsive */
@media (max-width: 980px){
  .vb-featuresTop{grid-template-columns:1fr}
  .vb-booking{grid-template-columns:1fr}
  .vb-grid{grid-template-columns:repeat(2,1fr)}
  .vb-reviews{grid-template-columns:1fr}
  .vb-gallery{grid-template-columns:repeat(2,1fr)}
  .vb-footer__grid{grid-template-columns:1fr}
  .vb-services{grid-template-columns:1fr}
  .vb-menu{grid-template-columns:1fr}
  .vb-attractions{grid-template-columns:1fr}

  .vb-navToggle{display:block}
  .vb-nav{position:fixed; top:64px; right:12px; left:12px; background:#fff; border:1px solid var(--border);
    border-radius:18px; padding:12px; display:none; box-shadow:var(--shadow)}
  .vb-nav.is-open{display:block}
  .vb-menu{flex-direction:column; align-items:stretch}
}
