: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;}
.brand-badge{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:12px;background:linear-gradient(135deg,var(--vbl-yellow),#ffd95e);color:#111;font-weight:900;box-shadow:0 10px 24px rgba(244,196,48,.25);}
.nav-link{font-weight:600;}
.lang-switcher{border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.08);border-radius:999px;padding:.2rem;display:flex;gap:.25rem;}
.lang-switcher .btn{border-radius:999px;font-size:.875rem;padding:.4rem .8rem;}
.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-card{border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.08);box-shadow:0 20px 70px rgba(0,0,0,.22);}
.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;}
.placeholder-media{min-height:260px;border-radius:1.35rem;background:linear-gradient(135deg, rgba(244,196,48,.18), rgba(255,255,255,.02)),linear-gradient(135deg, #454b52, #2b2e33);border:1px dashed rgba(255,255,255,.28);color:#fff;}
.placeholder-media.small{ min-height:190px; }
.placeholder-media.tall{ min-height:100%; }
.placeholder-inner{padding:1.4rem;height:100%;display:flex;flex-direction:column;justify-content:flex-end;}
.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;}
.schedule-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;}
.slot-card{border:1px solid var(--vbl-gray-200);border-radius:1rem;background:#fff;overflow:hidden;}
.slot-card .slot-head{background:#f8f9fa;padding:.9rem 1rem;font-weight:800;}.slot-card .slot-body{padding:1rem;}
.slot{display:flex;justify-content:space-between;align-items:center;font-size:.95rem;padding:.55rem 0;border-bottom:1px dashed var(--vbl-gray-200);} .slot:last-child{border-bottom:0;}
.slot .badge{font-size:.72rem;}
.badge-free{background:#e8f7eb;color:#166534;}
.badge-busy{background:#fff1f2;color:#be123c;}
.badge-open{background:#fff8dc;color:#8a6700;}
.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);}
.table-vbl{border-radius:1rem;overflow:hidden;}.table-vbl thead th{background:#2c2f34;color:#fff;border-color:#2c2f34;}.table-vbl tbody tr:nth-child(odd){background:#fbfbfc;}
.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;}
.contact-chip{display:inline-flex;align-items:center;gap:.45rem;border:1px solid var(--vbl-gray-200);border-radius:999px;padding:.55rem .9rem;background:#fff;margin:.2rem;}
.calendar-board{border:1px solid var(--vbl-gray-200);border-radius:1.35rem;overflow:hidden;}
.calendar-board .head{background:#2c2f34;color:#fff;padding:1rem 1.2rem;}
.calendar-day{border-top:1px solid var(--vbl-gray-200);padding:1rem 1.2rem;}
.calendar-row{display:grid;grid-template-columns:110px repeat(3,1fr);gap:.75rem;}
.calendar-time{font-weight:700;color:var(--vbl-gray-700);}
.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;}
.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;}
@media (max-width: 991.98px){.schedule-grid{grid-template-columns:1fr 1fr;}.calendar-row{grid-template-columns:1fr;}}
@media (max-width: 767.98px){.schedule-grid{grid-template-columns:1fr;}.lang-switcher{margin-top:.75rem;}}
