/* =====================================================================================================
   BesteStijltang.be: gedeelde basis (design tokens + componenten). Eigenaar: agent B. Eén bron voor gedeelde css.
   Andere weergaven (home, categorie, archief, merk, keuzehulp) gebruiken de variabelen en klassen hieronder; zie ook INTERFACE-NOTITIES-B.md.

   MERK: frisse, rustige huishoudstijl. Roze (#C2185B) als hoofdkleur, #E0508F als accent, lichte achtergrond, witte kaarten met zachte schaduw.
   CONTRAST (wit/achtergrond): tekst #1B2733 14:1; gedempte tekst #5E4A55 7:1; primair #C2185B 5,9:1;
   CTA #C8460A met witte tekst 4,8:1 (hover #A83A08 6,4:1); accent als TEKST #A3295F 5,9:1.
   LET OP: --bst-accent (#E0508F) haalt als tekst op wit maar 3,4:1: alleen voor iconen, lijnen en vlakken, niet voor kleine tekst.

   TOKENS (alle onder :root)
     kleur   --bst-primary --bst-primary-dark --bst-accent --bst-accent-text --bst-bg --bst-card --bst-soft --bst-ink --bst-muted --bst-line
             --bst-cta --bst-cta-hover --bst-cta-ink --bst-ok --bst-ok-bg --bst-warn --bst-warn-bg --bst-danger --bst-danger-bg
     vorm    --bst-r (14px kaart) --bst-r-sm (10px) --bst-r-lg (18px) --bst-pill --bst-shadow --bst-shadow-lg --bst-focus
     tekst   --bst-font --bst-fs-h1 --bst-fs-h2 --bst-fs-h3 --bst-fs-body --bst-fs-small --bst-lh
     ruimte  --bst-gap (1rem) --bst-gap-s --bst-gap-l --bst-wrap (1200px)
     alias   --bst-c1 (= primary), --bst-mut, --bst-p, --bst-p2, --bst-cta-h, --bst-radius: voor bestaande css van andere agents.

   KLASSEN
     layout     .bst-wrap  .bst-sec (sectiekader) .bst-sec__h  .bst-h1 .bst-h2 .bst-h3  .bst-lead  .bst-note  .bst-sr (alleen voor schermlezers)
     knoppen    .bst-btn (standaard = oranje CTA)  .bst-btn--cta  .bst-btn--primary (roze)  .bst-btn--secondary / .bst-btn--ghost (omlijnd)  .bst-btn--block  .bst-btn--sm
     chips      .bst-chips > li   .bst-chip (los)  .bst-chip--link (klikbaar)
     badges     .bst-badge (+ --edit 'Keuze van de redactie', --pop 'Populair', --best, --ok, --warn)   .bst-tags > .bst-tag--edit|pop|best (uit BST_Tags)
     kaart      .bst-card (+ __lbl __rank __img __body __brand __t __buy)   .bst-grid > li
     top-lijst  .bst-top  .bst-top__l > li > .bst-row (+ __no __img __n __br __t __ks __k __kl __buy __more)
     prijs      .bst-pb (+ --hero --card --row --price --sticky; __l __label __price __at __meta __stock __diff __upd __none)
     score      .bst-rate  .bst-rates > .bst-rate__pill
     tabel      .bst-tbl (+ --specs --prices)   .bst-tblwrap (horizontaal scrollbaar op smal scherm)
     faq        .bst-faq > details.bst-faq__i > summary + .bst-faq__a
     kruimelpad .bst-bc (eigen, eenvoudig; agent E gebruikt .bst-crumbs)
     kernkenmerk .bst-kern > li (icoon, waarde, label)
   ===================================================================================================== */

