/* Koffiebar Bonenstaak (lunchroom a): het kaartblad van de week.
   N1 klassieke balk · H7 de kaart als opening · R2 redactionele kolommen.
   Libre Caslon Display + Libre Caslon Text (OFL, Pablo Impallari) en Familjen Grotesk (OFL, Familjen Grotesk Project Authors). */
@font-face { font-family: "Libre Caslon Display"; font-weight: 400; font-display: swap; src: url("../../fonts/LibreCaslonDisplay-Regular.woff2") format("woff2"); }
@font-face { font-family: "Libre Caslon Text"; font-weight: 400; font-display: swap; src: url("../../fonts/LibreCaslonText-Regular.woff2") format("woff2"); }
@font-face { font-family: "Libre Caslon Text"; font-weight: 400; font-style: italic; font-display: swap; src: url("../../fonts/LibreCaslonText-Italic.woff2") format("woff2"); }
@font-face { font-family: "Libre Caslon Text"; font-weight: 700; font-display: swap; src: url("../../fonts/LibreCaslonText-Bold.woff2") format("woff2"); }
@font-face { font-family: "Familjen Grotesk"; font-weight: 400 700; font-display: swap; src: url("../../fonts/FamiljenGrotesk-Variable.woff2") format("woff2"); }

body.s-lunchroom-a {
  --papier: #f4eee3; --papier2: #ebe3d4; --papier3: #e2d8c5;
  --inkt: #24180f; --inkt2: #5a4838; --lijn: #d3c5ad; --lijn2: #b9a98e;
  --boon: #56603a; --boon-d: #3a4126; --boon-l: #dfe0c6;
  --kers: #9a2e22; --crema: #c58a4a; --crema-l: #ecd3ae; --crema-d: #8c5a28;
  --a: #56603a; --a2: #c58a4a; --bg2: #e2d8c5;
  --max: 1260px; --pad: clamp(20px, 4vw, 48px);
  --serif: "Libre Caslon Text", Georgia, serif; --disp: "Libre Caslon Display", "Libre Caslon Text", Georgia, serif;
  --sans: "Familjen Grotesk", "Instrument Sans", system-ui, sans-serif;
  margin: 0; color: var(--inkt); font: 400 17px/1.65 var(--serif);
  background-color: var(--papier);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .35 0 0 0 0 .25 0 0 0 0 .15 0 0 0 .05 0'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)'/%3E%3C/svg%3E");
  overflow-x: hidden;
}
body.s-lunchroom-a main { display: block; }
body.s-lunchroom-a a { color: inherit; }
body.s-lunchroom-a h1, body.s-lunchroom-a h2, body.s-lunchroom-a h3 { font-weight: 400; margin: 0; text-wrap: balance; }
body.s-lunchroom-a p { margin: 0 0 1em; }
body.s-lunchroom-a p:last-child { margin-bottom: 0; }
body.s-lunchroom-a ul, body.s-lunchroom-a ol { margin: 0; padding: 0; list-style: none; }
body.s-lunchroom-a figure { margin: 0; }
body.s-lunchroom-a .ph { --img-r: 0; min-height: 0; height: 100%; width: 100%; }
body.s-lunchroom-a img.kb-foto, body.s-lunchroom-a img.es-foto, body.s-lunchroom-a img.sp-foto, body.s-lunchroom-a img.lu-foto,
body.s-lunchroom-a img.za-foto, body.s-lunchroom-a img.pk-foto, body.s-lunchroom-a img.ab-foto, body.s-lunchroom-a img.mk-foto { width: 100%; height: 100%; object-fit: cover; }
body.s-lunchroom-a figcaption { font: italic 400 14px/1.5 var(--serif); color: var(--inkt2); margin-top: 10px; }
body.s-lunchroom-a figcaption b { font-style: normal; font-weight: 700; color: var(--inkt); }

/* Rubriek, folio en knoppen */
body.s-lunchroom-a .rubriek { font: 600 12px/1.3 var(--sans); letter-spacing: .16em; text-transform: uppercase; color: var(--boon); margin: 0 0 14px;
  display: inline-flex; align-items: center; gap: 10px; }
body.s-lunchroom-a .rubriek::before { content: ""; width: 9px; height: 13px; border-radius: 50%; background: var(--crema);
  box-shadow: inset 2px 0 0 -0.5px var(--papier); transform: rotate(-20deg); }
body.s-lunchroom-a .folio { display: flex; flex-wrap: wrap; gap: 0; margin: 0 0 26px; font: 500 12px/1 var(--sans); letter-spacing: .12em; text-transform: uppercase;
  color: var(--inkt2); border-top: 2px solid var(--inkt); border-bottom: 1px solid var(--inkt); }
body.s-lunchroom-a .folio span { padding: 10px 18px 9px 0; margin-right: 18px; border-right: 1px solid var(--lijn2); }
body.s-lunchroom-a .folio span:last-child { border-right: 0; margin-left: auto; margin-right: 0; padding-right: 0; color: var(--boon); }
body.s-lunchroom-a .knop { display: inline-flex; align-items: center; gap: 14px; font: 600 15px/1 var(--sans); letter-spacing: .01em; text-decoration: none;
  color: var(--inkt); padding: 0 0 8px; border: 0; border-bottom: 1.5px solid var(--inkt); background: none; cursor: pointer; transition: gap .2s, color .2s, border-color .2s; }
body.s-lunchroom-a .knop svg { width: 26px; height: 10px; fill: none; stroke: currentColor; stroke-width: 1.5; }
body.s-lunchroom-a .knop:hover { gap: 20px; color: var(--boon); border-color: var(--boon); }
body.s-lunchroom-a .knop.licht { color: var(--papier); border-color: var(--papier); }
body.s-lunchroom-a .knop.licht:hover { color: var(--crema-l); border-color: var(--crema-l); }

/* ── Kop (N1) ─────────────────────────────────────────────── */
body.s-lunchroom-a .kop { background: var(--papier); border-bottom: 1px solid var(--inkt); position: relative; z-index: 40; }
body.s-lunchroom-a .kop-in { max-width: var(--max); margin: 0 auto; padding: 14px var(--pad); display: flex; align-items: center; gap: 28px; }
body.s-lunchroom-a .logo { display: flex; align-items: center; gap: 12px; text-decoration: none; color: var(--inkt); margin-right: auto; }
body.s-lunchroom-a .merk { width: 22px; height: 50px; color: var(--boon); --papier: #f4eee3; }
body.s-lunchroom-a .lw { display: flex; flex-direction: column; line-height: 1; }
body.s-lunchroom-a .lw b { font: 400 31px/1 var(--disp); letter-spacing: -.01em; }
body.s-lunchroom-a .lw small { font: 600 11px/1 var(--sans); letter-spacing: .2em; text-transform: uppercase; color: var(--inkt2); margin-top: 7px; }
body.s-lunchroom-a .menu-tg { position: absolute; opacity: 0; pointer-events: none; }
body.s-lunchroom-a .menu-knop { display: none; }
body.s-lunchroom-a .hoofdmenu { display: flex; align-items: center; gap: 26px; }
body.s-lunchroom-a .hoofdmenu ul { display: flex; gap: 24px; }
body.s-lunchroom-a .hoofdmenu ul a { font: 500 15.5px/1 var(--sans); text-decoration: none; padding: 8px 0; display: block; position: relative; }
body.s-lunchroom-a .hoofdmenu ul a::after { content: ""; position: absolute; left: 50%; bottom: -1px; width: 6px; height: 8px; border-radius: 50%; background: var(--boon);
  transform: translateX(-50%) scale(0); transition: transform .2s; }
body.s-lunchroom-a .hoofdmenu ul a:hover::after, body.s-lunchroom-a .hoofdmenu ul a.actief::after { transform: translateX(-50%) scale(1); }
body.s-lunchroom-a .hoofdmenu ul a.actief { color: var(--boon); }
body.s-lunchroom-a .ods { font: italic 400 14.5px/1 var(--serif); color: var(--inkt2); text-decoration: underline dotted 1.5px; text-underline-offset: 5px; white-space: nowrap; }
body.s-lunchroom-a .ods:hover, body.s-lunchroom-a .ods.actief { color: var(--kers); }
body.s-lunchroom-a .kop-cta { font: 600 14.5px/1 var(--sans); text-decoration: none; color: var(--papier); background: var(--inkt); padding: 14px 18px 13px; white-space: nowrap;
  border-radius: 999px 999px 999px 999px / 60% 60% 60% 60%; transition: background .2s; }
body.s-lunchroom-a .kop-cta:hover { background: var(--boon-d); }

/* ── Opening: het kaartblad (H7) ─────────────────────────── */
body.s-lunchroom-a .kaartblad { max-width: var(--max); margin: 0 auto; padding: 34px var(--pad) 90px; }
body.s-lunchroom-a .kb-kop { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr); column-gap: 60px; align-items: end; }
body.s-lunchroom-a .kb-kop .folio { grid-column: 1 / -1; }
body.s-lunchroom-a .kaartblad h1 { font: 400 clamp(44px, 6.4vw, 92px)/.98 var(--disp); letter-spacing: -.02em; }
body.s-lunchroom-a .kb-deck { font: italic 400 19px/1.55 var(--serif); color: var(--inkt2); margin: 0 0 8px; max-width: 460px; }
body.s-lunchroom-a .kb-grid { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr) minmax(0, .82fr); margin-top: 40px; border-top: 1px solid var(--inkt); }
body.s-lunchroom-a .kb-kol { padding: 26px 34px 6px 0; }
body.s-lunchroom-a .kb-eten { padding-left: 34px; border-left: 1px solid var(--lijn2); }
body.s-lunchroom-a .kb-h { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; font: 400 27px/1.1 var(--disp); margin: 0 0 12px; }
body.s-lunchroom-a .kb-h small { font: 500 12px/1 var(--sans); letter-spacing: .12em; text-transform: uppercase; color: var(--boon); }
body.s-lunchroom-a .kb-eten .kb-h:not(:first-child) { margin-top: 30px; }
body.s-lunchroom-a .bonenlijst { display: grid; }
body.s-lunchroom-a .boon { padding: 16px 0 17px; border-bottom: 1px solid var(--lijn); display: grid; gap: 8px; }
body.s-lunchroom-a .boon:first-child { padding-top: 4px; }
body.s-lunchroom-a .b1 { display: flex; justify-content: space-between; align-items: baseline; gap: 14px; flex-wrap: wrap; }
body.s-lunchroom-a .b1 b { font: 700 18.5px/1.25 var(--serif); }
body.s-lunchroom-a .b1 span { font: italic 400 14.5px/1.3 var(--serif); color: var(--inkt2); }
body.s-lunchroom-a .b2 { display: flex; flex-wrap: wrap; gap: 8px 26px; align-items: center; }
body.s-lunchroom-a .kb-noot { font: italic 400 14.5px/1.5 var(--serif); color: var(--inkt2); margin-top: 16px; }
body.s-lunchroom-a .kb-verder { margin-top: 26px; }
body.s-lunchroom-a .kb-beeld { padding-top: 26px; display: flex; flex-direction: column; }
body.s-lunchroom-a .kb-beeld > :first-child { flex: 1; min-height: 520px; border-radius: 220px 220px 0 0 / 160px 160px 0 0; overflow: hidden; }

