/* Meesterbakker Uljee, de binnenpagina's. Zelfde materiaal als de voorpagina: tegelblauw veld om te bladeren,
   brochurekaart om te lezen, schapkaart voor de taart, poedersuiker voor het mandje. De eiken plank blijft de
   enige scheiding (onder de vakken en boven de voet). */

[data-grond="poeder"] { --grond: var(--poedersuiker); --ink: var(--schapkaart); --zacht: var(--tekst-papier-zacht); --focus: var(--schapkaart); --accent: var(--schapkaart); background: var(--poedersuiker); color: var(--schapkaart); }
.kop[data-kop="poeder"] { --kop-bg: var(--poedersuiker); --kop-ink: var(--schapkaart); --kop-taart: var(--schapkaart); --focus: var(--schapkaart); }
.kop[data-kop="poeder"] .kop__link--taart { text-decoration: underline; text-decoration-color: var(--doosgoud); text-decoration-thickness: 3px; }
.kop[data-kop="poeder"] .kop__logo { --chef: #8A6420; }
.kop[data-kop="poeder"] .chip { box-shadow: 0 0 0 1px rgba(33, 35, 34, 0.25), 0 6px 14px rgba(33, 35, 34, 0.12); }
.kop__link[aria-current="page"] { text-decoration: underline; text-decoration-thickness: 2px; }
.deksel__links a[aria-current="page"], .deksel__klein a[aria-current="page"], .meer__lijst a[aria-current="page"] { text-decoration: underline; text-decoration-thickness: 2px; }

.pagina__main { display: block; }
/* de ruimte onder de vaste kop hoort bij de eerste sectie, zodat de kop meteen de goede grond ziet */
.pagina__main > :first-child::before { content: ""; display: block; height: calc(var(--kop-h) + var(--kop-extra)); }
body.pagina { background: var(--schapkaart); }

/* koppen */
.kop1 {
  font-family: var(--display); font-weight: 800; font-stretch: 118%;
  font-size: clamp(2.625rem, 6.2vw, 6rem); line-height: 0.95; letter-spacing: -0.02em; text-wrap: balance;
}
.kop3 { font-family: var(--display); font-weight: 800; font-stretch: 116%; font-size: clamp(1.75rem, 2.8vw, 2.5rem); line-height: 1; letter-spacing: -0.015em; }
.kop4 { font-family: var(--display); font-weight: 800; font-stretch: 112%; font-size: 1.375rem; line-height: 1.1; letter-spacing: -0.005em; }
.kop5 { font-family: var(--display); font-weight: 700; font-stretch: 108%; font-size: 1.0625rem; line-height: 1.2; }
.pkop__lead, .lkop__lead { font-size: 1.25rem; line-height: 1.5; max-width: 52ch; color: var(--zacht); }
[data-grond="kaart"] .lkop__lead, [data-grond="poeder"] .pkop__lead { color: var(--ink); }
.lkop__lead a, .pkop__lead a { color: inherit; font-weight: 600; }
.streepjes { display: grid; gap: 8px; }
.streepjes li { position: relative; padding-left: 18px; }
.streepjes li::before { content: ""; position: absolute; left: 0; top: 0.68em; width: 7px; height: 7px; background: var(--doosgoud); }
[data-grond="kaart"] .streepjes li::before, [data-grond="poeder"] .streepjes li::before, .streepjes--donker li::before { background: var(--schapkaart); }
.anker { position: relative; top: calc(-1 * (var(--kop-h) + 16px)); display: block; }

/* ===== kop van een bladerpagina: titel op het veld, een witte bon ernaast ===== */
.pkop { padding-block: clamp(48px, 7vw, 104px) clamp(40px, 5vw, 72px); }
.pkop__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--goot); row-gap: 32px; align-items: end; }
.pkop__tekst { grid-column: 1 / span 7; display: grid; gap: 22px; }
.pkop__grid > .paginabon, .pkop__grid > .pc, .pkop__grid > .snelkies { grid-column: 9 / span 4; }
.paginabon {
  position: relative; background: var(--papier); color: var(--schapkaart); border-radius: 7px; padding: 20px 20px 16px;
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.2), 0 14px 32px rgba(0, 0, 0, 0.35); --focus: var(--schapkaart);
}
.paginabon::before { content: ""; position: absolute; inset: 0 0 auto 0; height: 6px; background: var(--doosgoud); border-radius: 7px 7px 0 0; }
.paginabon__rij { display: grid; grid-template-columns: 6.2rem minmax(0, 1fr); gap: 0 10px; align-items: baseline; padding: 8px 0; border-bottom: 1px solid #ECE7DF; font-weight: 600; font-variant-numeric: lining-nums tabular-nums; }
.paginabon__naam { font-size: 0.75rem; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: var(--tekst-papier-zacht); }
.paginabon__wijzig { min-height: 0; padding: 12px 0; margin: -12px 0; font-size: 0.9375rem; color: #4A443D; }
.paginabon__klaar { padding-top: 12px; color: var(--tekst-papier-zacht); font-size: 0.9375rem; display: grid; gap: 4px; }
.paginabon__datum { color: var(--schapkaart); font-family: var(--display); font-weight: 800; font-stretch: 108%; font-size: 1.375rem; line-height: 1.1; letter-spacing: -0.01em; }

/* ===== bestellen ===== */
.winkel { padding-bottom: var(--sectie); }
.winkel__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--goot); align-items: start; }
.groepen { grid-column: 1 / span 3; position: sticky; top: calc(var(--kop-h) + var(--kop-extra) + 24px); }
.groepen__kop { font-size: 0.875rem; font-weight: 700; color: var(--tekst-tegel-zacht); padding-bottom: 8px; border-bottom: 1px solid rgba(236, 238, 235, 0.16); }
.groepen__lijst a {
  display: flex; justify-content: space-between; align-items: center; gap: 12px; min-height: 44px; padding: 4px 0;
  font-weight: 600; text-decoration: none; border-bottom: 1px solid rgba(236, 238, 235, 0.08);
}
.groepen__lijst a:hover span:first-child { text-decoration: underline; }
.groepen__lijst a:hover { color: var(--doosgoud); }
.groepen__tal { font-size: 0.875rem; color: var(--tekst-tegel-zacht); font-variant-numeric: lining-nums tabular-nums; }
.groepen__tal svg { width: 18px; height: 18px; }
.groepen__bezorg { display: inline-flex; align-items: center; min-height: 44px; margin-top: 14px; font-weight: 700; color: var(--doosgoud); }
.winkel__groepen { grid-column: 4 / span 9; display: grid; gap: clamp(64px, 7vw, 104px); }
.groep { scroll-margin-top: calc(var(--kop-h) + var(--kop-extra) + 16px); }
.groep__kop { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr); gap: 8px 32px; align-items: end; margin-bottom: 28px; }
.groep__noot { color: var(--tekst-tegel-zacht); font-size: 1rem; max-width: 52ch; }
.groep--taart { display: grid; gap: 16px; justify-items: start; padding-top: 32px; border-top: 1px solid rgba(236, 238, 235, 0.16); }

