:root{
  --vv-green:#173f36;
  --vv-green-2:#21584c;
  --vv-cream:#fff7ed;
  --vv-paper:#fffdf9;
  --vv-coral:#ff6f61;
  --vv-coral-dark:#e75c50;
  --vv-yellow:#f7c35f;
  --vv-ink:#17302b;
  --vv-muted:#6d776f;
  --vv-border:#e9e0d5;
  --vv-shadow:0 24px 60px rgba(23,63,54,.14);
  --vv-radius:28px;
  --vv-shell:min(1180px, calc(100% - 40px));
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--vv-ink);background:var(--vv-paper);line-height:1.55}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button,input,select{font:inherit}.vv-shell{width:var(--vv-shell);margin:0 auto}.vv-skip{position:absolute;left:-9999px;top:auto}.vv-skip:focus{left:16px;top:16px;background:#fff;padding:10px 14px;z-index:9999}.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.vv-header{position:sticky;top:0;z-index:100;background:rgba(255,253,249,.92);backdrop-filter:blur(18px);border-bottom:1px solid rgba(23,63,54,.06);transition:.25s}.vv-header.is-scrolled{box-shadow:0 10px 30px rgba(23,63,54,.08)}.vv-topbar{background:var(--vv-green);color:#fff;font-size:.85rem}.vv-topbar__inner{min-height:34px;display:flex;align-items:center;justify-content:space-between;gap:18px}.vv-nav{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:28px}.vv-brand{display:inline-flex;align-items:center;gap:11px;font-weight:800;letter-spacing:-.04em}.vv-brand__text{font-size:1.38rem}.vv-brand__text span{color:var(--vv-coral)}.vv-menu{display:flex;align-items:center;gap:28px}.vv-menu .mod-menu{display:flex;gap:24px;list-style:none;margin:0;padding:0}.vv-menu .mod-menu a{font-weight:650;color:#29443d}.vv-menu .mod-menu a:hover{color:var(--vv-coral)}.vv-nav-cta{background:var(--vv-green);color:#fff!important;padding:12px 17px;border-radius:999px;font-weight:750}.vv-menu-toggle{display:none;background:none;border:0;padding:8px}.vv-menu-toggle span:not(.visually-hidden){display:block;width:25px;height:2px;background:var(--vv-green);margin:5px 0}
.vv-hero{position:relative;overflow:hidden;background:linear-gradient(135deg,#fff7ed 0%,#fffdf9 50%,#f9efe3 100%);padding:84px 0 64px}.vv-hero__grid{position:relative;z-index:2;display:grid;grid-template-columns:1.16fr .84fr;align-items:center;gap:70px}.vv-eyebrow,.vv-kicker{display:inline-block;text-transform:uppercase;letter-spacing:.13em;font-size:.75rem;font-weight:850;color:var(--vv-coral)}.vv-hero h1{font-size:clamp(3.2rem,7vw,6.2rem);line-height:.92;letter-spacing:-.065em;margin:18px 0 26px;color:var(--vv-green);max-width:760px}.vv-hero h1 em{font-family:Georgia,serif;font-weight:500;color:var(--vv-coral);font-style:italic}.vv-lead{font-size:1.18rem;max-width:650px;color:#4e5e58}.vv-trust-row{display:flex;flex-wrap:wrap;gap:14px 22px;margin-top:28px;font-size:.92rem;font-weight:650;color:#3f564f}.vv-book-card{background:#fff;border:1px solid rgba(23,63,54,.08);border-radius:32px;padding:28px;box-shadow:var(--vv-shadow);transform:rotate(1.2deg)}.vv-book-card__head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;padding-bottom:22px;border-bottom:1px dashed var(--vv-border);margin-bottom:22px}.vv-book-card__head strong{font-size:1rem;color:var(--vv-muted)}.vv-book-card__head strong span{font-size:2rem;color:var(--vv-green);letter-spacing:-.04em}.vv-mini{font-size:.8rem;font-weight:800;color:var(--vv-coral)}.vv-book-form{display:grid;gap:14px}.vv-book-form label span{display:block;font-size:.78rem;font-weight:800;margin-bottom:6px;color:#52645e}.vv-book-form input,.vv-book-form select{width:100%;border:1px solid var(--vv-border);border-radius:15px;padding:14px 15px;background:#fff;color:var(--vv-ink)}.vv-primary{display:inline-flex;align-items:center;justify-content:center;gap:12px;border:0;border-radius:16px;background:var(--vv-coral);color:#fff;padding:16px 20px;font-weight:850;cursor:pointer;box-shadow:0 10px 24px rgba(255,111,97,.25);transition:.2s}.vv-primary:hover{transform:translateY(-2px);background:var(--vv-coral-dark)}.vv-book-form small{color:#7b837e;font-size:.76rem;text-align:center}.vv-blob{position:absolute;border-radius:50%;filter:blur(1px);opacity:.65}.vv-blob--one{width:480px;height:480px;background:#ffe4b8;right:-180px;top:-120px}.vv-blob--two{width:240px;height:240px;background:#d7e9df;left:-100px;bottom:-70px}
.vv-intro{padding:90px 0 50px}.vv-intro__grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:end}.vv-intro h2,.vv-section-head h2,.vv-reveal h2,.vv-cta h2{font-size:clamp(2.2rem,4vw,4.3rem);letter-spacing:-.055em;line-height:1.02;margin:12px 0 0;color:var(--vv-green)}.vv-intro p{font-size:1.2rem;color:#596862;margin:0 0 6px}
.vv-steps{padding:55px 0 100px}.vv-section-head{max-width:760px;margin-bottom:34px}.vv-steps__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.vv-step{position:relative;border:1px solid var(--vv-border);border-radius:var(--vv-radius);padding:32px;background:#fff}.vv-step--accent{background:var(--vv-cream);transform:translateY(-12px)}.vv-step__num{position:absolute;right:24px;top:18px;font-size:3rem;font-weight:900;color:#efe8df}.vv-step__icon{font-size:2rem;margin-bottom:28px}.vv-step h3,.vv-choice h3{font-size:1.35rem;margin:0 0 10px;letter-spacing:-.025em}.vv-step p,.vv-choice p{margin:0;color:var(--vv-muted)}
.vv-choices{padding:90px 0;background:#f7efe5}.vv-section-head--split{max-width:none;display:grid;grid-template-columns:1.2fr .8fr;gap:70px;align-items:end}.vv-section-head--split p{font-size:1.1rem;color:#66716d;margin:0 0 8px}.vv-choice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.vv-choice{position:relative;background:#fff;border-radius:30px;padding:30px;min-height:340px;display:flex;flex-direction:column;border:1px solid rgba(23,63,54,.07);box-shadow:0 10px 35px rgba(23,63,54,.06)}.vv-choice--dark{background:var(--vv-green);color:#fff}.vv-choice--dark p{color:#d8e5df}.vv-choice__badge{align-self:flex-start;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;font-weight:850;background:var(--vv-cream);color:var(--vv-coral);padding:7px 10px;border-radius:999px}.vv-choice__symbol{font-size:3.4rem;font-weight:900;letter-spacing:-.08em;margin:32px 0 22px;color:var(--vv-coral)}.vv-choice strong{margin-top:auto;padding-top:26px;color:var(--vv-coral)}
.vv-reveal{background:var(--vv-green);color:#fff;padding:100px 0}.vv-reveal__grid{display:grid;grid-template-columns:.92fr 1.08fr;gap:70px;align-items:center}.vv-reveal h2{color:#fff}.vv-kicker--light{color:var(--vv-yellow)}.vv-reveal__card{position:relative;min-height:420px;border-radius:38px;background:radial-gradient(circle at 30% 30%,#356c5f 0 8%,transparent 9%),linear-gradient(135deg,#285a4f,#173f36);overflow:hidden;border:1px solid rgba(255,255,255,.12);box-shadow:inset 0 0 0 1px rgba(255,255,255,.03)}.vv-reveal__card:before,.vv-reveal__card:after{content:"";position:absolute;border:2px dashed rgba(255,255,255,.12);border-radius:50%}.vv-reveal__card:before{width:360px;height:240px;left:-50px;top:110px;transform:rotate(-12deg)}.vv-reveal__card:after{width:260px;height:320px;right:-40px;top:-20px}.vv-pin{position:absolute;left:50%;top:44%;transform:translate(-50%,-50%);width:92px;height:92px;border-radius:50% 50% 50% 0;background:var(--vv-coral);display:grid;place-items:center;font-size:3rem;font-weight:900;transform-origin:center;rotate:-45deg;box-shadow:0 18px 34px rgba(0,0,0,.2)}.vv-pin{color:#fff}.vv-pin::first-letter{rotate:45deg}.vv-reveal__caption{position:absolute;bottom:24px;left:24px;background:rgba(255,255,255,.12);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.14);padding:10px 13px;border-radius:999px;font-weight:750}.vv-mapdot{position:absolute;width:14px;height:14px;background:var(--vv-yellow);border-radius:50%;box-shadow:0 0 0 8px rgba(247,195,95,.12)}.vv-mapdot--a{left:22%;top:28%}.vv-mapdot--b{right:20%;top:20%}.vv-mapdot--c{right:27%;bottom:22%}.vv-timeline{margin-top:34px;display:grid;gap:18px}.vv-timeline>div{display:grid;grid-template-columns:56px 1fr;gap:18px;align-items:center}.vv-timeline span{display:grid;place-items:center;width:56px;height:56px;border-radius:50%;background:var(--vv-coral);font-size:1.2rem;font-weight:900}.vv-timeline p{margin:0;color:#d5e1dd}.vv-timeline strong{color:#fff}
.vv-content{padding:50px 0}.vv-content .blog,.vv-inner{padding:55px 0}.vv-content .item-page,.vv-inner .item-page{max-width:860px}.vv-content h1,.vv-inner h1{font-size:clamp(2.2rem,5vw,4.6rem);letter-spacing:-.05em;color:var(--vv-green)}.vv-content .card,.vv-inner .card{border:1px solid var(--vv-border);border-radius:20px;padding:20px;background:#fff}
.vv-cta{padding:90px 0;background:var(--vv-coral);color:#fff}.vv-cta__inner{display:flex;align-items:flex-end;justify-content:space-between;gap:40px}.vv-cta h2{color:#fff;max-width:780px}.vv-cta .vv-kicker{color:#ffe8b8}.vv-primary--light{background:#fff;color:var(--vv-green);box-shadow:none}.vv-primary--light:hover{background:var(--vv-cream)}
.vv-footer{background:#102e27;color:#d7e4df;padding:52px 0}.vv-footer__grid{display:grid;grid-template-columns:1fr auto;gap:25px;align-items:start}.vv-brand--footer{color:#fff}.vv-footer p{color:#aebfba}.vv-footer .mod-menu{list-style:none;padding:0;margin:0;display:flex;gap:20px}.vv-footer__meta{grid-column:1/-1;padding-top:24px;border-top:1px solid rgba(255,255,255,.1);font-size:.8rem;color:#92a8a1}
.vv-error{min-height:100vh;display:grid;place-items:center;background:var(--vv-cream);padding:30px}.vv-error__box{max-width:620px;text-align:center;background:#fff;border-radius:34px;padding:50px;box-shadow:var(--vv-shadow)}.vv-error__box img{margin:0 auto 20px}.vv-error__box h1{font-size:5rem;margin:0;color:var(--vv-coral)}.vv-error__box h2{font-size:2rem;letter-spacing:-.04em;color:var(--vv-green)}.vv-component{padding:30px;background:#fff}
@media (max-width:900px){.vv-hero__grid,.vv-intro__grid,.vv-reveal__grid,.vv-section-head--split{grid-template-columns:1fr}.vv-hero{padding-top:50px}.vv-book-card{transform:none}.vv-steps__grid,.vv-choice-grid{grid-template-columns:1fr}.vv-step--accent{transform:none}.vv-menu-toggle{display:block}.vv-menu{position:absolute;left:20px;right:20px;top:100%;display:none;flex-direction:column;align-items:stretch;background:#fff;padding:20px;border-radius:18px;box-shadow:var(--vv-shadow)}.vv-menu.is-open{display:flex}.vv-menu .mod-menu{flex-direction:column}.vv-cta__inner{align-items:flex-start;flex-direction:column}.vv-footer__grid{grid-template-columns:1fr}.vv-topbar__inner{justify-content:center}.vv-topbar__inner>*:not(:first-child){display:none}}
@media (max-width:600px){:root{--vv-shell:min(100% - 26px,1180px)}.vv-nav{min-height:70px}.vv-brand__text{font-size:1.15rem}.vv-brand img{width:36px;height:36px}.vv-hero h1{font-size:3.1rem}.vv-book-card{padding:20px;border-radius:24px}.vv-intro,.vv-reveal,.vv-choices,.vv-cta{padding-top:70px;padding-bottom:70px}.vv-steps{padding-bottom:70px}.vv-reveal__card{min-height:320px}.vv-footer .mod-menu{flex-direction:column}.vv-book-card__head{align-items:flex-start;flex-direction:column}}
/* v2: strakke booking flow */
.vv-book-card--straight{transform:none!important;rotate:none!important;align-self:center;border:1px solid rgba(18,63,53,.08);box-shadow:0 24px 60px rgba(18,63,53,.16)}
.vv-flow{display:none}.vv-flow.is-active{display:block}.vv-flow-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.vv-flow-progress{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin:12px 0 20px}.vv-flow-progress i{height:4px;border-radius:9px;background:#e8e1d7}.vv-flow-progress i.is-active{background:#ff685d}.vv-flow-title{display:flex;gap:12px;align-items:center;margin-bottom:14px}.vv-flow-title button{border:0;background:#f3eee7;width:34px;height:34px;border-radius:50%;cursor:pointer}.vv-flow-title h3{margin:2px 0 0;font-size:23px}.vv-pick{display:grid!important;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;border:1px solid #e7ddd0;border-radius:14px;padding:13px!important;margin:9px 0;cursor:pointer}.vv-pick:has(input:checked){border-color:#ff685d;background:#fff6f3}.vv-pick span{display:flex;flex-direction:column}.vv-pick small{font-size:11px;color:#6e7773}.vv-pick strong{font-size:12px}.vv-flow-summary{background:#f7f3ec;border-radius:14px;padding:16px;margin:10px 0}.vv-flow-summary p{margin:6px 0}.vv-flow-total{display:flex;justify-content:space-between;align-items:end;margin:18px 0}.vv-flow-total strong{font-size:28px}.vv-book-card button:disabled{opacity:.45;cursor:not-allowed}
@media(max-width:700px){.vv-flow-grid{grid-template-columns:1fr}.vv-book-card--straight{transform:none!important}}

/* v2.1 booking card refinement */
.vv-book-card--straight{
  transform:none!important;
  rotate:0deg!important;
  width:100%;
  max-width:460px;
  justify-self:end;
  padding:30px 30px 26px;
  border-radius:28px;
  box-shadow:0 24px 60px rgba(23,63,54,.14);
}
.vv-book-card__head{align-items:center;margin-bottom:18px;padding-bottom:18px}
.vv-book-card__head strong{white-space:nowrap}
.vv-book-card__head strong span{font-size:1.85rem}
.vv-flow{width:100%}
.vv-flow>label,.vv-flow-grid label{display:block;width:100%;margin:0}
.vv-flow>label>span,.vv-flow-grid label>span{
  display:block;
  margin:0 0 7px;
  color:#405750;
  font-size:.78rem;
  font-weight:800;
}
.vv-flow input[type="date"],
.vv-flow select{
  display:block;
  width:100%;
  height:52px;
  margin:0;
  padding:0 14px;
  border:1px solid #ddd4c9;
  border-radius:14px;
  background:#fff;
  color:var(--vv-ink);
  box-shadow:none;
  outline:none;
  appearance:auto;
}
.vv-flow input[type="date"]{padding-right:12px}
.vv-flow input[type="date"]:focus,.vv-flow select:focus{border-color:var(--vv-coral);box-shadow:0 0 0 3px rgba(255,111,97,.12)}
.vv-flow-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;margin-top:14px}
.vv-flow .vv-primary{width:100%;min-height:52px;margin-top:16px;border-radius:14px}
.vv-flow>small{display:block;margin-top:10px;text-align:center;color:#7a837e;font-size:.75rem;line-height:1.45}
.vv-flow-progress{margin:2px 0 22px;gap:7px}.vv-flow-progress i{height:4px}
.vv-flow-title{align-items:flex-start;margin-bottom:16px}.vv-flow-title h3{line-height:1.15}.vv-flow-title small{display:block;color:var(--vv-coral);font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.vv-pick{min-height:72px}.vv-pick input{width:18px;height:18px;accent-color:var(--vv-coral)}
.vv-pick span small{text-align:left;margin-top:2px}.vv-pick strong{text-align:right;white-space:nowrap}
.vv-flow-summary{line-height:1.45}.vv-flow-total{padding-top:4px;border-top:1px solid var(--vv-border)}
@media(max-width:900px){.vv-book-card--straight{justify-self:stretch;max-width:620px;margin:0 auto}.vv-hero__grid{gap:42px}}
@media(max-width:560px){.vv-book-card--straight{padding:22px 18px 20px;border-radius:22px}.vv-book-card__head{align-items:flex-start;gap:8px}.vv-flow-grid{grid-template-columns:1fr}.vv-flow input[type="date"],.vv-flow select{height:50px}}


/* v2.2 — rustiger, luxer en beter leesbare keuzes */
.vv-book-card--straight{
  max-width:485px;
  padding:32px 30px 28px;
}
.vv-flow-title{gap:14px;margin-bottom:18px}
.vv-flow-title button{flex:0 0 36px;width:36px;height:36px}
.vv-flow-title h3{font-size:24px;letter-spacing:-.025em}
.vv-pick{
  grid-template-columns:22px minmax(0,1fr) auto;
  gap:14px;
  min-height:82px;
  padding:15px 16px!important;
  border-radius:16px;
  transition:border-color .18s ease,background .18s ease,box-shadow .18s ease,transform .18s ease;
}
.vv-pick:hover{border-color:#cfc5b8;transform:translateY(-1px)}
.vv-pick:has(input:checked){box-shadow:0 8px 24px rgba(255,111,97,.08)}
.vv-pick__copy{
  display:grid!important;
  grid-template-columns:1fr!important;
  align-content:center;
  gap:4px;
  min-width:0;
  line-height:1.25;
}
.vv-pick__copy b{
  display:block;
  font-size:.91rem;
  line-height:1.25;
  color:var(--vv-green);
  white-space:normal;
}
.vv-pick__copy small{
  display:block!important;
  margin:0!important;
  font-size:.73rem!important;
  line-height:1.4!important;
  color:#69736f!important;
  text-align:left!important;
  white-space:normal;
}
.vv-pick__price{
  align-self:center;
  min-width:86px;
  max-width:112px;
  text-align:right!important;
  font-size:.74rem!important;
  line-height:1.3;
  color:var(--vv-green);
  white-space:normal!important;
}
.vv-flow[data-flow="2"]>.vv-primary{margin-top:18px}
.vv-flow[data-flow="3"]>small{display:block;text-align:left;margin:8px 0 0}
.vv-flow-summary p{font-size:.9rem}
.vv-flow-total span{font-size:.82rem;color:#68736f;font-weight:700}
.vv-flow-total strong{color:var(--vv-green)}
.vv-hero:has(.vv-book-card--straight){min-height:640px}
@media(max-width:560px){
  .vv-pick{grid-template-columns:20px minmax(0,1fr);min-height:88px}
  .vv-pick__price{grid-column:2;text-align:left!important;max-width:none;margin-top:2px;color:var(--vv-coral)}
}
\n\n/* v2.3 — scherpere boekingstypografie + rustigere hero-overlay */
.vv-book-card--straight{
  -webkit-font-smoothing:auto;
  text-rendering:optimizeLegibility;
}
.vv-book-card__head{
  gap:16px;
}
.vv-mini{
  font-size:.86rem;
  line-height:1.2;
  font-weight:850;
  letter-spacing:-.01em;
  color:#ff5f52;
}
.vv-book-card__head strong{
  font-size:.88rem;
  line-height:1.2;
  font-weight:750;
  color:#405750;
}
.vv-book-card__head strong span{
  font-size:1.95rem;
  line-height:1;
  font-weight:900;
  color:#123f35;
}
.vv-flow>label>span,.vv-flow-grid label>span{
  margin-bottom:8px;
  font-size:.84rem;
  line-height:1.15;
  font-weight:850;
  color:#29483f;
}
.vv-flow input[type="date"],
.vv-flow select{
  height:54px;
  padding-left:15px;
  padding-right:15px;
  font-size:1rem;
  line-height:1.2;
  font-weight:600;
  color:#173f36;
  border-color:#d9cfc3;
}
.vv-flow .vv-primary{
  min-height:54px;
  font-size:.96rem;
  line-height:1.15;
  font-weight:850;
  letter-spacing:-.01em;
}
.vv-flow>small{
  margin-top:11px;
  font-size:.80rem;
  line-height:1.4;
  font-weight:600;
  color:#66746f;
}
.vv-flow-title small{
  font-size:.75rem;
  line-height:1.2;
  font-weight:850;
}
.vv-flow-title h3{
  margin-top:3px;
  font-size:1.48rem;
  line-height:1.12;
  font-weight:850;
  color:#173f36;
}
.vv-pick__copy b{
  font-size:.96rem;
  line-height:1.22;
  font-weight:850;
  letter-spacing:-.01em;
}
.vv-pick__copy small{
  margin-top:4px!important;
  font-size:.80rem!important;
  line-height:1.36!important;
  font-weight:550;
  color:#596963!important;
}
.vv-pick__price{
  min-width:92px;
  font-size:.80rem!important;
  line-height:1.3;
  font-weight:850;
}
.vv-flow-summary p{
  font-size:.94rem;
  line-height:1.45;
  color:#344c45;
}
.vv-flow-total span{
  font-size:.86rem;
  font-weight:750;
}
.vv-flow-total strong{
  font-size:1.9rem;
  font-weight:900;
}
@media(max-width:560px){
  .vv-mini{font-size:.82rem}
  .vv-book-card__head strong{font-size:.82rem}
  .vv-book-card__head strong span{font-size:1.7rem}
  .vv-flow>label>span,.vv-flow-grid label>span{font-size:.82rem}
  .vv-flow input[type="date"],.vv-flow select{font-size:1rem}
  .vv-pick__copy b{font-size:.94rem}
  .vv-pick__copy small{font-size:.79rem!important}
}


/* v2.4 booking flow: ontbijt, regioselectie, diner en belastingen */
.vv-included{display:flex;align-items:center;gap:8px;margin:-6px 0 14px;padding:10px 12px;border-radius:13px;background:#eef7f2;color:#173f36;font-size:.84rem;font-weight:650}
.vv-region-box{margin:8px 0 12px;padding:14px;border:1px solid #dfe8e3;border-radius:16px;background:#f7fbf9}
.vv-region-box[hidden]{display:none}
.vv-region-box label>span{display:block;font-size:.82rem;font-weight:800;margin-bottom:7px}
.vv-region-box select{width:100%;min-height:46px;border:1px solid var(--vv-border);border-radius:12px;padding:0 12px;background:#fff;color:var(--vv-ink);font-weight:650}
.vv-region-box small{display:block;margin-top:7px;text-align:left!important;font-size:.75rem!important;color:#687872!important}
.vv-flow-error{margin:10px 0;padding:10px 12px;border-radius:12px;background:#fff0ed;color:#b43f35;font-size:.8rem;font-weight:750}
.vv-flow-error[hidden]{display:none}
.vv-summary-row{display:grid;grid-template-columns:110px 1fr;gap:16px;padding:9px 0;border-bottom:1px solid #eee7dd;font-size:.84rem}
.vv-summary-row span{color:#6c7873}.vv-summary-row strong{text-align:right;color:var(--vv-green)}
.vv-tax-note{margin:12px 0 15px;padding:11px 12px;background:#faf6ef;border-radius:12px;color:#5f6c67;font-size:.76rem;line-height:1.45}
.vv-guest-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.vv-flow label>span{display:block;font-size:.8rem;font-weight:800;margin-bottom:6px;color:#425850}
.vv-flow input[type=text],.vv-flow input[type=email],.vv-flow input[type=tel]{width:100%;min-height:46px;border:1px solid var(--vv-border);border-radius:13px;padding:0 13px;margin-bottom:10px;color:var(--vv-ink);background:#fff}
.vv-consent{display:grid!important;grid-template-columns:20px 1fr;gap:10px;align-items:start;margin:6px 0 12px}
.vv-consent input{margin-top:3px}.vv-consent span{font-size:.77rem!important;font-weight:600!important;line-height:1.45}
.vv-booking-success{text-align:center;padding:18px 6px 4px}.vv-booking-success[hidden]{display:none}
.vv-success-icon{width:58px;height:58px;margin:4px auto 14px;border-radius:50%;display:grid;place-items:center;background:#e8f5ee;color:#1d684f;font-weight:900;font-size:1.7rem}
.vv-booking-success h3{margin:0 0 7px;font-size:1.5rem}.vv-booking-success p{margin:0 auto 18px;max-width:330px;color:#66736e;font-size:.86rem}
.vv-secondary{border:1px solid #dcd5ca;background:#fff;color:var(--vv-green);border-radius:13px;padding:11px 15px;font-weight:800;cursor:pointer}
@media(max-width:600px){.vv-guest-grid{grid-template-columns:1fr}.vv-summary-row{grid-template-columns:92px 1fr}}


/* v2.5 - prijsstaffel, sterkere hero, regio-kaart en mobiel */
.vv-lead--mobile{display:none}
.vv-price-note{display:block!important;margin-top:10px!important;color:#586963!important;font-weight:650!important;font-size:.77rem!important}
.vv-hero__copy{position:relative}
.vv-hero__copy:before{content:"";position:absolute;z-index:-1;inset:-34px -26px -34px -34px;background:linear-gradient(90deg,rgba(255,253,249,.76),rgba(255,253,249,.50) 68%,rgba(255,253,249,0));border-radius:28px;filter:blur(.1px)}
.vv-hero__copy .vv-lead{color:#304b43;font-weight:520;text-shadow:0 1px 0 rgba(255,255,255,.7)}
.vv-trust-row{color:#203f37;font-weight:760}
.vv-region-map-mini{margin:10px 0 14px;padding:14px;border:1px solid #e6ded4;border-radius:18px;background:#fff}
.vv-region-map-mini[hidden]{display:none}.vv-region-map-mini__title{font-size:.8rem;font-weight:850;margin-bottom:10px}
.vv-nl-map{position:relative;width:100%;aspect-ratio:4/3;max-height:230px;border-radius:18px;background:#f4f0e9;overflow:hidden;border:1px solid #e7ded2}
.vv-map-region{position:absolute;z-index:2;border:0;border-radius:999px;padding:7px 10px;font-size:.72rem;font-weight:850;color:#173f36;background:#fff;box-shadow:0 4px 16px rgba(23,63,54,.12)}
button.vv-map-region{cursor:pointer}.vv-map-region.is-selected{background:var(--vv-coral);color:#fff}
.vv-map-region--north{top:13%;left:46%}.vv-map-region--east{top:37%;left:56%}.vv-map-region--mid{top:49%;left:40%}.vv-map-region--west{top:43%;left:10%}.vv-map-region--south{top:70%;left:42%}
.vv-region-legend{display:grid;gap:3px;margin-top:11px}.vv-region-legend p{margin:0;font-size:.72rem;line-height:1.35;color:#5e6c67}
.vv-region-section{padding:90px 0;background:#fffdf9}.vv-region-section__grid{display:grid;grid-template-columns:1fr .8fr;gap:70px;align-items:center}.vv-region-section h2{font-size:clamp(2.2rem,4vw,4rem);letter-spacing:-.05em;line-height:1.02;margin:12px 0 20px}.vv-region-section>div p{color:#5c6b65}.vv-region-legend--page p{font-size:.92rem;padding:7px 0;border-bottom:1px solid #eee5da}.vv-nl-map--large{max-height:none;min-height:430px}.vv-nl-map--large .vv-map-region{font-size:.9rem;padding:9px 13px}
@media(max-width:900px){
  .vv-region-section__grid{grid-template-columns:1fr}.vv-nl-map--large{min-height:360px}
}
@media(max-width:600px){
  .vv-hero{padding:28px 0 32px!important;background-position:center!important}
  .vv-hero__grid{gap:18px!important}
  .vv-hero__copy{padding:0 4px}
  .vv-hero__copy:before{inset:-14px -8px -12px -8px;background:rgba(255,253,249,.78);border-radius:20px}
  .vv-eyebrow{font-size:.64rem}
  .vv-hero h1{font-size:2.45rem!important;line-height:.94!important;margin:10px 0 12px!important}
  .vv-lead--desktop{display:none}.vv-lead--mobile{display:block;font-size:.98rem!important;line-height:1.4;margin:0 0 13px}
  .vv-trust-row{display:none!important}
  .vv-book-card{margin-top:0!important;padding:18px!important;border-radius:22px!important}
  .vv-book-card__head{margin-bottom:12px!important;padding-bottom:12px!important;flex-direction:row!important;align-items:flex-end!important}
  .vv-book-card__head strong span{font-size:1.65rem!important}
  .vv-included{margin:0 0 10px!important;padding:8px 10px!important}
  .vv-flow-progress{margin:8px 0 13px!important}
  .vv-region-map-mini .vv-nl-map{max-height:190px}
  .vv-region-section{padding:60px 0}.vv-nl-map--large{min-height:310px}
}


/* v2.6 - prijsbalk, compacte regiokeuze en regio-popup */
.vv-pricebar{background:#f6eee3;border-bottom:1px solid #e7ddd0;position:relative;z-index:15}
.vv-pricebar__inner{min-height:62px;display:flex;align-items:center;justify-content:center;gap:10px 14px}
.vv-pricebar__label{font-size:.76rem;font-weight:850;text-transform:uppercase;letter-spacing:.08em;color:#6a756f;margin-right:5px}
.vv-price-chip{border:1px solid #dfd5c9;background:#fff;border-radius:999px;padding:8px 14px;display:flex;gap:8px;align-items:center;color:var(--vv-green);cursor:pointer;transition:.18s}
.vv-price-chip b{font-size:.78rem}.vv-price-chip strong{font-size:.88rem}
.vv-price-chip:hover,.vv-price-chip.is-active{background:var(--vv-green);border-color:var(--vv-green);color:#fff}
.vv-pricebar__included{font-size:.78rem;font-weight:750;color:#38574e;margin-left:4px}
.vv-live-price{display:flex;align-items:baseline;gap:5px;white-space:nowrap}.vv-live-price [data-stay-label]{font-size:.82rem;color:#65726d}.vv-live-price [data-stay-price]{font-size:1.85rem!important;color:var(--vv-green)}
.vv-region-quick{margin:8px 0 12px;padding:11px 12px;border:1px solid #e6ded4;border-radius:15px;background:#faf8f4}
.vv-region-quick[hidden]{display:none}.vv-region-quick__label{display:block;font-size:.75rem;font-weight:800;margin-bottom:8px;color:#53645e}
.vv-region-quick__buttons{display:flex;flex-wrap:wrap;gap:6px}.vv-region-quick__buttons button{border:1px solid #ded5ca;background:#fff;color:var(--vv-green);border-radius:999px;padding:7px 9px;font-size:.72rem;font-weight:800;cursor:pointer}
.vv-region-quick__buttons button.is-selected{background:var(--vv-coral);border-color:var(--vv-coral);color:#fff}
.vv-map-open{margin-top:9px;border:0;background:transparent;color:var(--vv-coral);font-size:.75rem;font-weight:850;padding:0;cursor:pointer}
.vv-modal[hidden]{display:none}.vv-modal{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:20px}.vv-modal__backdrop{position:absolute;inset:0;background:rgba(10,35,29,.68);backdrop-filter:blur(4px)}.vv-modal__dialog{position:relative;z-index:1;width:min(760px,100%);max-height:calc(100vh - 40px);overflow:auto;background:#fffdf9;border-radius:26px;padding:28px;box-shadow:0 30px 80px rgba(0,0,0,.25)}.vv-modal__close{position:absolute;right:16px;top:14px;width:40px;height:40px;border:0;border-radius:50%;background:#f1ebe3;color:var(--vv-green);font-size:1.5rem;cursor:pointer}.vv-modal__dialog h2{font-size:2rem;letter-spacing:-.04em;margin:6px 50px 5px 0}.vv-modal__dialog>p{margin:0 0 18px;color:#66736e}.vv-modal__grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:center}.vv-nl-map--modal{min-height:330px;max-height:none}.vv-region-legend--modal p{font-size:.82rem;padding:7px 0;border-bottom:1px solid #eee5da}.vv-map-disclaimer{display:block;margin-top:14px;color:#77817d}.vv-modal-open{overflow:hidden}
@media(max-width:760px){
 .vv-pricebar__inner{justify-content:flex-start;overflow-x:auto;padding:9px 0;scrollbar-width:none}.vv-pricebar__inner::-webkit-scrollbar{display:none}
 .vv-pricebar__label{display:none}.vv-price-chip{flex:0 0 auto}.vv-pricebar__included{flex:0 0 auto;padding-right:8px}
 .vv-modal__grid{grid-template-columns:1fr}.vv-nl-map--modal{min-height:250px}.vv-modal__dialog{padding:22px 18px}
}


/* v2.7 - regiokeuze buiten de booking card, zodat de hero niet meer verspringt */
.vv-book-card--straight{min-height:500px}
.vv-flow[data-flow="2"]{min-height:350px}
.vv-region-selected{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:8px 0 12px;padding:10px 12px;border-radius:14px;background:#eef7f2;border:1px solid #dbe9e1}
.vv-region-selected[hidden]{display:none}
.vv-region-selected small{display:block!important;text-align:left!important;color:#687872!important;font-size:.7rem!important;margin-bottom:1px}
.vv-region-selected strong{display:block;color:var(--vv-green);font-size:.86rem}
.vv-region-selected button{border:0;background:#fff;color:var(--vv-coral);border-radius:999px;padding:7px 10px;font-size:.72rem;font-weight:850;cursor:pointer}
.vv-modal__dialog--chooser{width:min(680px,100%)}
.vv-region-chooser-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}
.vv-region-chooser-grid button{min-height:86px;border:1px solid #e0d7cc;background:#fff;border-radius:16px;padding:14px 15px;text-align:left;color:var(--vv-green);cursor:pointer;transition:.16s}
.vv-region-chooser-grid button:hover,.vv-region-chooser-grid button.is-selected{border-color:var(--vv-coral);box-shadow:0 0 0 2px rgba(255,111,97,.09);background:#fff8f5}
.vv-region-chooser-grid b{display:block;font-size:.9rem;margin-bottom:3px}
.vv-region-chooser-grid small{display:block;color:#6a7872;font-size:.73rem;line-height:1.35}
.vv-map-open--modal{margin-top:16px}
@media(max-width:760px){
  .vv-book-card--straight{min-height:0}
  .vv-flow[data-flow="2"]{min-height:0}
  .vv-region-chooser-grid{grid-template-columns:1fr}
}

.vv-primary:disabled{opacity:.65;cursor:wait;transform:none!important}

/* v2.9 — echte mobiele UX, kassabon en robuuste datumweergave */
.vv-receipt{margin:10px 0 0;border:1px solid #eadfd2;border-radius:18px;background:#fffdf9;overflow:hidden;box-shadow:0 8px 24px rgba(23,63,54,.05)}
.vv-receipt__meta{display:flex;justify-content:space-between;gap:16px;padding:12px 15px;background:#f7f2ea;border-bottom:1px dashed #ddd1c3;font-size:.79rem;color:#68756f}
.vv-receipt__meta strong{color:var(--vv-green);font-size:.84rem}
.vv-receipt__lines{padding:4px 15px}
.vv-receipt__line{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center;padding:11px 0;border-bottom:1px solid #efe7dc}
.vv-receipt__line:last-child{border-bottom:0}
.vv-receipt__line>div{min-width:0}.vv-receipt__line strong{display:block;font-size:.84rem;color:#25483e;line-height:1.25}.vv-receipt__line small{display:block!important;text-align:left!important;margin:3px 0 0!important;font-size:.71rem!important;line-height:1.3;color:#7a837f!important}
.vv-receipt__line>b{font-size:.84rem;white-space:nowrap;color:var(--vv-green)}
.vv-receipt__line.is-extra>b{color:var(--vv-coral)}
.vv-flow-total{margin-top:14px;padding:14px 2px 0;border-top:2px solid #e8ded1}

@media(max-width:760px){
  html{font-size:16px;-webkit-text-size-adjust:100%}
  body.vv-site{min-width:0;overflow-x:hidden}
  .vv-topbar{display:none}
  .vv-nav{min-height:62px;padding-top:4px;padding-bottom:4px}
  .vv-brand img{width:34px;height:34px}.vv-brand__text{font-size:1.08rem}
  .vv-nav-cta{display:none}
  .vv-pricebar{display:none!important}

  .vv-hero{padding:0 0 34px!important;min-height:0!important;background-position:center top!important;background-size:auto 330px!important;background-repeat:no-repeat!important}
  .vv-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,rgba(251,247,240,.22) 0,rgba(251,247,240,.72) 250px,#fbf7f0 390px,#fbf7f0 100%);pointer-events:none}
  .vv-hero__grid{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:14px!important;padding-top:22px}
  .vv-hero__copy{padding:13px 7px 6px!important;max-width:520px}
  .vv-hero__copy:before{display:none!important}
  .vv-eyebrow{font-size:.66rem!important;letter-spacing:.11em}
  .vv-hero h1{max-width:330px;font-size:2.45rem!important;line-height:.91!important;letter-spacing:-.055em!important;margin:8px 0 11px!important;text-shadow:0 1px 8px rgba(255,255,255,.8)}
  .vv-lead--desktop{display:none!important}.vv-lead--mobile{display:block!important;max-width:360px;font-size:.95rem!important;line-height:1.4!important;margin:0!important;color:#29463e!important}
  .vv-trust-row{display:none!important}

  .vv-book-card--straight{width:100%!important;max-width:none!important;margin:0!important;padding:18px 16px 17px!important;border-radius:22px!important;box-shadow:0 16px 38px rgba(18,63,53,.15)!important;align-self:stretch!important}
  .vv-book-card__head{display:grid!important;grid-template-columns:1fr auto!important;align-items:end!important;gap:10px!important;margin-bottom:11px!important;padding-bottom:12px!important}
  .vv-mini{font-size:.76rem!important}.vv-live-price{justify-content:flex-end;gap:4px!important}.vv-live-price [data-stay-label]{font-size:.72rem!important}.vv-live-price [data-stay-price]{font-size:1.55rem!important}.vv-live-price{font-size:.72rem!important}
  .vv-included{font-size:.78rem!important;padding:9px 10px!important;margin:0 0 10px!important}
  .vv-flow-progress{margin:8px 0 14px!important;gap:5px!important}.vv-flow-progress i{height:4px}
  .vv-flow-grid{grid-template-columns:1fr 1fr!important;gap:9px!important}
  .vv-flow>label>span,.vv-flow-grid label>span{font-size:.76rem!important;margin-bottom:6px!important}
  .vv-flow input[type="date"],.vv-flow select,.vv-flow input[type=text],.vv-flow input[type=email],.vv-flow input[type=tel]{min-height:52px!important;height:52px!important;font-size:16px!important;border-radius:13px!important}
  .vv-flow .vv-primary{width:100%;min-height:54px!important;margin-top:12px;font-size:.91rem!important;border-radius:14px!important}
  .vv-price-note{font-size:.69rem!important;line-height:1.35!important}
  .vv-flow-title{margin-bottom:12px!important}.vv-flow-title h3{font-size:1.45rem!important}.vv-flow-title small{font-size:.68rem!important}

  .vv-pick{grid-template-columns:22px minmax(0,1fr) auto!important;gap:9px!important;min-height:72px!important;padding:11px 10px!important;margin:8px 0!important;border-radius:14px!important}
  .vv-pick__copy b{font-size:.88rem!important}.vv-pick__copy small{font-size:.72rem!important;line-height:1.28!important}.vv-pick__price{grid-column:auto!important;min-width:72px!important;max-width:86px!important;text-align:right!important;font-size:.70rem!important;margin-top:0!important}
  .vv-region-selected{padding:9px 10px!important;margin:7px 0 10px!important}.vv-region-selected strong{font-size:.78rem!important}

  .vv-modal{padding:0!important;align-items:end!important;place-items:end stretch!important}
  .vv-modal__dialog{width:100%!important;max-height:88dvh!important;border-radius:24px 24px 0 0!important;padding:24px 17px calc(20px + env(safe-area-inset-bottom))!important}
  .vv-modal__dialog h2{font-size:1.55rem!important;margin-top:5px!important}.vv-modal__dialog>p{font-size:.82rem!important;line-height:1.4!important;margin-bottom:12px!important}
  .vv-region-chooser-grid{grid-template-columns:1fr!important;gap:8px!important;margin-top:12px!important}
  .vv-region-chooser-grid button{min-height:64px!important;padding:11px 13px!important;border-radius:14px!important}.vv-region-chooser-grid b{font-size:.84rem!important}.vv-region-chooser-grid small{font-size:.70rem!important}
  .vv-modal__grid{grid-template-columns:1fr!important;gap:12px!important}.vv-nl-map--modal{min-height:260px!important;max-height:300px!important}.vv-region-legend--modal p{font-size:.75rem!important;padding:5px 0!important}

  .vv-receipt__meta{padding:10px 12px}.vv-receipt__lines{padding:3px 12px}.vv-receipt__line{gap:10px;padding:10px 0}.vv-receipt__line strong{font-size:.79rem}.vv-receipt__line small{font-size:.67rem!important}.vv-receipt__line>b{font-size:.77rem}.vv-flow-total strong{font-size:1.75rem!important}
  .vv-tax-note{font-size:.70rem!important;padding:9px 10px!important}

  .vv-intro{padding:50px 0!important}.vv-intro__grid{gap:18px!important}.vv-intro h2{font-size:2rem!important}
  .vv-steps{padding:50px 0!important}.vv-steps__grid{grid-template-columns:1fr!important;gap:12px!important}.vv-step{min-height:0!important;padding:21px!important}.vv-step--accent{transform:none!important}
  .vv-region-section{padding:52px 0!important}.vv-region-section__grid{gap:22px!important}.vv-nl-map--large{min-height:280px!important}
}

@media(max-width:390px){
  .vv-flow-grid{grid-template-columns:1fr!important}
  .vv-pick{grid-template-columns:20px minmax(0,1fr)!important}.vv-pick__price{grid-column:2!important;text-align:left!important;max-width:none!important;color:var(--vv-coral)!important}
  .vv-hero h1{font-size:2.18rem!important}
}


/* v3.0 — statische hero tijdens uitklappen boekingsflow */
@media(min-width:901px){
  /* De foto schaalt alleen met de viewportbreedte, niet meer met de hoogte van de wizard. */
  .vv-hero{background-size:100% auto!important;background-repeat:no-repeat!important;background-position-y:top!important;background-color:#fbf7f0!important}
  /* Houd ook de linkerkolom op exact dezelfde verticale plek als de rechter kaart hoger wordt. */
  .vv-hero__grid{align-items:start!important}
  .vv-hero__copy{padding-top:58px}
}

/* v3.1 — mobiele polish: datumveld, spacing en iPhone safe area */
@media(max-width:760px){
  /* Safari/iOS geeft date-inputs soms een eigen intrinsieke breedte. Forceer hem in de kaart. */
  .vv-flow>label,
  .vv-flow-grid label{min-width:0!important;max-width:100%!important}
  .vv-flow input[type="date"]{
    display:block!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    padding:0 44px 0 15px!important;
    text-align:left!important;
    -webkit-appearance:none;
    appearance:none;
    background-color:#fff;
  }
  .vv-flow input[type="date"]::-webkit-date-and-time-value{
    text-align:left!important;
    margin:0!important;
    min-height:0!important;
  }
  .vv-flow input[type="date"]::-webkit-calendar-picker-indicator{
    position:absolute;
    right:14px;
    width:20px;
    height:20px;
    margin:0;
    opacity:.75;
  }
  .vv-flow>label:has(input[type="date"]){position:relative;overflow:visible}
  .vv-flow-progress{margin-top:10px!important}
  .vv-hero__grid{gap:10px!important}
  .vv-book-card--straight{padding-bottom:calc(20px + env(safe-area-inset-bottom))!important}
  .vv-flow[data-flow="2"]{padding-bottom:12px}
}


/* v3.4 — browser-onafhankelijke datumweergave */
.vv-date-field{display:block;position:relative;min-width:0}
.vv-date-field>label{display:block;margin-bottom:7px;font-weight:700;color:var(--vv-green)}
.vv-date-control{position:relative;display:flex;align-items:center;width:100%;height:52px;border:1px solid #d9cfc2;border-radius:13px;background:#fff;padding:0 46px 0 15px;box-sizing:border-box;font:inherit;font-weight:700;color:var(--vv-green);cursor:pointer;text-align:left;line-height:1.2;overflow:hidden}
.vv-date-control:hover{border-color:#c9bbaa}.vv-date-control:focus{outline:none;border-color:var(--vv-coral);box-shadow:0 0 0 3px rgba(255,111,97,.12)}
.vv-date-control [data-arrival-display]{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.vv-date-icon{position:absolute;right:15px;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;color:#607d76;pointer-events:none}
.vv-date-native{position:fixed!important;left:-9999px!important;top:0!important;width:1px!important;height:1px!important;opacity:.01!important;border:0!important;padding:0!important;margin:0!important}
.vv-address-head{margin:14px 0 8px}.vv-address-head strong{display:block;color:var(--vv-green)}.vv-address-head small{display:block!important;text-align:left!important;margin:2px 0 0!important;color:#718078!important}
.vv-address-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.vv-address-grid--lookup{grid-template-columns:1.2fr .8fr .8fr}
.vv-address-status{min-height:18px;margin:2px 0 6px;font-size:.72rem;color:#6d7b75}.vv-address-status.is-ok{color:#227154}.vv-address-status.is-error{color:#a44d43}.vv-address-status.is-loading{color:#6d7b75}
.vv-reviews{padding:86px 0;background:#fffaf4}.vv-review-score{display:grid;grid-template-columns:auto auto;align-items:end;gap:3px 5px}.vv-review-score strong{font-size:2.4rem;line-height:1;color:var(--vv-green)}.vv-review-score span{font-weight:800;color:#63736d}.vv-review-score small{grid-column:1/-1;color:#77847f}.vv-review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.vv-review-card{position:relative;padding:24px;border:1px solid #eadfd2;border-radius:22px;background:#fff}.vv-review-card__score{position:absolute;right:20px;top:18px;background:#eaf5f0;color:var(--vv-green);font-weight:900;padding:7px 9px;border-radius:10px}.vv-review-card h3{padding-right:55px;margin:0 0 10px}.vv-review-card p{color:#50615a;line-height:1.6}.vv-review-card small{font-weight:800;color:#7a847f}.vv-review-empty{padding:24px;border:1px dashed #d9cfc2;border-radius:18px;color:#728078;background:#fff}.vv-articles{padding:0 0 80px;background:#fffaf4}
@media(max-width:760px){.vv-date-control{height:52px!important;min-height:52px!important;font-size:16px!important}.vv-address-grid,.vv-address-grid--lookup{grid-template-columns:1fr 1fr}.vv-address-grid--lookup label:first-child{grid-column:1/-1}.vv-review-grid{grid-template-columns:1fr}.vv-reviews{padding:64px 0}.vv-review-score{margin-top:8px}}

.vv-review-form-section{padding:55px 0;background:#fffaf4}.vv-review-form{max-width:680px;margin:0 auto;padding:30px;border:1px solid #eadfd2;border-radius:24px;background:#fff;box-shadow:0 16px 46px rgba(23,63,54,.08)}.vv-review-form label{display:block;margin:12px 0}.vv-review-form label>span{display:block;margin-bottom:7px;font-weight:800;color:var(--vv-green)}.vv-review-form input,.vv-review-form textarea{width:100%;box-sizing:border-box;border:1px solid #d9cfc2;border-radius:13px;padding:13px 15px;font:inherit;color:var(--vv-green);background:#fff}.vv-review-form textarea{resize:vertical}.vv-review-thanks{margin-top:14px;padding:14px 16px;border-radius:13px;background:#eaf5f0;color:#21644f;font-weight:800}


/* v3.5 — eigen kalender, kamers en uniforme adresvelden */
.vv-date-native{display:none!important}
.vv-date-field{z-index:8}
.vv-calendar{position:absolute;left:0;top:calc(100% + 8px);width:min(340px,100%);padding:14px;background:#fff;border:1px solid #e6dacd;border-radius:16px;box-shadow:0 18px 44px rgba(17,55,47,.18);z-index:40}
.vv-calendar[hidden]{display:none!important}.vv-calendar__head{display:grid;grid-template-columns:38px 1fr 38px;align-items:center;gap:6px;margin-bottom:10px}.vv-calendar__head strong{text-align:center;text-transform:capitalize;color:var(--vv-green)}.vv-calendar__head button{width:36px;height:36px;border:0;border-radius:50%;background:#f5f0e9;color:var(--vv-green);font-size:23px;cursor:pointer}.vv-calendar__week,.vv-calendar__days{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.vv-calendar__week span{text-align:center;font-size:.68rem;font-weight:800;color:#84908b;padding:3px 0 6px}.vv-calendar__days button{aspect-ratio:1/1;border:0;border-radius:10px;background:transparent;color:var(--vv-green);font:inherit;font-weight:700;cursor:pointer}.vv-calendar__days button:hover:not(:disabled){background:#eef6f2}.vv-calendar__days button.is-selected{background:var(--vv-coral);color:#fff}.vv-calendar__days button.is-today:not(.is-selected){box-shadow:inset 0 0 0 1px #c9bbaa}.vv-calendar__days button:disabled{color:#c7c9c8;cursor:not-allowed;text-decoration:line-through}.vv-calendar__empty{display:block}
.vv-room-list{display:grid;gap:8px;margin-top:10px}.vv-room-row{display:grid!important;grid-template-columns:1fr 1fr;align-items:center;gap:12px;padding:9px 12px;border:1px solid #eadfd2;border-radius:13px;background:#fbf8f3}.vv-room-row>span{font-weight:800;color:var(--vv-green);font-size:.82rem}.vv-room-row select{margin:0!important;height:44px!important;min-height:44px!important}.vv-request-note{margin:8px 0 0;font-size:.70rem;line-height:1.35;color:#718078}
.vv-address-grid input[data-house-number]{width:100%!important;min-height:46px!important;height:46px!important;border:1px solid var(--vv-border)!important;border-radius:13px!important;padding:0 13px!important;margin-bottom:10px!important;color:var(--vv-ink)!important;background:#fff!important;font:inherit!important;box-sizing:border-box!important;-webkit-appearance:none!important;appearance:none!important}
@media(max-width:760px){.vv-calendar{position:fixed;left:16px;right:16px;bottom:calc(16px + env(safe-area-inset-bottom));top:auto;width:auto;max-width:none;padding:16px;border-radius:20px;z-index:120}.vv-calendar__days button{min-height:42px;aspect-ratio:auto}.vv-room-row{grid-template-columns:1fr 1.25fr}.vv-address-grid input[data-house-number]{height:52px!important;min-height:52px!important;font-size:16px!important}}
.vv-calendar__days button{display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.05}.vv-calendar__days button small{font-size:.58rem;font-weight:800;margin-top:3px;opacity:.72}.vv-calendar__days button.is-selected small{opacity:1}.vv-fallback-menu{display:flex;gap:18px;align-items:center}.vv-fallback-menu a,.vv-footer-links a{color:inherit;text-decoration:none;font-weight:700;font-size:.9rem}.vv-footer-links{display:flex;gap:14px;flex-wrap:wrap}.vv-special{min-height:calc(100vh - 150px);display:grid;place-items:center;padding:70px 20px;background:radial-gradient(circle at 50% 20%,#fff 0,#fbf7f0 55%,#f2e9dd 100%)}.vv-special__card{width:min(720px,100%);background:#fff;border-radius:32px;padding:48px;box-shadow:0 25px 70px rgba(23,63,54,.12);text-align:center}.vv-mystery-mark{width:78px;height:78px;border-radius:24px;background:#ff6b61;color:#fff;display:grid;place-items:center;font-size:42px;font-weight:900;margin:0 auto 22px}.vv-special h1{font-size:clamp(2rem,5vw,3.4rem);color:#123f36;margin:10px 0 12px}.vv-mail-ok{background:#edf7f2;border-radius:14px;padding:14px;margin:22px 0;color:#123f36}.vv-special__facts{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:28px 0}.vv-special__facts div{background:#faf7f2;border-radius:14px;padding:14px}.vv-special__facts small,.vv-special__facts strong{display:block}.vv-mystery-timeline{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:20px 0}.vv-mystery-timeline div{border:1px dashed #ddcfc0;border-radius:14px;padding:16px}.vv-mystery-timeline b,.vv-mystery-timeline span{display:block}.vv-special__note{color:#64736e}.vv-special .vv-primary{display:inline-flex;text-decoration:none;margin-top:10px}@media(max-width:760px){.vv-fallback-menu{display:none}.vv-special{padding:30px 14px}.vv-special__card{padding:28px 18px;border-radius:24px}.vv-special__facts{grid-template-columns:1fr 1fr}.vv-mystery-timeline{grid-template-columns:1fr}.vv-calendar__days button small{font-size:.55rem}}

/* v3.7 polish */
.vv-calendar__days button.is-low{background:#edf7f0}.vv-calendar__days button.is-mid{background:#fffaf0}.vv-calendar__days button.is-high{background:#fff0ec}.vv-calendar__days button.is-selected{box-shadow:inset 0 0 0 2px var(--vv-coral)}
.vv-dinner-nights{margin:8px 0 12px;padding:10px 12px;border:1px solid #eadfd2;border-radius:14px;background:#fffaf6}.vv-dinner-nights label{display:flex;align-items:center;justify-content:space-between;gap:12px}.vv-dinner-nights select{min-width:140px;border:1px solid #d9cfc2;border-radius:12px;padding:9px 12px;background:#fff;color:var(--vv-green);font:inherit}
.vv-review-form select{width:100%;box-sizing:border-box;border:1px solid #d9cfc2;border-radius:13px;padding:13px 15px;font:inherit;color:var(--vv-green);background:#fff}
@media(min-width:1000px) and (min-height:760px){.vv-booking-card{padding-top:22px;padding-bottom:22px}.vv-flow-title{margin-bottom:12px}.vv-flow[data-flow="4"] .vv-address-head{margin-top:12px}.vv-flow[data-flow="4"] label{margin-bottom:7px}.vv-flow[data-flow="4"] input{min-height:42px}.vv-flow[data-flow="4"] .vv-primary{margin-top:10px}.vv-flow[data-flow="4"] .vv-consent{margin-top:8px}}

.vv-demo-label{display:inline-block;margin-bottom:8px;color:var(--vv-coral)!important;text-transform:uppercase;letter-spacing:.08em;font-size:.65rem}.vv-demo-note{text-align:center;color:#7a847f;font-size:.75rem;margin-top:14px}

/* v3.8 polish */
.vv-review-reply{margin-top:16px;padding:13px 14px;border-radius:14px;background:#f4f8f5;border-left:3px solid var(--vv-green);color:#4f625b}.vv-review-reply b{display:block;color:var(--vv-green);font-size:.82rem;margin-bottom:5px}.vv-review-reply p{margin:0;font-size:.88rem}.vv-address-head{margin:10px 0 5px}.vv-flow[data-flow="4"] .vv-address-grid,.vv-flow[data-flow="4"] .vv-guest-grid{gap:8px}.vv-flow[data-flow="4"] label{margin-bottom:5px}.vv-flow[data-flow="4"] .vv-address-status{margin-bottom:2px}.vv-flow[data-flow="4"] input{min-height:40px}.vv-flow[data-flow="4"] .vv-primary{margin-top:8px}.vv-flow[data-flow="4"] .vv-consent{margin-top:6px}
@media(min-width:1000px) and (min-height:760px){.vv-flow[data-flow="4"]{font-size:.94rem}.vv-flow[data-flow="4"] .vv-flow-title{margin-bottom:8px}.vv-flow[data-flow="4"] .vv-address-head{margin-top:8px}.vv-flow[data-flow="4"] input{min-height:38px}.vv-flow[data-flow="4"] .vv-primary{min-height:48px}}

/* v3.9 reviews */
.vv-review-score{padding:18px 22px;border-radius:20px;background:#fff;border:1px solid #eadfd2;min-width:190px}
.vv-review-score strong{font-size:3rem}
.vv-review-grid{align-items:stretch}
.vv-review-card{display:flex;flex-direction:column;min-height:250px;padding:26px 24px 22px;box-shadow:0 10px 30px rgba(17,61,51,.035)}
.vv-review-card__score{display:flex;align-items:baseline;gap:2px;font-size:1.05rem}
.vv-review-card__score span{font-size:.7rem;opacity:.65}
.vv-review-card>p{flex:1;margin:10px 0 18px}
.vv-review-card small{margin-top:auto}
.vv-review-extra{margin-top:18px}
.vv-review-actions{text-align:center;margin-top:24px}
.vv-review-actions .vv-secondary{border:1px solid #d8cabb;border-radius:999px;background:#fff;padding:12px 20px;font-weight:850;color:var(--vv-green);cursor:pointer}
@media (max-width:760px){.vv-review-card{min-height:0}.vv-review-score{min-width:0;width:100%}}

/* v3.10 review polish */
.vv-review-score{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 7px}
.vv-review-score strong{letter-spacing:-.04em}
.vv-review-score span{font-size:1rem}
.vv-review-score small{flex-basis:100%;margin-top:3px}
.vv-review-card{overflow:hidden}
.vv-review-card h3{font-size:1.08rem;line-height:1.35}
.vv-review-card>p{font-size:.96rem;line-height:1.65}
/* v3.11 menu + review polish */
.vv-footer-menu{padding:20px 0 4px}.vv-footer-menu ul{list-style:none;display:flex;gap:20px;flex-wrap:wrap;margin:0;padding:0}.vv-footer-menu a{color:inherit;text-decoration:none;font-weight:750}.vv-review-actions a.vv-secondary{display:inline-block;text-decoration:none}.vv-review-card small{line-height:1.45}.vv-review-card h3{font-weight:900}.vv-review-card:not(:has(h3))>p{font-size:1rem}
@media(max-width:760px){.vv-footer-menu ul{gap:12px 18px}}
/* v3.12 footer/menu fixes */
.vv-footer-menu{padding:0;align-self:start}.vv-footer-menu .mod-menu,.vv-footer-menu ul{list-style:none;padding:0;margin:0;display:flex;gap:16px 20px;flex-wrap:wrap}.vv-footer-menu a,.vv-footer-links a{color:#d7e4df;text-decoration:none;font-weight:750}.vv-footer-menu a:hover,.vv-footer-links a:hover{color:#fff}.vv-review-actions{margin-top:28px;text-align:center}.vv-review-actions .vv-secondary{padding:12px 18px;border:1px solid #d9cec0;border-radius:999px;background:#fff;color:#173f36;font-weight:800}
@media(max-width:900px){.vv-footer-menu .mod-menu,.vv-footer-menu ul,.vv-footer-links{flex-direction:column;gap:10px}}


/* v3.17 — Joomla artikelen in Verrassingsverblijf-huisstijl */
.vv-inner{padding-top:34px}
.vv-inner .item-page,.vv-inner .com-content-article{max-width:1120px;margin:0 auto 72px}
.vv-inner .article-info,.vv-inner .article-info-term,.vv-inner .icons{display:none!important}
.vv-article{color:var(--vv-green);font-size:16px;line-height:1.72}
.vv-article section{margin:0 0 28px}
.vv-article-intro{padding:18px 0 10px}
.vv-article-intro h1{font-size:clamp(2.2rem,5vw,4.6rem);line-height:.98;letter-spacing:-.045em;margin:8px 0 18px;max-width:920px}
.vv-eyebrow{display:block;color:var(--vv-coral);font-size:.76rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase;margin-bottom:8px}
.vv-lead{font-size:clamp(1.05rem,1.7vw,1.3rem);line-height:1.62;max-width:850px;color:#53655f}
.vv-text-block,.vv-legal-block,.vv-special,.vv-contact-booking,.vv-trust-block{padding:26px 30px;background:#fff;border:1px solid #eadfd2;border-radius:22px}
.vv-text-block h2,.vv-legal-block h2,.vv-special h2,.vv-contact-booking h2,.vv-trust-block h2{margin-top:0;font-size:clamp(1.45rem,2.4vw,2rem)}
.vv-highlight{padding:32px 34px;border-radius:24px}
.vv-highlight h2{font-size:clamp(1.65rem,3vw,2.5rem);margin:4px 0 12px}
.vv-highlight-green{background:var(--vv-green);color:#fff}.vv-highlight-green .vv-eyebrow{color:#ffb0a8}
.vv-highlight-coral{background:#ff7469;color:#fff}.vv-highlight-coral .vv-eyebrow{color:#173f36}
.vv-info-grid,.vv-contact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.vv-info-card,.vv-contact-card{padding:25px;border:1px solid #eadfd2;border-radius:22px;background:#fffaf4}
.vv-info-card h2,.vv-contact-card h2{margin:8px 0;font-size:1.35rem}.vv-icon{font-size:1.7rem;font-weight:900;color:var(--vv-coral)}
.vv-quote{padding:8px 0}.vv-quote blockquote{margin:0;padding:28px 34px;border-left:6px solid var(--vv-coral);border-radius:0 22px 22px 0;background:#edf6f1;font-size:clamp(1.25rem,2.4vw,1.8rem);font-weight:850;line-height:1.4;letter-spacing:-.015em}
.vv-steps{position:relative}.vv-step-card{display:grid;grid-template-columns:64px 1fr;gap:20px;align-items:start;padding:24px 28px;margin:0 0 14px;border:1px solid #eadfd2;border-radius:22px;background:#fff}
.vv-step-number{display:grid;place-items:center;width:56px;height:56px;border-radius:17px;background:var(--vv-coral);color:#fff;font-size:1.05rem;font-weight:950;letter-spacing:.04em;box-shadow:0 8px 22px rgba(255,107,97,.18)}
.vv-step-card h2{margin:1px 0 6px;font-size:1.35rem}.vv-step-card p{margin:0;color:#53655f}
.vv-reveal-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.vv-reveal-card{padding:20px;border-radius:17px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18)}.vv-reveal-card strong,.vv-reveal-card span{display:block}
.vv-contact-note{display:grid;grid-template-columns:62px 1fr;gap:20px;padding:28px 30px;border-radius:22px;background:#edf6f1}.vv-note-icon{display:grid;place-items:center;width:54px;height:54px;border-radius:17px;background:var(--vv-coral);color:#fff;font-size:2rem;font-weight:950}
.vv-article .vv-cta{padding:34px;border-radius:24px;background:#173f36;color:#fff}.vv-article .vv-cta h2{font-size:clamp(1.7rem,3vw,2.6rem);margin:4px 0 10px}.vv-article .vv-button{display:inline-block;margin-top:8px;padding:13px 19px;border-radius:13px;background:var(--vv-coral);color:#fff!important;text-decoration:none;font-weight:900}
.vv-articles .mod-articlesnews,.vv-articles .newsflash,.vv-articles .blog-items{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.vv-articles .mod-articlesnews__item,.vv-articles .newsflash-item,.vv-articles .blog-item{padding:24px;border:1px solid #eadfd2;border-radius:22px;background:#fff}
.vv-articles h3,.vv-articles h2{margin-top:0}.vv-articles a{color:var(--vv-green);font-weight:850}
@media(max-width:760px){.vv-inner{padding-top:18px}.vv-info-grid,.vv-contact-grid,.vv-reveal-grid,.vv-articles .mod-articlesnews,.vv-articles .newsflash,.vv-articles .blog-items{grid-template-columns:1fr}.vv-step-card{grid-template-columns:50px 1fr;padding:20px}.vv-step-number{width:46px;height:46px;border-radius:14px}.vv-highlight,.vv-text-block,.vv-legal-block,.vv-special,.vv-contact-booking,.vv-trust-block{padding:22px}.vv-contact-note{grid-template-columns:1fr;padding:22px}.vv-article-intro h1{font-size:2.45rem}}
/* Alle beoordelingen: bredere titel, compacte badge, geen geforceerde kaart-hoogte */
.vv-ar__card{min-height:0!important}.vv-ar__head{grid-template-columns:minmax(0,1fr) 62px!important;gap:12px!important}.vv-ar__badge{justify-content:center;padding:8px 7px!important}.vv-ar__title{overflow-wrap:normal!important;word-break:normal!important;hyphens:auto}.vv-ar__text{flex:0 1 auto}.vv-ar__meta{margin-top:18px!important}
@media(max-width:1100px){.vv-ar__grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}@media(max-width:680px){.vv-ar__grid{grid-template-columns:1fr!important}}

.vv-inspiration-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.vv-inspiration-card{padding:25px;border:1px solid #eadfd2;border-radius:22px;background:#fff}.vv-inspiration-card h3{font-size:1.35rem;line-height:1.25;margin:4px 0 10px}.vv-inspiration-card p{color:#53655f;line-height:1.6}.vv-inspiration-card a{color:var(--vv-green);font-weight:900;text-decoration:none}@media(max-width:850px){.vv-inspiration-grid{grid-template-columns:1fr}}

/* v3.18 content polish */
.vv-article .vv-reveal{padding:44px 46px;border-radius:28px;overflow:hidden;margin:34px 0;background:linear-gradient(135deg,#173f36,#214f44)}
.vv-article .vv-reveal h2{font-size:clamp(2rem,4.2vw,3.4rem);line-height:1.02;max-width:820px;margin:8px 0 22px;letter-spacing:-.045em}
.vv-article .vv-reveal .vv-eyebrow{color:var(--vv-coral)}
.vv-article .vv-reveal-grid{gap:12px}
.vv-article .vv-reveal-card{background:rgba(255,255,255,.105);padding:19px 20px;border-radius:17px}
.vv-article .vv-reveal-card strong{font-size:1rem;margin-bottom:4px}.vv-article .vv-reveal-card span{color:#e2ece8}
.vv-article .vv-step-card{box-shadow:0 8px 26px rgba(23,63,54,.035)}
.vv-article .vv-step-number{font-size:1.15rem}
.vv-quote{position:relative;padding:34px 38px 34px 56px;border-radius:24px;background:#fff;border:1px solid #eadfd2}
.vv-quote:before{content:'“';position:absolute;left:18px;top:7px;font-size:4.5rem;line-height:1;color:var(--vv-coral);font-family:Georgia,serif}
.vv-quote blockquote{margin:0;font-family:Georgia,serif;font-size:clamp(1.25rem,2.2vw,1.75rem);line-height:1.45;color:var(--vv-green)}
.vv-highlight-green{box-shadow:0 12px 34px rgba(23,63,54,.1)}.vv-highlight-coral{box-shadow:0 12px 34px rgba(255,107,97,.12)}
.vv-inspiration-card{transition:transform .18s ease,box-shadow .18s ease}.vv-inspiration-card:hover{transform:translateY(-3px);box-shadow:0 12px 32px rgba(23,63,54,.08)}
@media(max-width:760px){.vv-article .vv-reveal{padding:28px 22px;border-radius:22px}.vv-quote{padding:28px 22px 28px 48px}.vv-quote:before{left:14px}}

/* v3.21: gesloten feest- en uitsluitingsdata */
.vv-calendar__days button.is-blocked,.vv-calendar__days button:disabled{opacity:.42;cursor:not-allowed;background:#f3f0ec!important;color:#8c8c88!important;box-shadow:none!important}.vv-calendar__days button.is-blocked small{font-size:9px;text-transform:uppercase;letter-spacing:.04em;color:#9a8f87}

/* v1.10.0 real province-style region map */
.vv-nl-map{display:grid;place-items:center;padding:16px;background:#f5f0e9}
.vv-nl-svg{height:100%;max-height:410px;width:auto;max-width:100%;overflow:visible;filter:drop-shadow(0 8px 18px rgba(23,63,54,.08))}
.vv-nl-svg path{stroke:#fffdf9;stroke-width:4;stroke-linejoin:round;transition:opacity .18s ease}
.vv-r-north path{fill:#d9ebe5}.vv-r-east path{fill:#cfe2d9}.vv-r-mid path{fill:#f4dfb7}.vv-r-west path{fill:#d9e5ee}.vv-r-south path{fill:#ead9d0}
.vv-nl-svg g:hover path{opacity:.75}

/* v3.30 - echte NL provinciekaart + verfijnd vraagteken */
.vv-nl-map{overflow:hidden;position:relative}
.vv-nl-map-img{display:block;width:auto;max-width:100%;height:auto;max-height:430px;margin:0 auto;filter:none}
.vv-nl-map--large{min-height:390px;padding:22px 28px;display:flex;flex-direction:column;align-items:center;justify-content:center}
.vv-nl-map--large .vv-nl-map-img{max-height:390px}
.vv-nl-map--modal .vv-nl-map-img{max-height:330px}
.vv-map-credit{display:block;margin-top:8px;font-size:.58rem;line-height:1.25;color:#88918d;opacity:.72;text-align:center}
@media(max-width:760px){.vv-nl-map--large{min-height:280px;padding:14px}.vv-nl-map--large .vv-nl-map-img{max-height:290px}.vv-nl-map--modal .vv-nl-map-img{max-height:260px}}


/* v3.33 - regio-labels + zichtbare kaartbron */
.vv-nl-map-wrap{width:100%;display:flex;flex-direction:column;align-items:stretch}
.vv-nl-map-wrap .vv-nl-map{width:100%}
.vv-map-label{position:absolute;z-index:4;transform:translate(-50%,-50%);padding:7px 11px;border-radius:999px;background:rgba(255,253,249,.96);border:1px solid rgba(224,215,204,.96);box-shadow:0 5px 14px rgba(23,63,54,.12);color:var(--vv-green);font-size:.72rem;font-weight:900;line-height:1;white-space:nowrap;pointer-events:none}
.vv-map-label--north{left:64%;top:18%}
.vv-map-label--east{left:72%;top:49%}
.vv-map-label--mid{left:55%;top:43%}
.vv-map-label--west{left:31%;top:48%}
.vv-map-label--south{left:58%;top:78%}
.vv-map-credit{display:block!important;position:static!important;margin:8px 4px 0!important;padding:0!important;max-width:none!important;font-size:.66rem!important;line-height:1.35!important;color:#75817c!important;opacity:.9!important;text-align:right!important;visibility:visible!important;height:auto!important;overflow:visible!important}
.vv-nl-map-wrap--modal .vv-map-credit{text-align:center!important;font-size:.6rem!important;margin-top:6px!important}
.vv-nl-map-wrap--modal .vv-map-label{font-size:.62rem;padding:6px 8px}
@media(max-width:760px){.vv-map-label{font-size:.62rem;padding:6px 8px}.vv-map-label--west{left:28%}.vv-map-credit{text-align:center!important;font-size:.6rem!important}}

/* Footer discovery / SEO navigation (v3.34) */
.vv-footer__grid{grid-template-columns:minmax(280px,1fr) minmax(170px,auto) minmax(260px,auto);column-gap:52px;row-gap:25px}
.vv-footer__title{margin:0 0 14px;color:#fff;font-size:.9rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.vv-footer-menu--seo .mod-menu,.vv-footer-menu--seo ul,.vv-footer-menu--info .mod-menu,.vv-footer-menu--info ul{flex-direction:column;gap:9px}
.vv-footer-menu--seo a,.vv-footer-menu--info a{font-size:.9rem}
@media(max-width:900px){.vv-footer__grid{grid-template-columns:1fr 1fr;column-gap:32px}.vv-footer__grid>div:first-child{grid-column:1/-1}.vv-footer__meta{grid-column:1/-1}}
@media(max-width:600px){.vv-footer__grid{grid-template-columns:1fr}.vv-footer__grid>div:first-child,.vv-footer__meta{grid-column:auto}}

/* =========================================================
   v3.35 - Veelgestelde vragen / FAQ artikel
   Gebruik in Joomla-artikel: .vv-faq-page
   ========================================================= */
.vv-faq-page{max-width:1200px;margin:40px auto 70px;padding:0 24px;color:var(--vv-green,#123f35)}

/* FAQ hero */
.vv-faq-hero{position:relative;display:flex;align-items:center;justify-content:space-between;min-height:330px;padding:55px 65px;margin-bottom:32px;background:var(--vv-green,#123f35);border-radius:32px;overflow:hidden}
.vv-faq-hero-text{position:relative;z-index:2;width:78%}
.vv-faq-eyebrow{margin:0 0 20px;color:var(--vv-coral,#ff6b61);font-size:15px;font-weight:800;letter-spacing:2px;text-transform:uppercase}
.vv-faq-hero h1{margin:0!important;color:#fff!important;font-size:clamp(38px,4.5vw,62px)!important;line-height:1.04!important;font-weight:800!important;letter-spacing:-2px}
.vv-faq-hero h1 span{color:var(--vv-coral,#ff6b61)}
.vv-faq-intro{margin:28px 0 0;color:#fff;font-size:17px;line-height:1.6}
.vv-faq-hero-mark{position:absolute;right:55px;top:50%;transform:translateY(-50%);color:var(--vv-coral,#ff6b61);font-size:170px;line-height:1;font-weight:800;opacity:.95}

/* FAQ accordion */
.vv-faq-list{margin:0 auto 45px}
.vv-faq-list details{margin:0 0 12px;background:#fff;border:1px solid #e7e1d9;border-radius:16px;overflow:hidden;transition:box-shadow .2s ease,border-color .2s ease,background .2s ease}
.vv-faq-list details:hover{border-color:#d8cec4;box-shadow:0 5px 18px rgba(18,63,53,.06)}
.vv-faq-list summary{position:relative;display:block;padding:22px 65px 22px 28px;color:var(--vv-green,#123f35);font-size:17px;line-height:1.35;font-weight:800;cursor:pointer;list-style:none}
.vv-faq-list summary::-webkit-details-marker{display:none}
.vv-faq-list summary::marker{content:""}
.vv-faq-list summary::after{content:"+";position:absolute;right:27px;top:50%;transform:translateY(-50%);color:var(--vv-coral,#ff6b61);font-size:30px;line-height:1;font-weight:400}
.vv-faq-list details[open]{background:#edf6f2;border-color:#dcebe5}
.vv-faq-list details[open] summary::after{content:"−"}
.vv-faq-answer{padding:0 70px 25px 28px;color:#294b43;font-size:16px;line-height:1.7}
.vv-faq-answer p{margin:0 0 12px}
.vv-faq-answer p:last-child{margin-bottom:0}

/* FAQ CTA */
.vv-faq-cta{display:flex;align-items:center;justify-content:space-between;gap:50px;padding:45px 55px;background:#edf6f2;border-radius:28px}
.vv-faq-cta-text{flex:1}
.vv-faq-cta h2{margin:0 0 15px;color:var(--vv-green,#123f35);font-size:34px;line-height:1.08;font-weight:800}
.vv-faq-cta p{margin:0 0 22px;line-height:1.6}
.vv-faq-button{display:inline-block;padding:15px 25px;background:var(--vv-coral,#ff6b61);color:#fff!important;border-radius:12px;font-weight:800;text-decoration:none!important;transition:transform .2s ease,opacity .2s ease}
.vv-faq-button:hover{color:#fff!important;transform:translateY(-2px);opacity:.92}
.vv-faq-benefits{flex:1.25;display:grid;grid-template-columns:repeat(auto-fit,minmax(135px,1fr));text-align:center}
.vv-faq-benefits>div{padding:10px 20px;border-left:1px solid #cadbd5;line-height:1.5}
.vv-faq-benefits strong{color:var(--vv-green,#123f35)}

@media(max-width:800px){
  .vv-faq-page{margin-top:20px;padding:0 15px}
  .vv-faq-hero{min-height:auto;padding:38px 28px;border-radius:24px}
  .vv-faq-hero-text{width:100%}
  .vv-faq-hero h1{font-size:38px!important;letter-spacing:-1px}
  .vv-faq-hero-mark{right:15px;top:30px;transform:none;font-size:100px;opacity:.12}
  .vv-faq-intro{font-size:16px}
  .vv-faq-list summary{padding:19px 55px 19px 20px;font-size:16px}
  .vv-faq-list summary::after{right:20px}
  .vv-faq-answer{padding:0 20px 22px;font-size:15px}
  .vv-faq-cta{display:block;padding:32px 25px;border-radius:22px}
  .vv-faq-cta h2{font-size:28px}
  .vv-faq-benefits{margin-top:35px;grid-template-columns:1fr;text-align:left}
  .vv-faq-benefits>div{padding:12px 0;border-left:0;border-top:1px solid #cadbd5}
}

@media(max-width:480px){
  .vv-faq-hero{padding:30px 22px}
  .vv-faq-hero h1{font-size:32px!important}
  .vv-faq-eyebrow{font-size:12px;letter-spacing:1.5px}
  .vv-faq-cta{padding:28px 22px}
}



/* =========================================================
   v3.36 - SEO artikelen
   Gebruik in Joomla-artikel: .vv-seo-page
   ========================================================= */
.vv-seo-page{max-width:1200px;margin:40px auto 70px;padding:0 24px;color:var(--vv-green,#123f35)}

/* SEO hero */
.vv-seo-hero{position:relative;min-height:350px;padding:58px 64px;margin-bottom:42px;background:linear-gradient(135deg,var(--vv-green,#123f35),#214f44);border-radius:32px;overflow:hidden;color:#fff}
.vv-seo-hero-content{position:relative;z-index:2;max-width:860px}
.vv-seo-eyebrow{margin:0 0 16px;color:var(--vv-coral,#ff6b61);font-size:13px;font-weight:900;letter-spacing:1.8px;text-transform:uppercase}
.vv-seo-hero h1{margin:0!important;max-width:980px;color:#fff!important;font-size:clamp(38px,4.7vw,64px)!important;line-height:1.02!important;font-weight:850!important;letter-spacing:-2px}
.vv-seo-lead{max-width:820px;margin:26px 0 0;font-size:20px;line-height:1.55;color:#fff}
.vv-seo-hero-content>p:last-child{max-width:780px;margin-top:14px;color:#e2ece8;font-size:17px;line-height:1.65}
.vv-seo-hero-mark{position:absolute;right:52px;top:50%;transform:translateY(-50%);font-size:190px;font-weight:900;line-height:1;color:var(--vv-coral,#ff6b61);opacity:.14;pointer-events:none}

/* SEO content */
.vv-seo-content{max-width:930px;margin:0 auto}
.vv-seo-content h2{margin:46px 0 16px;color:var(--vv-green,#123f35);font-size:clamp(28px,3vw,40px);line-height:1.12;letter-spacing:-1px}
.vv-seo-content h3{margin:34px 0 12px;color:var(--vv-green,#123f35)}
.vv-seo-content p,.vv-seo-content li{font-size:17px;line-height:1.75;color:#294b43}
.vv-seo-content a{color:var(--vv-green,#123f35);font-weight:800;text-decoration-thickness:1px;text-underline-offset:3px}

/* SEO highlight */
.vv-seo-highlight{position:relative;margin:44px 0;padding:40px 44px;background:#edf6f2;border-radius:26px;overflow:hidden}
.vv-seo-highlight:after{content:'?';position:absolute;right:24px;bottom:-30px;font-size:150px;line-height:1;font-weight:900;color:var(--vv-coral,#ff6b61);opacity:.11}
.vv-seo-highlight-small{position:relative;z-index:1;margin:0 0 10px!important;color:var(--vv-coral,#ff6b61)!important;font-size:12px!important;font-weight:900!important;letter-spacing:1.7px;text-transform:uppercase}
.vv-seo-highlight-title{position:relative;z-index:1;margin:0 0 12px!important;color:var(--vv-green,#123f35)!important;font-size:clamp(30px,4vw,46px)!important;line-height:1.06!important;font-weight:900!important;letter-spacing:-1.5px}
.vv-seo-highlight p:last-child{position:relative;z-index:1;max-width:680px;margin-bottom:0}

/* SEO steps */
.vv-seo-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:38px 0 50px}
.vv-seo-step{position:relative;padding:24px 20px;background:#fff;border:1px solid #e7e1d9;border-radius:18px;box-shadow:0 8px 26px rgba(18,63,53,.04)}
.vv-seo-step>span{display:grid;place-items:center;width:36px;height:36px;margin-bottom:16px;border-radius:50%;background:var(--vv-coral,#ff6b61);color:#fff;font-size:15px;font-weight:900}
.vv-seo-step strong{display:block;margin-bottom:7px;color:var(--vv-green,#123f35);font-size:17px}
.vv-seo-step p{margin:0;font-size:14px;line-height:1.5;color:#4d655f}

/* SEO CTA */
.vv-seo-cta{display:flex;align-items:center;justify-content:space-between;gap:44px;margin-top:52px;padding:46px 52px;background:#edf6f2;border-radius:28px}
.vv-seo-cta-content{flex:1.05}
.vv-seo-cta h2{margin:0 0 16px;color:var(--vv-green,#123f35);font-size:clamp(30px,3.6vw,46px);line-height:1.06;letter-spacing:-1.3px}
.vv-seo-cta-content>p:not(.vv-seo-eyebrow){margin:0 0 22px;color:#294b43;font-size:16px;line-height:1.6}
.vv-seo-button{display:inline-block;padding:15px 24px;background:var(--vv-coral,#ff6b61);color:#fff!important;border-radius:12px;font-weight:900;text-decoration:none!important;transition:transform .18s ease,opacity .18s ease}
.vv-seo-button:hover{transform:translateY(-2px);opacity:.92;color:#fff!important}
.vv-seo-cta-benefits{flex:1;display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.vv-seo-cta-benefits>div{padding:18px;background:rgba(255,255,255,.62);border-radius:15px;text-align:center}
.vv-seo-cta-benefits strong{display:block;color:var(--vv-green,#123f35);font-size:16px}
.vv-seo-cta-benefits span{display:block;margin-top:3px;color:#60756f;font-size:13px}

@media(max-width:900px){
  .vv-seo-steps{grid-template-columns:repeat(2,1fr)}
  .vv-seo-cta{display:block}
  .vv-seo-cta-benefits{margin-top:32px}
}

@media(max-width:800px){
  .vv-seo-page{margin-top:20px;padding:0 15px}
  .vv-seo-hero{min-height:auto;padding:40px 28px;border-radius:24px}
  .vv-seo-hero h1{font-size:39px!important;letter-spacing:-1px}
  .vv-seo-lead{font-size:18px}
  .vv-seo-hero-mark{right:12px;top:24px;transform:none;font-size:120px;opacity:.1}
  .vv-seo-content h2{margin-top:38px}
  .vv-seo-highlight{padding:30px 26px;border-radius:22px}
  .vv-seo-cta{padding:34px 28px;border-radius:22px}
}

@media(max-width:520px){
  .vv-seo-hero{padding:32px 22px}
  .vv-seo-hero h1{font-size:33px!important}
  .vv-seo-eyebrow{font-size:11px;letter-spacing:1.4px}
  .vv-seo-content p,.vv-seo-content li{font-size:16px}
  .vv-seo-steps{grid-template-columns:1fr}
  .vv-seo-cta{padding:28px 22px}
  .vv-seo-cta-benefits{grid-template-columns:1fr 1fr}
}

/* =========================================================
   v3.37 - SEO prijskaarten
   ========================================================= */
.vv-seo-prices{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:30px 0 34px}
.vv-seo-price{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:150px;padding:24px 18px;background:#fff;border:1px solid #e7e1d9;border-radius:20px;text-align:center;box-shadow:0 8px 26px rgba(18,63,53,.05)}
.vv-seo-price>span{margin-bottom:8px;color:var(--vv-green,#123f35);font-size:16px;font-weight:800}
.vv-seo-price>strong{display:block;color:var(--vv-coral,#ff6b61);font-size:clamp(25px,3vw,36px);line-height:1.05;font-weight:900;letter-spacing:-1px}
.vv-seo-price>small{display:block;margin-top:7px;color:#60756f;font-size:13px}
@media(max-width:700px){.vv-seo-prices{grid-template-columns:1fr}.vv-seo-price{min-height:auto;padding:21px 18px}}