:root {
	/* kleur */
	--bst-primary: #C2185B;
	--bst-primary-dark: #7A1040;
	--bst-accent: #E0508F;
	--bst-accent-text: #A3295F;
	--bst-bg: #FDF3F7;
	--bst-card: #FFFFFF;
	--bst-soft: #FBE4EE;
	--bst-ink: #1B2733;
	--bst-muted: #5E4A55;
	--bst-line: #F0D5E0;
	--bst-cta: #C8460A;
	--bst-cta-hover: #A83A08;
	--bst-cta-ink: #FFFFFF;
	--bst-ok: #1E7A3C;
	--bst-ok-bg: #E3F4E8;
	--bst-warn: #8A5300;
	--bst-warn-bg: #FFF3D6;
	--bst-danger: #B3261E;
	--bst-danger-bg: #FDE9E7;
	/* vorm */
	--bst-r: 14px;
	--bst-r-sm: 10px;
	--bst-r-lg: 18px;
	--bst-pill: 999px;
	--bst-shadow: 0 2px 4px rgba(122, 16, 64, .04), 0 6px 18px rgba(122, 16, 64, .07);
	--bst-shadow-lg: 0 4px 8px rgba(122, 16, 64, .05), 0 14px 34px rgba(122, 16, 64, .13);
	--bst-focus: 3px solid #7A1040;
	/* tekst */
	--bst-font: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
	--bst-fs-h1: clamp(1.75rem, 4.6vw, 2.5rem);
	--bst-fs-h2: clamp(1.3rem, 3vw, 1.7rem);
	--bst-fs-h3: 1.1rem;
	--bst-fs-body: 1rem;
	--bst-fs-small: .875rem;
	--bst-lh: 1.6;
	/* ruimte */
	--bst-gap: 1rem;
	--bst-gap-s: .5rem;
	--bst-gap-l: 1.6rem;
	--bst-wrap: 1200px;
	/* alias voor bestaande css van andere agents */
	--bst-c1: var(--bst-primary);
	--bst-mut: var(--bst-muted);
	--bst-p: var(--bst-primary);
	--bst-p2: var(--bst-primary-dark);
	--bst-cta-h: var(--bst-cta-hover);
	--bst-radius: var(--bst-r);
}