/* vakken: packshot, de plank eronder, de schapkaart */
.vakken { display: grid; grid-template-columns: repeat(auto-fill, minmax(208px, 1fr)); gap: 40px 20px; }
.vakken--vier { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.vak { display: grid; grid-template-rows: auto auto 1fr; min-width: 0; }
.vak__foto { aspect-ratio: 4 / 3; background: var(--poedersuiker); padding: 8px; overflow: hidden; }
.vak__foto img { width: 100%; height: 100%; object-fit: contain; }
.vak__foto--leeg { background: var(--schapkaart); display: grid; align-content: end; padding: 14px 16px; box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.06); }
.vak__foto--leeg span { font-family: var(--display); font-weight: 800; font-stretch: 116%; font-size: 1.375rem; line-height: 1; letter-spacing: -0.01em; color: var(--poedersuiker); }
.vak__plank {
  height: 12px; margin-inline: -10px; position: relative; z-index: 1;
  background: linear-gradient(180deg, var(--eik-licht) 0 2px, transparent 2px), linear-gradient(180deg, #6E5D47 0%, var(--eikenschap) 45%, #54473A 100%);
  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.35);
}
.vak .schapkaart { margin-top: 0; min-height: 96px; grid-template-rows: auto 1fr auto; }
.schapkaart__vanaf { grid-column: 2; grid-row: 1; justify-self: end; font-size: 0.75rem; color: #C9CBC6; margin-bottom: -2px; }
.schapkaart__vanaf + .ovaal { grid-row: 2; align-self: start; }
.schapkaart__plus { grid-row: 3; }
.schapkaart__plus--kies { text-decoration: none; font-weight: 700; }
.schapkaart__plus .plus-aantal:empty { display: none; }

/* bezorgen en ophalen */
.voorwaarden { padding-block: var(--sectie); }
.voorwaarden__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 48px var(--goot); align-items: start; }
.voorwaarden__kop { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--goot); align-items: end; }
.voorwaarden__kop .kop2 { grid-column: 1 / span 7; }
.voorwaarden__lead { grid-column: 8 / span 5; font-size: 1.125rem; max-width: 46ch; }
.vw { display: grid; gap: 14px; align-content: start; font-size: 1.0625rem; }
.vw p { max-width: 60ch; }
.vw a:not([class]) { font-weight: 600; }
.vw--klaar { grid-column: 1 / span 5; grid-row: span 2; }
.vw--bezorgen { grid-column: 7 / span 6; grid-row: span 2; }
.vw--ophalen, .vw--betalen, .vw--foto, .vw--brooddag { grid-column: span 6; }
.vw--ophalen { grid-column: 1 / span 5; }
.vw__zin { font-family: var(--display); font-weight: 700; font-stretch: 106%; font-size: 1.5rem; line-height: 1.2; }
.voorbeeldlabel { position: relative; background: var(--papier); padding: 18px 18px 16px; border-radius: 6px; box-shadow: 0 1px 1px rgba(40, 26, 6, 0.15), 0 12px 26px rgba(40, 26, 6, 0.16); }
.voorbeeldlabel::before { content: ""; position: absolute; inset: 0 0 auto 0; height: 5px; background: var(--doosgoud); border-radius: 6px 6px 0 0; }
.voorbeeldlabel__naam { font-size: 0.75rem; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: var(--tekst-papier-zacht); }
.voorbeeldlabel__tekst { margin-top: 6px; font-weight: 700; font-size: 1.125rem; line-height: 1.35; font-variant-numeric: lining-nums tabular-nums; }
.zones { width: 100%; border-collapse: collapse; font-size: 1rem; }
.zones th { text-align: left; font-size: 0.8125rem; font-weight: 700; color: var(--tekst-kaart-zacht); padding: 0 0 8px; border-bottom: 1px solid rgba(33, 35, 34, 0.3); }
.zones th:last-child, .zones td:last-child { text-align: right; }
.zones td { padding: 12px 0; border-bottom: 1px solid rgba(33, 35, 34, 0.16); vertical-align: middle; font-variant-numeric: lining-nums tabular-nums; }
.zones td:first-child { padding-right: 16px; }
.zones__overleg { font-weight: 700; }
.ovaal--klein { min-width: 62px; height: 34px; font-size: 1.125rem; padding-top: 6px; }
.voorwaarden .bezorgcheck__veld input { border-color: #B9AE9B; background: var(--poedersuiker); }
.voorwaarden .bezorgcheck__antwoord { font-weight: 600; }

/* ===== assortiment: prijsborden ===== */
.pkop--smal { padding-bottom: 40px; }
.snelkies ul { display: flex; flex-wrap: wrap; gap: 6px; }
.snelkies a { display: inline-flex; align-items: center; min-height: 40px; padding: 0 14px; border: 1px solid rgba(236, 238, 235, 0.28); border-radius: 20px; font-size: 0.9375rem; font-weight: 600; text-decoration: none; }
.snelkies a:hover { border-color: var(--doosgoud); color: var(--doosgoud); }
.pkop__grid > .snelkies { grid-column: 8 / span 5; }
.borden { padding-bottom: var(--sectie); }
.borden__kolommen { columns: 3 320px; column-gap: var(--goot); }
.bord {
  break-inside: avoid; margin-bottom: var(--goot); background: var(--schapkaart); color: var(--papier);
  padding: 22px 22px 14px; box-shadow: 0 1px 0 rgba(255, 255, 255, 0.05) inset, 0 6px 18px rgba(0, 0, 0, 0.3);
  scroll-margin-top: calc(var(--kop-h) + var(--kop-extra) + 16px); --focus: var(--doosgoud);
}
.bord__kop { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; padding-bottom: 12px; border-bottom: 2px solid var(--prijsovaal); }
.bord__naam-groot { font-family: var(--display); font-weight: 800; font-stretch: 116%; font-size: 1.75rem; line-height: 1; letter-spacing: -0.01em; }
.bord__tal { font-size: 0.8125rem; color: #C9CBC6; white-space: nowrap; }
.bord__sub { margin-top: 16px; font-size: 0.8125rem; font-weight: 700; color: var(--prijsovaal); }
.bord__lijst { margin-top: 6px; }
.bord__lijst a { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 16px; align-items: baseline; min-height: 40px; padding: 8px 0; border-bottom: 1px solid rgba(255, 255, 255, 0.08); text-decoration: none; }
.bord__lijst a:hover .bord__naam { text-decoration: underline; }
.bord__naam { font-size: 1rem; line-height: 1.3; }
.bord__prijs { font-weight: 700; font-variant-numeric: lining-nums tabular-nums; white-space: nowrap; }
.bord__prijs small { font-weight: 400; font-size: 0.8125rem; color: #C9CBC6; }
.bord__tekst { margin-top: 12px; font-size: 0.9375rem; line-height: 1.5; color: #D9DAD6; }
.bord__verder { margin-top: 8px; color: var(--prijsovaal); }
.bord--uitleg .bord__kop { border-bottom-color: var(--doosgoud); }

/* ===== product ===== */
.product { padding-block: clamp(32px, 4vw, 56px) var(--sectie); }
.kruimel { display: flex; flex-wrap: wrap; gap: 0 10px; font-size: 0.9375rem; color: var(--tekst-tegel-zacht); }
.kruimel a { display: inline-flex; align-items: center; min-height: 44px; color: inherit; }
.kruimel span { display: inline-flex; align-items: center; }
.kruimel--licht { color: var(--tekst-kaart-zacht); }
.product__grid { margin-top: 12px; display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--goot); row-gap: 32px; align-items: start; }
.product__foto { grid-column: 1 / span 6; background: var(--poedersuiker); padding: 16px; max-width: 632px; }
.product__foto img { width: 100%; max-width: 600px; margin-inline: auto; }
.product__leeg { aspect-ratio: 4 / 3; display: grid; align-content: end; padding: 24px; background: var(--schapkaart); }
.product__leeg span { font-family: var(--display); font-weight: 800; font-stretch: 118%; font-size: 2.5rem; line-height: 1; color: var(--poedersuiker); }
.product__kaart { grid-column: 7 / span 6; background: var(--schapkaart); color: var(--papier); padding: 28px 28px 24px; box-shadow: 0 10px 30px rgba(0, 0, 0, 0.35); display: grid; gap: 18px; --focus: var(--doosgoud); }
.product__naam { font-family: var(--display); font-weight: 800; font-stretch: 116%; font-size: clamp(2rem, 3.6vw, 3.25rem); line-height: 1; letter-spacing: -0.015em; text-wrap: balance; }
.product__prijs { display: flex; align-items: center; gap: 14px; min-height: 48px; }
.product__prijs .ovaal { min-width: 96px; height: 52px; font-size: 1.75rem; padding-top: 9px; }
.product__maatprijs { color: #C9CBC6; font-size: 0.9375rem; }
.product__tekst { color: #D9DAD6; max-width: 58ch; }
.product__form { display: grid; gap: 16px; padding-top: 18px; border-top: 1px solid rgba(255, 255, 255, 0.12); }
.product__veld { display: grid; grid-template-columns: 6.4rem minmax(0, 1fr); align-items: center; gap: 10px; }
.product__veld label, .product__label { font-size: 0.75rem; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: #C9CBC6; }
.kiezer--donker select { background: #2D302F; color: var(--papier); border-color: #4C504E; }
.stapper--donker .stapper__knop { background: transparent; color: var(--papier); border-color: rgba(255, 255, 255, 0.35); }
.product__knop { justify-self: start; min-width: 220px; }
.product__status { min-height: 1.4em; font-weight: 600; }
.product__status a { color: var(--prijsovaal); }
.product__ophaal { display: grid; gap: 6px; padding-top: 14px; border-top: 1px solid rgba(255, 255, 255, 0.12); font-variant-numeric: lining-nums tabular-nums; }
.product__ophaal p { display: grid; grid-template-columns: 6.4rem minmax(0, 1fr); gap: 10px; align-items: baseline; }
.product__ophaal .tekstknop { min-height: 0; padding: 12px 0; margin: -12px 0; color: var(--prijsovaal); }
.product__ingr { margin-top: clamp(48px, 5vw, 72px); max-width: 860px; display: grid; gap: 12px; }
.product__ingr p { color: var(--tekst-tegel-zacht); line-height: 1.6; }
.product__ingr strong { color: var(--poedersuiker); }
.product__noot { font-size: 0.9375rem; }
.verwant { padding-bottom: var(--sectie); }
.verwant .kop3 { margin-bottom: 28px; }

/* ===== taarten ===== */
.taartkop { padding-block: clamp(48px, 7vw, 104px) var(--sectie); }
.taartkop__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--goot); row-gap: 40px; align-items: start; }
.taartkop__tekst { grid-column: 1 / span 8; display: grid; gap: 22px; }
.label--los { grid-area: auto; grid-column: 1 / span 6; justify-self: stretch; align-self: start; margin: 0; width: auto; max-width: 520px; }
.taartkop__regel { grid-column: 8 / span 5; display: grid; gap: 28px; padding-top: 12px; }
.taartlijst { padding-bottom: var(--sectie); }
.taartlijst > .wrap > .kop2 { padding-top: clamp(40px, 4vw, 64px); border-top: 1px solid rgba(236, 238, 235, 0.14); }
.taartgroep { margin-top: clamp(48px, 5vw, 80px); }
.taartrijen { margin-top: 20px; border-top: 1px solid rgba(236, 238, 235, 0.16); }
.taartrij { display: grid; grid-template-columns: 180px minmax(0, 1fr) auto; gap: 24px; align-items: center; padding: 18px 0; border-bottom: 1px solid rgba(236, 238, 235, 0.16); }
.taartrij__foto { background: var(--poedersuiker); aspect-ratio: 4 / 3; padding: 6px; }
.taartrij__foto img { width: 100%; height: 100%; object-fit: contain; }
.taartrij__leeg { display: grid; align-content: end; height: 100%; padding: 10px; background: #2B2E2D; font-family: var(--display); font-weight: 800; font-size: 1rem; line-height: 1; color: var(--poedersuiker); }
.taartrij__foto:has(.taartrij__leeg) { padding: 0; }
.taartrij__tekst { display: grid; gap: 6px; max-width: 70ch; }
.taartrij__naam { font-family: var(--display); font-weight: 800; font-stretch: 112%; font-size: 1.375rem; line-height: 1.1; }
.taartrij__naam a { text-decoration: none; }
.taartrij__naam a:hover { text-decoration: underline; text-decoration-thickness: 2px; }
.taartrij__tekst p { color: var(--tekst-schap-zacht); font-size: 1rem; }
.taartrij__maten { font-weight: 600; color: var(--poedersuiker) !important; }
.taartrij__prijs { display: grid; justify-items: end; gap: 6px; }
.taartrij__prijs small { font-size: 0.8125rem; color: var(--tekst-schap-zacht); }
.taartrij__prijs .tekstknop { font-size: 0.9375rem; }
.afspraak { padding-block: var(--sectie); }
.afspraak__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 40px var(--goot); align-items: start; }
.afspraak__h2 { grid-column: 1 / -1; }
.afspraak__foto { grid-column: 1 / span 5; }
.afspraak__foto img { width: 100%; max-width: 800px; }
.afspraak__foto figcaption { margin-top: 8px; font-size: 0.875rem; color: var(--tekst-kaart-zacht); }
.afspraak__tekst { grid-column: 7 / span 6; display: grid; gap: 32px; }
.afspraak__item { display: grid; gap: 10px; padding-top: 18px; border-top: 1px solid rgba(33, 35, 34, 0.25); }
.afspraak__item a:not([class]) { font-weight: 600; }

/* ===== dagtoppers ===== */
.week { padding-bottom: var(--sectie); }
.week__dagen { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 20px; }
.weekdag { display: grid; grid-template-rows: auto auto auto 1fr; min-width: 0; }
.weekdag__dag { font-family: var(--display); font-weight: 800; font-stretch: 116%; font-size: 1.375rem; line-height: 1; padding-bottom: 12px; display: flex; gap: 8px; align-items: baseline; flex-wrap: wrap; }
.weekdag__vandaag { display: none; font-family: var(--tekst); font-stretch: 100%; font-weight: 700; font-size: 0.8125rem; color: var(--schapkaart); background: var(--doosgoud); padding: 2px 8px; border-radius: 10px; }
.weekdag.is-vandaag .weekdag__dag { color: var(--doosgoud); }
.weekdag.is-vandaag .weekdag__vandaag { display: inline-block; }
.weekdag__foto { aspect-ratio: 4 / 3; background: var(--poedersuiker); padding: 6px; }
.weekdag__foto img { width: 100%; height: 100%; object-fit: contain; }
.weekdag__foto > span { display: grid; place-items: center; height: 100%; text-align: center; background: var(--schapkaart); color: var(--prijsovaal); font-family: var(--display); font-weight: 800; font-stretch: 116%; font-size: 1.375rem; line-height: 1.05; }
.weekdag__foto:has(> span) { padding: 0; }
.weekdag__plank { height: 12px; margin-inline: -10px; background: linear-gradient(180deg, var(--eik-licht) 0 2px, transparent 2px), linear-gradient(180deg, #6E5D47 0%, var(--eikenschap) 45%, #54473A 100%); box-shadow: 0 5px 10px rgba(0, 0, 0, 0.35); position: relative; z-index: 1; }
.weekdag__kaart { background: var(--schapkaart); padding: 14px 14px 16px; display: grid; gap: 8px; align-content: start; }
.weekdag.is-vandaag .weekdag__kaart { box-shadow: inset 0 0 0 2px var(--doosgoud); }
.weekdag__product { font-weight: 700; font-size: 1.0625rem; line-height: 1.25; }
.weekdag__tekst { font-size: 0.875rem; line-height: 1.4; color: #C9CBC6; }
.weekdag__deal { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; margin-top: 4px; }
.weekdag__normaal { font-size: 0.875rem; color: #C9CBC6; font-variant-numeric: lining-nums tabular-nums; }
.week__noot { margin-top: 28px; color: var(--tekst-tegel-zacht); font-size: 1rem; }
.brooddag { padding-block: var(--sectie); }
.brooddag__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 40px var(--goot); align-items: start; }
.brooddag__tekst { grid-column: 1 / span 5; display: grid; gap: 22px; }
.rooster { grid-column: 7 / span 6; overflow-x: auto; }
.rooster__tabel { width: 100%; border-collapse: collapse; font-variant-numeric: lining-nums tabular-nums; }
.rooster__tabel caption { text-align: left; font-weight: 700; padding-bottom: 10px; }
.rooster__tabel th, .rooster__tabel td { padding: 12px 8px; border-bottom: 1px solid rgba(33, 35, 34, 0.18); text-align: center; }
.rooster__tabel th:first-child { text-align: left; padding-left: 0; }
.rooster__tabel thead th { font-size: 0.875rem; font-weight: 700; border-bottom-color: var(--schapkaart); }
.rooster__tabel thead th.is-vandaag { background: var(--schapkaart); color: var(--brochurekaart); }
.rooster__tabel td.is-vandaag { background: rgba(33, 35, 34, 0.07); }
.rooster__kort { display: none; }
.rooster__ja { display: inline-block; padding: 3px 10px; border-radius: 12px; background: var(--schapkaart); color: var(--brochurekaart); font-size: 0.8125rem; font-weight: 700; }
.rooster__tabel tr.is-jouw th { font-weight: 800; }
.rooster__tabel tr.is-jouw th::after { content: " (jouw winkel)"; font-weight: 600; font-size: 0.8125rem; color: var(--tekst-kaart-zacht); }
.rooster__noot { margin-top: 12px; font-size: 0.9375rem; color: var(--tekst-kaart-zacht); }

/* ===== winkels ===== */
.pc--klein { margin-top: 0; }
.pc--klein .pc__invoer { height: 64px; font-size: 2.25rem; }
.pc--klein .pc__zoek { min-height: 64px; }
.pc--klein .pc__antwoord { font-size: 1.0625rem; }
.tijden { padding-bottom: clamp(64px, 7vw, 104px); }
.tijden__scroll { margin-top: 24px; overflow-x: auto; }
.tijden__tabel { width: 100%; min-width: 860px; border-collapse: collapse; font-variant-numeric: lining-nums tabular-nums; font-size: 1rem; }
.tijden__tabel th, .tijden__tabel td { text-align: left; padding: 14px 12px; border-bottom: 1px solid rgba(236, 238, 235, 0.14); vertical-align: top; }
.tijden__tabel th:first-child { padding-left: 0; }
.tijden__tabel thead th { font-size: 0.875rem; font-weight: 700; color: var(--tekst-tegel-zacht); border-bottom-color: rgba(236, 238, 235, 0.4); }
.tijden__tabel thead th.is-vandaag { color: var(--doosgoud); }
.tijden__tabel thead th.is-vandaag::after { content: ", vandaag"; font-weight: 600; }
.tijden__tabel td.is-vandaag { background: rgba(196, 147, 65, 0.1); color: var(--papier); font-weight: 600; }
.tijden__tabel tbody th a { font-weight: 700; text-decoration: none; display: inline-flex; min-height: 24px; }
.tijden__tabel tbody th a:hover { text-decoration: underline; }
.tijden__tabel tr.is-jouw th a { color: var(--doosgoud); }
.tijden__bd { display: block; margin-top: 4px; width: max-content; padding: 1px 8px; border-radius: 10px; background: var(--prijsovaal); color: var(--schapkaart); font-size: 0.75rem; font-weight: 700; }
.tijden__noot { margin-top: 16px; color: var(--tekst-tegel-zacht); font-size: 1rem; }
.adreskaarten { padding-bottom: var(--sectie); }
.adreskaarten__lijst { margin-top: 24px; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--goot); }
.adreskaart { position: relative; background: var(--papier); color: var(--schapkaart); border-radius: 6px; padding: 20px 18px 12px; display: grid; gap: 8px; align-content: start; --focus: var(--schapkaart); box-shadow: 0 10px 24px rgba(0, 0, 0, 0.3); scroll-margin-top: calc(var(--kop-h) + var(--kop-extra) + 16px); }
.adreskaart::before { content: ""; position: absolute; inset: 0 0 auto 0; height: 5px; background: var(--doosgoud); border-radius: 6px 6px 0 0; }
.adreskaart.is-jouw { box-shadow: 0 0 0 3px var(--doosgoud), 0 10px 24px rgba(0, 0, 0, 0.3); }
.adreskaart__kop { display: flex; justify-content: space-between; gap: 8px; align-items: baseline; }
.adreskaart__naam { font-family: var(--display); font-weight: 800; font-stretch: 112%; font-size: 1.375rem; line-height: 1.05; }
.adreskaart__afstand { font-weight: 700; font-size: 0.9375rem; font-variant-numeric: lining-nums tabular-nums; color: #7A5418; white-space: nowrap; }
.adreskaart__adres { font-size: 1rem; line-height: 1.4; }
.adreskaart__stand { font-weight: 700; font-size: 0.9375rem; color: var(--tekst-papier-zacht); }
.adreskaart__stand.is-open { color: #2F5D2A; }
.adreskaart__bd { font-size: 0.9375rem; color: var(--tekst-papier-zacht); }
.adreskaart__acties { display: flex; flex-wrap: wrap; gap: 0 16px; border-top: 1px solid #ECE7DF; margin-top: 4px; }
.adreskaart__acties a, .adreskaart__acties button { display: inline-flex; align-items: center; min-height: 44px; font-weight: 600; font-size: 0.9375rem; color: var(--schapkaart); }
.adreskaart__acties .adres__kies[aria-pressed="true"] { text-decoration: none; color: #7A5418; font-weight: 700; }

/* ===== zoeken ===== */
.pkop--zoek .wrap { display: grid; gap: 24px; }
.grootzoek { display: flex; gap: 10px; max-width: 980px; }
.grootzoek__invoer {
  flex: 1; min-width: 0; height: 84px; padding: 0 20px; border: 0; border-radius: 2px; background: var(--poedersuiker); color: var(--schapkaart);
  font-family: var(--display); font-weight: 700; font-stretch: 108%; font-size: 2.25rem;
}
.grootzoek__invoer::placeholder { color: #66717C; }
.grootzoek__invoer:focus-visible { outline: 3px solid var(--doosgoud); outline-offset: 2px; }
.grootzoek__knop { min-height: 84px; padding-inline: 32px; font-size: 1.125rem; }
.grootzoek__tal { color: var(--tekst-tegel-zacht); }
.resultaten { padding-bottom: var(--sectie); }
.resultaat { margin-top: 48px; display: grid; gap: 20px; }
.resultaat .kop4 { padding-bottom: 10px; border-bottom: 1px solid rgba(236, 238, 235, 0.16); }
.resultaat__lijst { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 0 var(--goot); }
.resultaat__lijst a { display: flex; align-items: center; min-height: 48px; font-weight: 600; border-bottom: 1px solid rgba(236, 238, 235, 0.08); text-decoration: none; }
.resultaat__lijst a:hover { color: var(--doosgoud); text-decoration: underline; }

/* ===== mandje en account (poedersuiker) ===== */
.mandje, .account { padding-block: clamp(48px, 6vw, 88px) var(--sectie); min-height: 70vh; }
.mandje__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--goot); row-gap: 40px; align-items: start; }
.mandje__inhoud { grid-column: 1 / span 7; display: grid; gap: 28px; align-content: start; }
.mandje__lijst { display: grid; gap: 14px; }
.regel { display: grid; grid-template-columns: 120px minmax(0, 1fr) auto; gap: 16px; align-items: center; }
.regel__foto { aspect-ratio: 4 / 3; background: var(--papier); }
.regel__foto img { width: 100%; height: 100%; object-fit: contain; }
.regel__kaart { min-height: 72px; }
.regel__kaart .ovaal { grid-row: 1 / span 2; }
.regel__acties { display: grid; justify-items: end; gap: 2px; }
.regel__acties .tekstknop { font-size: 0.9375rem; }
.mandje__leeg { display: grid; gap: 20px; }
.mandje__leeg-links { display: flex; flex-wrap: wrap; gap: 10px; }
.ophaallabel {
  grid-column: 9 / span 4; position: sticky; top: calc(var(--kop-h) + var(--kop-extra) + 24px);
  background: var(--papier); border-radius: 7px; padding: 22px 22px 20px; display: grid; gap: 14px;
  box-shadow: 0 1px 1px rgba(20, 14, 6, 0.12), 0 14px 32px rgba(33, 35, 34, 0.16);
}
.ophaallabel::before { content: ""; position: absolute; inset: 0 0 auto 0; height: 6px; background: var(--doosgoud); border-radius: 7px 7px 0 0; }
.ophaallabel__titel { font-family: var(--display); font-weight: 800; font-stretch: 112%; font-size: 1.125rem; padding-bottom: 10px; border-bottom: 1px solid #E4DED4; }
.ophaallabel__keuze { border: 0; margin: 0; padding: 0; display: flex; gap: 6px; flex-wrap: wrap; }
.ophaallabel__keuze label { position: relative; }
.ophaallabel__keuze input { position: absolute; inset: 0; opacity: 0; margin: 0; cursor: pointer; }
.ophaallabel__keuze span { display: inline-flex; align-items: center; min-height: 44px; padding: 0 14px; border: 1px solid #CFC7BA; border-radius: 22px; font-weight: 600; font-size: 0.9375rem; }
.ophaallabel__keuze input:checked + span { background: var(--schapkaart); color: var(--papier); border-color: var(--schapkaart); }
.ophaallabel__keuze input:focus-visible + span { outline: 3px solid var(--schapkaart); outline-offset: 3px; }
.ophaallabel__rijen > div { display: grid; grid-template-columns: 6.6rem minmax(0, 1fr); gap: 10px; padding: 10px 0; border-bottom: 1px solid #ECE7DF; align-items: baseline; }
.ophaallabel__rijen dt { font-size: 0.75rem; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: var(--tekst-papier-zacht); }
.ophaallabel__rijen dd { margin: 0; font-weight: 600; font-variant-numeric: lining-nums tabular-nums; }
.ophaallabel__rijen .tekstknop { min-height: 0; padding: 12px 0; margin: -12px 0; color: #4A443D; }
.ophaallabel__totaal dd { font-family: var(--display); font-weight: 800; font-size: 1.5rem; }
.ophaallabel__knop { width: 100%; }
.ophaallabel__noot { font-size: 0.875rem; color: var(--tekst-papier-zacht); }
.mandje__pc { display: flex; gap: 6px; }
.mandje__pc input { flex: 1; min-width: 0; height: 44px; padding: 0 10px; border: 1px solid #C9C3B8; border-radius: 2px; background: var(--poedersuiker); text-transform: uppercase; }
.mandje__pc .knop { min-height: 44px; padding: 0 14px; }
.mandje__pc-uit { margin-top: 4px; font-size: 0.875rem; font-weight: 600; }
.account__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 40px var(--goot); align-items: start; }
.account__tekst { grid-column: 1 / span 7; display: grid; gap: 22px; }
.account__knoppen { display: flex; flex-wrap: wrap; gap: 10px; }
.account__noot { font-size: 0.9375rem; color: var(--tekst-papier-zacht); }
.account__hier { grid-column: 9 / span 4; background: var(--papier); padding: 24px; border-radius: 7px; display: grid; gap: 14px; position: relative; }
.account__hier::before { content: ""; position: absolute; inset: 0 0 auto 0; height: 6px; background: var(--doosgoud); border-radius: 7px 7px 0 0; }
.account__rijen > div { display: grid; grid-template-columns: 7rem minmax(0, 1fr); gap: 10px; padding: 10px 0; border-bottom: 1px solid #ECE7DF; }
.account__rijen dt { font-size: 0.75rem; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: var(--tekst-papier-zacht); }
.account__rijen dd { margin: 0; font-weight: 600; }
.account__rijen .tekstknop { min-height: 0; padding: 12px 0; margin: -12px 0; }
.account__hier .knop { justify-self: start; }
.account__status { min-height: 1.4em; font-weight: 600; font-size: 0.9375rem; }
.knop--rand:hover { background: rgba(33, 35, 34, 0.06); }
[data-grond="tegel"] .knop--rand:hover, [data-grond="schap"] .knop--rand:hover { background: rgba(255, 255, 255, 0.08); }

/* ===== 404 ===== */
.nietgevonden { padding-block: clamp(48px, 6vw, 96px) var(--sectie); min-height: 72vh; }
.nietgevonden__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 32px var(--goot); align-items: center; }
.doos--dicht { --L: 440px; --H: 172px; --D: 206px; --ry: -26deg; --rx: -10deg; --pers: 1300px; grid-column: 1 / span 6; height: 360px; }
.nietgevonden__tekst { grid-column: 7 / span 6; display: grid; gap: 20px; }
.nietgevonden__links { display: grid; gap: 2px; }

/* ===== leespagina's: kop ===== */
.lkop { padding-block: clamp(48px, 7vw, 104px) clamp(32px, 4vw, 56px); }
.lkop__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--goot); row-gap: 22px; align-items: end; }
.lkop__grid .kop1 { grid-column: 1 / span 7; }
.lkop__grid .lkop__lead { grid-column: 8 / span 5; padding-bottom: 6px; }

/* ===== informatie ===== */
.inhoudsopgave { padding-bottom: var(--sectie); }
.inhoudsopgave__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--goot); align-items: start; }
.inhoud { grid-column: 1 / span 3; position: sticky; top: calc(var(--kop-h) + var(--kop-extra) + 24px); border-top: 2px solid var(--schapkaart); }
.inhoud a { display: flex; gap: 12px; align-items: baseline; min-height: 44px; padding: 10px 0; border-bottom: 1px solid rgba(33, 35, 34, 0.18); font-weight: 600; text-decoration: none; }
.inhoud a span { font-family: var(--display); font-weight: 800; font-stretch: 125%; font-size: 0.875rem; color: var(--tekst-kaart-zacht); font-variant-numeric: lining-nums tabular-nums; min-width: 2ch; }
.inhoud a:hover { text-decoration: underline; }
.hoofdstukken { grid-column: 5 / span 8; display: grid; gap: clamp(56px, 6vw, 88px); }
.hoofdstuk { display: grid; gap: 16px; scroll-margin-top: calc(var(--kop-h) + var(--kop-extra) + 24px); font-size: 1.0625rem; }
.hoofdstuk > p { max-width: 64ch; }
.hoofdstuk a:not([class]) { font-weight: 600; }
.hoofdstuk__nr { font-family: var(--display); font-weight: 800; font-stretch: 125%; font-size: 1rem; color: var(--tekst-kaart-zacht); font-variant-numeric: lining-nums tabular-nums; padding-top: 14px; border-top: 2px solid var(--schapkaart); }
.hoofdstuk__lijst { border-top: 1px solid rgba(33, 35, 34, 0.25); display: grid; grid-template-columns: 1fr 1fr; column-gap: var(--goot); }
.hoofdstuk__lijst a { display: grid; gap: 2px; padding: 12px 0; min-height: 44px; border-bottom: 1px solid rgba(33, 35, 34, 0.18); text-decoration: none; }
.hoofdstuk__titel { font-weight: 700; line-height: 1.3; }
.hoofdstuk__boven { font-size: 0.875rem; color: var(--tekst-kaart-zacht); }
.hoofdstuk__lijst a:hover .hoofdstuk__titel { text-decoration: underline; }
.hoofdstuk__noot { font-size: 1rem; }
.filmwand { display: grid; gap: 18px; }
.filmwand .speler { background: var(--schapkaart); }
.filmwand .speler__noot { position: absolute; right: 12px; top: 10px; margin: 0; padding: 4px 10px; background: rgba(17, 19, 18, 0.75); color: var(--poedersuiker); font-size: 0.8125rem; }
.filmwand__lijst { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 14px 12px; }
.filmwand__knop { display: grid; gap: 6px; width: 100%; padding: 0; border: 0; background: none; text-align: left; font-weight: 600; font-size: 0.9375rem; line-height: 1.25; color: var(--schapkaart); }
.filmwand__knop img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; outline: 3px solid transparent; outline-offset: -3px; }
.filmwand__knop[aria-current="true"] img { outline-color: var(--schapkaart); }
.filmwand__knop[aria-current="true"] span::before { content: "Nu: "; }
.filmwand__knop:hover span { text-decoration: underline; }
.vragen { border-top: 1px solid rgba(33, 35, 34, 0.25); }
.vraag { border-bottom: 1px solid rgba(33, 35, 34, 0.18); }
.vraag summary { display: flex; justify-content: space-between; align-items: center; gap: 16px; min-height: 56px; padding: 12px 0; cursor: pointer; font-weight: 700; list-style: none; }
.vraag summary::-webkit-details-marker { display: none; }
.vraag summary::after { content: ""; flex: 0 0 auto; width: 10px; height: 10px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg) translateY(-3px); transition: transform 200ms var(--uit); }
.vraag[open] summary::after { transform: rotate(-135deg); }
.vraag p { padding: 0 0 18px; max-width: 64ch; }
@media (prefers-reduced-motion: reduce) { .vraag summary::after { transition: none; } }

/* ===== artikel: leeskolom van 64 tekens ===== */
.lees { padding-block: clamp(32px, 4vw, 56px) var(--sectie); }
.lees__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--goot); row-gap: 28px; align-items: start; }
.lees__grid > .kruimel { grid-column: 1 / -1; }
.lees__kop { grid-column: 1 / span 9; display: grid; gap: 14px; }
.lees__boven { font-weight: 700; font-size: 1.0625rem; color: var(--tekst-kaart-zacht); }
.lees__titel { font-family: var(--display); font-weight: 800; font-stretch: 116%; font-size: clamp(2.375rem, 5vw, 4.75rem); line-height: 0.98; letter-spacing: -0.02em; text-wrap: balance; }
.lees__datum { font-size: 1rem; color: var(--tekst-kaart-zacht); font-variant-numeric: lining-nums tabular-nums; }
.lees__foto { grid-column: 1 / span 8; }
.lees__foto img { width: 100%; height: auto; max-height: 640px; object-fit: cover; }
.lees__foto--klein img { width: auto; max-width: min(320px, 100%); max-height: none; object-fit: contain; }
.lees__tekst { grid-column: 1 / span 8; max-width: 64ch; display: grid; gap: 18px; font-size: 1.1875rem; line-height: 1.65; }
.lees__tekst h2 { margin-top: 18px; font-family: var(--display); font-weight: 800; font-stretch: 112%; font-size: 1.625rem; line-height: 1.1; }
.lees__tekst a:not([class]) { font-weight: 600; }
.lees__citaat { margin: 12px 0; padding: 18px 0 0; border-top: 2px solid var(--schapkaart); }
.lees__citaat p { font-family: var(--display); font-weight: 700; font-stretch: 106%; font-size: 1.625rem; line-height: 1.2; }
.lees__citaat footer { margin-top: 10px; font-size: 1rem; color: var(--tekst-kaart-zacht); }
.lees__reeks { grid-column: 10 / span 3; grid-row: 3 / span 3; position: sticky; top: calc(var(--kop-h) + var(--kop-extra) + 24px); }
.lees__reeks-kop { font-family: var(--display); font-weight: 800; font-stretch: 112%; font-size: 1.125rem; padding-bottom: 10px; border-bottom: 2px solid var(--schapkaart); }
.lees__reeks a { display: grid; gap: 2px; padding: 10px 0; min-height: 44px; border-bottom: 1px solid rgba(33, 35, 34, 0.18); text-decoration: none; font-weight: 600; font-size: 1rem; line-height: 1.3; }
.lees__reeks a[aria-current="page"] { font-weight: 800; }
.lees__reeks a[aria-current="page"]::before { content: "Je leest nu"; display: block; font-size: 0.75rem; font-weight: 700; color: var(--tekst-kaart-zacht); }
.lees__reeks time { font-size: 0.875rem; font-weight: 400; color: var(--tekst-kaart-zacht); }
.lees__reeks a:hover span { text-decoration: underline; }
.lees__verder { grid-column: 1 / span 8; display: flex; justify-content: space-between; gap: 16px; padding-top: 22px; border-top: 1px solid rgba(33, 35, 34, 0.25); }
.lees__stap { display: grid; gap: 2px; min-height: 44px; font-weight: 700; text-decoration: none; max-width: 48%; }
.lees__stap small { font-weight: 600; font-size: 0.8125rem; color: var(--tekst-kaart-zacht); }
.lees__stap:hover { text-decoration: underline; }
.lees__stap--r { text-align: right; }

/* ===== inspiratie ===== */
.spreads { padding-bottom: var(--sectie); }
.spreads__lijst { display: grid; gap: clamp(64px, 8vw, 128px); }
.spread { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--goot); row-gap: 24px; align-items: center; scroll-margin-top: calc(var(--kop-h) + var(--kop-extra) + 16px); }
.spread__foto { grid-column: 1 / span 6; }
.spread__foto img { width: 100%; height: auto; }
.spread__tekst { grid-column: 8 / span 5; display: grid; gap: 14px; justify-items: start; font-size: 1.0625rem; }
.spread--om .spread__foto { grid-column: 7 / span 6; grid-row: 1; }
.spread--om .spread__tekst { grid-column: 1 / span 5; grid-row: 1; }
.spread--breed .spread__foto { grid-column: 1 / span 8; }
.spread--breed .spread__tekst { grid-column: 9 / span 4; }
.spread--breed.spread--om .spread__foto { grid-column: 5 / span 8; }
.spread--breed.spread--om .spread__tekst { grid-column: 1 / span 4; }
.spread--zonder .spread__tekst { grid-column: 3 / span 8; padding: 40px 0; border-block: 2px solid var(--schapkaart); }
.spread--zonder .spread__titel { font-size: clamp(2.5rem, 5vw, 4.5rem); }
.spread__nr { font-family: var(--display); font-weight: 800; font-stretch: 125%; font-size: 1rem; color: var(--tekst-kaart-zacht); font-variant-numeric: lining-nums tabular-nums; }
.spread__titel { font-family: var(--display); font-weight: 800; font-stretch: 118%; font-size: clamp(2rem, 3.4vw, 3.25rem); line-height: 0.98; letter-spacing: -0.015em; }
.spread__kop { font-weight: 700; font-size: 1.1875rem; }
.spread__tekst p:not([class]) { max-width: 56ch; }

/* ===== recepten ===== */
.receptbalk { position: sticky; top: calc(var(--kop-h) + var(--kop-extra)); z-index: 5; padding-block: 12px; border-block: 1px solid rgba(33, 35, 34, 0.18); }
.receptbalk__grid { display: grid; grid-template-columns: minmax(0, 1fr) 300px auto; gap: 12px 20px; align-items: center; }
.receptbalk__soort { border: 0; margin: 0; padding: 0; min-width: 0; display: flex; flex-wrap: wrap; gap: 6px; }
.receptbalk__soort label { position: relative; }
.receptbalk__soort input { position: absolute; inset: 0; opacity: 0; margin: 0; cursor: pointer; }
.receptbalk__soort span { display: inline-flex; align-items: center; min-height: 44px; padding: 0 14px; border: 1px solid rgba(33, 35, 34, 0.35); border-radius: 22px; font-weight: 600; font-size: 0.9375rem; }
.receptbalk__soort input:checked + span { background: var(--schapkaart); color: var(--brochurekaart); border-color: var(--schapkaart); }
.receptbalk__soort input:focus-visible + span { outline: 3px solid var(--schapkaart); outline-offset: 3px; }
.receptbalk__zoek input { width: 100%; height: 48px; padding: 0 14px; border: 1px solid #B9AE9B; border-radius: 2px; background: var(--poedersuiker); color: var(--schapkaart); }
.receptbalk__zoek input:focus-visible { outline: 3px solid var(--schapkaart); outline-offset: 1px; }
.receptbalk__tal { font-weight: 700; font-variant-numeric: lining-nums tabular-nums; white-space: nowrap; }
.receptraster { padding-block: 40px var(--sectie); }
.receptraster__lijst { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 40px var(--goot); }
.recept__link { display: grid; gap: 8px; text-decoration: none; scroll-margin-top: 200px; }
.recept__link img { width: 100%; aspect-ratio: 6 / 5; object-fit: cover; }
.recept__leeg { display: grid; align-content: end; aspect-ratio: 6 / 5; padding: 16px; background: var(--schapkaart); color: var(--brochurekaart); font-family: var(--display); font-weight: 800; font-stretch: 112%; font-size: 1.375rem; line-height: 1.05; }
.recept__naam { font-weight: 700; font-size: 1.0625rem; line-height: 1.3; }
.recept__meta { font-size: 0.875rem; color: var(--tekst-kaart-zacht); }
.recept__link:hover .recept__naam { text-decoration: underline; }
.receptraster__niets { padding: 40px 0; font-weight: 600; }
.receptvel { width: min(760px, calc(100% - 32px)); max-height: calc(100% - 48px); padding: 0; border: 0; border-radius: 6px; background: var(--brochurekaart); color: var(--schapkaart); box-shadow: 0 24px 60px rgba(0, 0, 0, 0.45); --focus: var(--schapkaart); }
.receptvel::backdrop { background: rgba(12, 17, 22, 0.65); }
.receptvel__binnen { padding: 20px 24px 28px; display: grid; gap: 14px; }
.receptvel__sluit { justify-self: end; min-height: 44px; padding: 0 14px; border: 2px solid var(--schapkaart); background: transparent; border-radius: 2px; font-weight: 700; }
.receptvel__foto img { width: 100%; height: auto; }
.receptvel__titel { font-family: var(--display); font-weight: 800; font-stretch: 116%; font-size: clamp(1.75rem, 4vw, 2.5rem); line-height: 1; }
.receptvel__meta { color: var(--tekst-kaart-zacht); }
.receptvel__kolommen { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr); gap: 24px; margin-top: 8px; }
.receptvel__kolommen h3 { margin-bottom: 10px; }
.receptvel__kolommen p { line-height: 1.6; }

/* ===== nieuws ===== */
.krant { padding-bottom: var(--sectie); }
.krant__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--goot); row-gap: 48px; align-items: start; }
.krant__lead { grid-column: 1 / span 6; position: sticky; top: calc(var(--kop-h) + var(--kop-extra) + 24px); }
.krant__lead-link { display: grid; gap: 12px; text-decoration: none; }
.krant__lead-link img { width: 100%; aspect-ratio: 5 / 4; object-fit: cover; object-position: 50% 12%; }
.krant__lead time { font-size: 0.9375rem; color: var(--tekst-kaart-zacht); font-variant-numeric: lining-nums tabular-nums; }
.krant__lead-titel { font-family: var(--display); font-weight: 800; font-stretch: 116%; font-size: clamp(2rem, 3.6vw, 3.25rem); line-height: 1; letter-spacing: -0.015em; }
.krant__lead-kop { font-weight: 700; font-size: 1.1875rem; }
.krant__lead-link:hover .krant__lead-titel { text-decoration: underline; text-decoration-thickness: 3px; text-underline-offset: 0.1em; }
.krant__archief { grid-column: 8 / span 5; display: grid; gap: 40px; }
.jaargang { display: grid; grid-template-columns: 5.5rem minmax(0, 1fr); gap: 0 16px; align-items: start; }
.jaargang__jaar { font-family: var(--display); font-weight: 800; font-stretch: 125%; font-size: 1.75rem; line-height: 1; padding-top: 14px; font-variant-numeric: lining-nums tabular-nums; }
.jaargang__lijst { border-top: 2px solid var(--schapkaart); }
.jaargang__lijst a { display: grid; gap: 2px; padding: 12px 0; min-height: 44px; border-bottom: 1px solid rgba(33, 35, 34, 0.18); text-decoration: none; }
.jaargang__lijst time { font-size: 0.875rem; color: var(--tekst-kaart-zacht); font-variant-numeric: lining-nums tabular-nums; }
.jaargang__titel { font-weight: 700; font-size: 1.0625rem; line-height: 1.3; }
.jaargang__kop { font-size: 0.9375rem; color: var(--tekst-kaart-zacht); }
.jaargang__lijst a:hover .jaargang__titel { text-decoration: underline; }

/* ===== verhaal ===== */
.vkop { padding-block: clamp(48px, 7vw, 104px) clamp(40px, 5vw, 72px); }
.vkop__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--goot); row-gap: 24px; align-items: center; }
.vkop__chef { grid-column: 1 / span 4; width: min(300px, 100%); height: auto; --chef: #8A6420; }
.vkop__tekst { grid-column: 6 / span 7; display: grid; gap: 20px; }
.kroniek { padding-bottom: var(--sectie); }
.kroniek__lijst { border-top: 2px solid var(--schapkaart); }
.kroniek__item { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--goot); padding-block: 28px; border-bottom: 1px solid rgba(33, 35, 34, 0.22); align-items: start; }
.kroniek__jaar { grid-column: 1 / span 4; font-family: var(--display); font-weight: 800; font-stretch: 125%; font-size: clamp(2.25rem, 4.6vw, 4.5rem); line-height: 0.9; letter-spacing: -0.02em; font-variant-numeric: lining-nums; }
.kroniek__tekst { grid-column: 6 / span 7; display: grid; gap: 10px; font-size: 1.125rem; }
.kroniek__tekst p { max-width: 62ch; }
.kroniek__tekst--zegel, .kroniek__tekst--dozen { grid-template-columns: minmax(0, 1fr) auto; gap: 24px; align-items: start; }
.kroniek__zegel { width: 120px; height: auto; }
.kroniek__dozen { width: 220px; }
.kroniek__dozen img { width: 100%; height: auto; }
.kroniek__item--beeld { display: block; padding-block: 40px; }
.kroniek__foto { max-width: 1180px; margin-inline: auto; }
.kroniek__foto img { width: 100%; height: auto; }
.kroniek__foto figcaption { margin-top: 8px; font-size: 0.875rem; color: var(--tekst-kaart-zacht); }
.woord { padding-block: var(--sectie); }
.woord__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--goot); row-gap: 40px; align-items: end; }
.woord__citaat { grid-column: 1 / span 8; }
.woord__citaat p { font-family: var(--display); font-weight: 800; font-stretch: 112%; font-size: clamp(2rem, 4vw, 3.75rem); line-height: 1.02; letter-spacing: -0.015em; text-wrap: balance; }
.woord__citaat footer { margin-top: 24px; display: flex; align-items: center; gap: 14px; }
.woord__foto { width: 72px; height: auto; }
.woord__citaat footer span { display: grid; color: var(--tekst-schap-zacht); font-size: 1rem; }
.woord__citaat footer strong { color: var(--poedersuiker); }
.woord__verder { grid-column: 9 / span 4; display: grid; gap: 10px; justify-items: start; color: var(--tekst-schap-zacht); }