/* kaartregels met puntjes */
body.s-lunchroom-a .rijen { display: grid; }
body.s-lunchroom-a .rijen li { display: grid; grid-template-columns: auto minmax(16px, 1fr) auto; align-items: baseline; column-gap: 8px; padding: 6px 0; }
body.s-lunchroom-a .rn { font: 400 17px/1.35 var(--serif); }
body.s-lunchroom-a .punt { border-bottom: 1.5px dotted var(--lijn2); transform: translateY(-4px); }
body.s-lunchroom-a .rp { font: 500 15.5px/1 var(--sans); font-variant-numeric: tabular-nums; white-space: nowrap; }
body.s-lunchroom-a .rijen small { grid-column: 1 / -1; font: italic 400 14px/1.4 var(--serif); color: var(--inkt2); margin-top: 1px; }

/* smaaknoten, brandingsgraad, rust */
body.s-lunchroom-a .noten { display: flex; flex-wrap: wrap; gap: 4px 16px; font: 500 13.5px/1.3 var(--sans); color: var(--inkt); }
body.s-lunchroom-a .noot { display: inline-flex; align-items: center; gap: 7px; }
body.s-lunchroom-a .noot i { width: 9px; height: 9px; border-radius: 50%; background: var(--k, #888); }
body.s-lunchroom-a .n-rood i { --k: #b03a3e; } body.s-lunchroom-a .n-citrus i { --k: #d8a62a; } body.s-lunchroom-a .n-bloem i { --k: #9b7cb4; }
body.s-lunchroom-a .n-steen i { --k: #dc7f45; } body.s-lunchroom-a .n-noot i { --k: #b8884e; } body.s-lunchroom-a .n-choc i { --k: #6a4430; }
body.s-lunchroom-a .graad { display: inline-flex; align-items: center; gap: 3px; }
body.s-lunchroom-a .graad i { width: 13px; height: 17px; border-radius: 50%; background: var(--k); opacity: .35; position: relative; }
body.s-lunchroom-a .graad i::after { content: ""; position: absolute; left: 50%; top: 3px; bottom: 3px; width: 1.4px; margin-left: -.7px; border-radius: 2px;
  background: rgba(244, 238, 227, .55); transform: rotate(8deg); }
body.s-lunchroom-a .graad i.aan { opacity: 1; transform: scale(1.18); outline: 1.5px solid var(--inkt); outline-offset: 2px; }
body.s-lunchroom-a .graad em { font: italic 400 13.5px/1 var(--serif); color: var(--inkt2); margin-left: 9px; }
body.s-lunchroom-a .rust { display: inline-flex; align-items: center; gap: 10px; flex-wrap: wrap; }
body.s-lunchroom-a .rs { display: inline-flex; gap: 2px; padding: 3px 4px; }
body.s-lunchroom-a .rs i { width: 4px; height: 15px; background: var(--lijn); border-radius: 1px; }
body.s-lunchroom-a .rs i.v { background: var(--boon-l); box-shadow: 0 -3px 0 var(--boon-l), 0 3px 0 var(--boon-l); }
body.s-lunchroom-a .rs i.g { background: var(--inkt2); }
body.s-lunchroom-a .rs i.g.v { background: var(--boon); }
body.s-lunchroom-a .rs i.nu { background: var(--kers); height: 19px; margin-top: -2px; }
body.s-lunchroom-a .rl { font: 400 13px/1.2 var(--sans); color: var(--inkt2); }
body.s-lunchroom-a .rl b { font-weight: 600; color: var(--inkt); }

/* branderscurve */
body.s-lunchroom-a .curve svg { width: 100%; height: auto; display: block; overflow: visible; }
body.s-lunchroom-a .curve .fase { opacity: .5; }
body.s-lunchroom-a .curve .f1 { fill: #e7e6cf; } body.s-lunchroom-a .curve .f2 { fill: #efdcb7; } body.s-lunchroom-a .curve .f3 { fill: #e3c4a4; }
body.s-lunchroom-a .curve .raster line { stroke: var(--papier); stroke-width: 1; }
body.s-lunchroom-a .curve .hr { stroke: var(--lijn2); stroke-width: .8; stroke-dasharray: 2 4; }
body.s-lunchroom-a .curve text { font: 500 12px var(--sans); fill: var(--inkt2); }
body.s-lunchroom-a .curve text.l { text-anchor: end; }
body.s-lunchroom-a .curve .as text { text-anchor: middle; }
body.s-lunchroom-a .curve .as text.eenheid { text-anchor: end; }
body.s-lunchroom-a .curve .bt { fill: none; stroke: var(--inkt); stroke-width: 2.6; stroke-linejoin: round; }
body.s-lunchroom-a .curve .ror { fill: none; stroke: var(--boon); stroke-width: 1.6; stroke-dasharray: 5 4; }
body.s-lunchroom-a .curve .moment line { stroke: var(--kers); stroke-width: 1; }
body.s-lunchroom-a .curve .moment circle { fill: var(--papier); stroke: var(--kers); stroke-width: 2.2; }
body.s-lunchroom-a .curve .moment text { font: 600 13px var(--sans); fill: var(--inkt); }
body.s-lunchroom-a .curve .moment .t { fill: var(--kers); }
body.s-lunchroom-a .curve .moment text.u { font: italic 400 12.5px var(--serif); fill: var(--inkt2); }
body.s-lunchroom-a .curve .fn { font: 600 11px var(--sans); letter-spacing: .14em; text-transform: uppercase; fill: var(--boon-d); }
body.s-lunchroom-a .curve figcaption { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 6px 18px; font-size: 13.5px; }
body.s-lunchroom-a .curve .leg { font: 400 12.5px/1.4 var(--sans); font-style: normal; display: inline-flex; align-items: center; gap: 6px; }
body.s-lunchroom-a .curve .leg i { display: inline-block; width: 18px; height: 0; border-top: 2.6px solid var(--inkt); margin-left: 6px; }
body.s-lunchroom-a .curve .leg i.lror { border-top: 1.6px dashed var(--boon); }

/* ── Redactionele secties (R2) ─────────────────────────────── */
body.s-lunchroom-a .kolommen { column-gap: 40px; }
body.s-lunchroom-a .kolommen p { break-inside: avoid-column; }
body.s-lunchroom-a .initiaal > p:first-child::first-letter { float: left; font: 400 84px/.8 var(--disp); color: var(--boon); margin: 6px 12px 0 -2px; }
body.s-lunchroom-a .pull { margin: 34px 0; padding: 26px 0 0; border-top: 1px solid var(--inkt); position: relative; }
body.s-lunchroom-a .pull::before { content: ""; position: absolute; top: -4px; left: 0; width: 64px; height: 7px; background: var(--crema); }
body.s-lunchroom-a .pull p { font: italic 400 clamp(23px, 2.4vw, 31px)/1.3 var(--serif); letter-spacing: -.01em; margin: 0 0 12px; }
body.s-lunchroom-a .pull cite { font: 600 12px/1 var(--sans); letter-spacing: .14em; text-transform: uppercase; font-style: normal; color: var(--boon); }
body.s-lunchroom-a .pull.breed { max-width: 900px; margin: 0 auto; text-align: center; }
body.s-lunchroom-a .pull.breed::before { left: 50%; margin-left: -32px; }
body.s-lunchroom-a .pull.breed p { font-size: clamp(26px, 3.2vw, 40px); }

/* Essay */
body.s-lunchroom-a .essay { max-width: var(--max); margin: 0 auto; padding: 100px var(--pad); display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); gap: 70px;
  border-top: 1px solid var(--lijn2); }
body.s-lunchroom-a .es-tekst h2 { font: 400 clamp(38px, 4.6vw, 64px)/1 var(--disp); letter-spacing: -.02em; margin-bottom: 30px; }
body.s-lunchroom-a .es-tekst .kolommen { columns: 2; }
body.s-lunchroom-a .es-rechts { display: grid; gap: 34px; align-content: start; padding-top: 34px; }
body.s-lunchroom-a .es-beeld > :first-child { aspect-ratio: 4 / 5; height: auto; }
body.s-lunchroom-a .curve.klein { padding: 18px 18px 14px; background: var(--papier2); border-top: 2px solid var(--inkt); }
body.s-lunchroom-a .curve.klein figcaption { font-size: 13px; }

/* Bonen */
body.s-lunchroom-a .bonen { background: var(--papier2); padding: 96px 0 90px; border-top: 1px solid var(--inkt); border-bottom: 1px solid var(--inkt); }
body.s-lunchroom-a .bonen-kop, body.s-lunchroom-a .bonen .profielen, body.s-lunchroom-a .legenda { max-width: var(--max); margin: 0 auto; padding: 0 var(--pad); }
body.s-lunchroom-a .bonen-kop { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 60px; align-items: end; margin-bottom: 46px; }
body.s-lunchroom-a .bonen-kop h2 { font: 400 clamp(38px, 4.6vw, 66px)/1 var(--disp); letter-spacing: -.02em; }
body.s-lunchroom-a .bonen-kop p { font: italic 400 18px/1.55 var(--serif); color: var(--inkt2); }
body.s-lunchroom-a .profielen { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
body.s-lunchroom-a .boonprofiel { padding: 6px 26px 4px; border-left: 1px solid var(--lijn2); display: flex; flex-direction: column; gap: 14px; }
body.s-lunchroom-a .boonprofiel:first-child { border-left: 0; padding-left: 0; }
body.s-lunchroom-a .boonprofiel:last-child { padding-right: 0; }
body.s-lunchroom-a .bp-nr { font: 600 12px/1 var(--sans); letter-spacing: .14em; color: var(--kers); margin: 0; }
body.s-lunchroom-a .boonprofiel h3 { font: 400 28px/1.08 var(--disp); }
body.s-lunchroom-a .bp-g { font: italic 400 15px/1.4 var(--serif); color: var(--inkt2); margin: -6px 0 0; }
body.s-lunchroom-a .bp-data { margin: 0; display: grid; gap: 0; border-top: 1px solid var(--lijn2); }
body.s-lunchroom-a .bp-data div { display: grid; grid-template-columns: 82px minmax(0, 1fr); gap: 10px; padding: 7px 0; border-bottom: 1px solid var(--lijn); }
body.s-lunchroom-a .bp-data dt { font: 600 11px/1.6 var(--sans); letter-spacing: .1em; text-transform: uppercase; color: var(--inkt2); }
body.s-lunchroom-a .bp-data dd { margin: 0; font: 400 14.5px/1.4 var(--serif); }
body.s-lunchroom-a .bp-meet { display: grid; gap: 7px; }
body.s-lunchroom-a .ml { font: 600 11px/1 var(--sans); letter-spacing: .1em; text-transform: uppercase; color: var(--inkt2); margin-top: 4px; }
body.s-lunchroom-a .bp-prijs { margin-top: auto; padding-top: 12px; border-top: 1.5px solid var(--inkt); display: flex; justify-content: space-between; align-items: baseline; gap: 10px;
  font: 400 13.5px/1.3 var(--sans); color: var(--inkt2); }
body.s-lunchroom-a .bp-prijs b { font: 600 18px/1 var(--sans); color: var(--inkt); white-space: nowrap; }
body.s-lunchroom-a .legenda { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 40px; margin-top: 46px; font-size: 15px; color: var(--inkt2); }
body.s-lunchroom-a .legenda p { padding-top: 16px; border-top: 1px solid var(--lijn2); }
body.s-lunchroom-a .legenda b { color: var(--inkt); }

/* Spread */
body.s-lunchroom-a .spread { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); min-height: 640px; background: var(--inkt); color: var(--papier); }
body.s-lunchroom-a .sp-beeld > :first-child { height: 100%; min-height: 420px; }
body.s-lunchroom-a .sp-tekst { padding: 80px clamp(28px, 5vw, 80px); align-self: center; max-width: 560px; }
body.s-lunchroom-a .sp-tekst .rubriek { color: var(--crema-l); }
body.s-lunchroom-a .sp-groot { font: italic 400 clamp(28px, 3vw, 40px)/1.22 var(--serif); margin-bottom: 26px; }
body.s-lunchroom-a .sp-tekst p { color: #e4dccd; }
body.s-lunchroom-a .sp-tekst .knop { color: var(--papier); border-color: var(--papier); margin-top: 10px; }

/* Lunch */
body.s-lunchroom-a .lunch { max-width: var(--max); margin: 0 auto; padding: 110px var(--pad); display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: 70px; align-items: start; }
body.s-lunchroom-a .lunch h2 { font: 400 clamp(38px, 4.6vw, 64px)/1 var(--disp); letter-spacing: -.02em; margin-bottom: 30px; }
body.s-lunchroom-a .lunch .kolommen { columns: 2; }
body.s-lunchroom-a .lu-drie { margin: 36px 0; border-top: 1px solid var(--inkt); counter-reset: d; }
body.s-lunchroom-a .lu-drie li { display: grid; grid-template-columns: 40px minmax(0, 1fr) auto; column-gap: 14px; padding: 14px 0; border-bottom: 1px solid var(--lijn); counter-increment: d; }
body.s-lunchroom-a .lu-drie li::before { content: counter(d, lower-roman) "."; font: italic 400 17px/1.4 var(--serif); color: var(--crema-d); grid-row: span 2; }
body.s-lunchroom-a .lu-drie b { font: 700 17px/1.35 var(--serif); }
body.s-lunchroom-a .lu-drie span { grid-column: 2; font: italic 400 15px/1.4 var(--serif); color: var(--inkt2); }
body.s-lunchroom-a .lu-drie em { grid-column: 3; grid-row: 1; font: 500 15.5px/1.4 var(--sans); font-style: normal; }
body.s-lunchroom-a .lu-beeld { margin-top: 60px; }
body.s-lunchroom-a .lu-beeld > :first-child { aspect-ratio: 1 / 1; height: auto; border-radius: 50%; }

/* Achterzaal */
body.s-lunchroom-a .zaal { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); background: var(--boon-d); color: var(--papier); }
body.s-lunchroom-a .za-beeld > :first-child { height: 100%; min-height: 560px; }
body.s-lunchroom-a .za-tekst { padding: 90px clamp(28px, 5vw, 76px); max-width: 640px; }
body.s-lunchroom-a .za-tekst .rubriek { color: var(--crema-l); }
body.s-lunchroom-a .za-tekst h2 { font: 400 clamp(36px, 4vw, 56px)/1.02 var(--disp); margin-bottom: 20px; }
body.s-lunchroom-a .za-lead { font: italic 400 18.5px/1.55 var(--serif); color: #e5e1cf; }
body.s-lunchroom-a .arr { margin: 30px 0 14px; border-top: 1px solid rgba(244, 238, 227, .45); }
body.s-lunchroom-a .arr li { display: grid; grid-template-columns: minmax(0, 1fr) auto; column-gap: 20px; padding: 16px 0; border-bottom: 1px solid rgba(244, 238, 227, .22); }
body.s-lunchroom-a .arr b { display: block; font: 400 23px/1.2 var(--disp); margin-bottom: 4px; }
body.s-lunchroom-a .arr span { font-size: 15px; line-height: 1.5; color: #dcd8c5; display: block; }
body.s-lunchroom-a .arr em { grid-column: 2; grid-row: 1; font: 500 12px/1.8 var(--sans); letter-spacing: .1em; text-transform: uppercase; font-style: normal; color: var(--crema-l); text-align: right; }
body.s-lunchroom-a .arr strong { grid-column: 2; grid-row: 1; align-self: end; font: 600 17px/1 var(--sans); text-align: right; white-space: nowrap; }
body.s-lunchroom-a .za-noot { font-size: 14px; color: #cfcbb6; font-style: italic; }
body.s-lunchroom-a .za-tekst .knop { color: var(--papier); border-color: var(--papier); margin-top: 8px; }

/* Goed om te weten */
body.s-lunchroom-a .colofon { max-width: var(--max); margin: 0 auto; padding: 90px var(--pad) 100px; }
body.s-lunchroom-a .colofon h2 { font: 400 clamp(32px, 3.4vw, 46px)/1 var(--disp); margin-bottom: 34px; }
body.s-lunchroom-a .co-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 2px solid var(--inkt); }
body.s-lunchroom-a .co-grid > div { padding: 20px 26px 0 0; }
body.s-lunchroom-a .co-grid > div + div { padding-left: 26px; border-left: 1px solid var(--lijn2); }
body.s-lunchroom-a .co-grid h3, body.s-lunchroom-a .ct-blok h2, body.s-lunchroom-a .art-kant h2 { font: 600 12px/1.3 var(--sans); letter-spacing: .14em; text-transform: uppercase; color: var(--boon); margin-bottom: 12px; }
body.s-lunchroom-a .co-grid p { font-size: 15.5px; }
body.s-lunchroom-a .tijden { margin: 0; display: grid; gap: 4px; }
body.s-lunchroom-a .tijden div { display: flex; justify-content: space-between; gap: 10px; border-bottom: 1px dotted var(--lijn2); padding: 3px 0 5px; }
body.s-lunchroom-a .tijden dt { font: 400 15px/1.4 var(--serif); }
body.s-lunchroom-a .tijden dd { margin: 0; font: 500 14.5px/1.4 var(--sans); white-space: nowrap; font-variant-numeric: tabular-nums; }

/* ── Subpagina's ──────────────────────────────────────────── */
body.s-lunchroom-a .paginakop { max-width: var(--max); margin: 0 auto; padding: 34px var(--pad) 0; }
body.s-lunchroom-a .pk-in { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); column-gap: 60px; align-items: end; padding-bottom: 46px; border-bottom: 1px solid var(--inkt); }
body.s-lunchroom-a .kruimel { grid-column: 1 / -1; font: 500 13px/1 var(--sans); color: var(--inkt2); margin-bottom: 34px; padding-bottom: 12px; border-bottom: 2px solid var(--inkt); }
body.s-lunchroom-a .kruimel a { text-decoration: none; }
body.s-lunchroom-a .kruimel a:hover { color: var(--boon); text-decoration: underline; }
body.s-lunchroom-a .kruimel span { margin: 0 6px; color: var(--lijn2); }
body.s-lunchroom-a .pk-in .rubriek { grid-column: 1 / -1; }
body.s-lunchroom-a .paginakop:not(:has(.kruimel)) .pk-in { border-top: 2px solid var(--inkt); padding-top: 30px; }
body.s-lunchroom-a .paginakop h1 { font: 400 clamp(42px, 5.8vw, 84px)/1 var(--disp); letter-spacing: -.02em; }
body.s-lunchroom-a .deck { font: italic 400 19px/1.55 var(--serif); color: var(--inkt2); margin: 0 0 6px; }
body.s-lunchroom-a .pk-beeld { margin-top: 0; }
body.s-lunchroom-a .pk-beeld > :first-child { aspect-ratio: 21 / 8; height: auto; min-height: 240px; }
body.s-lunchroom-a .springlijst { grid-column: 1 / -1; display: flex; flex-wrap: wrap; align-items: center; gap: 8px 18px; margin-top: 34px; font: 500 14px/1 var(--sans); }
body.s-lunchroom-a .springlijst > span { font: italic 400 14.5px/1 var(--serif); color: var(--inkt2); }
body.s-lunchroom-a .springlijst ul { display: flex; flex-wrap: wrap; gap: 8px 18px; }
body.s-lunchroom-a .springlijst a { text-decoration: none; color: var(--boon); }
body.s-lunchroom-a .springlijst a::before { content: "↓ "; color: var(--crema); }
body.s-lunchroom-a .springlijst a:hover { text-decoration: underline; }

/* Artikel met kantlijn */
body.s-lunchroom-a .artikel { max-width: var(--max); margin: 0 auto; padding: 80px var(--pad); display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 70px; }
body.s-lunchroom-a .art-tekst > h2 { font: 400 clamp(32px, 3.4vw, 46px)/1.05 var(--disp); margin-bottom: 26px; }
body.s-lunchroom-a .art-tekst .kolommen { columns: 2; font-size: 17.5px; }
body.s-lunchroom-a .art-kant { border-left: 1px solid var(--lijn2); padding-left: 32px; align-self: start; }
body.s-lunchroom-a .streep { margin: 0 0 26px; display: grid; }
body.s-lunchroom-a .streep li { padding: 10px 0 10px 24px; border-bottom: 1px solid var(--lijn); position: relative; font-size: 16px; line-height: 1.45; }
body.s-lunchroom-a .streep li::before { content: ""; position: absolute; left: 2px; top: 16px; width: 8px; height: 11px; border-radius: 50%; background: var(--boon); transform: rotate(-20deg); }
body.s-lunchroom-a .jaren { display: grid; }
body.s-lunchroom-a .jaren li { display: grid; grid-template-columns: 58px minmax(0, 1fr); gap: 10px; padding: 12px 0; border-bottom: 1px solid var(--lijn); font-size: 15.5px; line-height: 1.45; }
body.s-lunchroom-a .jaren b { font: 400 22px/1.1 var(--disp); color: var(--kers); }

body.s-lunchroom-a .blok { max-width: var(--max); margin: 0 auto; padding: 0 var(--pad) 90px; }
body.s-lunchroom-a .blok.twee { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 70px; }
body.s-lunchroom-a .blok-kop { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr); gap: 40px; align-items: end; padding-bottom: 16px; margin-bottom: 18px; border-bottom: 2px solid var(--inkt); }
body.s-lunchroom-a .blok.twee .blok-kop { grid-template-columns: minmax(0, 1fr); gap: 6px; }
body.s-lunchroom-a .blok-kop h2 { font: 400 clamp(30px, 3.2vw, 44px)/1.05 var(--disp); }
body.s-lunchroom-a .blok-kop p { font: italic 400 16.5px/1.5 var(--serif); color: var(--inkt2); }
body.s-lunchroom-a .blok .profielen { padding-top: 10px; }
body.s-lunchroom-a .blok > .kolommen { columns: 2; }
body.s-lunchroom-a .tabel-wrap { overflow-x: auto; }
body.s-lunchroom-a .recepten { width: 100%; border-collapse: collapse; font-size: 15.5px; }
body.s-lunchroom-a .recepten th, body.s-lunchroom-a .recepten td { text-align: left; padding: 13px 16px 13px 0; border-bottom: 1px solid var(--lijn); vertical-align: top; }
body.s-lunchroom-a .recepten thead th { font: 600 11.5px/1.3 var(--sans); letter-spacing: .12em; text-transform: uppercase; color: var(--inkt2); }
body.s-lunchroom-a .recepten tbody th { font: 700 16px/1.4 var(--serif); }
body.s-lunchroom-a .recepten td { font: 400 15px/1.4 var(--sans); font-variant-numeric: tabular-nums; }
body.s-lunchroom-a .ovendag { display: grid; }
body.s-lunchroom-a .ovendag li { display: grid; grid-template-columns: 74px minmax(0, 1fr); gap: 14px; padding: 13px 0; border-bottom: 1px solid var(--lijn); }
body.s-lunchroom-a .ovendag time { font: 600 16px/1.5 var(--sans); color: var(--kers); font-variant-numeric: tabular-nums; }
body.s-lunchroom-a .ovendag span { font-size: 16px; line-height: 1.5; }
body.s-lunchroom-a .arr.groot { border-top: 0; margin: 0; }
body.s-lunchroom-a .arr.groot li { border-bottom: 1px solid var(--lijn); padding: 20px 0; }
body.s-lunchroom-a .arr.groot span { color: var(--inkt2); font-size: 16px; max-width: 640px; }
body.s-lunchroom-a .arr.groot em { color: var(--boon); }
body.s-lunchroom-a .arr.groot b { font-size: 27px; }
body.s-lunchroom-a .feiten { margin: 0; display: grid; }
body.s-lunchroom-a .feiten div { display: grid; grid-template-columns: 120px minmax(0, 1fr); gap: 14px; padding: 12px 0; border-bottom: 1px solid var(--lijn); }
body.s-lunchroom-a .feiten dt { font: 600 11.5px/1.7 var(--sans); letter-spacing: .1em; text-transform: uppercase; color: var(--inkt2); }
body.s-lunchroom-a .feiten dd { margin: 0; font-size: 16px; }

body.s-lunchroom-a .ook { max-width: var(--max); margin: 0 auto; padding: 0 var(--pad) 90px; }
body.s-lunchroom-a .ook h2 { font: 600 12px/1 var(--sans); letter-spacing: .14em; text-transform: uppercase; color: var(--boon); margin-bottom: 14px; }
body.s-lunchroom-a .ook ul { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 2px solid var(--inkt); }
body.s-lunchroom-a .ook a { display: flex; align-items: baseline; gap: 14px; padding: 20px 20px 20px 0; font: 400 clamp(22px, 2.2vw, 30px)/1.15 var(--disp); text-decoration: none; border-bottom: 1px solid var(--lijn2); }
body.s-lunchroom-a .ook a span { font: italic 400 16px/1 var(--serif); color: var(--crema-d); min-width: 26px; }
body.s-lunchroom-a .ook a:hover { color: var(--boon); }

/* Aanbod */
body.s-lunchroom-a .aanbod-lijst { max-width: var(--max); margin: 0 auto; padding: 70px var(--pad) 40px; }
body.s-lunchroom-a .aanbod { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 70px; align-items: center; padding: 0 0 80px; margin-bottom: 80px; border-bottom: 1px solid var(--lijn2); }
body.s-lunchroom-a .aanbod:last-child { border-bottom: 0; margin-bottom: 0; }
body.s-lunchroom-a .aanbod.a1 .ab-beeld, body.s-lunchroom-a .aanbod.a3 .ab-beeld { order: 2; }
body.s-lunchroom-a .ab-beeld > :first-child { aspect-ratio: 4 / 3; height: auto; }
body.s-lunchroom-a .aanbod.a0 .ab-beeld > :first-child { aspect-ratio: 4 / 5; }
body.s-lunchroom-a .aanbod.a2 .ab-beeld > :first-child { border-radius: 260px 260px 0 0 / 200px 200px 0 0; aspect-ratio: 4 / 4.6; }
body.s-lunchroom-a .ab-nr { font: italic 400 22px/1 var(--serif); color: var(--crema-d); margin-bottom: 10px; }
body.s-lunchroom-a .ab-tekst h2 { font: 400 clamp(40px, 4.8vw, 68px)/1 var(--disp); letter-spacing: -.02em; margin-bottom: 14px; }
body.s-lunchroom-a .ab-tekst h2 a { text-decoration: none; }
body.s-lunchroom-a .ab-tekst h2 a:hover { color: var(--boon); }
body.s-lunchroom-a .ab-kort { font: italic 400 20px/1.45 var(--serif); color: var(--inkt2); }
body.s-lunchroom-a .mee { background: var(--papier2); border-top: 1px solid var(--inkt); border-bottom: 1px solid var(--inkt); }
body.s-lunchroom-a .mee-in { max-width: var(--max); margin: 0 auto; padding: 80px var(--pad); display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 70px; }
body.s-lunchroom-a .mee h2 { font: 400 clamp(32px, 3.4vw, 48px)/1.05 var(--disp); margin-bottom: 18px; }
body.s-lunchroom-a .mee-noot { font-style: italic; color: var(--inkt2); }
body.s-lunchroom-a .mee-lijst { border-top: 2px solid var(--inkt); }
body.s-lunchroom-a .mee-lijst li { display: grid; grid-template-columns: minmax(0, 1fr) auto; column-gap: 16px; padding: 14px 0; border-bottom: 1px solid var(--lijn2); }
body.s-lunchroom-a .mee-lijst b { font: 700 17px/1.35 var(--serif); }
body.s-lunchroom-a .mee-lijst span { grid-column: 1; font: italic 400 14.5px/1.4 var(--serif); color: var(--inkt2); }
body.s-lunchroom-a .mee-lijst em { grid-column: 2; grid-row: 1; font: 500 15.5px/1.4 var(--sans); font-style: normal; }

/* Menukaart */
body.s-lunchroom-a .menukaart { max-width: var(--max); margin: 0 auto; padding: 70px var(--pad) 90px; display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 60px; }
body.s-lunchroom-a .mk-kolommen { columns: 2; column-gap: 56px; column-rule: 1px solid var(--lijn2); }
body.s-lunchroom-a .ks { break-inside: avoid; margin-bottom: 46px; scroll-margin-top: 60px; }
body.s-lunchroom-a .ks h2 { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; font: 400 34px/1.05 var(--disp); padding-bottom: 10px; margin-bottom: 8px; border-bottom: 2px solid var(--inkt); }
body.s-lunchroom-a .ks h2 small { font: 500 12px/1 var(--sans); letter-spacing: .12em; text-transform: uppercase; color: var(--boon); white-space: nowrap; }
body.s-lunchroom-a .ks-uitleg { font: italic 400 15px/1.5 var(--serif); color: var(--inkt2); margin: 0 0 6px; }
body.s-lunchroom-a .mk-kant { display: flex; flex-direction: column; gap: 30px; }
body.s-lunchroom-a .mk-kant figure > :first-child { aspect-ratio: 3 / 4; height: auto; border-radius: 160px 160px 0 0 / 120px 120px 0 0; }
body.s-lunchroom-a .mk-allerg { padding-top: 18px; border-top: 2px solid var(--inkt); font-size: 15.5px; }
body.s-lunchroom-a .mk-allerg h2 { font: 400 26px/1.1 var(--disp); margin-bottom: 8px; }
body.s-lunchroom-a .seizoenen { max-width: var(--max); margin: 0 auto; padding: 0 var(--pad) 90px; }
body.s-lunchroom-a .sz-kop { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr); gap: 40px; align-items: end; margin-bottom: 24px; }
body.s-lunchroom-a .sz-kop h2 { font: 400 clamp(30px, 3.2vw, 44px)/1.05 var(--disp); }
body.s-lunchroom-a .sz-kop p { font: italic 400 16.5px/1.5 var(--serif); color: var(--inkt2); }
body.s-lunchroom-a .sz { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 2px solid var(--inkt); }
body.s-lunchroom-a .sz li { padding: 20px 22px 22px; border-right: 1px solid var(--lijn2); display: grid; gap: 4px; }
body.s-lunchroom-a .sz li:last-child { border-right: 0; }
body.s-lunchroom-a .sz b { font: 400 30px/1.1 var(--disp); }
body.s-lunchroom-a .sz span { font: 600 12px/1.4 var(--sans); letter-spacing: .1em; text-transform: uppercase; color: var(--inkt2); }
body.s-lunchroom-a .sz em { font-size: 15px; color: var(--inkt2); }
body.s-lunchroom-a .sz li.nu { background: var(--boon-d); color: var(--papier); }
body.s-lunchroom-a .sz li.nu span, body.s-lunchroom-a .sz li.nu em { color: #e2dfc9; }
body.s-lunchroom-a .sz li.nu b::after { content: " · nu"; font: italic 400 17px var(--serif); color: var(--crema-l); }

/* Branderij */
body.s-lunchroom-a .curve-groot { max-width: var(--max); margin: 0 auto; padding: 80px var(--pad) 90px; }
body.s-lunchroom-a .cg-kop { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr); gap: 50px; align-items: end; margin-bottom: 36px; }
body.s-lunchroom-a .cg-kop .rubriek { grid-column: 1 / -1; margin-bottom: 0; }
body.s-lunchroom-a .cg-kop h2 { font: 400 clamp(36px, 4.4vw, 62px)/1 var(--disp); letter-spacing: -.02em; }
body.s-lunchroom-a .cg-kop p { color: var(--inkt2); }
body.s-lunchroom-a .curve.groot { background: var(--papier2); padding: 30px 30px 20px; border-top: 2px solid var(--inkt); }
body.s-lunchroom-a .cg-uitleg { columns: 3; margin-top: 36px; font-size: 16px; }
body.s-lunchroom-a .stappen { background: var(--inkt); color: var(--papier); padding: 90px 0; }
body.s-lunchroom-a .stappen > h2 { max-width: var(--max); margin: 0 auto 36px; padding: 0 var(--pad); font: 400 clamp(32px, 3.4vw, 48px)/1 var(--disp); }
body.s-lunchroom-a .st { max-width: var(--max); margin: 0 auto; padding: 0 var(--pad); display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
body.s-lunchroom-a .st li { padding: 22px 26px 0; border-left: 1px solid rgba(244, 238, 227, .25); }
body.s-lunchroom-a .st li:first-child { border-left: 0; padding-left: 0; }
body.s-lunchroom-a .st-nr { display: block; font: 400 64px/1 var(--disp); color: var(--crema); margin-bottom: 14px; }
body.s-lunchroom-a .st h3 { font: 400 28px/1.1 var(--disp); margin-bottom: 10px; }
body.s-lunchroom-a .st p { font-size: 16px; color: #e8e0d1; }
body.s-lunchroom-a .st-meer { font-style: italic; color: #cfc4b2 !important; font-size: 15px !important; padding-top: 12px; border-top: 1px solid rgba(244, 238, 227, .2); }
body.s-lunchroom-a .graden { max-width: var(--max); margin: 0 auto; padding: 90px var(--pad); display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.3fr); gap: 70px; }
body.s-lunchroom-a .gr-kop h2 { font: 400 clamp(32px, 3.4vw, 48px)/1.05 var(--disp); margin-bottom: 18px; }
body.s-lunchroom-a .gr-kop p { color: var(--inkt2); }
body.s-lunchroom-a .gradenlijst { border-top: 2px solid var(--inkt); }
body.s-lunchroom-a .gradenlijst li { display: grid; grid-template-columns: 46px 150px minmax(0, 1fr); gap: 16px; align-items: center; padding: 14px 0; border-bottom: 1px solid var(--lijn); }
body.s-lunchroom-a .gradenlijst i { width: 30px; height: 40px; border-radius: 50%; background: var(--k); position: relative; transform: rotate(-14deg); }
body.s-lunchroom-a .gradenlijst i::after { content: ""; position: absolute; left: 50%; top: 6px; bottom: 6px; width: 2px; margin-left: -1px; background: rgba(244, 238, 227, .5); border-radius: 2px; transform: rotate(10deg); }
body.s-lunchroom-a .gradenlijst b { font: 700 17px/1.3 var(--serif); }
body.s-lunchroom-a .gradenlijst span { font-size: 15.5px; color: var(--inkt2); }
body.s-lunchroom-a .gradenlijst li:nth-child(5) { opacity: .55; }
body.s-lunchroom-a .kijken .kolommen { columns: 2; padding-top: 30px; border-top: 2px solid var(--inkt); }
body.s-lunchroom-a .kijken h2 { font: 400 32px/1.1 var(--disp); margin-bottom: 12px; }
body.s-lunchroom-a .kijken .kolommen > div { break-inside: avoid; padding-right: 20px; }

/* Over ons */
body.s-lunchroom-a .team { background: var(--papier2); padding: 90px 0; border-top: 1px solid var(--inkt); border-bottom: 1px solid var(--inkt); }
body.s-lunchroom-a .team > h2, body.s-lunchroom-a .principes > h2 { max-width: var(--max); margin: 0 auto 34px; padding: 0 var(--pad); font: 400 clamp(32px, 3.4vw, 48px)/1.05 var(--disp); }
body.s-lunchroom-a .tm { max-width: var(--max); margin: 0 auto; padding: 0 var(--pad); display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
body.s-lunchroom-a .tm li { padding: 20px 26px 0; border-left: 1px solid var(--lijn2); border-top: 2px solid var(--inkt); font-size: 15.5px; }
body.s-lunchroom-a .tm li:first-child { border-left: 0; padding-left: 0; }
body.s-lunchroom-a .tm-naam { font: 400 40px/1 var(--disp); margin-bottom: 6px; }
body.s-lunchroom-a .tm li:first-child .tm-naam { font-size: 52px; }
body.s-lunchroom-a .tm-rol { font: 600 12px/1.3 var(--sans); letter-spacing: .12em; text-transform: uppercase; color: var(--boon); }
body.s-lunchroom-a .tm-kop { font-style: italic; color: var(--inkt2); padding-top: 10px; border-top: 1px dotted var(--lijn2); }
body.s-lunchroom-a .principes { padding: 90px 0; }
body.s-lunchroom-a .pr { max-width: var(--max); margin: 0 auto; padding: 0 var(--pad); display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 46px; }
body.s-lunchroom-a .pr h3 { font: 400 27px/1.1 var(--disp); margin-bottom: 10px; padding-top: 16px; border-top: 2px solid var(--inkt); }
body.s-lunchroom-a .pr p { font-size: 16px; color: var(--inkt2); }

/* Vragen */
body.s-lunchroom-a .vragen { max-width: var(--max); margin: 0 auto; padding: 60px var(--pad) 70px; }
body.s-lunchroom-a .vg { display: grid; grid-template-columns: 280px minmax(0, 1fr); gap: 50px; padding: 40px 0; border-bottom: 1px solid var(--lijn2); scroll-margin-top: 50px; }
body.s-lunchroom-a .vg > h2 { font: 400 32px/1.1 var(--disp); }
body.s-lunchroom-a .vg-lijst { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 30px 46px; }
body.s-lunchroom-a .vr h3 { font: italic 400 20px/1.35 var(--serif); margin-bottom: 8px; }
body.s-lunchroom-a .vr p { font-size: 16px; color: var(--inkt2); }

/* Contact */
body.s-lunchroom-a .contact { max-width: var(--max); margin: 0 auto; padding: 70px var(--pad) 90px; display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.3fr); gap: 70px; align-items: start; }
body.s-lunchroom-a .ct-info { display: grid; gap: 34px; }
body.s-lunchroom-a .ct-blok { padding-top: 16px; border-top: 2px solid var(--inkt); }
body.s-lunchroom-a .ct-blok p { font-size: 16.5px; }
body.s-lunchroom-a .ct-blok a { color: var(--boon); }
body.s-lunchroom-a .ct-klein { font: italic 400 14.5px/1.5 var(--serif) !important; color: var(--inkt2); margin-top: 12px; }
body.s-lunchroom-a .plan { width: 100%; height: auto; margin: 6px 0 4px; }
body.s-lunchroom-a .plan .plein { fill: var(--papier2); stroke: var(--lijn2); }
body.s-lunchroom-a .plan .zaak { fill: var(--boon-d); }
body.s-lunchroom-a .plan .bakker { fill: none; stroke: var(--lijn2); }
body.s-lunchroom-a .plan .straat { stroke: var(--lijn2); stroke-width: 10; fill: none; opacity: .55; }
body.s-lunchroom-a .plan .bus { fill: var(--kers); }
body.s-lunchroom-a .plan .rek { stroke: var(--inkt2); stroke-width: 3; stroke-dasharray: 2 3; }
body.s-lunchroom-a .plan text { font: 500 10px var(--sans); fill: var(--inkt2); }
body.s-lunchroom-a .plan .zt { fill: var(--papier); font-weight: 600; }
body.s-lunchroom-a .plan .pt { font: italic 400 15px var(--serif); }
body.s-lunchroom-a .aanvraag { background: var(--papier2); padding: clamp(24px, 4vw, 46px); border-top: 4px solid var(--inkt); scroll-margin-top: 50px; }
body.s-lunchroom-a .aanvraag h2 { font: 400 clamp(30px, 3.2vw, 42px)/1.05 var(--disp); margin-bottom: 26px; }
body.s-lunchroom-a .velden { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 22px; }
body.s-lunchroom-a .v { display: grid; gap: 6px; }
body.s-lunchroom-a .v.breed { grid-column: 1 / -1; }
body.s-lunchroom-a .v span, body.s-lunchroom-a .keuzes legend { font: 600 12px/1.3 var(--sans); letter-spacing: .1em; text-transform: uppercase; color: var(--inkt2); }
body.s-lunchroom-a .v input, body.s-lunchroom-a .v select, body.s-lunchroom-a .v textarea { font: 400 16.5px/1.4 var(--serif); color: var(--inkt); background: var(--papier); border: 0; border-bottom: 1.5px solid var(--inkt);
  padding: 11px 12px; border-radius: 0; width: 100%; min-width: 0; }
body.s-lunchroom-a .v input:focus, body.s-lunchroom-a .v select:focus, body.s-lunchroom-a .v textarea:focus { outline: 2px solid var(--boon); outline-offset: 1px; }
body.s-lunchroom-a .keuzes { border: 0; padding: 0; margin: 26px 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
body.s-lunchroom-a .keuzes legend { margin-bottom: 10px; padding: 0; }
body.s-lunchroom-a .keuze { position: relative; cursor: pointer; }
body.s-lunchroom-a .keuze input { position: absolute; opacity: 0; }
body.s-lunchroom-a .keuze span { display: grid; gap: 3px; padding: 13px 14px 12px 40px; border: 1px solid var(--lijn2); background: var(--papier); height: 100%; position: relative; }
body.s-lunchroom-a .keuze span::before { content: ""; position: absolute; left: 14px; top: 16px; width: 12px; height: 16px; border-radius: 50%; border: 1.5px solid var(--inkt2); transform: rotate(-20deg); }
body.s-lunchroom-a .keuze b { font: 700 16px/1.3 var(--serif); }
body.s-lunchroom-a .keuze em { font: 500 13.5px/1.3 var(--sans); font-style: normal; color: var(--inkt2); }
body.s-lunchroom-a .keuze input:checked + span { border-color: var(--inkt); box-shadow: inset 0 0 0 1px var(--inkt); }
body.s-lunchroom-a .keuze input:checked + span::before { background: var(--boon); border-color: var(--boon); }
body.s-lunchroom-a .keuze input:focus-visible + span { outline: 2px solid var(--boon); outline-offset: 2px; }
body.s-lunchroom-a .verstuur { margin-top: 26px; display: flex; flex-wrap: wrap; align-items: center; gap: 12px 26px; }
body.s-lunchroom-a .verstuur .knop { background: var(--inkt); color: var(--papier); padding: 16px 22px; border: 0; border-radius: 999px / 60%; }
body.s-lunchroom-a .verstuur .knop:hover { background: var(--boon-d); color: var(--papier); }
body.s-lunchroom-a .verstuur .ct-klein { margin: 0; }
body.s-lunchroom-a .ct-vragen { max-width: var(--max); margin: 0 auto; padding: 0 var(--pad) 90px; }
body.s-lunchroom-a .ct-vragen > h2 { font: 400 clamp(30px, 3.2vw, 42px)/1.05 var(--disp); padding-top: 30px; border-top: 2px solid var(--inkt); margin-bottom: 26px; }
body.s-lunchroom-a .ct-vragen .vg-lijst { grid-template-columns: repeat(3, minmax(0, 1fr)); margin-bottom: 30px; }

/* Slotband */
body.s-lunchroom-a .slot { background: var(--boon-d); color: var(--papier); }
body.s-lunchroom-a .slot-in { max-width: var(--max); margin: 0 auto; padding: 70px var(--pad); display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 40px; align-items: center; }
body.s-lunchroom-a .slot-merk { width: 34px; height: 78px; color: var(--crema); --papier: #3a4126; }
body.s-lunchroom-a .slot h2 { font: 400 clamp(30px, 3.4vw, 48px)/1.05 var(--disp); margin-bottom: 10px; }
body.s-lunchroom-a .slot p { color: #e2dfcb; max-width: 620px; }
body.s-lunchroom-a .slot-acties { display: grid; gap: 14px; justify-items: start; }
body.s-lunchroom-a .slot-tel { font: italic 400 15px/1 var(--serif); color: #e2dfcb !important; }

/* ── Voet ─────────────────────────────────────────────────── */
body.s-lunchroom-a .voet { background: var(--inkt); color: #e9e1d2; }
body.s-lunchroom-a .voet-in { max-width: var(--max); margin: 0 auto; padding: 80px var(--pad) 50px; display: grid; grid-template-columns: minmax(0, 1.3fr) repeat(3, minmax(0, 1fr)); gap: 46px; }
body.s-lunchroom-a .v-merk { display: grid; grid-template-columns: auto 1fr; column-gap: 16px; align-content: start; }
body.s-lunchroom-a .v-boon { width: 36px; height: 84px; color: var(--crema); --papier: #24180f; grid-row: span 2; }
body.s-lunchroom-a .v-naam { font: 400 clamp(40px, 4vw, 56px)/1 var(--disp); color: var(--papier); margin: 6px 0 8px; }
body.s-lunchroom-a .v-tag { font: italic 400 16px/1.5 var(--serif); color: #cbbfa9; }
body.s-lunchroom-a .v-kol h2 { font: 600 12px/1.3 var(--sans); letter-spacing: .14em; text-transform: uppercase; color: var(--crema); margin-bottom: 16px; padding-bottom: 10px; border-bottom: 1px solid rgba(233, 225, 210, .25); }
body.s-lunchroom-a .v-kol p { font-size: 15.5px; }
body.s-lunchroom-a .v-kol a { color: #f4eee3; text-decoration-color: rgba(244, 238, 227, .4); }
body.s-lunchroom-a .v-links { display: grid; gap: 6px; font: 500 15px/1.4 var(--sans); }
body.s-lunchroom-a .v-links a { text-decoration: none; }
body.s-lunchroom-a .v-links a:hover { color: var(--crema-l); text-decoration: underline; }
body.s-lunchroom-a .v-tijden { margin: 0 0 14px; display: grid; gap: 4px; }
body.s-lunchroom-a .v-tijden div { display: flex; justify-content: space-between; gap: 10px; font-size: 15px; }
body.s-lunchroom-a .v-tijden dd { margin: 0; font: 500 14.5px/1.5 var(--sans); white-space: nowrap; }
body.s-lunchroom-a .v-brand { font-style: italic; color: #cbbfa9; font-size: 14.5px !important; }
body.s-lunchroom-a .v-onder { max-width: var(--max); margin: 0 auto; padding: 20px var(--pad) 30px; display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px 30px;
  font: 400 13.5px/1.4 var(--sans); color: #b9ad97; border-top: 1px solid rgba(233, 225, 210, .2); }
body.s-lunchroom-a .v-onder a { color: var(--crema-l); }

/* ── Responsief ───────────────────────────────────────────── */
@media (max-width: 1180px) {
  body.s-lunchroom-a .hoofdmenu ul { gap: 18px; }
  body.s-lunchroom-a .hoofdmenu { gap: 20px; }
  body.s-lunchroom-a .profielen { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 40px; }
  body.s-lunchroom-a .boonprofiel:nth-child(3) { border-left: 0; padding-left: 0; }
  body.s-lunchroom-a .boonprofiel:nth-child(2) { padding-right: 0; }
}
@media (max-width: 1060px) {
  body.s-lunchroom-a .kop-in { flex-wrap: wrap; }
  body.s-lunchroom-a .menu-knop { display: inline-flex; align-items: center; gap: 10px; cursor: pointer; font: 600 14px/1 var(--sans); letter-spacing: .1em; text-transform: uppercase;
    padding: 12px 16px; border: 1.5px solid var(--inkt); border-radius: 999px / 70%; }
  body.s-lunchroom-a .mk-l { width: 18px; height: 2px; background: var(--inkt); position: relative; }
  body.s-lunchroom-a .mk-l::before, body.s-lunchroom-a .mk-l::after { content: ""; position: absolute; left: 0; width: 18px; height: 2px; background: var(--inkt); transition: transform .2s; }
  body.s-lunchroom-a .mk-l::before { top: -6px; } body.s-lunchroom-a .mk-l::after { top: 6px; }
  body.s-lunchroom-a .menu-tg:checked ~ .menu-knop .mk-l { background: transparent; }
  body.s-lunchroom-a .menu-tg:checked ~ .menu-knop .mk-l::before { transform: translateY(6px) rotate(45deg); }
  body.s-lunchroom-a .menu-tg:checked ~ .menu-knop .mk-l::after { transform: translateY(-6px) rotate(-45deg); }
  body.s-lunchroom-a .menu-tg:focus-visible ~ .menu-knop { outline: 2px solid var(--boon); outline-offset: 2px; }
  body.s-lunchroom-a .hoofdmenu { display: none; width: 100%; flex-direction: column; align-items: stretch; gap: 0; padding: 10px 0 18px; border-top: 1px solid var(--inkt); margin-top: 6px; }
  body.s-lunchroom-a .menu-tg:checked ~ .hoofdmenu { display: flex; }
  body.s-lunchroom-a .hoofdmenu ul { flex-direction: column; gap: 0; }
  body.s-lunchroom-a .hoofdmenu ul a { font: 400 30px/1.1 var(--disp); padding: 12px 0; border-bottom: 1px solid var(--lijn); }
  body.s-lunchroom-a .hoofdmenu ul a::after { left: auto; right: 4px; top: 50%; bottom: auto; transform: translateY(-50%) scale(0); }
  body.s-lunchroom-a .hoofdmenu ul a.actief::after { transform: translateY(-50%) scale(1.4); }
  body.s-lunchroom-a .ods { padding: 18px 0 8px; font-size: 16px; }
  body.s-lunchroom-a .kop-cta { margin-top: 12px; text-align: center; padding: 17px; }
  body.s-lunchroom-a .kb-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  body.s-lunchroom-a .kb-beeld { grid-column: 1 / -1; }
  body.s-lunchroom-a .kb-beeld > :first-child { min-height: 0; aspect-ratio: 16 / 9; border-radius: 0; }
  body.s-lunchroom-a .kb-kop { grid-template-columns: minmax(0, 1fr); }
  body.s-lunchroom-a .kb-deck { margin-top: 18px; }
  body.s-lunchroom-a .spread, body.s-lunchroom-a .zaal { grid-template-columns: minmax(0, 1fr); }
  body.s-lunchroom-a .sp-beeld > :first-child, body.s-lunchroom-a .za-beeld > :first-child { min-height: 0; aspect-ratio: 16 / 10; height: auto; }
  body.s-lunchroom-a .lunch { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  body.s-lunchroom-a .lu-beeld { margin-top: 0; max-width: 520px; }
  body.s-lunchroom-a .co-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.s-lunchroom-a .co-grid > div:nth-child(3) { border-left: 0; padding-left: 0; }
  body.s-lunchroom-a .co-grid > div { padding-bottom: 24px; }
  body.s-lunchroom-a .artikel, body.s-lunchroom-a .menukaart, body.s-lunchroom-a .contact, body.s-lunchroom-a .graden { grid-template-columns: minmax(0, 1fr); gap: 46px; }
  body.s-lunchroom-a .art-kant { border-left: 0; padding-left: 0; border-top: 2px solid var(--inkt); padding-top: 18px; }
  body.s-lunchroom-a .mk-kant { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 30px; align-items: start; }
  body.s-lunchroom-a .st, body.s-lunchroom-a .tm { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 40px; }
  body.s-lunchroom-a .st li:nth-child(3), body.s-lunchroom-a .tm li:nth-child(3) { border-left: 0; padding-left: 0; }
  body.s-lunchroom-a .vg { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  body.s-lunchroom-a .voet-in { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.s-lunchroom-a .slot-in { grid-template-columns: auto minmax(0, 1fr); }
  body.s-lunchroom-a .slot-acties { grid-column: 2; }
}
@media (max-width: 760px) {
  body.s-lunchroom-a { font-size: 16.5px; }
  body.s-lunchroom-a .kop-in { padding-top: 12px; padding-bottom: 12px; gap: 14px; }
  body.s-lunchroom-a .merk { width: 18px; height: 42px; }
  body.s-lunchroom-a .lw b { font-size: 26px; }
  body.s-lunchroom-a .lw small { font-size: 9.5px; letter-spacing: .16em; }
  body.s-lunchroom-a .menu-knop { padding: 10px 13px; }
  body.s-lunchroom-a .folio span { padding: 8px 10px 7px 0; margin-right: 10px; }
  body.s-lunchroom-a .folio span:last-child { margin-left: 0; }
  body.s-lunchroom-a .kaartblad { padding-top: 22px; padding-bottom: 60px; }
  body.s-lunchroom-a .kb-grid { grid-template-columns: minmax(0, 1fr); margin-top: 26px; }
  body.s-lunchroom-a .kb-kol { padding-right: 0; }
  body.s-lunchroom-a .kb-eten { padding-left: 0; border-left: 0; border-top: 1px solid var(--inkt); margin-top: 22px; }
  body.s-lunchroom-a .kb-beeld > :first-child { aspect-ratio: 4 / 5; border-radius: 180px 180px 0 0 / 130px 130px 0 0; }
  body.s-lunchroom-a .essay { grid-template-columns: minmax(0, 1fr); padding-top: 64px; padding-bottom: 64px; gap: 36px; }
  body.s-lunchroom-a .es-tekst .kolommen, body.s-lunchroom-a .lunch .kolommen, body.s-lunchroom-a .art-tekst .kolommen, body.s-lunchroom-a .blok > .kolommen,
  body.s-lunchroom-a .cg-uitleg, body.s-lunchroom-a .kijken .kolommen { columns: 1; }
  body.s-lunchroom-a .es-beeld > :first-child { aspect-ratio: 4 / 3; }
  body.s-lunchroom-a .bonen { padding: 64px 0; }
  body.s-lunchroom-a .bonen-kop, body.s-lunchroom-a .legenda, body.s-lunchroom-a .cg-kop, body.s-lunchroom-a .blok-kop, body.s-lunchroom-a .sz-kop,
  body.s-lunchroom-a .pk-in { grid-template-columns: minmax(0, 1fr); gap: 16px; }
  body.s-lunchroom-a .profielen { grid-template-columns: minmax(0, 1fr); row-gap: 0; }
  body.s-lunchroom-a .boonprofiel { border-left: 0; padding: 26px 0; border-top: 1px solid var(--lijn2); }
  body.s-lunchroom-a .boonprofiel:first-child { border-top: 0; padding-top: 0; }
  body.s-lunchroom-a .sp-tekst, body.s-lunchroom-a .za-tekst { padding: 56px var(--pad); }
  body.s-lunchroom-a .lunch, body.s-lunchroom-a .colofon { padding-top: 64px; padding-bottom: 64px; }
  body.s-lunchroom-a .co-grid { grid-template-columns: minmax(0, 1fr); }
  body.s-lunchroom-a .co-grid > div + div { border-left: 0; padding-left: 0; border-top: 1px solid var(--lijn2); padding-top: 18px; }
  body.s-lunchroom-a .pk-beeld > :first-child { aspect-ratio: 4 / 3; }
  body.s-lunchroom-a .paginakop h1 { font-size: clamp(38px, 11vw, 54px); }
  body.s-lunchroom-a .pk-in { padding-bottom: 30px; }
  body.s-lunchroom-a .artikel { padding-top: 56px; padding-bottom: 56px; }
  body.s-lunchroom-a .blok.twee { grid-template-columns: minmax(0, 1fr); gap: 50px; }
  body.s-lunchroom-a .blok { padding-bottom: 64px; }
  body.s-lunchroom-a .recepten { font-size: 14.5px; min-width: 520px; }
  body.s-lunchroom-a .ook ul { grid-template-columns: minmax(0, 1fr); }
  body.s-lunchroom-a .aanbod { grid-template-columns: minmax(0, 1fr); gap: 26px; padding-bottom: 56px; margin-bottom: 56px; }
  body.s-lunchroom-a .aanbod.a1 .ab-beeld, body.s-lunchroom-a .aanbod.a3 .ab-beeld { order: 0; }
  body.s-lunchroom-a .mee-in { grid-template-columns: minmax(0, 1fr); gap: 30px; padding-top: 60px; padding-bottom: 60px; }
  body.s-lunchroom-a .mk-kolommen { columns: 1; }
  body.s-lunchroom-a .mk-kant { grid-template-columns: minmax(0, 1fr); }
  body.s-lunchroom-a .menukaart { padding-top: 46px; }
  body.s-lunchroom-a .sz { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.s-lunchroom-a .sz li:nth-child(2) { border-right: 0; }
  body.s-lunchroom-a .sz li:nth-child(n+3) { border-top: 1px solid var(--lijn2); }
  body.s-lunchroom-a .curve-groot { padding-top: 56px; padding-bottom: 60px; }
  body.s-lunchroom-a .curve.groot { padding: 16px var(--pad) 12px; margin: 0 calc(var(--pad) * -1); overflow-x: auto; }
  body.s-lunchroom-a .curve.groot svg { min-width: 760px; }
  body.s-lunchroom-a .curve.groot figcaption { position: sticky; left: 0; max-width: calc(100vw - 2 * var(--pad)); }
  body.s-lunchroom-a .st, body.s-lunchroom-a .tm, body.s-lunchroom-a .pr { grid-template-columns: minmax(0, 1fr); gap: 0; row-gap: 26px; }
  body.s-lunchroom-a .st li, body.s-lunchroom-a .tm li { border-left: 0; padding-left: 0; padding-right: 0; }
  body.s-lunchroom-a .st li + li { border-top: 1px solid rgba(244, 238, 227, .25); }
  body.s-lunchroom-a .gradenlijst li { grid-template-columns: 40px minmax(0, 1fr); }
  body.s-lunchroom-a .gradenlijst span { grid-column: 2; }
  body.s-lunchroom-a .vg-lijst, body.s-lunchroom-a .ct-vragen .vg-lijst { grid-template-columns: minmax(0, 1fr); gap: 22px; }
  body.s-lunchroom-a .velden, body.s-lunchroom-a .keuzes { grid-template-columns: minmax(0, 1fr); }
  body.s-lunchroom-a .contact { padding-top: 46px; }
  body.s-lunchroom-a .slot-in { grid-template-columns: minmax(0, 1fr); gap: 20px; padding-top: 56px; padding-bottom: 56px; }
  body.s-lunchroom-a .slot-acties { grid-column: auto; }
  body.s-lunchroom-a .slot-merk { width: 24px; height: 56px; }
  body.s-lunchroom-a .voet-in { grid-template-columns: minmax(0, 1fr); gap: 34px; padding-top: 56px; }
  body.s-lunchroom-a .team, body.s-lunchroom-a .principes, body.s-lunchroom-a .stappen { padding: 64px 0; }
}
body.s-lunchroom-a .curve.klein text { font-size: 17px; }
body.s-lunchroom-a .curve.klein .moment text { font-size: 18px; }
body.s-lunchroom-a .v-tijden dt { white-space: nowrap; }
body.s-lunchroom-a .es-rechts { grid-template-columns: minmax(0, 1fr); min-width: 0; }
body.s-lunchroom-a .es-tekst { min-width: 0; }
@media (max-width: 760px) {
  body.s-lunchroom-a .curve.groot figcaption::after { content: "Veeg opzij voor de hele branding"; font: 500 12px/1.4 var(--sans); font-style: normal; color: var(--boon); width: 100%; }
}
