/* IJssalon Bolletje Blij (lunchroom d): "de vitrine". Alles onder body.s-lunchroom-d. */
@font-face { font-family: "BB Yeseva"; font-weight: 400; font-display: swap; src: url("../../fonts/YesevaOne-Regular.woff2") format("woff2"); }
@font-face { font-family: "BB Outfit"; font-weight: 100 900; font-display: swap; src: url("../../fonts/Outfit-Variable.woff2") format("woff2"); }

body.s-lunchroom-d {
  --room: #fbf6ec; --room2: #f3e8d2; --inkt: #2b2452; --bosbes: #2b2452; --nacht: #1c1838;
  --framboos: #b02f57; --framboos-l: #c93a5c; --pistache: #e3eac8; --pistache-d: #4d5b20; --munt: #d6eee3;
  --wafel: #d9a35c; --wafel-d: #a8702f; --mango: #f2a43a; --staal: #c9d1d7;
  --kop: "BB Yeseva", "DM Serif Display", Georgia, serif; --tekst: "BB Outfit", "DM Sans", system-ui, sans-serif;
  margin: 0; background: var(--room); color: var(--inkt); font: 400 17px/1.62 var(--tekst);
  -webkit-font-smoothing: antialiased;
}
body.s-lunchroom-d a { color: inherit; }
body.s-lunchroom-d h1, body.s-lunchroom-d h2, body.s-lunchroom-d h3 { font-family: var(--kop); font-weight: 400; line-height: 1.08; margin: 0; letter-spacing: -.005em; }
body.s-lunchroom-d h2 { font-size: clamp(32px, 4.2vw, 54px); }
body.s-lunchroom-d h3 { font-size: 24px; }
body.s-lunchroom-d p { margin: 0 0 1em; }
body.s-lunchroom-d em { font-style: normal; color: var(--framboos); }
body.s-lunchroom-d .bb-w { width: min(1180px, 100% - 48px); margin: 0 auto; position: relative; }
body.s-lunchroom-d .bb-defs { position: absolute; width: 0; height: 0; overflow: hidden; }
body.s-lunchroom-d .bb-lead { font-size: clamp(19px, 1.7vw, 22px); line-height: 1.5; }
body.s-lunchroom-d .bb-klein { font-size: 14.5px; opacity: .86; }