/* ===== contact en formulieren ===== */
.contact { padding-block: clamp(48px, 7vw, 104px) var(--sectie); }
.contact__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 48px var(--goot); align-items: start; }
.contact__links { grid-column: 1 / span 5; display: grid; gap: 28px; }
.adreslabel { font-style: normal; position: relative; background: var(--papier); padding: 24px 22px 14px; border-radius: 6px; box-shadow: 0 1px 1px rgba(40, 26, 6, 0.15), 0 14px 30px rgba(40, 26, 6, 0.16); display: grid; gap: 4px; }
.adreslabel::before { content: ""; position: absolute; inset: 0 0 auto 0; height: 6px; background: var(--doosgoud); border-radius: 6px 6px 0 0; }
.adreslabel__naam { font-size: 0.75rem; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: var(--tekst-papier-zacht); }
.adreslabel__adres { font-family: var(--display); font-weight: 800; font-stretch: 108%; font-size: 1.5rem; line-height: 1.2; padding-bottom: 12px; border-bottom: 1px solid #ECE7DF; }
.adreslabel__rij { display: grid; grid-template-columns: 6.4rem minmax(0, 1fr); gap: 10px; align-items: center; min-height: 44px; border-bottom: 1px solid #ECE7DF; font-weight: 600; }
.adreslabel__rij:last-child { border-bottom: 0; }
.adreslabel__rij span { font-size: 0.75rem; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: var(--tekst-papier-zacht); }
.contact__noten { font-size: 1rem; }
.contact__noten a { font-weight: 600; }
.bericht {
  grid-column: 7 / span 6; background: var(--papier); color: var(--schapkaart); padding: 28px; --focus: var(--schapkaart);
  display: grid; grid-template-columns: 1fr 1fr; gap: 16px 20px; align-items: start;
  box-shadow: 0 1px 1px rgba(40, 26, 6, 0.15), 0 16px 34px rgba(40, 26, 6, 0.18);
}
.bericht > .knop { justify-self: start; }
.bericht__kop { grid-column: 1 / -1; font-family: var(--display); font-weight: 800; font-stretch: 112%; font-size: 1.5rem; line-height: 1; }
.bericht__over { grid-column: 1 / -1; border: 0; margin: 0; padding: 0; }
.bericht__over legend { font-weight: 700; font-size: 0.9375rem; margin-bottom: 8px; padding: 0; }
.veld--breed, .bericht > .knop, .bericht__noot, .bericht__klaar { grid-column: 1 / -1; }
.bericht__noot { font-size: 0.875rem; color: var(--tekst-papier-zacht); }
.bericht__klaar { padding: 14px 16px; background: #EFE6D3; font-weight: 600; border-left: 4px solid var(--doosgoud); }
.bericht__klaar:focus-visible { outline: 3px solid var(--schapkaart); outline-offset: 2px; }
.veld .kiezer select { min-height: 48px; }
.veld input[type="file"] { padding: 10px; background: var(--poedersuiker); }
.bericht--donker { grid-column: 6 / span 7; }

/* ===== werken ===== */
.vacatureblad { padding-bottom: var(--sectie); }
.vacatureblad__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 48px var(--goot); align-items: start; }
.vacs { grid-column: 1 / span 7; border-top: 2px solid var(--schapkaart); }
.vac { display: grid; gap: 12px; padding-block: 28px; border-bottom: 1px solid rgba(33, 35, 34, 0.22); scroll-margin-top: calc(var(--kop-h) + var(--kop-extra) + 16px); font-size: 1.0625rem; }
.vac__kop { display: flex; justify-content: space-between; align-items: baseline; gap: 8px 24px; flex-wrap: wrap; }
.vac__titel { font-family: var(--display); font-weight: 800; font-stretch: 112%; font-size: 1.75rem; line-height: 1.05; }
.vac__titel span { display: block; font-family: var(--tekst); font-stretch: 100%; font-weight: 600; font-size: 1.0625rem; letter-spacing: 0; margin-top: 4px; }
.vac__uren { font-weight: 700; padding: 4px 12px; border-radius: 14px; background: var(--schapkaart); color: var(--brochurekaart); font-size: 0.9375rem; white-space: nowrap; }
.vac p { max-width: 62ch; }
.vac__datum { font-size: 0.875rem; color: var(--tekst-kaart-zacht); }
.bieden { grid-column: 9 / span 4; position: sticky; top: calc(var(--kop-h) + var(--kop-extra) + 24px); display: grid; gap: 14px; }
.bieden .kop4 + .streepjes { margin-bottom: 14px; }
.solliciteer { padding-block: var(--sectie); scroll-margin-top: calc(var(--kop-h) + var(--kop-extra)); }
.solliciteer__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 40px var(--goot); align-items: start; }
.solliciteer__tekst { grid-column: 1 / span 4; display: grid; gap: 18px; color: var(--tekst-schap-zacht); }
.solliciteer__tekst .kop2 { color: var(--poedersuiker); }

/* ===== zakelijk ===== */
.zkop { padding-block: clamp(40px, 6vw, 88px) var(--sectie); }
.zkop__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 40px var(--goot); align-items: start; }
.zkop__foto { grid-column: 1 / span 4; }
.zkop__foto img { width: 100%; height: auto; }
.zkop__foto figcaption { margin-top: 8px; font-size: 0.875rem; color: var(--tekst-kaart-zacht); }
.zkop__tekst { grid-column: 6 / span 7; display: grid; gap: 20px; font-size: 1.0625rem; }
.zkop__tekst .kop1 { font-size: clamp(2.5rem, 5vw, 4.75rem); }
.zkop__pitch { font-family: var(--display); font-weight: 700; font-stretch: 106%; font-size: 1.5rem; line-height: 1.25; max-width: 30ch; }
.zkop__tekst > p { max-width: 60ch; }
.feiten { display: grid; grid-template-columns: 1fr 1fr; gap: 0 var(--goot); border-top: 2px solid var(--schapkaart); }
.feiten li { display: grid; gap: 4px; padding: 14px 0; border-bottom: 1px solid rgba(33, 35, 34, 0.2); font-size: 1rem; line-height: 1.45; }
.feiten strong { font-family: var(--display); font-weight: 800; font-stretch: 108%; font-size: 1.125rem; }
.feiten__noot { font-size: 0.9375rem; color: var(--tekst-kaart-zacht); }
.zkop__knoppen { display: flex; flex-wrap: wrap; gap: 8px 24px; align-items: center; }
.folderblad { padding-block: var(--sectie); scroll-margin-top: calc(var(--kop-h) + var(--kop-extra)); }
.folderblad__kop { display: flex; justify-content: space-between; align-items: end; gap: 16px; flex-wrap: wrap; }
.folderblad__stand { color: var(--tekst-schap-zacht); font-variant-numeric: lining-nums tabular-nums; }
.folder { margin-top: 32px; }
.folder__spread { display: grid; grid-template-columns: 1fr 1fr; gap: 4px; max-width: 1240px; margin-inline: auto; }
.folder__pagina img { width: 100%; height: auto; box-shadow: 0 16px 40px rgba(0, 0, 0, 0.45); }
.folder__knoppen { margin-top: 24px; display: flex; justify-content: center; align-items: center; gap: 12px; flex-wrap: wrap; }
.folder__knoppen .knop { color: var(--poedersuiker); }
.folder__duimen { display: flex; gap: 4px; }
.folder__duimen button { width: 44px; height: 44px; border: 1px solid rgba(236, 238, 235, 0.3); background: transparent; border-radius: 2px; font-weight: 700; font-variant-numeric: lining-nums tabular-nums; }
.folder__duimen button[aria-current="page"] { background: var(--doosgoud); color: var(--schapkaart); border-color: var(--doosgoud); }
.zaanvraag { padding-block: var(--sectie); scroll-margin-top: calc(var(--kop-h) + var(--kop-extra)); }
.zaanvraag__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 40px var(--goot); align-items: start; }
.zaanvraag__tekst { grid-column: 1 / span 5; display: grid; gap: 18px; font-size: 1.0625rem; }
.zaanvraag__tekst a { font-weight: 600; }
.zaanvraag .bericht { grid-column: 7 / span 6; }
.cadeaukaart { padding-block: clamp(64px, 7vw, 112px); scroll-margin-top: calc(var(--kop-h) + var(--kop-extra)); }
.cadeaukaart__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 32px var(--goot); align-items: start; }
.cadeaukaart .kop2 { grid-column: 1 / span 6; }
.cadeaukaart__tekst { grid-column: 7 / span 6; display: grid; gap: 16px; font-size: 1.0625rem; }
.cadeaukaart__lead { font-weight: 600; font-size: 1.25rem; line-height: 1.4; }

