﻿:root{
  --vbl-yellow:#f4c430;
  --vbl-yellow-dark:#d9a600;
  --vbl-gray-900:#202124;
  --vbl-gray-800:#34373c;
  --vbl-gray-700:#4e545b;
  --vbl-gray-600:#6b7280;
  --vbl-gray-300:#d1d5db;
  --vbl-gray-200:#e5e7eb;
  --vbl-gray-100:#f5f6f8;
  --vbl-white:#ffffff;
}
html,body{scroll-behavior:smooth;}
body{
  font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  color:var(--vbl-gray-900);
  background:#fff;
}
body[data-ready="false"]{visibility:hidden;}
.navbar{backdrop-filter:blur(10px);}
.navbar-brand{font-weight:800;letter-spacing:.02em;}
.nav-link{font-weight:600;}
.lang-switcher{border:1px solid rgba(32,33,36,.1);background:rgba(244,196,48,.08);border-radius:999px;padding:.2rem;display:flex;gap:.25rem;}
.lang-switcher .btn{border-radius:999px;font-size:.875rem;padding:.4rem .8rem;}
.lang-switcher .btn-outline-light{color:var(--vbl-gray-800);border-color:transparent;}
.lang-switcher .btn-outline-light:hover{background:rgba(244,196,48,.18);color:var(--vbl-gray-900);}
.hero{position:relative;overflow:hidden;background:radial-gradient(circle at top right, rgba(244,196,48,.32), transparent 24%),linear-gradient(135deg,#2a2d31 0%,#3b3f45 45%,#23262a 100%);color:#fff;}
.hero::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg, rgba(0,0,0,.12), rgba(0,0,0,.22)),url("../img/noise.svg");opacity:.6;pointer-events:none;}
.hero .container,.page-hero .container{position:relative;z-index:2;}
.hero-stats .stat{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);border-radius:1rem;padding:1rem;}
.section-eyebrow{display:inline-block;padding:.4rem .8rem;border-radius:999px;background:rgba(244,196,48,.14);color:#8a6700;font-weight:700;font-size:.875rem;margin-bottom:1rem;}
.section-title{font-size:clamp(1.9rem, 4vw, 3rem);line-height:1.1;font-weight:900;letter-spacing:-.02em;}
.section-subtitle{color:var(--vbl-gray-700);font-size:1.05rem;}
.card-soft{border:1px solid var(--vbl-gray-200);border-radius:1.35rem;box-shadow:0 16px 44px rgba(15,23,42,.06);}
.card-soft:hover{transform:translateY(-2px);transition:.25s ease;}
.metric-box{border-radius:1.2rem;border:1px solid var(--vbl-gray-200);padding:1.25rem;background:#fff;height:100%;}
.metric-box h3{font-weight:900;margin-bottom:.15rem;}
.feature-icon{width:52px;height:52px;display:inline-flex;align-items:center;justify-content:center;border-radius:1rem;background:rgba(244,196,48,.14);color:#8a6700;font-size:1.3rem;}
.timeline-mini{border-left:3px solid var(--vbl-yellow);padding-left:1rem;}
.price-banner{background:linear-gradient(135deg,var(--vbl-yellow),#ffd95e);color:#111;border-radius:1.35rem;box-shadow:0 18px 48px rgba(244,196,48,.28);}
.organizer-checks li,.list-checks li{list-style:none;position:relative;padding-left:1.9rem;margin-bottom:.7rem;}
.organizer-checks li::before,.list-checks li::before{content:"✓";position:absolute;left:0;top:0;color:#8a6700;font-weight:900;}
.cta-band{background:linear-gradient(135deg,#272a30,#454b52);color:#fff;border-radius:1.6rem;overflow:hidden;}
.footer{background:#1e2125;color:#d7d9de;}
.footer a{color:#fff;text-decoration:none;}
.admin-card{background:#fff;border:1px solid var(--vbl-gray-200);border-radius:1.2rem;padding:1.25rem;color:var(--vbl-gray-900);}
.admin-card .list-checks li,.admin-card .organizer-checks li{color:var(--vbl-gray-800);}
.calendar-board{border:1px solid var(--vbl-gray-200);border-radius:1.35rem;overflow:hidden;}
.booking-pill{border-radius:999px;padding:.45rem .8rem;font-size:.87rem;display:inline-flex;justify-content:center;align-items:center;width:100%;}
.booking-pill.free{background:#e8f7eb;color:#166534;}
.booking-pill.busy{background:#fff1f2;color:#be123c;}
.booking-pill.open{background:#fff8dc;color:#8a6700;}
.booking-pill.disabled{background:#eef2f7;color:#64748b;}
.page-hero{position:relative;background:linear-gradient(135deg,#2a2d31,#40454d);color:#fff;padding:7rem 0 4rem;}
.page-hero::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at top right, rgba(244,196,48,.25), transparent 24%),url("../img/noise.svg");opacity:.55;}
.article-card{border:1px solid var(--vbl-gray-200);border-radius:1.35rem;overflow:hidden;height:100%;}
.article-body{padding:1.25rem;}
.kicker{display:inline-block;font-size:.8rem;letter-spacing:.06em;text-transform:uppercase;font-weight:800;color:#8a6700;}
.sticky-cta{position:sticky;top:92px;}
.cursor-pointer{cursor:pointer;}
.media-frame{position:relative;overflow:hidden;border-radius:1.35rem;background:#fff;box-shadow:0 10px 24px rgba(0,0,0,.06);}
.media-frame img{display:block;width:100%;height:auto;transition:transform .35s ease;}
.media-frame:hover img{transform:scale(1.02);}
.event-photo-card{border:1px solid rgba(255,255,255,.12);}
.gallery-slider .carousel-inner{border-radius:1.35rem;box-shadow:0 18px 48px rgba(15,23,42,.12);}
.gallery-slider .carousel-item img{height:min(72vh, 640px);object-fit:cover;}
.gallery-slide{position:relative;}
.carousel-caption-vbl{position:absolute;left:1.5rem;right:1.5rem;bottom:1.5rem;padding:1rem 1.1rem;border-radius:1rem;background:rgba(20,22,25,.72);color:#fff;font-size:.95rem;}
.gallery-card{border:1px solid var(--vbl-gray-200);border-radius:1.2rem;overflow:hidden;background:#fff;cursor:pointer;box-shadow:0 10px 24px rgba(15,23,42,.05);transition:transform .25s ease, box-shadow .25s ease;}
.gallery-card:hover{transform:translateY(-2px);box-shadow:0 16px 32px rgba(15,23,42,.08);}
.gallery-card-media{overflow:hidden;}
.gallery-card-media img{display:block;width:100%;height:260px;object-fit:cover;transition:transform .35s ease;}
.gallery-card:hover .gallery-card-media img{transform:scale(1.03);}
.gallery-card-body{padding:1rem 1.1rem;color:var(--vbl-gray-700);}
.modal-image-caption{max-width:840px;margin-left:auto;margin-right:auto;}
.contact-link-card{background:#fff;border-radius:1rem;padding:16px 18px;transition:.2s ease;border:1px solid rgba(0,0,0,.06);}
.contact-link-card:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(0,0,0,.08);}
.contact-link-icon{font-size:1.25rem;color:#f5a623;min-width:24px;text-align:center;}
.contact-map-card{background:#fff;}
.review-highlight{background:linear-gradient(135deg,#2a2d31,#40454d);color:#fff;border-radius:1.6rem;padding:1.75rem;position:sticky;top:92px;box-shadow:0 18px 48px rgba(15,23,42,.14);}
.review-highlight .section-subtitle{color:rgba(255,255,255,.72);}
.review-score-card{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);border-radius:1.2rem;padding:1rem 1.1rem;}
.review-score-value{font-size:clamp(2.4rem, 6vw, 3.6rem);font-weight:900;line-height:1;}
.review-score-label{color:rgba(255,255,255,.72);font-size:.95rem;margin-top:.35rem;}
.review-stars{display:flex;gap:.3rem;color:var(--vbl-yellow);font-size:1rem;}
.review-card{background:#fff;border:1px solid var(--vbl-gray-200);border-radius:1.25rem;padding:1.25rem 1.2rem;box-shadow:0 12px 30px rgba(15,23,42,.06);color:var(--vbl-gray-800);height:100%;}
.review-card p{color:var(--vbl-gray-800);}
@media (max-width: 991.98px){
  .sticky-cta{position:static;}
  .review-highlight{position:static;}
  .gallery-slider .carousel-item img{height:420px;}
}
@media (max-width: 767.98px){
  .lang-switcher{margin-top:.75rem;}
  .carousel-caption-vbl{left:1rem;right:1rem;bottom:1rem;font-size:.88rem;}
  .gallery-card-media img{height:220px;}
}