/* ── Banden en druppels ─────────────────────────────────────────── */
body.s-lunchroom-d .k-room { --bg: var(--room); --fg: var(--inkt); }
body.s-lunchroom-d .k-bosbes { --bg: var(--bosbes); --fg: #fbf6ec; }
body.s-lunchroom-d .k-framboos { --bg: var(--framboos); --fg: #fff8f2; }
body.s-lunchroom-d .k-pistache { --bg: var(--pistache); --fg: var(--inkt); }
body.s-lunchroom-d .k-munt { --bg: var(--munt); --fg: var(--inkt); }
body.s-lunchroom-d .bb-band, body.s-lunchroom-d .bb-paginakop, body.s-lunchroom-d .bb-hero { position: relative; background: var(--bg); color: var(--fg); }
body.s-lunchroom-d .bb-band { padding: clamp(84px, 9vw, 128px) 0 clamp(72px, 8vw, 112px); }
body.s-lunchroom-d .k-bosbes em, body.s-lunchroom-d .k-framboos em { color: #f6c9d5; }
body.s-lunchroom-d [class*="drup-"]::after {
  content: ""; position: absolute; left: 0; right: 0; top: calc(100% - 1px); height: 64px; z-index: 4; pointer-events: none;
  background: var(--bg); -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 64'%3E%3Cpath d='M0 0H640V10H607C600 10 596 13 596 20V23A6 6 0 0 1 584 23V20C584 13 580 10 573 10H533C521 10 515 14 515 26V36A10 10 0 0 1 495 36V26C495 14 489 10 477 10H460C451 10 447 13 447 21V24A7 7 0 0 1 433 24V21C433 13 429 10 420 10H388C373 10 365 16 365 31V50A13 13 0 0 1 339 50V31C339 16 331 10 316 10H287C277 10 271 14 271 25V32A9 9 0 0 1 253 32V25C253 14 247 10 237 10H222C215 10 211 13 211 20V23A6 6 0 0 1 199 23V20C199 13 195 10 188 10H149C136 10 129 15 129 28V40A11 11 0 0 1 107 40V28C107 15 100 10 87 10H60C51 10 47 13 47 21V24A7 7 0 0 1 33 24V21C33 13 29 10 20 10H0Z'/%3E%3C/svg%3E") repeat-x 0 0 / 640px 64px; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 64'%3E%3Cpath d='M0 0H640V10H607C600 10 596 13 596 20V23A6 6 0 0 1 584 23V20C584 13 580 10 573 10H533C521 10 515 14 515 26V36A10 10 0 0 1 495 36V26C495 14 489 10 477 10H460C451 10 447 13 447 21V24A7 7 0 0 1 433 24V21C433 13 429 10 420 10H388C373 10 365 16 365 31V50A13 13 0 0 1 339 50V31C339 16 331 10 316 10H287C277 10 271 14 271 25V32A9 9 0 0 1 253 32V25C253 14 247 10 237 10H222C215 10 211 13 211 20V23A6 6 0 0 1 199 23V20C199 13 195 10 188 10H149C136 10 129 15 129 28V40A11 11 0 0 1 107 40V28C107 15 100 10 87 10H60C51 10 47 13 47 21V24A7 7 0 0 1 33 24V21C33 13 29 10 20 10H0Z'/%3E%3C/svg%3E") repeat-x 0 0 / 640px 64px;
}
body.s-lunchroom-d .drup-b::after { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 64'%3E%3Cpath d='M0 0H640V10H602C593 10 588 14 588 23V26A8 8 0 0 1 572 26V23C572 14 567 10 558 10H519C503 10 494 16 494 33V54A14 14 0 0 1 466 54V33C466 16 457 10 441 10H435C425 10 419 14 419 25V28A9 9 0 0 1 401 28V25C401 14 395 10 385 10H350C341 10 337 13 337 21V36A7 7 0 0 1 323 36V21C323 13 319 10 310 10H270C256 10 248 15 248 29V32A12 12 0 0 1 224 32V29C224 15 216 10 202 10H177C170 10 166 13 166 20V23A6 6 0 0 1 154 23V20C154 13 150 10 143 10H98C86 10 80 14 80 26V44A10 10 0 0 1 60 44V26C60 14 54 10 42 10H0Z'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 64'%3E%3Cpath d='M0 0H640V10H602C593 10 588 14 588 23V26A8 8 0 0 1 572 26V23C572 14 567 10 558 10H519C503 10 494 16 494 33V54A14 14 0 0 1 466 54V33C466 16 457 10 441 10H435C425 10 419 14 419 25V28A9 9 0 0 1 401 28V25C401 14 395 10 385 10H350C341 10 337 13 337 21V36A7 7 0 0 1 323 36V21C323 13 319 10 310 10H270C256 10 248 15 248 29V32A12 12 0 0 1 224 32V29C224 15 216 10 202 10H177C170 10 166 13 166 20V23A6 6 0 0 1 154 23V20C154 13 150 10 143 10H98C86 10 80 14 80 26V44A10 10 0 0 1 60 44V26C60 14 54 10 42 10H0Z'/%3E%3C/svg%3E"); -webkit-mask-position: 180px 0; mask-position: 180px 0; }

/* ── Kop bovenaan ───────────────────────────────────────────────── */
body.s-lunchroom-d .bb-kop { display: flex; align-items: center; gap: 20px; justify-content: space-between; padding: 18px max(24px, calc((100% - 1180px) / 2)); background: var(--room); }
body.s-lunchroom-d .bb-logo { display: flex; align-items: center; gap: 12px; text-decoration: none; }
body.s-lunchroom-d .bb-logo-bol { width: 34px; height: 41px; flex: none; }
body.s-lunchroom-d .bb-logo b { display: block; font: 400 27px/1 var(--kop); color: var(--inkt); }
body.s-lunchroom-d .bb-logo small { display: block; font-size: 12.5px; letter-spacing: .14em; text-transform: uppercase; color: var(--framboos); margin-top: 4px; font-weight: 600; }
body.s-lunchroom-d .bb-open { margin: 0; font-size: 14.5px; display: flex; align-items: center; gap: 10px; color: var(--inkt); }
body.s-lunchroom-d .bb-open .stip { width: 10px; height: 10px; border-radius: 50%; background: #3f8f5f; box-shadow: 0 0 0 4px #d6eee3; flex: none; }
body.s-lunchroom-d .bb-ods { font-size: 14.5px; font-weight: 600; text-decoration: none; padding: 9px 16px; border-radius: 999px; border: 1.5px solid var(--inkt); white-space: nowrap; }
body.s-lunchroom-d .bb-ods:hover, body.s-lunchroom-d .bb-ods[aria-current] { background: var(--inkt); color: var(--room); }

/* ── Dock onderin ───────────────────────────────────────────────── */
body.s-lunchroom-d .bb-menu-check { position: absolute; opacity: 0; pointer-events: none; width: 1px; height: 1px; }
body.s-lunchroom-d .bb-dock {
  position: fixed; z-index: 70; left: 50%; bottom: 16px; transform: translateX(-50%); width: min(1120px, calc(100% - 24px));
  display: flex; align-items: center; gap: 6px; padding: 8px 8px 8px 16px; border-radius: 999px; background: var(--bosbes); color: #fbf6ec;
  box-shadow: 0 18px 40px -12px rgba(28, 24, 56, .55), inset 0 1px 0 rgba(255, 255, 255, .08);
}
body.s-lunchroom-d .bb-dock-logo { display: flex; margin-right: 6px; }
body.s-lunchroom-d .bb-dock-logo .bb-logo-bol { width: 26px; height: 31px; }
body.s-lunchroom-d .bb-dock-links { display: flex; gap: 2px; list-style: none; margin: 0; padding: 0; }
body.s-lunchroom-d .bb-dock-links a { display: block; padding: 10px 15px; border-radius: 999px; text-decoration: none; font-size: 15.5px; font-weight: 500; white-space: nowrap; }
body.s-lunchroom-d .bb-dock-links a:hover { background: rgba(255, 255, 255, .1); }
body.s-lunchroom-d .bb-dock-links a[aria-current] { background: #fbf6ec; color: var(--bosbes); }
body.s-lunchroom-d .bb-dock-knop { display: flex; align-items: center; gap: 8px; padding: 10px 16px; border-radius: 999px; text-decoration: none; font-size: 15.5px; font-weight: 600; cursor: pointer; white-space: nowrap; }
body.s-lunchroom-d .bb-dock-knop svg { width: 20px; height: 20px; flex: none; }
body.s-lunchroom-d .bb-dock-knop.bel { margin-left: auto; }
body.s-lunchroom-d .bb-dock-knop.bel:hover { background: rgba(255, 255, 255, .1); }
body.s-lunchroom-d .bb-dock-knop.cta { background: var(--framboos-l); color: #fff; padding: 12px 20px; }
body.s-lunchroom-d .bb-dock-knop.cta:hover { background: #d84a6c; }
body.s-lunchroom-d .bb-dock-knop.smaken, body.s-lunchroom-d .bb-dock-knop.menu, body.s-lunchroom-d .bb-dock-knop .kort { display: none; }

body.s-lunchroom-d .bb-vel {
  position: fixed; z-index: 69; left: 50%; bottom: 96px; width: min(520px, calc(100% - 24px)); transform: translate(-50%, 24px);
  background: var(--room); color: var(--inkt); border-radius: 30px; padding: 22px 22px 20px; box-shadow: 0 30px 60px -20px rgba(28, 24, 56, .55);
  opacity: 0; visibility: hidden; transition: opacity .22s, transform .22s, visibility 0s .22s;
}
body.s-lunchroom-d .bb-menu-check:checked ~ .bb-vel { opacity: 1; visibility: visible; transform: translate(-50%, 0); transition: opacity .22s, transform .22s; }
body.s-lunchroom-d .bb-vel-achter { position: fixed; inset: 0; z-index: 68; background: rgba(28, 24, 56, .45); display: none; }
body.s-lunchroom-d .bb-menu-check:checked ~ .bb-vel-achter { display: block; }
body.s-lunchroom-d .bb-vel-dicht { position: absolute; right: 16px; top: 16px; display: flex; align-items: center; gap: 6px; font-size: 14px; font-weight: 600; cursor: pointer; padding: 6px 10px; border-radius: 999px; background: #fff; }
body.s-lunchroom-d .bb-vel-dicht svg { width: 16px; height: 16px; }
body.s-lunchroom-d .bb-vel-links { list-style: none; margin: 18px 0 14px; padding: 0; }
body.s-lunchroom-d .bb-vel-links a { display: flex; align-items: center; gap: 14px; padding: 8px 0; font: 400 30px/1.15 var(--kop); text-decoration: none; }
body.s-lunchroom-d .bb-vel-links a[aria-current] { color: var(--framboos); }
body.s-lunchroom-d .bb-vel-links .bol { width: 26px; height: 26px; clip-path: url(#bb-schep); background: radial-gradient(circle at 34% 30%, rgba(255, 255, 255, .6), transparent 40%), var(--k); flex: none; outline: 0; }
body.s-lunchroom-d .bb-vel-ods { display: inline-block; font-weight: 600; font-size: 15px; padding: 8px 14px; border-radius: 999px; border: 1.5px solid var(--inkt); text-decoration: none; }
body.s-lunchroom-d .bb-vel-info { margin: 14px 0 0; font-size: 14.5px; }

/* ── Knoppen ────────────────────────────────────────────────────── */
body.s-lunchroom-d .bb-knop {
  display: inline-flex; align-items: center; gap: 12px; padding: 15px 18px 15px 24px; border-radius: 999px; border: 0; cursor: pointer;
  background: var(--framboos); color: #fff; font: 600 16.5px/1 var(--tekst); text-decoration: none; transition: transform .15s, background .15s;
}
body.s-lunchroom-d .bb-knop svg { width: 18px; height: 18px; padding: 6px; box-sizing: content-box; border-radius: 50%; background: rgba(255, 255, 255, .18); }
body.s-lunchroom-d .bb-knop:hover { transform: translateY(-2px); background: #9b2549; }
body.s-lunchroom-d .bb-knop.rand { background: transparent; color: var(--fg, var(--inkt)); box-shadow: inset 0 0 0 1.5px currentColor; }
body.s-lunchroom-d .bb-knop.rand svg { background: transparent; }
body.s-lunchroom-d .bb-knop.rand:hover { background: var(--inkt); color: var(--room); box-shadow: none; }
body.s-lunchroom-d .bb-knop.licht { background: #fbf6ec; color: var(--inkt); }
body.s-lunchroom-d .bb-knop.licht svg { background: var(--pistache); }
body.s-lunchroom-d .bb-knop.licht:hover { background: #fff; }
body.s-lunchroom-d .bb-link { font-weight: 600; text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 5px; text-decoration-color: var(--framboos-l); }
body.s-lunchroom-d .bb-link.licht { text-decoration-color: currentColor; }
body.s-lunchroom-d .bb-knoppen { display: flex; flex-wrap: wrap; align-items: center; gap: 18px 26px; }

/* ── Prikker: het smaakkaartje op een stokje ────────────────────── */
body.s-lunchroom-d .bb-prikker {
  position: absolute; z-index: 3; display: block; background: #fff; color: var(--inkt); padding: 7px 12px 8px; border-radius: 3px;
  border-top: 6px solid var(--k); font: 600 13.5px/1.1 var(--tekst); white-space: nowrap; box-shadow: 0 6px 14px -6px rgba(43, 36, 82, .45);
}
body.s-lunchroom-d .bb-prikker::after { content: ""; position: absolute; left: calc(50% - 1.5px); top: 100%; width: 3px; height: 52px; background: linear-gradient(#f2eee6, #d9d2c4); border-radius: 0 0 2px 2px; z-index: -1; }
body.s-lunchroom-d .bb-prikker.los { position: relative; display: inline-block; transform: rotate(-5deg); margin-bottom: 52px; font-size: 14.5px; }

/* ── Hero: één groot ijsje in het midden ────────────────────────── */
body.s-lunchroom-d .bb-hero { --bg: var(--room); padding: 20px 0 clamp(64px, 7vw, 96px); overflow: visible; }
body.s-lunchroom-d .bb-hero-boven { text-align: center; font-size: 13.5px; letter-spacing: .2em; text-transform: uppercase; font-weight: 600; color: var(--framboos); margin: 8px 0 18px; }
body.s-lunchroom-d .bb-hero-podium { display: grid; grid-template-columns: 1fr minmax(300px, 440px) 1fr; grid-template-rows: auto 1fr auto; column-gap: clamp(20px, 3vw, 48px); align-items: center; }
body.s-lunchroom-d .bb-hero h1 { display: contents; }
body.s-lunchroom-d .bb-hero h1 span { font: 400 clamp(44px, 5.6vw, 84px)/1 var(--kop); letter-spacing: -.015em; }
body.s-lunchroom-d .bb-hero .r1 { grid-column: 1; grid-row: 1; text-align: right; align-self: end; padding-bottom: 10px; }
body.s-lunchroom-d .bb-hero .r2 { grid-column: 3; grid-row: 3; align-self: start; color: var(--framboos); }
body.s-lunchroom-d .bb-hero-ijsje { grid-column: 2; grid-row: 1 / 4; position: relative; padding-top: 58px; filter: drop-shadow(0 26px 30px rgba(43, 36, 82, .18)); }
body.s-lunchroom-d .bb-hero-ijsje .bb-schep { position: relative; z-index: 2; }
body.s-lunchroom-d .bb-hero-kegel {
  display: block; width: 58%; margin: -21% auto 0; aspect-ratio: 1 / 1.18; position: relative; z-index: 1;
  clip-path: polygon(0 0, 100% 0, 52% 100%, 48% 100%);
  background:
    repeating-linear-gradient(58deg, transparent 0 17px, rgba(139, 84, 29, .42) 17px 19.5px),
    repeating-linear-gradient(-58deg, transparent 0 17px, rgba(139, 84, 29, .42) 17px 19.5px),
    linear-gradient(90deg, #c68a43, #e4b673 45%, #d49b55 70%, #b77a37);
}
body.s-lunchroom-d .bb-hero-ijsje .p0 { left: 6%; top: 10px; transform: rotate(-13deg); }
body.s-lunchroom-d .bb-hero-ijsje .p1 { left: 37%; top: -10px; transform: rotate(3deg); }
body.s-lunchroom-d .bb-hero-ijsje .p2 { right: -3%; top: 22px; transform: rotate(12deg); }
body.s-lunchroom-d .bb-hero-noot { margin: 0; font-size: 15.5px; max-width: 200px; }
body.s-lunchroom-d .bb-hero-noot b { display: block; font: 400 64px/1 var(--kop); color: var(--framboos); }
body.s-lunchroom-d .bb-hero-noot.n1 { grid-column: 1; grid-row: 3; justify-self: end; text-align: right; align-self: start; margin-top: 30px; }
body.s-lunchroom-d .bb-hero-noot.n2 { grid-column: 3; grid-row: 1; align-self: end; margin-bottom: 30px; }
body.s-lunchroom-d .bb-hero-onder { max-width: 640px; margin: 34px auto 0; text-align: center; }
body.s-lunchroom-d .bb-hero-onder .bb-knoppen { justify-content: center; }

/* ── Schepvorm: foto in de vorm van een bolletje ────────────────── */
body.s-lunchroom-d .bb-schep { aspect-ratio: 1; clip-path: url(#bb-schep); background: var(--room2); overflow: hidden; }
body.s-lunchroom-d .bb-schep .bb-foto { width: 100%; height: 100%; object-fit: cover; min-height: 0; }
body.s-lunchroom-d .bb-schep .ph-cap { left: 22%; right: 22%; bottom: 26%; max-width: none; }
body.s-lunchroom-d .bb-schep .ph { --a: #b02f57; --a2: #f2a43a; --bg2: #f3e8d2; }

/* ── Koppen in banden ───────────────────────────────────────────── */
body.s-lunchroom-d .bb-kop2 { max-width: 640px; margin-bottom: 44px; }
body.s-lunchroom-d .bb-kop2 h2 { margin-bottom: 16px; }
body.s-lunchroom-d .bb-kop2.midden { margin-left: auto; margin-right: auto; text-align: center; }
body.s-lunchroom-d .bb-kop2 a { text-decoration-thickness: 2px; text-underline-offset: 4px; }

/* ── De vitrine ─────────────────────────────────────────────────── */
body.s-lunchroom-d .bb-vitrine { position: relative; padding: 16px 16px 0; border-radius: 22px 22px 8px 8px; background: linear-gradient(#e7ecef, #b9c3ca); box-shadow: 0 30px 60px -30px rgba(0, 0, 0, .6); }
body.s-lunchroom-d .bb-vitrine::before { content: ""; position: absolute; left: 22px; right: 22px; top: 6px; height: 4px; border-radius: 4px; background: #fffef6; box-shadow: 0 0 18px 4px rgba(255, 252, 230, .8); z-index: 3; }
body.s-lunchroom-d .bb-vitrine-titel { position: absolute; top: -40px; left: 0; margin: 0; }
body.s-lunchroom-d .bb-glas { position: absolute; inset: 0 0 26px; border-radius: inherit; pointer-events: none; z-index: 5;
  background: linear-gradient(112deg, transparent 18%, rgba(255, 255, 255, .16) 19%, rgba(255, 255, 255, .04) 27%, transparent 28%, transparent 62%, rgba(255, 255, 255, .1) 63%, transparent 68%); }
body.s-lunchroom-d .bb-bakken { list-style: none; margin: 0; padding: 30px 18px 22px; display: grid; grid-template-columns: repeat(6, 1fr); gap: 34px 12px; background: linear-gradient(#f3f6f8, #dfe6ea); border-radius: 12px 12px 0 0; box-shadow: inset 0 10px 18px -8px rgba(0, 0, 0, .18); }
body.s-lunchroom-d .bb-toonbank { height: 26px; margin: 0 -16px; border-radius: 0 0 8px 8px; background: linear-gradient(#f6f2ea, #e6dcc8); border-top: 3px solid #9aa5ae; }
body.s-lunchroom-d .bb-bak { position: relative; color: var(--inkt); }
body.s-lunchroom-d .bb-bak-rand { display: block; aspect-ratio: 1.12; padding: 5px; border-radius: 6px; background: linear-gradient(160deg, #f9fbfc, #a9b4bc 55%, #e2e8ec); box-shadow: 0 6px 10px -6px rgba(0, 0, 0, .35); }
body.s-lunchroom-d .bb-ijs { position: relative; display: block; height: 100%; overflow: hidden; border-radius: 4px 4px 10px 10px; background: var(--k); }
body.s-lunchroom-d .bb-ijs-svg { display: block; width: 100%; height: 100%; }
body.s-lunchroom-d .bb-ijs::after { content: ""; position: absolute; inset: 0; pointer-events: none;
  background: radial-gradient(110% 70% at 26% 6%, rgba(255, 255, 255, .5), transparent 55%), radial-gradient(130% 80% at 60% 120%, rgba(0, 0, 0, .16), transparent 60%);
  box-shadow: inset 0 -8px 12px -4px rgba(0, 0, 0, .14), inset 0 3px 6px rgba(255, 255, 255, .5); }
body.s-lunchroom-d .bb-prik {
  position: absolute; left: 8%; top: -18px; max-width: 86%; z-index: 4; background: #fff; padding: 5px 8px 6px; border-radius: 2px; border-top: 4px solid var(--k);
  font: 600 12.5px/1.15 var(--tekst); box-shadow: 0 4px 10px -5px rgba(0, 0, 0, .45); transform: rotate(-3deg); display: flex; gap: 6px; align-items: center;
}
body.s-lunchroom-d .bb-prik b { font-weight: 600; }
body.s-lunchroom-d .bb-bak:nth-child(3n+2) .bb-prik { transform: rotate(2.5deg); left: 14%; }
body.s-lunchroom-d .bb-bak:nth-child(3n) .bb-prik { transform: rotate(-1deg); left: 5%; }
body.s-lunchroom-d .bb-prik::after { content: ""; position: absolute; left: 22px; top: 100%; width: 2px; height: 22px; background: #e9e3d6; z-index: -1; }
body.s-lunchroom-d .bb-tag { display: inline-grid; place-items: center; width: 17px; height: 17px; border-radius: 50%; background: #3e6b2f; color: #fff; font: 700 11px/1 var(--tekst); font-style: normal; flex: none; }
body.s-lunchroom-d .bb-tag.s { background: #8a4a12; }
body.s-lunchroom-d .bb-legenda { text-align: center; margin: 34px 0 0; font-size: 15px; }
body.s-lunchroom-d .bb-legenda .bb-tag { margin: 0 4px 0 10px; vertical-align: -3px; }
body.s-lunchroom-d .bb-vitrine.groot .bb-bakken { grid-template-columns: repeat(4, 1fr); gap: 40px 22px; }
body.s-lunchroom-d .bb-bak-oms { font-size: 14.5px; line-height: 1.45; margin: 12px 2px 0; color: #2b2452; }
body.s-lunchroom-d .bb-groep + .bb-groep { margin-top: 86px; }
body.s-lunchroom-d .bb-groep-kop { display: grid; grid-template-columns: minmax(200px, 1fr) 2fr; gap: 12px 40px; align-items: end; margin-bottom: 30px; }
body.s-lunchroom-d .bb-groep-kop p { margin: 0; max-width: 560px; }

/* ── Hoorntjes en prijsladder ───────────────────────────────────── */
body.s-lunchroom-d .bb-hoorn { --s: 62px; display: inline-flex; flex-direction: column; align-items: center; }
body.s-lunchroom-d .bb-hoorn .bol { width: var(--s); height: var(--s); clip-path: url(#bb-schep); background: radial-gradient(circle at 34% 28%, rgba(255, 255, 255, .55), transparent 38%), radial-gradient(circle at 60% 120%, rgba(0, 0, 0, .14), transparent 60%), var(--k); position: relative; }
body.s-lunchroom-d .bb-hoorn .bol + .bol { margin-top: calc(var(--s) * -.3); }
body.s-lunchroom-d .bb-hoorn .bol:nth-child(1) { z-index: 3; }
body.s-lunchroom-d .bb-hoorn .bol:nth-child(2) { z-index: 2; }
body.s-lunchroom-d .bb-hoorn .bol:nth-child(3) { z-index: 1; }
body.s-lunchroom-d .bb-hoorn .kegel { width: calc(var(--s) * .72); height: calc(var(--s) * 1.02); margin-top: calc(var(--s) * -.24); clip-path: polygon(0 0, 100% 0, 53% 100%, 47% 100%);
  background: repeating-linear-gradient(58deg, transparent 0 6px, rgba(139, 84, 29, .45) 6px 7.5px), repeating-linear-gradient(-58deg, transparent 0 6px, rgba(139, 84, 29, .45) 6px 7.5px), linear-gradient(90deg, #c68a43, #e4b673 50%, #b77a37); }
body.s-lunchroom-d .bb-hoorn.klein { --s: 54px; }
body.s-lunchroom-d .bb-ladder { list-style: none; margin: 0; padding: 0; display: flex; gap: clamp(24px, 4vw, 64px); align-items: flex-end; justify-content: center; }
body.s-lunchroom-d .bb-ladder li { display: flex; flex-direction: column; align-items: center; text-align: center; }
body.s-lunchroom-d .bb-ladder .bb-hoorn { --s: 92px; margin-bottom: 18px; }
body.s-lunchroom-d .bb-ladder .n { font-size: 15.5px; font-weight: 500; }
body.s-lunchroom-d .bb-ladder b { font: 400 40px/1.1 var(--kop); color: var(--framboos); }
body.s-lunchroom-d .bb-ladder-wrap { display: grid; grid-template-columns: 1fr 1.25fr; gap: 40px 64px; align-items: center; }
body.s-lunchroom-d .bb-ladder-wrap .bb-kop2 { margin: 0; }

/* ── Fotoband ───────────────────────────────────────────────────── */
body.s-lunchroom-d .bb-fotoband { position: relative; height: clamp(360px, 52vw, 660px); background: var(--room2); }
body.s-lunchroom-d .bb-fotoband .bb-foto { width: 100%; height: 100%; object-fit: cover; min-height: 0; }
body.s-lunchroom-d .bb-fotoband .ph { --a: #c93a5c; --a2: #f3e07a; --bg2: #f3e8d2; }
body.s-lunchroom-d .bb-fotoband-tekst { position: absolute; right: max(24px, calc((100% - 1180px) / 2)); bottom: 40px; max-width: 380px; margin: 0; background: var(--room); padding: 22px 26px; border-radius: 26px 26px 26px 4px; font-size: 15.5px; }
body.s-lunchroom-d .bb-fotoband-tekst span { display: block; font: 400 22px/1.2 var(--kop); margin-bottom: 6px; }

/* ── Trio ───────────────────────────────────────────────────────── */
body.s-lunchroom-d .bb-trio { display: grid; grid-template-columns: repeat(3, 1fr); gap: 48px; }
body.s-lunchroom-d .bb-trio-i { text-decoration: none; display: block; }
body.s-lunchroom-d .bb-trio-i .bb-schep, body.s-lunchroom-d .bb-trio-i .bb-bekers { width: 86%; margin: 0 auto 26px; transition: transform .3s; }
body.s-lunchroom-d .bb-trio-i:hover .bb-schep { transform: translateY(-6px) rotate(-2deg); }
body.s-lunchroom-d .bb-trio-i h3 { font-size: 30px; margin-bottom: 10px; }
body.s-lunchroom-d .bb-meer { display: inline-flex; align-items: center; gap: 8px; font-weight: 600; color: var(--framboos); }
body.s-lunchroom-d .bb-meer svg { width: 18px; height: 18px; }

/* literbakken */
body.s-lunchroom-d .bb-bekers { display: flex; align-items: flex-end; justify-content: center; gap: 14px; aspect-ratio: 1; }
body.s-lunchroom-d .bb-literbak { position: relative; width: 44%; aspect-ratio: .86; border-radius: 6px 6px 18px 18px / 6px 6px 12px 12px; background: linear-gradient(90deg, #efe9de, #fffdf8 40%, #e7dfd0); box-shadow: 0 18px 24px -14px rgba(43, 36, 82, .4); display: grid; place-items: center; }
body.s-lunchroom-d .bb-literbak.half { width: 34%; }
body.s-lunchroom-d .bb-literbak::before { content: ""; position: absolute; left: -5%; right: -5%; top: -6px; height: 18px; border-radius: 6px; background: var(--k); box-shadow: inset 0 -3px 0 rgba(0, 0, 0, .12); }
body.s-lunchroom-d .bb-literbak i { font: 400 26px/1 var(--kop); font-style: normal; color: var(--inkt); }
body.s-lunchroom-d .bb-literbak::after { content: "Bolletje Blij"; position: absolute; bottom: 18%; font-size: 11px; letter-spacing: .12em; text-transform: uppercase; font-weight: 600; color: var(--framboos); }

/* ── Seizoen ────────────────────────────────────────────────────── */
body.s-lunchroom-d .bb-seizoen { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(8, minmax(0, 1fr)); gap: 18px; text-align: center; }
body.s-lunchroom-d .bb-seizoen .m { display: block; font-size: 13px; letter-spacing: .18em; text-transform: uppercase; font-weight: 600; margin-bottom: 12px; opacity: .9; }
body.s-lunchroom-d .bb-seizoen .bolletje { display: block; width: min(96px, 100%); aspect-ratio: 1; margin: 0 auto 14px; clip-path: url(#bb-schep);
  background: radial-gradient(circle at 34% 28%, rgba(255, 255, 255, .5), transparent 38%), radial-gradient(circle at 60% 120%, rgba(0, 0, 0, .16), transparent 60%), var(--k); }
body.s-lunchroom-d .bb-seizoen b { font: 400 19px/1.2 var(--kop); display: block; hyphens: manual; }

/* ── Makers en bezoek ───────────────────────────────────────────── */
body.s-lunchroom-d .bb-makers { display: grid; grid-template-columns: .85fr 1fr; gap: clamp(32px, 6vw, 96px); align-items: center; }
body.s-lunchroom-d .bb-makers h2 { margin-bottom: 22px; }
body.s-lunchroom-d .bb-makers.groot { align-items: start; }
body.s-lunchroom-d .bb-handtekening { font: 400 28px/1 var(--kop); color: var(--framboos); margin-top: 26px; }
body.s-lunchroom-d .bb-bezoek { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: start; }
body.s-lunchroom-d .bb-bezoek h2 { margin-bottom: 26px; }
body.s-lunchroom-d .bb-adres { display: flex; gap: 14px; align-items: flex-start; font-size: 18px; }
body.s-lunchroom-d .bb-adres svg { width: 24px; height: 24px; flex: none; color: var(--framboos); margin-top: 2px; }
body.s-lunchroom-d .bb-adres small { font-size: 15px; opacity: .85; }
body.s-lunchroom-d .bb-adres a { font-weight: 600; text-decoration: none; }
body.s-lunchroom-d .bb-bezoek-tijden { background: var(--room); border-radius: 30px; padding: 30px 32px; }
body.s-lunchroom-d .bb-bezoek-tijden h3 { margin-bottom: 14px; font-size: 28px; }
body.s-lunchroom-d .bb-tijden { list-style: none; margin: 0 0 14px; padding: 0; }
body.s-lunchroom-d .bb-tijden li { display: flex; justify-content: space-between; gap: 16px; padding: 10px 0; border-bottom: 1.5px dashed color-mix(in srgb, currentColor 30%, transparent); }
body.s-lunchroom-d .bb-tijden b { font-weight: 600; text-align: right; }

/* ── Paginakop subpagina's ──────────────────────────────────────── */
body.s-lunchroom-d .bb-paginakop { padding: clamp(48px, 6vw, 80px) 0 clamp(56px, 7vw, 96px); text-align: center; }
body.s-lunchroom-d .bb-paginakop h1 { font-size: clamp(42px, 6.4vw, 88px); max-width: 17ch; margin: 0 auto 26px; letter-spacing: -.015em; }
body.s-lunchroom-d .bb-paginakop h1 em { display: block; }
body.s-lunchroom-d .bb-paginakop .bb-lead { max-width: 640px; margin: 0 auto; }

/* ── Diensten ───────────────────────────────────────────────────── */
body.s-lunchroom-d .bb-sprong { display: flex; flex-wrap: wrap; gap: 8px 10px; align-items: center; margin: -24px 0 64px; font-size: 15px; }
body.s-lunchroom-d .bb-sprong span { font-weight: 600; margin-right: 6px; }
body.s-lunchroom-d .bb-sprong a { padding: 6px 13px; border-radius: 999px; background: var(--room2); text-decoration: none; }
body.s-lunchroom-d .bb-sprong a:hover { background: var(--pistache); }
body.s-lunchroom-d .bb-dienst { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(32px, 6vw, 96px); align-items: center; }
body.s-lunchroom-d .bb-dienst.omgekeerd { grid-template-columns: 1.1fr .9fr; }
body.s-lunchroom-d .bb-nr { font: 400 22px/1 var(--kop); color: var(--framboos); margin-bottom: 14px; display: inline-block; border-bottom: 2px solid currentColor; padding-bottom: 6px; }
body.s-lunchroom-d .k-framboos .bb-nr, body.s-lunchroom-d .k-bosbes .bb-nr { color: #fff8f2; }
body.s-lunchroom-d .bb-dienst h2, body.s-lunchroom-d .bb-kar h2 { margin-bottom: 16px; }
body.s-lunchroom-d .bb-punten { list-style: none; margin: 22px 0 28px; padding: 0; display: grid; gap: 10px; }
body.s-lunchroom-d .bb-punten li { display: flex; gap: 12px; align-items: center; font-weight: 500; }
body.s-lunchroom-d .bb-punten .bolletje { width: 18px; height: 18px; flex: none; clip-path: url(#bb-schep); background: var(--framboos-l); }
body.s-lunchroom-d .k-framboos .bb-punten .bolletje { background: #fbf6ec; }
body.s-lunchroom-d .bb-ladder-mini { margin: 8px 0 34px; padding: 26px 0 18px; border-top: 1.5px dashed rgba(43, 36, 82, .25); border-bottom: 1.5px dashed rgba(43, 36, 82, .25); }
body.s-lunchroom-d .bb-ladder-mini .bb-ladder { justify-content: flex-start; }
body.s-lunchroom-d .bb-ladder-mini .bb-hoorn { --s: 58px; margin-bottom: 10px; }
body.s-lunchroom-d .bb-ladder-mini b { font-size: 28px; }
body.s-lunchroom-d .bb-taart-kies { margin-top: 72px; padding-top: 56px; border-top: 1.5px solid rgba(255, 248, 242, .3); text-align: center; }
body.s-lunchroom-d .bb-taart-kies h3 { font-size: 34px; margin-bottom: 30px; }
body.s-lunchroom-d .bb-taarten { list-style: none; margin: 0 0 26px; padding: 0; display: flex; justify-content: center; align-items: flex-end; gap: clamp(28px, 6vw, 88px); }
body.s-lunchroom-d .bb-taarten li { display: flex; flex-direction: column; align-items: center; gap: 4px; }
body.s-lunchroom-d .bb-taart { width: calc(var(--d) * 7px); aspect-ratio: 1; border-radius: 50%; background: radial-gradient(circle, #f6e7d6 0 58%, #ead2b9 59% 100%); border: 10px dotted #fff8f2; display: grid; place-items: center; margin-bottom: 14px; box-shadow: 0 16px 26px -14px rgba(0, 0, 0, .5); }
body.s-lunchroom-d .bb-taart span { width: 46%; aspect-ratio: 1; border-radius: 50%;
  background: radial-gradient(circle at 30% 30%, #e0567a 0 14%, transparent 15%), radial-gradient(circle at 66% 34%, #a8213f 0 14%, transparent 15%), radial-gradient(circle at 48% 64%, #d23f63 0 15%, transparent 16%), radial-gradient(circle at 76% 70%, #e0567a 0 12%, transparent 13%), radial-gradient(circle at 24% 72%, #b02f57 0 12%, transparent 13%), radial-gradient(circle, #fffdf8 0 70%, transparent 71%); }
body.s-lunchroom-d .bb-taarten b { font: 400 26px/1.1 var(--kop); }
body.s-lunchroom-d .bb-taarten strong { font: 400 30px/1.2 var(--kop); color: #ffe7a6; }
body.s-lunchroom-d .bb-kar { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(32px, 6vw, 96px); align-items: center; }
body.s-lunchroom-d .bb-ijskar { width: 100%; height: auto; color: var(--inkt); }
body.s-lunchroom-d .bb-kar-tekening { background: var(--room); border-radius: 50% 50% 28px 28px / 36% 36% 28px 28px; padding: 40px 36px 24px; text-align: center; }
body.s-lunchroom-d .bb-kar-rijen { list-style: none; margin: 24px 0 32px; padding: 0; }
body.s-lunchroom-d .bb-kar-rijen li { display: grid; grid-template-columns: 140px 1fr; gap: 16px; padding: 12px 0; border-bottom: 1.5px dashed rgba(43, 36, 82, .3); }
body.s-lunchroom-d .bb-kar-rijen span { font-weight: 600; }
body.s-lunchroom-d .bb-kar-rijen b { font-weight: 400; }
body.s-lunchroom-d .bb-mee-beeld .bb-bekers { max-width: 420px; margin: 0 auto; }
body.s-lunchroom-d .bb-prijsregel { display: flex; flex-wrap: wrap; gap: 14px 36px; font-size: 18px; }
body.s-lunchroom-d .bb-prijsregel b { font: 400 30px/1 var(--kop); color: var(--framboos); margin-left: 8px; }

/* ── Slotband ───────────────────────────────────────────────────── */
body.s-lunchroom-d .bb-slot { display: grid; grid-template-columns: auto 1fr auto; gap: 24px 48px; align-items: center; }
body.s-lunchroom-d .bb-slot h2 { margin-bottom: 10px; }
body.s-lunchroom-d .bb-slot p { margin: 0; max-width: 560px; }
body.s-lunchroom-d .bb-slot-knoppen { display: flex; flex-direction: column; gap: 14px; align-items: flex-start; }
body.s-lunchroom-d .k-pistache .bb-knop.licht { background: var(--framboos); color: #fff; }
body.s-lunchroom-d .k-pistache .bb-knop.licht svg { background: rgba(255, 255, 255, .18); }

/* ── Smaken & prijzen ───────────────────────────────────────────── */
body.s-lunchroom-d .bb-prijzen { display: grid; grid-template-columns: 1fr 1fr; gap: 56px clamp(40px, 6vw, 96px); align-items: start; }
body.s-lunchroom-d .bb-prijzen h2 { margin-bottom: 40px; }
body.s-lunchroom-d .bb-prijzen .bb-ladder { justify-content: flex-start; }
body.s-lunchroom-d .bb-prijslijst { list-style: none; margin: 0 0 18px; padding: 0; }
body.s-lunchroom-d .bb-prijslijst li { display: flex; align-items: baseline; gap: 10px; padding: 11px 0; }
body.s-lunchroom-d .bb-prijslijst i { flex: 1; border-bottom: 2px dotted rgba(43, 36, 82, .35); transform: translateY(-4px); }
body.s-lunchroom-d .bb-prijslijst b { font-weight: 600; white-space: nowrap; }
body.s-lunchroom-d .bb-allergie h2 { margin-bottom: 26px; }
body.s-lunchroom-d .bb-kolommen { display: grid; grid-template-columns: 1fr 1fr; gap: 0 48px; }
body.s-lunchroom-d .bb-allergie-chips { list-style: none; padding: 0; margin: 20px 0 0; display: flex; flex-wrap: wrap; gap: 10px; }
body.s-lunchroom-d .bb-allergie-chips li { background: var(--room); padding: 9px 16px; border-radius: 999px; font-weight: 500; font-size: 15.5px; }

/* ── Over ons ───────────────────────────────────────────────────── */
body.s-lunchroom-d .bb-stappen { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(5, 1fr); gap: 28px; counter-reset: s; }
body.s-lunchroom-d .bb-stappen li { position: relative; }
body.s-lunchroom-d .bb-stappen li:not(:last-child)::after { content: ""; position: absolute; top: 34px; left: 84px; right: -18px; border-top: 2px dashed rgba(251, 246, 236, .35); }
body.s-lunchroom-d .bb-stap-nr { display: grid; place-items: center; width: 68px; height: 68px; clip-path: url(#bb-schep); background: var(--room); color: var(--bosbes); font: 400 30px/1 var(--kop); padding-bottom: 6px; margin-bottom: 18px; }
body.s-lunchroom-d .bb-stappen li:nth-child(2) .bb-stap-nr { background: #f3e07a; }
body.s-lunchroom-d .bb-stappen li:nth-child(3) .bb-stap-nr { background: #e46a7c; }
body.s-lunchroom-d .bb-stappen li:nth-child(4) .bb-stap-nr { background: #b3be78; }
body.s-lunchroom-d .bb-stappen li:nth-child(5) .bb-stap-nr { background: #f2a43a; }
body.s-lunchroom-d .bb-stappen h3 { margin-bottom: 8px; }
body.s-lunchroom-d .bb-stappen p { font-size: 16px; opacity: .9; }
body.s-lunchroom-d .bb-getallen { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px; text-align: center; }
body.s-lunchroom-d .bb-getallen b { display: block; font: 400 clamp(64px, 9vw, 120px)/1 var(--kop); color: var(--framboos); }
body.s-lunchroom-d .bb-getallen span { font-size: 18px; font-weight: 500; }
body.s-lunchroom-d .bb-winter h2 { margin-bottom: 26px; max-width: 16ch; }

/* ── Contact ────────────────────────────────────────────────────── */
body.s-lunchroom-d .bb-contact { display: grid; grid-template-columns: 1.45fr 1fr; gap: clamp(32px, 5vw, 72px); align-items: start; }
body.s-lunchroom-d .bb-form { background: #fff; border-radius: 34px; padding: clamp(24px, 4vw, 44px); box-shadow: 0 30px 60px -40px rgba(43, 36, 82, .5); }
body.s-lunchroom-d .bb-form fieldset { border: 0; padding: 0; margin: 0 0 22px; }
body.s-lunchroom-d .bb-form legend { font: 400 26px/1.2 var(--kop); margin-bottom: 16px; padding: 0; }
body.s-lunchroom-d .bb-keuzes { display: flex; flex-wrap: wrap; gap: 10px; }
body.s-lunchroom-d .bb-keuze input { position: absolute; opacity: 0; }
body.s-lunchroom-d .bb-keuze span { display: inline-flex; align-items: center; gap: 10px; padding: 8px 18px 8px 10px; border-radius: 999px; background: var(--room); font-weight: 600; cursor: pointer; border: 2px solid transparent; }
body.s-lunchroom-d .bb-keuze .bb-hoorn { --s: 18px; }
body.s-lunchroom-d .bb-keuze input:checked + span { border-color: var(--framboos); background: #fbe6ec; }
body.s-lunchroom-d .bb-keuze input:focus-visible + span { outline: 3px solid var(--mango); }
body.s-lunchroom-d .bb-velden { display: grid; grid-template-columns: 1fr 1fr; gap: 16px 18px; margin-bottom: 26px; }
body.s-lunchroom-d .bb-velden label { display: flex; flex-direction: column; gap: 6px; font-weight: 600; font-size: 15px; }
body.s-lunchroom-d .bb-velden .breed { grid-column: 1 / -1; }
body.s-lunchroom-d .bb-velden input, body.s-lunchroom-d .bb-velden select, body.s-lunchroom-d .bb-velden textarea {
  font: 400 16px/1.4 var(--tekst); color: var(--inkt); background: var(--room); border: 1.5px solid #e2d6c0; border-radius: 14px; padding: 12px 14px; width: 100%; min-width: 0; }
body.s-lunchroom-d .bb-velden input:focus, body.s-lunchroom-d .bb-velden select:focus, body.s-lunchroom-d .bb-velden textarea:focus { outline: none; border-color: var(--framboos); background: #fff; }
body.s-lunchroom-d .bb-form .bb-klein { margin: 14px 0 0; }
body.s-lunchroom-d .bb-contact-info h2 { margin-bottom: 22px; }
body.s-lunchroom-d .bb-contact-info h3 { display: flex; align-items: center; gap: 10px; margin: 30px 0 8px; font-size: 26px; }
body.s-lunchroom-d .bb-contact-info h3 svg { width: 24px; height: 24px; color: var(--framboos); }
body.s-lunchroom-d .bb-faq { display: grid; grid-template-columns: 1fr 1.6fr; gap: 40px 72px; align-items: start; }
body.s-lunchroom-d .bb-faq details { border-bottom: 1.5px solid rgba(43, 36, 82, .2); }
body.s-lunchroom-d .bb-faq summary { list-style: none; cursor: pointer; padding: 18px 44px 18px 0; position: relative; font: 400 21px/1.3 var(--kop); }
body.s-lunchroom-d .bb-faq summary::-webkit-details-marker { display: none; }
body.s-lunchroom-d .bb-faq summary::after { content: "+"; position: absolute; right: 4px; top: 14px; width: 30px; height: 30px; border-radius: 50%; background: var(--room); display: grid; place-items: center; font: 600 20px/1 var(--tekst); }
body.s-lunchroom-d .bb-faq details[open] summary::after { content: "–"; background: var(--framboos); color: #fff; }
body.s-lunchroom-d .bb-faq details p { margin: 0 0 20px; max-width: 620px; }
body.s-lunchroom-d .bb-route h2 { margin-bottom: 24px; }

/* ── Voet ───────────────────────────────────────────────────────── */
body.s-lunchroom-d .bb-voet { background: var(--nacht); color: #f3eee4; padding: 120px 0 132px; }
body.s-lunchroom-d .bb-voet-top { display: flex; justify-content: space-between; align-items: flex-end; gap: 32px; padding-bottom: 48px; border-bottom: 1.5px solid rgba(243, 238, 228, .18); }
body.s-lunchroom-d .bb-voet-kop { font: 400 clamp(40px, 6vw, 84px)/1 var(--kop); margin: 0; max-width: 12ch; }
body.s-lunchroom-d .bb-voet-kop em { color: #f6c9d5; }
body.s-lunchroom-d .bb-hoorn.voet { --s: 78px; transform: rotate(8deg); flex: none; }
body.s-lunchroom-d .bb-voet-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px; padding: 44px 0; }
body.s-lunchroom-d .bb-voet h2 { font: 600 13px/1 var(--tekst); letter-spacing: .18em; text-transform: uppercase; color: #b9cc8e; margin-bottom: 18px; }
body.s-lunchroom-d .bb-voet-links { list-style: none; margin: 0; padding: 0; columns: 2; }
body.s-lunchroom-d .bb-voet-links li { padding: 4px 0; break-inside: avoid; }
body.s-lunchroom-d .bb-voet a { text-decoration: none; }
body.s-lunchroom-d .bb-voet a:hover { text-decoration: underline; }
body.s-lunchroom-d .bb-voet .bb-tijden li { border-color: rgba(243, 238, 228, .2); font-size: 15px; }
body.s-lunchroom-d .bb-voet-sgs { font-size: 14px; margin: 0; padding-top: 22px; border-top: 1.5px solid rgba(243, 238, 228, .18); color: #cfc8db; }
body.s-lunchroom-d .bb-voet-sgs a { color: #f3eee4; text-decoration: underline; }

/* ── Smaller ────────────────────────────────────────────────────── */
@media (max-width: 1080px) {
  body.s-lunchroom-d .bb-dock-links a { padding: 10px 11px; font-size: 15px; }
  body.s-lunchroom-d .bb-dock-knop.bel span { display: none; }
  body.s-lunchroom-d .bb-stappen { grid-template-columns: repeat(3, 1fr); }
  body.s-lunchroom-d .bb-stappen li::after { display: none; }
}
@media (max-width: 900px) {
  body.s-lunchroom-d { font-size: 16.5px; }
  body.s-lunchroom-d .bb-w { width: calc(100% - 32px); }
  body.s-lunchroom-d .bb-kop { flex-wrap: wrap; padding: 14px 16px; gap: 10px 14px; }
  body.s-lunchroom-d .bb-logo b { font-size: 23px; }
  body.s-lunchroom-d .bb-logo small { font-size: 11px; }
  body.s-lunchroom-d .bb-open { order: 3; width: 100%; font-size: 13.5px; }
  body.s-lunchroom-d .bb-ods { font-size: 13.5px; padding: 7px 12px; }
  body.s-lunchroom-d .bb-dock { left: 10px; right: 10px; width: auto; transform: none; bottom: 10px; padding: 6px; border-radius: 26px; gap: 4px; }
  body.s-lunchroom-d .bb-dock-logo, body.s-lunchroom-d .bb-dock-links { display: none; }
  body.s-lunchroom-d .bb-dock-knop, body.s-lunchroom-d .bb-dock-knop.smaken, body.s-lunchroom-d .bb-dock-knop.menu { display: flex; flex: 1; flex-direction: column; gap: 3px; padding: 8px 4px; border-radius: 20px; font-size: 12.5px; font-weight: 600; margin: 0; }
  body.s-lunchroom-d .bb-dock-knop.bel span { display: inline; }
  body.s-lunchroom-d .bb-dock-knop.cta { padding: 8px 4px; }
  body.s-lunchroom-d .bb-dock-knop .lang { display: none; }
  body.s-lunchroom-d .bb-dock-knop .kort { display: inline; }
  body.s-lunchroom-d .bb-menu-check:checked ~ .bb-dock .menu { background: #fbf6ec; color: var(--bosbes); }
  body.s-lunchroom-d .bb-vel { bottom: 86px; }

  body.s-lunchroom-d .bb-hero-podium { grid-template-columns: 1fr 1fr; grid-template-rows: auto auto auto; column-gap: 16px; row-gap: 14px; }
  body.s-lunchroom-d .bb-hero h1 span { font-size: clamp(38px, 10vw, 60px); }
  body.s-lunchroom-d .bb-hero .r1 { grid-column: 1 / -1; grid-row: 1; text-align: center; padding: 0; }
  body.s-lunchroom-d .bb-hero-ijsje { grid-column: 1 / -1; grid-row: 2; width: min(340px, 86%); justify-self: center; padding-top: 52px; }
  body.s-lunchroom-d .bb-hero .r2 { grid-column: 1 / -1; grid-row: 3; text-align: center; margin-top: 4px; }
  body.s-lunchroom-d .bb-hero-noot { display: none; }
  body.s-lunchroom-d .bb-hero-ijsje .p0 { left: -4%; }
  body.s-lunchroom-d .bb-hero-ijsje .p2 { right: -6%; }
  body.s-lunchroom-d .bb-prikker { font-size: 12.5px; padding: 6px 9px 7px; }

  body.s-lunchroom-d .bb-bakken { grid-template-columns: repeat(3, 1fr); padding: 28px 10px 18px; gap: 30px 8px; }
  body.s-lunchroom-d .bb-vitrine { padding: 10px 10px 0; }
  body.s-lunchroom-d .bb-toonbank { margin: 0 -10px; }
  body.s-lunchroom-d .bb-vitrine.groot .bb-bakken { grid-template-columns: repeat(2, 1fr); gap: 34px 12px; }
  body.s-lunchroom-d .bb-prik { font-size: 11.5px; padding: 4px 6px 5px; left: 4%; }
  body.s-lunchroom-d .bb-bak:nth-child(3n+2) .bb-prik { left: 6%; }
  body.s-lunchroom-d .bb-groep-kop { grid-template-columns: 1fr; }

  body.s-lunchroom-d .bb-ladder-wrap, body.s-lunchroom-d .bb-makers, body.s-lunchroom-d .bb-bezoek, body.s-lunchroom-d .bb-dienst,
  body.s-lunchroom-d .bb-dienst.omgekeerd, body.s-lunchroom-d .bb-kar, body.s-lunchroom-d .bb-prijzen, body.s-lunchroom-d .bb-contact,
  body.s-lunchroom-d .bb-faq, body.s-lunchroom-d .bb-kolommen { grid-template-columns: 1fr; }
  body.s-lunchroom-d .bb-dienst.omgekeerd .bb-schep { order: -1; }
  body.s-lunchroom-d .bb-dienst .bb-schep, body.s-lunchroom-d .bb-makers .bb-schep { width: min(420px, 100%); margin: 0 auto; }
  body.s-lunchroom-d .bb-ladder .bb-hoorn { --s: 70px; }
  body.s-lunchroom-d .bb-ladder b { font-size: 30px; }
  body.s-lunchroom-d .bb-ladder-mini .bb-hoorn { --s: 50px; }
  body.s-lunchroom-d .bb-ladder-mini .bb-ladder { justify-content: space-between; }
  body.s-lunchroom-d .bb-trio { grid-template-columns: 1fr; gap: 56px; }
  body.s-lunchroom-d .bb-trio-i .bb-schep, body.s-lunchroom-d .bb-trio-i .bb-bekers { width: min(320px, 80%); }
  body.s-lunchroom-d .bb-seizoen { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 26px 10px; }
  body.s-lunchroom-d .bb-seizoen b { font-size: 16px; }
  body.s-lunchroom-d .bb-fotoband-tekst { left: 16px; right: 16px; bottom: 16px; max-width: none; }
  body.s-lunchroom-d .bb-taarten { gap: 18px; }
  body.s-lunchroom-d .bb-taart { width: calc(var(--d) * 4px); border-width: 7px; }
  body.s-lunchroom-d .bb-taarten b { font-size: 20px; }
  body.s-lunchroom-d .bb-taarten strong { font-size: 22px; }
  body.s-lunchroom-d .bb-taarten li > span:not(.bb-taart) { font-size: 13.5px; }
  body.s-lunchroom-d .bb-kar-rijen li { grid-template-columns: 1fr; gap: 2px; }
  body.s-lunchroom-d .bb-slot { grid-template-columns: 1fr; text-align: left; }
  body.s-lunchroom-d .bb-stappen { grid-template-columns: 1fr 1fr; }
  body.s-lunchroom-d .bb-getallen { grid-template-columns: 1fr; gap: 26px; }
  body.s-lunchroom-d .bb-velden { grid-template-columns: 1fr; }
  body.s-lunchroom-d .bb-voet { padding-top: 96px; padding-bottom: 116px; }
  body.s-lunchroom-d .bb-voet-grid { grid-template-columns: 1fr; gap: 30px; }
  body.s-lunchroom-d .bb-hoorn.voet { --s: 56px; }
}
@media (max-width: 420px) {
  body.s-lunchroom-d .bb-stappen { grid-template-columns: 1fr; }
  body.s-lunchroom-d .bb-ods { padding: 6px 10px; }
}
@media (prefers-reduced-motion: reduce) {
  body.s-lunchroom-d * { transition: none !important; }
}
