/* Catering C · Rijdende Keuken Vuurvast — "Luik open": de flank van de truck.
   Skelet: N7 masthead (belettering) · H3 uitroep zonder foto · R1 banden over de volle breedte.
   Kleuren van de knijpflessen op de toonbank: mosterd en ketchup, op asfaltzwart en bakpapier. */
@font-face { font-family: "Alfa Slab One"; font-weight: 400; font-display: swap; src: url("../../fonts/AlfaSlabOne-Regular.woff2") format("woff2"); }

body.s-catering-c {
  --asfalt: #151311; --asfalt2: #231f1b; --mosterd: #f0ab0c; --mosterd-d: #c88a00; --ketchup: #c8321f; --ketchup-d: #9e2416;
  --papier: #f4ecdc; --papier2: #e9dec8; --inkt: #1a1714; --grijs: #5d554b;
  --staal: linear-gradient(180deg, #f2f2ef 0%, #c5c5c0 38%, #9d9d97 52%, #d7d7d2 70%, #eeeeea 100%);
  --led: #ffb71a;
  --w: 1240px; --g: clamp(16px, 4vw, 48px);
  --a: #e0a40e; --a2: #c8321f; --bg2: #2a2521;
  margin: 0; background: var(--asfalt); color: var(--inkt);
  font: 400 17px/1.6 "DM Sans", system-ui, sans-serif; -webkit-font-smoothing: antialiased;
}
body.s-catering-c a { color: inherit; }
body.s-catering-c .vv-w { max-width: var(--w); margin: 0 auto; padding: 0 var(--g); }
body.s-catering-c main { display: block; overflow: hidden; }
body.s-catering-c h1, body.s-catering-c h2, body.s-catering-c h3 { margin: 0; font-weight: 400; }
body.s-catering-c p { margin: 0 0 1em; }
body.s-catering-c .vv-pijl { width: 22px; height: 14px; flex: none; transition: transform .2s; }
body.s-catering-c a:hover .vv-pijl, body.s-catering-c button:hover .vv-pijl { transform: translateX(4px); }
body.s-catering-c .vv-vlam { width: 14px; height: 17px; flex: none; color: var(--ketchup); }

/* ── Kop: de flank met belettering ─────────────────────────────── */
body.s-catering-c .vv-kop { background: var(--asfalt); color: var(--papier); position: relative; }
body.s-catering-c .vv-kop-boven { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding-top: 14px; padding-bottom: 6px;
  font: 500 12px/1.3 "DM Mono", monospace; letter-spacing: .08em; text-transform: uppercase; color: #c9bfae; }
body.s-catering-c .vv-kop-boven a { display: inline-flex; gap: 8px; align-items: center; text-decoration: none; color: var(--papier); }
body.s-catering-c .vv-kop-boven svg { width: 15px; height: 15px; }
body.s-catering-c .vv-merk { display: block; padding: 0 var(--g); max-width: 1600px; margin: 0 auto; text-decoration: none; }
body.s-catering-c .vv-merk svg { display: block; width: 100%; height: auto; overflow: visible; }
body.s-catering-c .vv-merk text { font-family: "Alfa Slab One", Georgia, serif; font-size: 172px; letter-spacing: 0; }
body.s-catering-c .vv-merk .vv-letters { fill: var(--mosterd); }
body.s-catering-c .vv-merk .vv-schaduw { fill: var(--ketchup); }
body.s-catering-c .vv-kop.is-klein .vv-merk svg { max-height: 150px; }
/* sierlijst: dunne mosterdlijn, dan de chromen strip met het menu */
body.s-catering-c .vv-lijst { margin-top: 14px; border-top: 3px solid var(--mosterd); background: var(--staal); color: var(--inkt);
  box-shadow: inset 0 -1px 0 #7d7d77, 0 6px 14px -6px #000c; position: relative; z-index: 20; }
body.s-catering-c .vv-lijst-in { display: flex; align-items: stretch; justify-content: space-between; gap: 12px; min-height: 52px; }
body.s-catering-c .vv-nav { display: flex; align-items: center; gap: 28px; flex: 1; }
body.s-catering-c .vv-nav ul { list-style: none; margin: 0; padding: 0; display: flex; gap: 4px; }
body.s-catering-c .vv-nav a { display: block; padding: 14px 14px 12px; text-decoration: none; font: 800 17px/1.2 "Barlow Condensed", sans-serif;
  text-transform: uppercase; letter-spacing: .06em; border-bottom: 4px solid transparent; }
body.s-catering-c .vv-nav a:hover { border-bottom-color: var(--mosterd); }
body.s-catering-c .vv-nav a.is-actief { border-bottom-color: var(--ketchup); }
body.s-catering-c .vv-nav .vv-ods { margin-left: auto; font: 500 13px/1.2 "DM Mono", monospace; text-transform: none; letter-spacing: 0;
  padding: 7px 12px; border: 1.5px solid var(--inkt); border-radius: 999px; }
body.s-catering-c .vv-nav .vv-ods:hover, body.s-catering-c .vv-nav .vv-ods.is-actief { background: var(--inkt); color: var(--papier); }
body.s-catering-c .vv-kop-cta { display: inline-flex; align-items: center; gap: 10px; padding: 0 22px; background: var(--ketchup); color: #fff;
  text-decoration: none; font: 800 18px/1 "Barlow Condensed", sans-serif; text-transform: uppercase; letter-spacing: .06em; }
body.s-catering-c .vv-kop-cta .vv-vlam { color: var(--mosterd); }
body.s-catering-c .vv-kop-cta:hover { background: var(--ketchup-d); }
body.s-catering-c .vv-nav-check { position: absolute; opacity: 0; pointer-events: none; }
body.s-catering-c .vv-nav-knop { display: none; }

/* ── Led ───────────────────────────────────────────────────────── */
body.s-catering-c .vv-led { font: 500 1em/1 "DM Mono", monospace; color: var(--led); text-transform: uppercase; letter-spacing: .08em;
  text-shadow: 0 0 6px #ffb71aa8, 0 0 18px #ff8a0055; }
body.s-catering-c .vv-kop-led .vv-led { font-size: 12px; }

/* ── Knoppen: bordje met een ketchup-slagschaduw, zoals de belettering ── */
body.s-catering-c .vv-knop { display: inline-flex; align-items: center; gap: 14px; padding: 15px 22px 14px; background: var(--asfalt); color: var(--papier);
  text-decoration: none; border: 0; cursor: pointer; font: 800 19px/1 "Barlow Condensed", sans-serif; text-transform: uppercase; letter-spacing: .06em;
  box-shadow: 5px 5px 0 var(--ketchup); transition: transform .15s, box-shadow .15s; }
body.s-catering-c .vv-knop:hover { transform: translate(-2px, -2px); box-shadow: 7px 7px 0 var(--ketchup); }
body.s-catering-c .vv-knop.licht { background: var(--mosterd); color: var(--inkt); }
body.s-catering-c .vv-knop.klein { padding: 11px 16px 10px; font-size: 16px; }
body.s-catering-c .vv-knop.groot { padding: 19px 28px 18px; font-size: 22px; }
body.s-catering-c .vv-sprong { display: inline-flex; align-items: center; gap: 10px; font: 500 15px/1.2 "DM Mono", monospace; text-decoration: none;
  border-bottom: 2px dotted currentColor; padding-bottom: 3px; }
body.s-catering-c .vv-sprong .vv-pijl { width: 12px; height: 18px; }

/* ── Banden ─────────────────────────────────────────────────────── */
body.s-catering-c .vv-band { position: relative; padding: clamp(64px, 9vw, 128px) 0; }
body.s-catering-c .vv-mosterd { background: var(--mosterd); color: var(--inkt); }
body.s-catering-c .vv-asfalt { background: var(--asfalt); color: var(--papier); }
body.s-catering-c .vv-papier { background: var(--papier); color: var(--inkt); }
body.s-catering-c .vv-ketchup { background: var(--ketchup); color: #fff; }
body.s-catering-c .vv-kop2 { font: 400 clamp(32px, 4.4vw, 58px)/1.02 "Alfa Slab One", Georgia, serif; margin-bottom: .5em; letter-spacing: -.005em; }
body.s-catering-c .vv-lead { font-size: clamp(18px, 1.6vw, 21px); line-height: 1.5; font-weight: 500; }
body.s-catering-c .vv-plek { display: inline-flex; align-items: center; gap: 10px; font: 500 13px/1 "DM Mono", monospace; text-transform: uppercase;
  letter-spacing: .14em; margin-bottom: 22px; }
body.s-catering-c .vv-plek::before { content: ""; width: 10px; height: 10px; border-radius: 50%; background: var(--ketchup); box-shadow: 0 0 0 3px #0000001a; }
body.s-catering-c .vv-klein { font: 500 12px/1.2 "DM Mono", monospace; text-transform: uppercase; letter-spacing: .14em; margin-bottom: 14px; opacity: .8; }
body.s-catering-c .vv-klein-tekst { font-size: 14px; opacity: .8; margin-top: 22px; }
body.s-catering-c .vv-usps { list-style: none; padding: 0; margin: 22px 0 0; display: grid; gap: 10px; }
body.s-catering-c .vv-usps li { display: flex; gap: 12px; align-items: baseline; font-weight: 600; }
body.s-catering-c .vv-usps .vv-vlam { transform: translateY(2px); }
body.s-catering-c .vv-asfalt .vv-usps .vv-vlam, body.s-catering-c .vv-ketchup .vv-usps .vv-vlam { color: var(--mosterd); }

/* ── Opening: de uitroep (H3) ───────────────────────────────────── */
body.s-catering-c .vv-roepband { padding: clamp(56px, 8vw, 110px) 0 0; }
body.s-catering-c .vv-uitroep { font: 400 clamp(58px, 11.6vw, 176px)/.9 "Alfa Slab One", Georgia, serif; letter-spacing: -.015em; margin: 0 0 clamp(36px, 5vw, 64px); }
body.s-catering-c .vv-uitroep span { display: block; }
body.s-catering-c .vv-uitroep span:nth-child(2) { padding-left: 1.05em; }
body.s-catering-c .vv-uitroep .vv-volgende { color: #b02815; padding-left: 2.1em; }
body.s-catering-c .vv-roep-onder { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); gap: 32px 64px; align-items: end;
  padding-bottom: clamp(48px, 6vw, 80px); border-top: 3px solid var(--inkt); padding-top: 28px; }
body.s-catering-c .vv-roep-onder .vv-lead { margin: 0; max-width: 38em; }
body.s-catering-c .vv-knoppen { display: flex; flex-wrap: wrap; align-items: center; gap: 22px 30px; justify-content: flex-end; }

/* lichtkrant */
body.s-catering-c .vv-krant { background: #0b0a09; border-top: 6px solid var(--asfalt); border-bottom: 6px solid var(--asfalt); overflow: hidden; padding: 16px 0 14px;
  box-shadow: inset 0 0 0 1px #2c2824; }
body.s-catering-c .vv-krant-loop { display: flex; width: max-content; animation: vv-loop 46s linear infinite; }
body.s-catering-c .vv-krant-stuk { display: flex; align-items: center; gap: 30px; padding-right: 30px; white-space: nowrap; }
body.s-catering-c .vv-krant span, body.s-catering-c .vv-krant i { font: 500 21px/1 "DM Mono", monospace; color: var(--led); text-transform: uppercase; letter-spacing: .1em;
  font-style: normal; text-shadow: 0 0 7px #ffb71ab0, 0 0 22px #ff8a0060;
  -webkit-mask-image: radial-gradient(circle, #000 62%, transparent 68%); -webkit-mask-size: 3px 3px; mask-image: radial-gradient(circle, #000 62%, transparent 68%); mask-size: 3px 3px; }
body.s-catering-c .vv-krant i { color: var(--ketchup); text-shadow: 0 0 8px #ff3b1f; }
@keyframes vv-loop { to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) { body.s-catering-c .vv-krant-loop { animation: none; } }

/* ── Het uitgifteluik ───────────────────────────────────────────── */
body.s-catering-c .vv-luik { --romp: #0e0d0c; position: relative; margin: 0; padding-top: 54px; }
body.s-catering-c .vv-klep { position: absolute; top: 0; left: -5%; right: -5%; height: 56px; z-index: 2;
  background: linear-gradient(180deg, #34302b 0%, #1a1815 55%, #0c0b0a 100%);
  clip-path: polygon(0 0, 100% 0, 95.5% 100%, 4.5% 100%); }
body.s-catering-c .vv-klep::after { content: ""; position: absolute; left: 4.5%; right: 4.5%; bottom: 0; height: 4px; background: #fff6d8;
  box-shadow: 0 0 10px #ffd27a; }
body.s-catering-c .vv-veer { position: absolute; top: 40px; width: 4px; height: 34%; z-index: 3; background: linear-gradient(90deg, #8b8b86, #f1f1ee, #8b8b86);
  border-radius: 2px; box-shadow: 0 2px 4px #0006; }
body.s-catering-c .vv-veer.l { left: -2.6%; transform-origin: top; transform: rotate(-16deg); }
body.s-catering-c .vv-veer.r { right: -2.6%; transform-origin: top; transform: rotate(16deg); }
body.s-catering-c .vv-raam { position: relative; border: 12px solid var(--romp); border-radius: 22px; overflow: hidden; background: var(--romp);
  box-shadow: inset 0 0 0 3px #b9b9b3; }
body.s-catering-c .vv-raam::after { content: ""; position: absolute; inset: 0; pointer-events: none; border-radius: 10px;
  box-shadow: inset 0 0 0 3px #c7c7c1, inset 0 26px 30px -16px #ffe3a6b0; }
body.s-catering-c .vv-img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; }
body.s-catering-c .vv-raam .ph { min-height: 0; border-radius: 10px; }
body.s-catering-c .vv-toonbank { position: relative; height: 18px; margin: -4px -6% 0; background:
  repeating-linear-gradient(90deg, #ffffff22 0 1px, transparent 1px 3px), var(--staal); border-radius: 2px 2px 4px 4px;
  box-shadow: 0 14px 18px -10px #000a, inset 0 -3px 0 #7c7c76; z-index: 2; }
body.s-catering-c .vv-luik figcaption { margin-top: 18px; font: 400 13px/1.45 "DM Mono", monospace; opacity: .85; max-width: 46em; }
body.s-catering-c .vv-asfalt .vv-luik { --romp: #2b2622; }
body.s-catering-c .vv-asfalt .vv-klep { background: linear-gradient(180deg, #4a443d 0%, #2f2a25 60%, #1c1916 100%); }
body.s-catering-c .vv-luik-groot .vv-img { aspect-ratio: 16 / 10; }

/* ── Home: de truck ─────────────────────────────────────────────── */
body.s-catering-c .vv-truck-in { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr); gap: clamp(40px, 6vw, 88px); align-items: center; }
body.s-catering-c .vv-truck-tekst p { color: #e2d8c6; }
body.s-catering-c .vv-truck-tekst .vv-kop2 { font-size: clamp(28px, 3vw, 42px); color: var(--papier); }

/* ── Tourlijst ──────────────────────────────────────────────────── */
body.s-catering-c .vv-tour-kop { display: grid; grid-template-columns: auto minmax(0, 30em); gap: 24px 64px; align-items: end; margin-bottom: 48px; }
body.s-catering-c .vv-tour-kop p { margin: 0; }
body.s-catering-c .vv-tour-kop .vv-kop2 { margin: 0; }
body.s-catering-c .vv-reus { font: 400 clamp(64px, 12vw, 180px)/.85 "Alfa Slab One", Georgia, serif; letter-spacing: -.02em; color: var(--ketchup);
  text-shadow: 4px 4px 0 var(--asfalt); }
body.s-catering-c .vv-tour { list-style: none; margin: 0; padding: 0; }
body.s-catering-c .vv-tour.is-kort { border-top: 3px solid var(--inkt); }
body.s-catering-c .vv-stop { display: grid; grid-template-columns: 96px minmax(0, 1fr) 170px 150px; gap: 20px; align-items: center; padding: 16px 0;
  border-bottom: 1.5px solid #1a171433; }
body.s-catering-c .vv-datum { display: grid; grid-template-columns: auto auto; grid-template-rows: auto auto; column-gap: 8px; align-items: end; justify-content: start; }
body.s-catering-c .vv-datum b { grid-row: 1 / 3; font: 400 46px/.9 "Alfa Slab One", Georgia, serif; }
body.s-catering-c .vv-datum small { font: 500 12px/1.2 "DM Mono", monospace; text-transform: uppercase; letter-spacing: .1em; }
body.s-catering-c .vv-wat { display: grid; gap: 2px; }
body.s-catering-c .vv-wat b { font: 800 clamp(22px, 2vw, 28px)/1.1 "Barlow Condensed", sans-serif; text-transform: uppercase; letter-spacing: .02em; }
body.s-catering-c .vv-wat span { color: var(--grijs); font-size: 15px; }
body.s-catering-c .vv-tijd { font: 400 15px/1.2 "DM Mono", monospace; }
body.s-catering-c .vv-status { justify-self: end; font: 800 15px/1 "Barlow Condensed", sans-serif; text-transform: uppercase; letter-spacing: .08em;
  padding: 9px 12px 8px; border: 2px solid var(--inkt); white-space: nowrap; }
body.s-catering-c .is-open .vv-status { background: var(--mosterd); border-color: var(--mosterd); box-shadow: 3px 3px 0 var(--inkt); }
body.s-catering-c .is-voorbij { color: #6f665b; }
body.s-catering-c .is-voorbij .vv-wat b { text-decoration: line-through; text-decoration-color: var(--ketchup); text-decoration-thickness: 3px; }
body.s-catering-c .is-voorbij .vv-wat span { color: #6f665b; }
body.s-catering-c .is-voorbij .vv-status { border: 0; padding-right: 0; }
body.s-catering-c .vv-jaar { display: flex; align-items: center; gap: 16px; padding: 30px 0 6px; }
body.s-catering-c .vv-jaar span { font: 400 15px/1 "DM Mono", monospace; letter-spacing: .2em; background: var(--inkt); color: var(--papier); padding: 6px 10px; }
body.s-catering-c .vv-jaar::after { content: ""; flex: 1; border-top: 3px solid var(--inkt); }
body.s-catering-c .vv-tour > .vv-jaar:first-child { padding-top: 0; }
body.s-catering-c .vv-tour-voet { margin-top: 36px; display: flex; flex-wrap: wrap; gap: 18px 28px; align-items: center; font-size: 18px; }

/* ── Bestelbord ─────────────────────────────────────────────────── */
body.s-catering-c .vv-snel-in { display: grid; grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr); gap: clamp(40px, 6vw, 96px); align-items: center; }
body.s-catering-c .vv-bord { background: #0b0a09; border: 10px solid #1d1a17; border-radius: 16px; padding: 30px 32px 26px; text-align: center;
  box-shadow: 0 30px 50px -24px #000d, inset 0 0 0 2px #39332d; position: relative; }
body.s-catering-c .vv-bord::before, body.s-catering-c .vv-bord::after { content: ""; position: absolute; top: -34px; width: 4px; height: 26px; background: #9b9b95; }
body.s-catering-c .vv-bord::before { left: 22%; } body.s-catering-c .vv-bord::after { right: 22%; }
body.s-catering-c .vv-bord p { margin: 0; }
body.s-catering-c .vv-bord-kop .vv-led { font-size: 22px; letter-spacing: .4em; }
body.s-catering-c .vv-bord-nr .vv-led { display: block; font-size: clamp(110px, 15vw, 200px); line-height: 1; letter-spacing: .02em; margin: 6px 0 4px;
  -webkit-mask-image: radial-gradient(circle, #000 58%, transparent 64%); -webkit-mask-size: 7px 7px; mask-image: radial-gradient(circle, #000 58%, transparent 64%); mask-size: 7px 7px; }
body.s-catering-c .vv-bord-onder .vv-led { font-size: 18px; color: #a87814; text-shadow: none; }
body.s-catering-c .vv-snel p { color: #fff; }
body.s-catering-c .vv-tellers { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; margin: 34px 0 0; border-top: 2px solid #ffffff80; }
body.s-catering-c .vv-tellers div { padding: 18px 14px 0 0; }
body.s-catering-c .vv-tellers dt { font: 400 clamp(30px, 3.4vw, 46px)/1 "Alfa Slab One", Georgia, serif; color: #fff; text-shadow: 3px 3px 0 var(--ketchup-d); }
body.s-catering-c .vv-tellers dd { margin: 8px 0 0; font-weight: 600; font-size: 15px; }

/* ── Menu op de home ────────────────────────────────────────────── */
body.s-catering-c .vv-menu-in { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr); gap: clamp(40px, 6vw, 96px); align-items: center; }
body.s-catering-c .vv-menu-bord .vv-kop2 { color: var(--mosterd); }
body.s-catering-c .vv-bordlijst { list-style: none; margin: 0; padding: 0; }
body.s-catering-c .vv-bordlijst li { display: flex; justify-content: space-between; align-items: baseline; gap: 20px; padding: 16px 0; border-bottom: 1.5px dashed #f4ecdc40; }
body.s-catering-c .vv-gerecht { display: grid; gap: 4px; }
body.s-catering-c .vv-gerecht b { font: 800 clamp(22px, 2.1vw, 27px)/1.1 "Barlow Condensed", sans-serif; text-transform: uppercase; letter-spacing: .03em; color: var(--papier); }
body.s-catering-c .vv-gerecht small { font-size: 15px; color: #cfc4b1; }
body.s-catering-c .vv-prijs { font: 400 clamp(22px, 2.2vw, 30px)/1 "Alfa Slab One", Georgia, serif; color: var(--mosterd); white-space: nowrap; }
body.s-catering-c .vv-menu-bord .vv-knop { margin-top: 30px; }
body.s-catering-c .vv-luik-schuin { transform: rotate(1.6deg); }

/* ── Waar je ons voor boekt ─────────────────────────────────────── */
body.s-catering-c .vv-boek-in { display: grid; grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr); gap: clamp(40px, 6vw, 96px); align-items: start; }
body.s-catering-c .vv-boek-in > div p { max-width: 30em; margin-bottom: 30px; }
body.s-catering-c .vv-rijen { list-style: none; margin: 0; padding: 0; border-top: 3px solid var(--inkt); }
body.s-catering-c .vv-rijen a { display: grid; grid-template-columns: 56px minmax(0, 1fr) 24px; gap: 18px; align-items: center; padding: 22px 12px 22px 0;
  border-bottom: 1.5px solid #1a171440; text-decoration: none; transition: background .15s, padding .15s; }
body.s-catering-c .vv-rijen a:hover { background: var(--mosterd); padding-left: 14px; }
body.s-catering-c .vv-nr { font: 400 22px/1 "DM Mono", monospace; color: var(--ketchup); }
body.s-catering-c .vv-rijen .vv-wat b { font: 400 clamp(24px, 2.4vw, 32px)/1.05 "Alfa Slab One", Georgia, serif; text-transform: none; letter-spacing: 0; }
body.s-catering-c .vv-rijen .vv-wat span { font-size: 16px; color: var(--grijs); }

/* ── Wat de truck nodig heeft ───────────────────────────────────── */
body.s-catering-c .vv-specs { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 12px 0 0; border-top: 3px solid currentColor; }
body.s-catering-c .vv-specs div { padding: 22px 22px 0 0; border-right: 1.5px solid #1a171433; }
body.s-catering-c .vv-specs div + div { padding-left: 22px; }
body.s-catering-c .vv-specs div:last-child { border-right: 0; }
body.s-catering-c .vv-specs dt { font: 400 clamp(36px, 4.4vw, 62px)/1 "Alfa Slab One", Georgia, serif; white-space: nowrap; }
body.s-catering-c .vv-specs dd { margin: 12px 0 0; font-size: 15px; }
body.s-catering-c .vv-specs dd b { display: block; font: 800 19px/1.2 "Barlow Condensed", sans-serif; text-transform: uppercase; letter-spacing: .06em; margin-bottom: 4px; }
body.s-catering-c .vv-ketchup .vv-specs div { border-color: #ffffff40; }
body.s-catering-c .vv-ketchup .vv-specs dt { color: #fff; text-shadow: 3px 3px 0 var(--ketchup-d); }
body.s-catering-c .vv-ketchup .vv-plek::before { background: var(--mosterd); }

/* ── Fotoband met citaat ────────────────────────────────────────── */
body.s-catering-c .vv-fotoband { padding: 0; min-height: clamp(460px, 62vw, 760px); display: flex; align-items: flex-end; background: var(--asfalt); color: var(--papier); }
body.s-catering-c .vv-foto-vol { position: absolute; inset: 0; }
body.s-catering-c .vv-foto-vol .vv-img, body.s-catering-c .vv-foto-vol .ph { width: 100%; height: 100%; aspect-ratio: auto; object-fit: cover; }
body.s-catering-c .vv-fotoband::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 35%, #0d0c0bdd 88%); pointer-events: none; }
body.s-catering-c .vv-fotoband .vv-w { position: relative; z-index: 2; width: 100%; padding-bottom: clamp(40px, 6vw, 80px); }
body.s-catering-c .vv-citaat { margin: 0; max-width: 780px; }
body.s-catering-c .vv-citaat p { font: 400 clamp(28px, 3.4vw, 46px)/1.12 "Alfa Slab One", Georgia, serif; margin-bottom: 18px; }
body.s-catering-c .vv-citaat footer { font: 500 14px/1 "DM Mono", monospace; text-transform: uppercase; letter-spacing: .14em; color: var(--mosterd); }

/* ── Slotband ───────────────────────────────────────────────────── */
body.s-catering-c .vv-slot { border-top: 6px solid var(--mosterd); }
body.s-catering-c .vv-slot-in { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(40px, 6vw, 96px); align-items: center; }
body.s-catering-c .vv-slot .vv-kop2 { color: var(--mosterd); }
body.s-catering-c .vv-slot p { color: #e2d8c6; max-width: 32em; }
body.s-catering-c .vv-bel { display: flex; flex-wrap: wrap; gap: 8px 14px; align-items: center; margin-top: 26px; }
body.s-catering-c .vv-bel a { display: inline-flex; gap: 10px; align-items: center; color: var(--papier); font: 400 22px/1.2 "Alfa Slab One", Georgia, serif; text-decoration: none; }
body.s-catering-c .vv-bel a + span + a { font: 500 17px/1.2 "DM Sans", sans-serif; border-bottom: 1px solid currentColor; }
body.s-catering-c .vv-bel svg { width: 22px; height: 22px; color: var(--mosterd); }

/* ── Formulieren ────────────────────────────────────────────────── */
body.s-catering-c .vv-form { display: grid; gap: 18px; }
body.s-catering-c .vv-form label, body.s-catering-c .vv-form fieldset { display: grid; gap: 7px; }
body.s-catering-c .vv-form label > span, body.s-catering-c .vv-form legend { font: 800 15px/1.2 "Barlow Condensed", sans-serif; text-transform: uppercase; letter-spacing: .08em; }
body.s-catering-c .vv-form fieldset { border: 0; margin: 0; padding: 0; min-width: 0; }
body.s-catering-c .vv-form legend { padding: 0; margin-bottom: 8px; }
body.s-catering-c .vv-form input:not([type=radio]), body.s-catering-c .vv-form textarea { width: 100%; font: 400 17px/1.3 "DM Sans", sans-serif; color: var(--inkt);
  background: #fffdf8; border: 2px solid var(--inkt); border-radius: 0; padding: 13px 14px; min-width: 0; }
body.s-catering-c .vv-form input:focus, body.s-catering-c .vv-form textarea:focus { outline: 3px solid var(--mosterd); outline-offset: 1px; }
body.s-catering-c .vv-form .vv-knop { justify-self: start; margin-top: 6px; }
body.s-catering-c .vv-noot { font: 400 13px/1.45 "DM Mono", monospace; opacity: .8; margin: 0; }
body.s-catering-c .vv-form-kort { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); background: var(--asfalt2); padding: 28px; border: 2px solid #3a342e; }
body.s-catering-c .vv-form-kort .vv-knop, body.s-catering-c .vv-form-kort .vv-noot { grid-column: 1 / -1; }
body.s-catering-c .vv-form-kort .vv-knop { background: var(--mosterd); color: var(--inkt); }
body.s-catering-c .vv-form-kort label > span { color: var(--papier); }
body.s-catering-c .vv-form-kort input:not([type=radio]) { border-color: #fffdf8; }
body.s-catering-c .vv-rij2 { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 18px; }
body.s-catering-c .vv-keuzes { display: flex; flex-wrap: wrap; gap: 10px; }
body.s-catering-c .vv-keus { display: inline-flex !important; cursor: pointer; }
body.s-catering-c .vv-keus input { position: absolute; opacity: 0; }
body.s-catering-c .vv-keus span { display: inline-block; padding: 10px 14px 9px; border: 2px solid var(--inkt); font: 600 15px/1.2 "DM Sans", sans-serif;
  text-transform: none !important; letter-spacing: 0 !important; background: #fffdf8; }
body.s-catering-c .vv-keus input:checked + span { background: var(--inkt); color: var(--mosterd); box-shadow: 3px 3px 0 var(--ketchup); }
body.s-catering-c .vv-keus input:focus-visible + span { outline: 3px solid var(--mosterd); }

/* ── Subpagina-kop ──────────────────────────────────────────────── */
body.s-catering-c .vv-pkop { padding: clamp(56px, 7vw, 100px) 0 clamp(56px, 7vw, 96px); }
body.s-catering-c .vv-roep { font: 400 clamp(52px, 9vw, 140px)/.92 "Alfa Slab One", Georgia, serif; letter-spacing: -.015em; max-width: 12em; }
body.s-catering-c .vv-pkop .vv-lead { max-width: 36em; margin: 36px 0 0; padding-top: 22px; border-top: 3px solid currentColor; }
body.s-catering-c .vv-pkop.vv-mosterd .vv-roep { text-shadow: 5px 5px 0 #ffffff55; }
body.s-catering-c .vv-pkop.vv-ketchup .vv-roep { color: #fff; text-shadow: 5px 5px 0 var(--ketchup-d); }
body.s-catering-c .vv-pkop.vv-asfalt .vv-roep { color: var(--mosterd); text-shadow: 5px 5px 0 var(--ketchup); }
body.s-catering-c .vv-pkop.vv-asfalt { border-top: 1px solid #2a2622; }

/* ── Diensten ───────────────────────────────────────────────────── */
body.s-catering-c .vv-sprongen { padding: 18px 0; border-bottom: 1px solid #ffffff1a; }
body.s-catering-c .vv-sprongen .vv-w { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 24px; }
body.s-catering-c .vv-sprongen .vv-klein { margin: 0; }
body.s-catering-c .vv-sprongen ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px 22px; }
body.s-catering-c .vv-sprongen a { display: inline-flex; align-items: center; gap: 8px; text-decoration: none; font: 500 14px/1.3 "DM Mono", monospace; border-bottom: 1px dotted #f4ecdc99; }
body.s-catering-c .vv-sprongen a:hover { color: var(--mosterd); }
body.s-catering-c .vv-sprongen .vv-pijl { width: 9px; height: 14px; color: var(--mosterd); }
body.s-catering-c .vv-dienst-in { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(40px, 6vw, 96px); align-items: center; }
body.s-catering-c .vv-dienst.is-om .vv-luik { order: 2; }
body.s-catering-c .vv-dienst-tekst .vv-lead { margin-bottom: 14px; }
body.s-catering-c .vv-feiten { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); margin: 30px 0 34px; border-top: 2px solid currentColor; }
body.s-catering-c .vv-feiten div { padding-top: 14px; }
body.s-catering-c .vv-feiten dt { font: 500 12px/1 "DM Mono", monospace; text-transform: uppercase; letter-spacing: .14em; opacity: .75; }
body.s-catering-c .vv-feiten dd { margin: 8px 0 0; font: 800 22px/1.15 "Barlow Condensed", sans-serif; text-transform: uppercase; letter-spacing: .02em; }
body.s-catering-c .vv-asfalt .vv-dienst-tekst p { color: #e2d8c6; }
body.s-catering-c .vv-asfalt .vv-dienst-tekst .vv-knop { background: var(--mosterd); color: var(--inkt); }
body.s-catering-c .vv-dienst + .vv-dienst.vv-papier { border-top: 1px solid #1a171422; }

/* ── Menu-pagina ────────────────────────────────────────────────── */
body.s-catering-c .vv-bord-rand { border: 3px solid var(--mosterd); border-radius: 18px; padding: clamp(28px, 4vw, 56px); position: relative;
  box-shadow: 0 0 0 10px #0c0b0a, 0 0 0 12px #3a342e, 0 0 40px #ffb71a22; background: #0e0d0c; }
body.s-catering-c .vv-bord-titel { text-align: center; margin: 0 0 30px; }
body.s-catering-c .vv-bord-titel .vv-led { font-size: clamp(18px, 2vw, 26px); letter-spacing: .3em; }
body.s-catering-c .vv-kaart-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 48px 64px; }
body.s-catering-c .vv-kaart-sectie h2 { font: 400 clamp(30px, 3vw, 40px)/1 "Alfa Slab One", Georgia, serif; color: var(--mosterd); margin-bottom: 8px; }
body.s-catering-c .vv-kaart-sectie > p { color: #bfb4a1; font-size: 15px; margin-bottom: 8px; }
body.s-catering-c .vv-tag { font: 500 11px/1 "DM Mono", monospace; font-style: normal; text-transform: uppercase; letter-spacing: .1em; color: var(--mosterd);
  border: 1px solid #f0ab0c99; padding: 4px 6px 3px; justify-self: start; margin-top: 4px; }
body.s-catering-c .vv-arr-kop { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 24px 64px; align-items: end; margin-bottom: 40px; }
body.s-catering-c .vv-arr-kop .vv-kop2 { margin: 0; }
body.s-catering-c .vv-arr-kop p { margin: 0; }
body.s-catering-c .vv-arr { list-style: none; margin: 0; padding: 0; border-top: 3px solid var(--inkt); }
body.s-catering-c .vv-arr li { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 24px; align-items: center; padding: 26px 0; border-bottom: 1.5px solid #1a171433; }
body.s-catering-c .vv-arr h3 { font: 400 clamp(24px, 2.4vw, 32px)/1.1 "Alfa Slab One", Georgia, serif; margin-bottom: 6px; }
body.s-catering-c .vv-arr p { margin: 0 0 4px; }
body.s-catering-c .vv-arr small { font: 400 13px/1.4 "DM Mono", monospace; color: var(--grijs); }
body.s-catering-c .vv-arr-prijs { margin: 0; text-align: right; font: 400 24px/1 "Alfa Slab One", Georgia, serif; white-space: nowrap; }
body.s-catering-c .vv-arr-prijs b { font-weight: 400; font-size: clamp(36px, 4vw, 56px); color: var(--ketchup); }
body.s-catering-c .vv-arr-prijs span { display: block; font: 500 13px/1 "DM Mono", monospace; margin-top: 8px; letter-spacing: .1em; }
body.s-catering-c .vv-regels { list-style: none; margin: 34px 0 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 40px; }
body.s-catering-c .vv-regels li { padding-left: 22px; position: relative; }
body.s-catering-c .vv-regels li::before { content: ""; position: absolute; left: 0; top: .55em; width: 10px; height: 10px; background: var(--mosterd); border: 2px solid var(--inkt); }
body.s-catering-c .vv-duo-in { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(40px, 6vw, 96px); align-items: center; }

/* ── Over ons ───────────────────────────────────────────────────── */
body.s-catering-c .vv-verhaal-in { display: grid; grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr); gap: clamp(40px, 6vw, 96px); align-items: start; }
body.s-catering-c .vv-crew { list-style: none; margin: 10px 0 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 2px solid #f4ecdc55; }
body.s-catering-c .vv-crew li { padding: 24px 24px 0 0; }
body.s-catering-c .vv-crew li + li { padding-left: 24px; border-left: 1px solid #f4ecdc26; }
body.s-catering-c .vv-crew b { display: block; font: 400 clamp(36px, 3.8vw, 54px)/1 "Alfa Slab One", Georgia, serif; color: var(--mosterd); text-shadow: 3px 3px 0 var(--ketchup); }
body.s-catering-c .vv-crew span { display: block; font: 500 13px/1.2 "DM Mono", monospace; text-transform: uppercase; letter-spacing: .12em; margin: 12px 0 10px; }
body.s-catering-c .vv-crew p { color: #d9cfbd; font-size: 16px; }
body.s-catering-c .vv-dag { list-style: none; margin: 14px 0 0; padding: 0; display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); position: relative; }
body.s-catering-c .vv-dag::before { content: ""; position: absolute; left: 0; right: 0; top: 23px; border-top: 3px dashed var(--inkt); }
body.s-catering-c .vv-dag li { position: relative; padding-right: 18px; }
body.s-catering-c .vv-uur { display: inline-block; background: #0b0a09; padding: 12px 12px 10px; border-radius: 6px; margin-bottom: 18px; }
body.s-catering-c .vv-uur .vv-led { font-size: 20px; }
body.s-catering-c .vv-dag b { display: block; font: 800 22px/1.1 "Barlow Condensed", sans-serif; text-transform: uppercase; letter-spacing: .03em; margin-bottom: 6px; }
body.s-catering-c .vv-dag p { font-size: 15px; }
body.s-catering-c .vv-stappen { list-style: none; margin: 10px 0 40px; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 32px; }
body.s-catering-c .vv-stappen .vv-nr { display: block; font: 400 84px/1 "Alfa Slab One", Georgia, serif; color: transparent; -webkit-text-stroke: 2px var(--mosterd); margin-bottom: 14px; }
body.s-catering-c .vv-stappen b { display: block; font: 800 24px/1.1 "Barlow Condensed", sans-serif; text-transform: uppercase; letter-spacing: .03em; margin-bottom: 8px; color: #fff; }
body.s-catering-c .vv-stappen p { color: #fff; }

/* ── Contact ────────────────────────────────────────────────────── */
body.s-catering-c .vv-contact-in { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(0, 0.65fr); gap: clamp(40px, 6vw, 88px); align-items: start; }
body.s-catering-c .vv-contact-form > p { max-width: 36em; margin-bottom: 30px; }
body.s-catering-c .vv-zij-blok { padding: 26px 0; border-top: 3px solid var(--inkt); }
body.s-catering-c .vv-zij-donker { background: var(--asfalt); color: var(--papier); padding: 28px; border: 0; box-shadow: 6px 6px 0 var(--ketchup); margin-bottom: 30px; }
body.s-catering-c .vv-zij-donker a { color: var(--mosterd); }
body.s-catering-c .vv-groot-tel { font: 400 clamp(28px, 2.6vw, 36px)/1.1 "Alfa Slab One", Georgia, serif; }
body.s-catering-c .vv-groot-tel a { text-decoration: none; }
body.s-catering-c .vv-tijden { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
body.s-catering-c .vv-tijden li { display: grid; gap: 2px; }
body.s-catering-c .vv-tijden span { font-size: 14px; opacity: .8; }
body.s-catering-c .vv-tijden b { font-weight: 600; }
body.s-catering-c .vv-vragen-in { display: grid; grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr); gap: clamp(40px, 6vw, 96px); align-items: start; }
body.s-catering-c .vv-vragen-in > div > p { color: #d9cfbd; }
body.s-catering-c .vv-vraag { border-top: 1.5px solid #f4ecdc40; }
body.s-catering-c .vv-vraag:last-child { border-bottom: 1.5px solid #f4ecdc40; }
body.s-catering-c .vv-vraag summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; gap: 20px; align-items: center; padding: 22px 0;
  font: 800 clamp(20px, 1.9vw, 25px)/1.15 "Barlow Condensed", sans-serif; text-transform: uppercase; letter-spacing: .02em; }
body.s-catering-c .vv-vraag summary::-webkit-details-marker { display: none; }
body.s-catering-c .vv-vraag summary i { width: 26px; height: 26px; flex: none; position: relative; border: 2px solid var(--mosterd); }
body.s-catering-c .vv-vraag summary i::before, body.s-catering-c .vv-vraag summary i::after { content: ""; position: absolute; left: 5px; right: 5px; top: 10px; height: 2px; background: var(--mosterd); }
body.s-catering-c .vv-vraag summary i::after { transform: rotate(90deg); transition: transform .2s; }
body.s-catering-c .vv-vraag[open] summary i::after { transform: rotate(0); }
body.s-catering-c .vv-vraag p { color: #e2d8c6; padding-bottom: 22px; margin: 0; max-width: 40em; }

/* ── Voet: de achterkant van de truck ───────────────────────────── */
body.s-catering-c .vv-voet { background: var(--asfalt); color: var(--papier); position: relative; padding: 0 0 36px; }
body.s-catering-c .vv-bumper { position: relative; height: 22px; background: repeating-linear-gradient(90deg, #ffffff1f 0 1px, transparent 1px 3px), var(--staal);
  box-shadow: inset 0 -4px 0 #77776f, 0 10px 18px -8px #000; }
body.s-catering-c .vv-licht { position: absolute; top: -30px; width: 74px; height: 26px; border-radius: 6px; background: radial-gradient(ellipse at 50% 40%, #ff6a4a, #c8321f 60%, #7c160c);
  box-shadow: 0 0 22px #ff3b1f99, inset 0 0 0 2px #00000040; }
body.s-catering-c .vv-licht.l { left: var(--g); } body.s-catering-c .vv-licht.r { right: var(--g); }
body.s-catering-c .vv-voet-roep { font: 400 clamp(46px, 8vw, 120px)/.92 "Alfa Slab One", Georgia, serif; color: var(--mosterd); text-shadow: 5px 5px 0 var(--ketchup);
  margin: clamp(64px, 8vw, 110px) 0 clamp(48px, 6vw, 80px); letter-spacing: -.015em; }
body.s-catering-c .vv-voet-grid { display: grid; grid-template-columns: minmax(0, 1.3fr) repeat(3, minmax(0, 1fr)); gap: 40px; padding-top: 34px; border-top: 3px solid var(--mosterd); }
body.s-catering-c .vv-voet-stop { font-size: 16px; color: #e2d8c6; }
body.s-catering-c .vv-voet-stop b { display: block; font: 400 30px/1.1 "Alfa Slab One", Georgia, serif; color: var(--papier); }
body.s-catering-c .vv-voet-stop span { display: block; font: 400 13px/1.5 "DM Mono", monospace; opacity: .85; margin-top: 4px; }
body.s-catering-c .vv-voet .vv-knop { background: var(--mosterd); color: var(--inkt); margin-top: 6px; }
body.s-catering-c .vv-adres { font-size: 16px; color: #e2d8c6; }
body.s-catering-c .vv-adres a { color: var(--papier); }
body.s-catering-c .vv-voet .vv-tijden span { color: #c9bfae; opacity: 1; }
body.s-catering-c .vv-voet-nav { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
body.s-catering-c .vv-voet-nav a { text-decoration: none; font: 800 18px/1.2 "Barlow Condensed", sans-serif; text-transform: uppercase; letter-spacing: .05em; }
body.s-catering-c .vv-voet-nav a:hover { color: var(--mosterd); }
body.s-catering-c .vv-sgs { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 10px 30px; margin: 60px 0 0; padding-top: 22px; border-top: 1px solid #ffffff22;
  font: 400 13px/1.5 "DM Mono", monospace; color: #b8ad9a; }
body.s-catering-c .vv-sgs a { color: var(--mosterd); }

/* ── Tablet ─────────────────────────────────────────────────────── */
@media (max-width: 980px) {
  body.s-catering-c .vv-nav { position: absolute; top: 100%; left: 0; right: 0; display: none; flex-direction: column; align-items: stretch; gap: 0;
    background: var(--asfalt); color: var(--papier); padding: 10px var(--g) 28px; border-top: 3px solid var(--mosterd); box-shadow: 0 20px 30px #000b; }
  body.s-catering-c .vv-nav-check:checked ~ .vv-nav { display: flex; }
  body.s-catering-c .vv-nav ul { flex-direction: column; }
  body.s-catering-c .vv-nav a { font: 400 34px/1.1 "Alfa Slab One", Georgia, serif; text-transform: none; letter-spacing: 0; padding: 12px 0; border-bottom: 1px solid #ffffff1c; }
  body.s-catering-c .vv-nav a.is-actief { color: var(--mosterd); border-bottom-color: #ffffff1c; }
  body.s-catering-c .vv-nav .vv-ods { margin: 22px 0 0; align-self: flex-start; border-color: var(--papier); font-size: 14px; }
  body.s-catering-c .vv-nav-knop { display: inline-flex; align-items: center; gap: 12px; cursor: pointer; font: 800 18px/1 "Barlow Condensed", sans-serif;
    text-transform: uppercase; letter-spacing: .08em; padding: 0 4px; }
  body.s-catering-c .vv-nav-streep, body.s-catering-c .vv-nav-streep::before, body.s-catering-c .vv-nav-streep::after { display: block; width: 24px; height: 3px; background: var(--inkt); position: relative; }
  body.s-catering-c .vv-nav-streep::before, body.s-catering-c .vv-nav-streep::after { content: ""; position: absolute; left: 0; }
  body.s-catering-c .vv-nav-streep::before { top: -7px; } body.s-catering-c .vv-nav-streep::after { top: 7px; }
  body.s-catering-c .vv-nav-check:checked + .vv-nav-knop .vv-nav-streep { background: transparent; }
  body.s-catering-c .vv-nav-check:checked + .vv-nav-knop .vv-nav-streep::before { top: 0; transform: rotate(45deg); }
  body.s-catering-c .vv-nav-check:checked + .vv-nav-knop .vv-nav-streep::after { top: 0; transform: rotate(-45deg); }
  body.s-catering-c .vv-nav-check:focus-visible + .vv-nav-knop { outline: 3px solid var(--ketchup); }
  body.s-catering-c .vv-truck-in, body.s-catering-c .vv-snel-in, body.s-catering-c .vv-menu-in, body.s-catering-c .vv-boek-in, body.s-catering-c .vv-slot-in,
  body.s-catering-c .vv-dienst-in, body.s-catering-c .vv-duo-in, body.s-catering-c .vv-verhaal-in, body.s-catering-c .vv-contact-in,
  body.s-catering-c .vv-vragen-in, body.s-catering-c .vv-roep-onder, body.s-catering-c .vv-tour-kop, body.s-catering-c .vv-arr-kop { grid-template-columns: minmax(0, 1fr); }
  body.s-catering-c .vv-dienst.is-om .vv-luik { order: 0; }
  body.s-catering-c .vv-knoppen { justify-content: flex-start; }
  body.s-catering-c .vv-specs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.s-catering-c .vv-specs div { border-right: 0; padding: 22px 16px 22px 0 !important; border-bottom: 1.5px solid #1a171433; }
  body.s-catering-c .vv-crew { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.s-catering-c .vv-crew li, body.s-catering-c .vv-crew li + li { padding: 24px 18px 10px 0; border-left: 0; }
  body.s-catering-c .vv-dag { grid-template-columns: repeat(3, minmax(0, 1fr)); row-gap: 30px; }
  body.s-catering-c .vv-dag::before { display: none; }
  body.s-catering-c .vv-stappen { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.s-catering-c .vv-voet-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.s-catering-c .vv-kaart-grid { grid-template-columns: minmax(0, 1fr); }
  body.s-catering-c .vv-luik { margin: 0 4%; }
}

/* ── Telefoon ───────────────────────────────────────────────────── */
@media (max-width: 600px) {
  body.s-catering-c { font-size: 16px; }
  body.s-catering-c .vv-kop-boven > span:first-child { display: none; }
  body.s-catering-c .vv-merk { padding: 4px 12px 0; }
  body.s-catering-c .vv-lijst { margin-top: 10px; }
  body.s-catering-c .vv-kop-cta { padding: 0 14px; font-size: 16px; }
  body.s-catering-c .vv-uitroep { font-size: clamp(46px, 14.6vw, 70px); }
  body.s-catering-c .vv-uitroep span:nth-child(2) { padding-left: .5em; }
  body.s-catering-c .vv-uitroep .vv-volgende { padding-left: 1em; }
  body.s-catering-c .vv-krant span, body.s-catering-c .vv-krant i { font-size: 17px; }
  body.s-catering-c .vv-stop { grid-template-columns: 74px minmax(0, 1fr); gap: 6px 14px; padding: 16px 0; }
  body.s-catering-c .vv-datum b { font-size: 36px; }
  body.s-catering-c .vv-tijd, body.s-catering-c .vv-status { grid-column: 2; justify-self: start; }
  body.s-catering-c .vv-status { margin-top: 4px; }
  body.s-catering-c .vv-tellers { grid-template-columns: minmax(0, 1fr); }
  body.s-catering-c .vv-tellers div { display: flex; align-items: baseline; gap: 14px; padding: 14px 0; border-bottom: 1px solid #ffffff40; }
  body.s-catering-c .vv-tellers dd { margin: 0; }
  body.s-catering-c .vv-bord { padding: 22px 16px; }
  body.s-catering-c .vv-specs { grid-template-columns: minmax(0, 1fr); }
  body.s-catering-c .vv-rijen a { grid-template-columns: 38px minmax(0, 1fr) 22px; gap: 12px; }
  body.s-catering-c .vv-form-kort, body.s-catering-c .vv-rij2 { grid-template-columns: minmax(0, 1fr); }
  body.s-catering-c .vv-form-kort { padding: 20px; }
  body.s-catering-c .vv-arr li { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  body.s-catering-c .vv-arr-prijs { text-align: left; }
  body.s-catering-c .vv-regels { grid-template-columns: minmax(0, 1fr); }
  body.s-catering-c .vv-crew, body.s-catering-c .vv-dag, body.s-catering-c .vv-stappen, body.s-catering-c .vv-voet-grid { grid-template-columns: minmax(0, 1fr); }
  body.s-catering-c .vv-luik { margin: 0 5%; padding-top: 40px; }
  body.s-catering-c .vv-klep { height: 42px; }
  body.s-catering-c .vv-veer { top: 30px; }
  body.s-catering-c .vv-raam { border-width: 8px; border-radius: 16px; }
  body.s-catering-c .vv-luik-schuin { transform: none; }
  body.s-catering-c .vv-licht { width: 50px; height: 20px; top: -24px; }
  body.s-catering-c .vv-knop { font-size: 17px; padding: 14px 18px 13px; }
  body.s-catering-c .vv-knop.groot { font-size: 19px; }
  body.s-catering-c .vv-bord-rand { box-shadow: 0 0 0 6px #0c0b0a, 0 0 0 8px #3a342e; }
  body.s-catering-c .vv-sgs { flex-direction: column; }
}