/* ---------- Basis ---------- */
.bst-wrap { box-sizing: border-box; width: min(var(--bst-wrap), calc(100vw - 32px)); margin-inline: auto; }
.bst-sr { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.bst-h1 { margin: 0 0 .5rem; font-size: var(--bst-fs-h1); line-height: 1.15; font-weight: 800; color: var(--bst-primary-dark); letter-spacing: -.01em; }
.bst-h2, .bst-sec__h { margin: 0 0 .9rem; font-size: var(--bst-fs-h2); line-height: 1.25; font-weight: 800; color: var(--bst-primary-dark); }
.bst-h3 { margin: 0 0 .5rem; font-size: var(--bst-fs-h3); line-height: 1.3; font-weight: 700; color: var(--bst-primary-dark); }
.bst-lead { margin: 0 0 1rem; font-size: 1.06rem; line-height: var(--bst-lh); color: var(--bst-ink); }
.bst-note { margin: .8rem 0 0; font-size: var(--bst-fs-small); color: var(--bst-muted); }
.bst-sec { box-sizing: border-box; margin: 0 0 1.2rem; padding: 1.5rem; background: var(--bst-card); border: 1px solid var(--bst-line); border-radius: var(--bst-r); box-shadow: var(--bst-shadow); scroll-margin-top: 1rem; color: var(--bst-ink); }
@media (max-width: 859px) { .bst-sec { padding: 1.1rem; } }

/* ---------- Knoppen ----------
   Standaard (.bst-btn) = oranje actieknop voor de winkel. Roze = interne hoofdactie. Omlijnd = tweede keuze. */
.bst-btn, a.bst-btn, a.bst-btn:visited { display: inline-flex; align-items: center; justify-content: center; box-sizing: border-box; min-height: 48px; padding: .55rem 1.2rem; border: 2px solid var(--bst-cta); border-radius: 12px; background: var(--bst-cta); color: var(--bst-cta-ink); font-family: inherit; font-weight: 800; font-size: 1rem; line-height: 1.2; text-align: center; text-decoration: none; cursor: pointer; transition: background .15s, border-color .15s, transform .15s, box-shadow .15s; }
.bst-btn:hover, a.bst-btn:hover { background: var(--bst-cta-hover); border-color: var(--bst-cta-hover); color: var(--bst-cta-ink); transform: translateY(-1px); box-shadow: 0 6px 14px rgba(200, 70, 10, .25); }
.bst-btn:focus-visible, a.bst-btn:focus-visible { outline: var(--bst-focus); outline-offset: 2px; }
.bst-btn--cta { }
a.bst-btn.bst-btn--primary, a.bst-btn.bst-btn--primary:visited, .bst-btn.bst-btn--primary { background: var(--bst-primary); border-color: var(--bst-primary); color: #fff; }
a.bst-btn.bst-btn--primary:hover, .bst-btn.bst-btn--primary:hover { background: var(--bst-primary-dark); border-color: var(--bst-primary-dark); color: #fff; box-shadow: 0 6px 14px rgba(194, 24, 91, .25); }
a.bst-btn.bst-btn--ghost, a.bst-btn.bst-btn--ghost:visited, a.bst-btn.bst-btn--secondary, a.bst-btn.bst-btn--secondary:visited, .bst-btn.bst-btn--ghost, .bst-btn.bst-btn--secondary { background: var(--bst-card); border-color: var(--bst-primary); color: var(--bst-primary); font-weight: 700; }
a.bst-btn.bst-btn--ghost:hover, a.bst-btn.bst-btn--secondary:hover, .bst-btn.bst-btn--ghost:hover, .bst-btn.bst-btn--secondary:hover { background: var(--bst-soft); border-color: var(--bst-primary-dark); color: var(--bst-primary-dark); box-shadow: none; }
.bst-btn--block, a.bst-btn.bst-btn--block { display: flex; width: 100%; }
.bst-btn--sm, a.bst-btn.bst-btn--sm { min-height: 44px; padding: .4rem .9rem; font-size: .92rem; }
@media (prefers-reduced-motion: reduce) { .bst-btn, a.bst-btn { transition: none; } .bst-btn:hover, a.bst-btn:hover { transform: none; } }

/* ---------- Chips en badges ---------- */
.bst-chips { display: flex; flex-wrap: wrap; gap: .35rem; margin: .5rem 0 0; padding: 0; list-style: none; }
.bst-chips li, .bst-chip { display: inline-block; margin: 0; padding: .22rem .65rem; border-radius: var(--bst-pill); background: var(--bst-soft); border: 1px solid var(--bst-line); color: var(--bst-primary-dark); font-size: .82rem; line-height: 1.4; font-weight: 600; }
a.bst-chip--link { text-decoration: none; min-height: 44px; display: inline-flex; align-items: center; background: var(--bst-card); }
a.bst-chip--link:hover { border-color: var(--bst-primary); }
.bst-badge, .bst-tag { display: inline-flex; align-items: center; gap: .3rem; padding: .15rem .6rem; border-radius: 6px; font-size: .75rem; font-weight: 700; line-height: 1.4; background: var(--bst-soft); color: var(--bst-primary-dark); }
.bst-badge--edit, .bst-tag--edit { background: var(--bst-primary-dark); color: #fff; }
.bst-badge--pop, .bst-tag--pop { background: var(--bst-warn-bg); color: var(--bst-warn); }
.bst-badge--best, .bst-badge--ok, .bst-tag--best { background: var(--bst-ok-bg); color: var(--bst-ok); }
.bst-badge--warn { background: var(--bst-warn-bg); color: var(--bst-warn); }
.bst-tags { display: flex; flex-wrap: wrap; gap: .3rem; margin: .4rem 0 0; }

/* ---------- Beoordelingen van de winkels ---------- */
.bst-rate { margin: .35rem 0 0; font-size: .86rem; color: var(--bst-muted); }
.bst-rate__s { color: #9A5B00; }
.bst-rates { display: flex; flex-wrap: wrap; gap: .4rem; margin: .6rem 0 0; padding: 0; list-style: none; }
.bst-rate__pill { display: inline-flex; align-items: center; gap: .35rem; margin: 0; padding: .25rem .7rem; border-radius: var(--bst-pill); background: var(--bst-card); border: 1px solid var(--bst-line); font-size: .85rem; color: var(--bst-ink); }
.bst-rate__pill b { font-weight: 800; }
.bst-rate__pill i { font-style: normal; color: #9A5B00; }
.bst-rate__pill small { color: var(--bst-muted); font-size: .8rem; }

/* ---------- Kernkenmerken: tegels met icoon ---------- */
.bst-kern { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .6rem; margin: 0; padding: 0; list-style: none; }
.bst-kern li { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .15rem; min-height: 92px; margin: 0; padding: .7rem .4rem; border: 1px solid var(--bst-line); border-radius: 12px; background: var(--bst-card); text-align: center; line-height: 1.2; }
.bst-kern__ic { display: inline-flex; color: var(--bst-accent); }
.bst-kern__ic svg { display: block; }
.bst-kern b { font-size: 1.05rem; font-weight: 800; color: var(--bst-primary-dark); font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.bst-kern small { font-size: .78rem; color: var(--bst-muted); }
@media (max-width: 420px) { .bst-kern { gap: .4rem; } .bst-kern li { min-height: 84px; } .bst-kern b { font-size: .98rem; } }

/* ---------- Prijsblok ----------
   Hiërarchie overal: titel > knop > prijs. De prijs is één kleine regel ("€ 619,99 bij bol") boven de grote knop. */
.bst-pb p { margin: 0; }
.bst-pb__price { font-size: .95rem; font-weight: 700; line-height: 1.3; font-variant-numeric: tabular-nums; color: var(--bst-ink); }
.bst-pb__at { font-weight: 500; color: var(--bst-muted); }
.bst-pb__shop, .bst-pb__meta, .bst-pb__upd, .bst-pb__diff { font-size: var(--bst-fs-small); color: var(--bst-muted); }
.bst-pb__none { font-weight: 700; color: var(--bst-ink); }
.bst-pb--card .bst-btn, .bst-pb--hero .bst-btn, .bst-pb--row .bst-btn { display: flex; width: 100%; margin-top: .4rem; }
.bst-pb--card .bst-btn { min-height: 46px; }
.bst-pb--hero .bst-pb__label { font-size: .8rem; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; color: var(--bst-muted); }
.bst-pb--hero .bst-pb__price { margin-top: .1rem; font-size: 1.05rem; }
.bst-pb--hero a.bst-btn:not(.bst-btn--ghost) { min-height: 58px; margin-top: .7rem; font-size: 1.15rem; }
.bst-pb--hero a.bst-btn.bst-btn--ghost { margin-top: .6rem; min-height: 46px; font-size: .95rem; }
.bst-pb--hero .bst-pb__meta { margin: .65rem 0 .2rem; display: flex; flex-wrap: wrap; align-items: center; gap: .2rem .5rem; }
.bst-pb__stock { display: inline-block; padding: .05rem .55rem; border-radius: var(--bst-pill); background: var(--bst-ok-bg); color: var(--bst-ok); font-weight: 700; font-size: .8rem; }
.bst-pb__diff { margin-top: .4rem !important; font-weight: 600; }
.bst-pb__upd { margin-top: .2rem !important; }
/* Er is maar één land (België): data-land="BE" blijft in de html voor oudere scripts, NL wordt nooit getoond. */
[data-land="NL"] { display: none !important; }

/* ---------- Kaart (raster) ---------- */
.bst-card { position: relative; display: flex; flex-direction: column; box-sizing: border-box; height: 100%; background: var(--bst-card); border: 1px solid var(--bst-line); border-radius: var(--bst-r); box-shadow: var(--bst-shadow); overflow: hidden; transition: box-shadow .15s, transform .15s; color: var(--bst-ink); }
.bst-card:hover { box-shadow: var(--bst-shadow-lg); }
.bst-card__lbl { margin: 0; padding: .3rem .8rem; background: var(--bst-primary-dark); color: #fff; font-size: .78rem; font-weight: 700; }
.bst-card__rank { position: absolute; top: .5rem; left: .5rem; z-index: 2; display: grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; background: var(--bst-primary-dark); color: #fff; font-weight: 800; font-size: .95rem; }
.bst-card__img { display: block; height: 260px; background: #fff; padding: .6rem .6rem 0; box-sizing: border-box; }
.bst-card__img img { display: block; width: 100%; height: 100%; object-fit: contain; }
.bst-card__ph { display: block; width: 100%; height: 100%; background: var(--bst-bg); border-radius: 8px; }
.bst-card__body { flex: 1 1 auto; padding: .6rem .95rem 0; min-width: 0; }
.bst-card__brand { margin: 0; font-size: .75rem; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; color: var(--bst-muted); }
.bst-card__t { margin: .15rem 0 0; font-size: 1.08rem; font-weight: 800; line-height: 1.25; overflow-wrap: anywhere; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.bst-card__t a { color: var(--bst-primary-dark); text-decoration: none; }
.bst-card__t a:hover { text-decoration: underline; }
.bst-card__buy { padding: .7rem .95rem .95rem; }
.bst-card__buy .bst-pb__price { text-align: center; }
.bst-card__buy .bst-btn--page { display: flex; width: 100%; margin-top: .4rem; min-height: 46px; font-size: 1rem; white-space: nowrap; }
@media (max-width: 639px) {
	.bst-card__img { height: 210px; }
	.bst-card__body { padding: .5rem .7rem 0; }
	.bst-card__t { font-size: 1rem; }
	.bst-card .bst-chips { gap: .25rem; }
	.bst-card .bst-chips li { padding: .1rem .5rem; font-size: .76rem; }
	.bst-card__buy { padding: .6rem .7rem .8rem; }
}
@media (prefers-reduced-motion: reduce) { .bst-card { transition: none; } }

/* ---------- Raster en top-lijst: brede rij per model ---------- */
.bst-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 230px), 1fr)); gap: .9rem; margin: 0; padding: 0; list-style: none; }
.bst-grid > li { margin: 0; min-width: 0; }
.bst-top__h { margin: 0 0 .8rem; color: var(--bst-primary-dark); }
.bst-top__l { display: grid; gap: .8rem; margin: 0; padding: 0; list-style: none; }
.bst-top__l > li { margin: 0; min-width: 0; }

.bst-row { box-sizing: border-box; display: grid; align-items: center; gap: .6rem 1rem; padding: .9rem 1.1rem; background: var(--bst-card); border: 1px solid var(--bst-line); border-radius: var(--bst-r); box-shadow: var(--bst-shadow); transition: box-shadow .15s; color: var(--bst-ink); grid-template-columns: 32px 72px minmax(0, 1fr); grid-template-areas: "no img n" "ks ks ks" "kl kl kl" "buy buy buy"; }
.bst-row:hover { box-shadow: var(--bst-shadow-lg); }
.bst-row *, .bst-row *::before, .bst-row *::after { box-sizing: border-box; min-width: 0; }
.bst-row__no { grid-area: no; display: grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; background: var(--bst-primary); color: #fff; font-weight: 800; font-size: .95rem; }
.bst-top__l > li:nth-child(n+4) .bst-row__no { background: var(--bst-soft); color: var(--bst-primary-dark); }
.bst-row__img { grid-area: img; display: block; width: 72px; height: 72px; }
.bst-row__img img { display: block; width: 100%; height: 100%; object-fit: contain; }
.bst-row__img .bst-card__ph { border-radius: 10px; }
.bst-row__n { grid-area: n; }
.bst-row__n .bst-tags { margin: 0 0 .3rem; gap: .25rem; }
.bst-row__n .bst-tag { font-size: .72rem; padding: .08rem .5rem; }
.bst-row__br { margin: 0; font-size: .8rem; line-height: 1.3; }
.bst-row__br .bst-brand { font-size: .74rem; color: var(--bst-accent-text); text-decoration: underline; text-underline-offset: 2px; }
.bst-row__br .bst-brand:hover { text-decoration-thickness: 2px; }
.bst-row__t { margin: .1rem 0 0; font-size: 1.15rem; font-weight: 800; line-height: 1.25; overflow-wrap: anywhere; }
.bst-row__t a { color: var(--bst-primary-dark); text-decoration: none; }
.bst-row__t a:hover { text-decoration: underline; }
.bst-row__ks { grid-area: ks; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .45rem; margin: 0; padding: 0; list-style: none; }
.bst-row__k { display: flex; flex-direction: column; justify-content: center; align-items: center; gap: .1rem; margin: 0; padding: .45rem .35rem; border-radius: var(--bst-r-sm); background: var(--bst-bg); text-align: center; line-height: 1.2; }
.bst-row__k b { font-size: .88rem; font-weight: 800; color: var(--bst-primary-dark); overflow-wrap: anywhere; }
.bst-row__k small { font-size: .72rem; color: var(--bst-muted); }
.bst-row__kl { grid-area: kl; display: flex; flex-wrap: wrap; align-items: baseline; gap: 0 .5rem; margin: 0; line-height: 1.25; }
.bst-row__kl b { font-size: 1.05rem; font-weight: 800; color: var(--bst-primary-dark); }
.bst-row__kl b i { font-style: normal; color: #9A5B00; }
.bst-row__kl small { font-size: .8rem; font-weight: 400; color: var(--bst-muted); }
.bst-row__buy { grid-area: buy; text-align: center; }
.bst-row__buy .bst-pb--row .bst-btn { min-height: 52px; font-size: 1.05rem; }
.bst-row__buy .bst-pb__none { font-size: .92rem; }
.bst-row__more { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 0 .4rem; font-size: .88rem; font-weight: 600; color: var(--bst-primary); text-decoration: underline; text-underline-offset: 2px; }
.bst-row__more:hover { text-decoration-thickness: 2px; }
.bst-row__more:focus-visible { outline: var(--bst-focus); outline-offset: 2px; border-radius: 4px; }
@media (min-width: 640px) {
	.bst-row { grid-template-columns: 36px 88px minmax(0, 1fr) 230px; grid-template-areas: "no img n buy" ". ks ks buy" ". kl kl buy"; gap: .55rem 1.1rem; padding: 1rem 1.3rem; }
	.bst-row__no { width: 36px; height: 36px; }
	.bst-row__img { width: 88px; height: 88px; }
	.bst-row__ks { grid-template-columns: repeat(3, 118px); gap: .5rem; }
	.bst-row__buy { align-self: center; }
}
@media (min-width: 1100px) {
	.bst-row { grid-template-columns: 36px 112px minmax(0, 1fr) auto auto 220px; grid-template-areas: "no img n ks kl buy"; gap: 1rem 1.1rem; }
	.bst-row__img { width: 112px; height: 88px; }
	.bst-row__ks { grid-template-columns: repeat(3, 114px); }
	.bst-row__kl { flex-direction: column; align-items: center; gap: .1rem; width: 120px; text-align: center; }
}
@media (prefers-reduced-motion: reduce) { .bst-row { transition: none; } }

/* ---------- Tabellen ---------- */
.bst-tblwrap { overflow-x: auto; }
.bst-tbl { width: 100%; margin: 0; border: 0; border-collapse: collapse; font-size: .95rem; color: var(--bst-ink); }
.bst-tbl th, .bst-tbl td { padding: .65rem .6rem; text-align: left; vertical-align: middle; border: 0; border-top: 1px solid var(--bst-line); background: transparent; }
.bst-tbl tbody tr:first-child > * { border-top: 0; }
.bst-tbl thead th { border-top: 0; font-size: .78rem; text-transform: uppercase; letter-spacing: .05em; color: var(--bst-muted); }
.bst-tbl--specs tbody tr:nth-child(odd) > * { background: var(--bst-bg); }
.bst-tbl--specs th { width: 38%; font-weight: 600; color: var(--bst-primary-dark); }

/* ---------- FAQ-accordeon ---------- */
.bst-faq__i { margin: 0 0 .5rem; border: 1px solid var(--bst-line); border-radius: 12px; background: var(--bst-card); }
.bst-faq__i summary { position: relative; display: flex; align-items: center; min-height: 52px; padding: .5rem 2.8rem .5rem 1rem; cursor: pointer; list-style: none; font-weight: 700; color: var(--bst-primary-dark); }
.bst-faq__i summary::-webkit-details-marker { display: none; }
.bst-faq__i summary::after { content: ""; position: absolute; right: 1.1rem; top: 50%; width: .55rem; height: .55rem; margin-top: -.4rem; border-right: 2px solid var(--bst-primary); border-bottom: 2px solid var(--bst-primary); transform: rotate(45deg); transition: transform .15s; }
.bst-faq__i[open] summary::after { transform: rotate(-135deg); margin-top: -.1rem; }
.bst-faq__i summary:focus-visible { outline: var(--bst-focus); outline-offset: 2px; border-radius: 12px; }
.bst-faq__a { padding: 0 1rem 1rem; line-height: var(--bst-lh); color: var(--bst-ink); }
.bst-faq__a p { margin: 0; }

/* ---------- Kruimelpad (eenvoudig; agent E heeft .bst-crumbs) ---------- */
.bst-bc ol { display: flex; flex-wrap: wrap; gap: .25rem; margin: 0 0 .4rem; padding: 0; list-style: none; font-size: .85rem; color: var(--bst-muted); }
.bst-bc li { margin: 0; }
.bst-bc li + li::before { content: "\203A"; margin-right: .25rem; }
.bst-bc a { color: var(--bst-primary); }