/* ===== voet op de binnenpagina's: plank erboven, nieuwsbrief erin ===== */
.voet--pagina { padding-top: 0; border-top: 0; }
.voet--pagina > .eikenplank { margin-bottom: 56px; }
.voet__brief { grid-column: 1 / span 5; grid-row: 2; }
.voet--pagina .voet__winkels { grid-row: 1 / span 2; }
.voet__brief .brief__kop { font-size: 1.5rem; }

/* ===== tablet ===== */
@media (max-width: 1199px) {
  .pkop__tekst { grid-column: 1 / span 7; }
  .pkop__grid > .paginabon, .pkop__grid > .pc { grid-column: 8 / span 5; }
  .winkel__groepen { grid-column: 4 / span 9; }
  .vakken { grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); }
  .week__dagen { grid-template-columns: repeat(3, minmax(0, 1fr)); row-gap: 36px; }
  .adreskaarten__lijst { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .receptraster__lijst { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .brooddag__tekst, .rooster { grid-column: 1 / -1; }
  .voet__brief { grid-column: 1 / span 5; }
}
@media (max-width: 1023px) {
  .winkel__grid { grid-template-columns: minmax(0, 1fr); }
  .groepen { grid-column: 1; position: static; }
  .groepen__lijst { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 12px; }
  .groepen__lijst a { border: 1px solid rgba(236, 238, 235, 0.28); border-radius: 20px; padding: 0 14px; min-height: 40px; gap: 8px; }
  .groepen__kop { display: none; }
  .winkel__groepen { grid-column: 1; margin-top: 48px; }
  .vakken--vier { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 899px) {
  .pkop__tekst, .pkop__grid > .paginabon, .pkop__grid > .pc, .pkop__grid > .snelkies { grid-column: 1 / -1; }
  .pkop__grid > .paginabon { max-width: 460px; }
  .groep__kop { grid-template-columns: minmax(0, 1fr); }
  .voorwaarden__kop .kop2, .voorwaarden__lead, .vw--klaar, .vw--bezorgen, .vw--ophalen, .vw--betalen, .vw--foto, .vw--brooddag { grid-column: 1 / -1; grid-row: auto; }
  .voorwaarden__lead { margin-top: 16px; }
  .product__foto, .product__kaart { grid-column: 1 / -1; }
  .taartkop__tekst, .label--los, .taartkop__regel { grid-column: 1 / -1; }
  .label--los { max-width: none; }
  .afspraak__foto, .afspraak__tekst { grid-column: 1 / -1; }
  .lkop__grid .kop1, .lkop__grid .lkop__lead { grid-column: 1 / -1; }
  .inhoud { grid-column: 1 / -1; position: static; margin-bottom: 48px; }
  .inhoud ol { columns: 2; column-gap: var(--goot); }
  .inhoud li { break-inside: avoid; }
  .hoofdstukken { grid-column: 1 / -1; }
  .lees__kop, .lees__foto, .lees__tekst, .lees__verder { grid-column: 1 / -1; }
  .lees__reeks { grid-column: 1 / -1; grid-row: auto; position: static; margin-top: 24px; }
  .spread__foto, .spread__tekst, .spread--om .spread__foto, .spread--om .spread__tekst, .spread--breed .spread__foto, .spread--breed .spread__tekst, .spread--breed.spread--om .spread__foto, .spread--breed.spread--om .spread__tekst, .spread--zonder .spread__tekst { grid-column: 1 / -1; grid-row: auto; }
  .receptbalk__grid { grid-template-columns: minmax(0, 1fr) auto; }
  .receptbalk__soort { grid-column: 1 / -1; flex-wrap: nowrap; overflow-x: auto; padding: 3px; margin: -3px; scrollbar-width: none; }
  .receptbalk__soort label { flex: 0 0 auto; }
  .receptbalk { position: static; }
  .krant__lead, .krant__archief { grid-column: 1 / -1; position: static; }
  .vkop__chef { grid-column: 1 / span 5; }
  .vkop__tekst { grid-column: 1 / -1; }
  .kroniek__jaar { grid-column: 1 / -1; margin-bottom: 12px; }
  .kroniek__tekst { grid-column: 1 / -1; }
  .woord__citaat, .woord__verder { grid-column: 1 / -1; }
  .contact__links, .bericht, .bericht--donker, .zaanvraag .bericht, .zaanvraag__tekst, .solliciteer__tekst { grid-column: 1 / -1; }
  .vacs, .bieden { grid-column: 1 / -1; position: static; }
  .zkop__foto { grid-column: 1 / span 8; }
  .zkop__tekst { grid-column: 1 / -1; }
  .folder__spread { grid-template-columns: minmax(0, 1fr); max-width: 640px; }
  .cadeaukaart .kop2, .cadeaukaart__tekst { grid-column: 1 / -1; }
  .mandje__inhoud, .ophaallabel { grid-column: 1 / -1; position: static; }
  .account__tekst, .account__hier { grid-column: 1 / -1; }
  .doos--dicht { grid-column: 1 / -1; --L: 360px; --H: 141px; --D: 168px; height: 300px; }
  .nietgevonden__tekst { grid-column: 1 / -1; }
  .voet__brief { grid-column: 1 / -1; grid-row: auto; }
  .voet--pagina .voet__winkels { grid-row: auto; }
}

/* ===== telefoon ===== */
@media (max-width: 599px) {
  .pkop { padding-top: 36px; }
  .pkop__lead, .lkop__lead { font-size: 1.125rem; }
  .vakken { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 12px; }
  .vak__plank { margin-inline: -6px; }
  .vak .schapkaart { padding: 9px 10px 10px; grid-template-columns: minmax(0, 1fr); }
  .vak .schapkaart .ovaal { grid-column: 1; grid-row: auto; justify-self: start; margin-top: 6px; min-width: 62px; height: 34px; font-size: 1.125rem; padding-top: 6px; }
  .vak .schapkaart__vanaf { grid-column: 1; grid-row: auto; justify-self: start; margin-top: 6px; }
  .vak .schapkaart__vanaf + .ovaal { grid-row: auto; margin-top: 0; }
  .vak .schapkaart__plus { grid-column: 1; grid-row: auto; justify-self: end; margin: -40px -2px 0 0; }
  .vak .schapkaart__tekst { font-size: 0.75rem; }
  .vak__foto--leeg span { font-size: 1.125rem; }
  .borden__kolommen { columns: 1; }
  .bord { padding: 18px 16px 12px; }
  .product__kaart { padding: 22px 16px 20px; }
  .product__veld, .product__ophaal p { grid-template-columns: 5.6rem minmax(0, 1fr); }
  .product__knop { width: 100%; }
  .taartrij { grid-template-columns: 112px minmax(0, 1fr); gap: 12px 14px; }
  .taartrij__prijs { grid-column: 1 / -1; display: flex; justify-content: space-between; align-items: center; }
  .taartrij__naam { font-size: 1.1875rem; }
  .label--los { padding: 18px 16px 16px; }
  .label__veld--rij, .label__veld--foto { grid-template-columns: 5.6rem minmax(0, 1fr); }
  .week__dagen { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px 12px; }
  .weekdag__plank { margin-inline: -6px; }
  .weekdag__dag { font-size: 1.125rem; }
  .weekdag__kaart { padding: 12px 10px 14px; }
  .rooster__lang { display: none; }
  .rooster__kort { display: inline; }
  .rooster__ja { padding: 3px 8px; font-size: 0.75rem; }
  .rooster__tabel th, .rooster__tabel td { padding: 10px 4px; }
  .rooster__tabel tr.is-jouw th::after { content: ""; }
  .rooster__tabel tr.is-jouw th { text-decoration: underline; text-decoration-thickness: 2px; }
  .pc--klein .pc__invoer { height: 60px; font-size: 1.875rem; }
  .pc--klein .pc__zoek { min-height: 60px; }
  .adreskaarten__lijst { grid-template-columns: minmax(0, 1fr); }
  .grootzoek { flex-direction: column; }
  .grootzoek__invoer { height: 64px; font-size: 1.5rem; }
  .grootzoek__knop { min-height: 52px; }
  .regel { grid-template-columns: 72px minmax(0, 1fr); }
  .regel__acties { grid-column: 1 / -1; display: flex; justify-content: space-between; align-items: center; }
  .ophaallabel { padding: 20px 16px; }
  .hoofdstuk__lijst { grid-template-columns: minmax(0, 1fr); }
  .inhoud ol { columns: 1; }
  .filmwand__lijst { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .lees__tekst { font-size: 1.0625rem; }
  .lees__stap { max-width: 50%; font-size: 0.9375rem; }
  .receptraster__lijst { grid-template-columns: minmax(0, 1fr); gap: 32px; }
  .receptvel__binnen { padding: 14px 16px 24px; }
  .receptvel__kolommen { grid-template-columns: minmax(0, 1fr); }
  .jaargang { grid-template-columns: minmax(0, 1fr); }
  .jaargang__jaar { padding-bottom: 8px; }
  .vkop__chef { grid-column: 1 / span 8; }
  .kroniek__tekst--zegel, .kroniek__tekst--dozen { grid-template-columns: minmax(0, 1fr); }
  .kroniek__dozen { width: min(220px, 70%); }
  .bericht { grid-template-columns: minmax(0, 1fr); padding: 20px 16px; }
  .bericht > * { grid-column: 1 / -1; }
  .feiten { grid-template-columns: minmax(0, 1fr); }
  .zkop__foto { grid-column: 1 / span 10; }
  .folder__duimen { order: 3; width: 100%; justify-content: center; flex-wrap: wrap; }
  .vac__titel { font-size: 1.5rem; }
  .doos--dicht { --L: 280px; --H: 110px; --D: 130px; --ry: -14deg; height: 230px; }
  .brief__veld { flex-direction: column; }
  .voet__winkels { grid-template-columns: 1fr; }
  .vacatures a { grid-template-columns: 1fr; gap: 2px; }
}
@media (max-width: 1199px) { .voet__merk { grid-column: 1 / span 5; } .voet__winkels { grid-column: 6 / span 7; } }
@media (max-width: 899px) { .voet__merk, .voet__winkels { grid-column: 1 / -1; } }
/* rijen zonder foto: een eigen, compacte lijst onder de fotorijen, nooit een lege fotokolom */
.taartrijen__ook { margin-top: 28px; font-size: 0.8125rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--tekst-schap-zacht); }
.taartrijen--kort { margin-top: 8px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: var(--goot, 32px); }
.taartrijen--kort .taartrij { grid-template-columns: minmax(0, 1fr) auto; gap: 16px; align-items: start; }
.taartrijen--kort .taartrij__tekst { grid-column: 1; }
.taartrijen--kort .taartrij__naam { font-size: 1.1875rem; }
.taartrijen--kort .taartrij__prijs { grid-column: 2; display: grid; justify-items: end; }
@media (max-width: 899px) { .taartrijen--kort { grid-template-columns: minmax(0, 1fr); } }
.hoofdstuk > .hoofdstuk__nr { max-width: none; }
.receptkast { margin-top: 64px; padding-top: 16px; border-top: 2px solid var(--schapkaart); }
.receptkast__lijst { margin-top: 12px; display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 0 var(--goot); }
.receptkast__lijst a { display: grid; gap: 2px; padding: 12px 0; min-height: 44px; border-bottom: 1px solid rgba(33, 35, 34, 0.18); text-decoration: none; }
.receptkast__lijst a:hover .recept__naam { text-decoration: underline; }
/* telefoon: de weektabel wordt per adres een rijtje dagen; selects krijgen hun label erboven */
.adreskaart__week { display: none; }
@media (max-width: 599px) {
  .tijden__scroll { display: none; }
  .tijden .kop3 { display: none; }
  .tijden { padding-bottom: 8px; }
  .adreskaart__week { display: grid; grid-template-columns: 1fr 1fr; gap: 0 16px; font-size: 0.9375rem; font-variant-numeric: lining-nums tabular-nums; border-top: 1px solid #ECE7DF; padding-top: 6px; }
  .adreskaart__week div { display: flex; justify-content: space-between; gap: 8px; padding: 3px 0; }
  .adreskaart__week dt { color: var(--tekst-papier-zacht); }
  .adreskaart__week dd { margin: 0; font-weight: 600; }
  .adreskaart__week .is-vandaag dt, .adreskaart__week .is-vandaag dd { color: #7A5418; font-weight: 800; }
  .product__veld { grid-template-columns: minmax(0, 1fr); gap: 6px; }
  .label--los .label__veld--rij:has(select) { grid-template-columns: minmax(0, 1fr); gap: 6px; }
}
/* marges van een eerste kind lopen niet door de sectie heen (anders kijkt de body erdoorheen) */
.pagina__main > section, .pagina__main > div, .pagina__main > article { display: flow-root; }
@media (max-width: 599px) {
  .grootzoek__invoer { flex: none; }
  .vkop__chef { width: 180px; }
}
@media (max-width: 899px) {
  .receptbalk__soort { flex-wrap: wrap; overflow: visible; margin: 0; padding: 0; }
}
@media (max-width: 599px) {
  .rooster__tabel { table-layout: fixed; }
  .rooster__tabel thead th:first-child, .rooster__tabel tbody th { width: 42%; }
  .rooster__ja { font-size: 0; width: 16px; height: 16px; padding: 0; border-radius: 50%; vertical-align: middle; }
  .rooster__tabel caption::after { content: ", een bolletje is een Brooddag"; font-weight: 400; }
}
@media (max-width: 1023px) {
  .tijden__tabel { min-width: 0; font-size: 0.875rem; }
  .tijden__tabel th, .tijden__tabel td { padding: 10px 6px; }
  .tijden__tabel thead th.is-vandaag::after { content: ""; }
}
.filmwand__yt { margin-top: -6px; font-size: 0.9375rem; }
.filmwand__yt a { display: inline-block; padding-block: 12px; }

/* tikdoelen op de telefoon (round-6 QA) */
.groepen__lijst a { min-height: 44px; }
.adreslabel__rij a { display: inline-flex; align-items: center; min-height: 44px; }
.snelkies a { min-height: 44px; }
.bord__lijst a { min-height: 44px; }
/* de hele taartrij is de link naar het product; de knop ernaast blijft er bovenop */
.taartrij { position: relative; }
.taartrij__naam a::after { content: ""; position: absolute; inset: 0; }
.taartrij__prijs .tekstknop { position: relative; z-index: 1; min-height: 44px; }
