/**
 * Artikellijsten: categorie-archief + auteurspagina (inc/article-lists.php).
 * Ontwerp: design-previews/categorie-auteur-r1 (?v=MIX en ?v=MIXA).
 * Gedeeld: .ar-card (zelfde als "Lees verder" onder een artikel) + .ls-pager.
 */

/* ---------- Gedeeld: kaart (= artikel.css) ---------- */
.ar-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 40px 24px; }
.ar-card { display: flex; flex-direction: column; gap: 10px; color: var(--paper); text-decoration: none; }
.ar-card__img { display: block; aspect-ratio: 16 / 10; overflow: hidden; background: var(--ink-850); margin-bottom: 6px; }
.ar-card__img img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s var(--ease, ease); }
.ar-card:hover .ar-card__img img { transform: scale(1.03); }
.ar-card__cat { font-size: 12.5px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: var(--amber); }
.ar-card__title { margin: 0; font: 900 30px/.94 var(--font-display); text-transform: uppercase; text-wrap: balance; }
.ar-card__meta { font-size: 14px; color: var(--text-muted); }
.ar-card__ex { font-size: 15px; line-height: 1.5; color: var(--text-soft); }

/* ---------- Gedeeld: lijst + paginering (L1) ---------- */
.ls { padding: var(--section-y) var(--gutter); background: var(--ink-950); color: var(--text-soft); }
.ls__title { margin: 0 0 48px; font: 900 clamp(44px, 5vw, 80px)/.88 var(--font-display); text-transform: uppercase; color: var(--paper); text-wrap: balance; }
.ls__empty { font-size: 17px; }
.ls-pager { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-top: 64px; }
.ls-pager .page-numbers { min-width: 48px; height: 48px; display: inline-flex; align-items: center; justify-content: center; padding: 0 14px; border: 1.5px solid var(--line-dark-strong); font-weight: 800; font-size: 15px; color: var(--paper); text-decoration: none; transition: border-color var(--t-fast, .15s), color var(--t-fast, .15s); }
.ls-pager a.page-numbers:hover { border-color: var(--amber); color: var(--amber); }
.ls-pager .current { background: var(--amber); border-color: var(--amber); color: var(--ink-950); }
.ls-pager .dots { border: 0; min-width: 24px; padding: 0; color: var(--text-muted); }
.ls-pager .next { margin-left: 8px; }
.ls-pager small { margin-left: auto; font-size: 14px; color: var(--text-muted); }

/* ---------- Gedeeld: kruimelpad + labels ---------- */
.cat-crumbs { display: flex; flex-wrap: wrap; gap: 10px; font-size: 14px; color: var(--text-muted); }
.cat-crumbs a { color: inherit; text-decoration: none; }
.cat-crumbs a:hover { color: var(--amber); }
.cat-crumbs i { font-style: normal; color: var(--text-dim); }
.cat-crumbs span[aria-current] { color: var(--text-soft); }
.cat-label { display: block; font-size: 13px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: var(--paper-ink-3); }

/* ---------- Categorie: hero (H2) ---------- */
.cat-hero { position: relative; display: flex; flex-direction: column; min-height: clamp(360px, 30vw, 440px); padding: 32px var(--gutter) 48px; background: var(--ink-950); color: var(--text-soft); overflow: hidden; }
.cat-hero__bg { position: absolute; inset: 0; }
.cat-hero__bg img { width: 100%; height: 100%; object-fit: cover; }
.cat-hero__bg::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(13,13,12,.94) 0%, rgba(13,13,12,.75) 45%, rgba(13,13,12,.2) 100%), linear-gradient(0deg, rgba(13,13,12,.9), transparent 50%); }
.cat-hero > .cat-crumbs, .cat-hero__text { position: relative; }
.cat-hero__text { margin-top: auto; padding-top: 40px; }
.cat-hero--noimg { min-height: 0; }
.cat-pill { display: inline-block; background: var(--amber); color: var(--ink-950); font-size: 13px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; padding: 7px 12px; }
.cat-hero__title { max-width: 900px; margin: 16px 0 0; font: 900 clamp(64px, 8vw, 128px)/.82 var(--font-display); text-transform: uppercase; color: var(--paper); text-wrap: balance; }
.cat-hero__lead { max-width: 560px; margin: 18px 0 0; font-size: 19px; line-height: 1.5; color: var(--text-soft); display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.cat-hero__facts { display: flex; flex-wrap: wrap; gap: 16px 32px; align-items: center; margin-top: 24px; }
.cat-by { display: flex; gap: 12px; align-items: center; font-size: 14.5px; line-height: 1.35; color: var(--text-soft); text-decoration: none; }
.cat-by img { width: 44px; height: 44px; object-fit: cover; }
.cat-by b { display: block; font-weight: 700; color: var(--paper); }
.cat-by:hover b { color: var(--amber); }
.cat-count { font: 900 22px/1 var(--font-display); text-transform: uppercase; color: var(--paper); }
.cat-count b { color: var(--amber); font-weight: 900; }
.cat-fresh { font-size: 14px; color: var(--text-muted); }
.cat-fresh time { color: var(--text-soft); font-weight: 700; }
.cat-muscles { display: flex; flex-wrap: wrap; gap: 6px; padding: 18px 20px; border: 1.5px solid var(--paper-line); }
.cat-muscles .cat-label { width: 100%; margin-bottom: 6px; }
.cat-muscles a { padding: 7px 10px; background: var(--white); border: 1px solid var(--paper-line); font-size: 13.5px; font-weight: 700; color: var(--ink-950); text-decoration: none; }
.cat-muscles a:hover { border-color: var(--ink-950); }

.cat-steps-wrap { padding: 0 var(--gutter); background: var(--paper); color: var(--paper-ink-2); }
.cat-steps { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); margin: 0; padding: 0; list-style: none; }
.cat-steps a { display: block; height: 100%; margin-right: 24px; padding: 28px 24px 30px 0; border-top: 4px solid var(--ink-950); color: inherit; text-decoration: none; }
.cat-steps li:first-child a { border-color: var(--amber); }
.cat-steps a:hover b { color: var(--amber-text-on-light); }
.cat-steps__n { font: 900 40px/1 var(--font-display); color: var(--amber-text-on-light); }
.cat-steps b { display: block; margin: 10px 0 8px; font: 900 26px/.95 var(--font-display); text-transform: uppercase; color: var(--ink-950); }
.cat-steps__d { display: block; font-size: 14.5px; line-height: 1.45; }

.cat-h2 { margin: 0; font: 900 clamp(48px, 6vw, 96px)/.86 var(--font-display); text-transform: uppercase; text-wrap: balance; color: var(--ink-950); }
.cat-sec--dark .cat-h2 { color: var(--paper); }
.cat-h2--sm { font-size: clamp(40px, 4vw, 64px); }
.cat-prose { max-width: 640px; font-size: 17px; line-height: 1.65; }
.cat-prose p { margin: 0; }
.cat-prose p + p { margin-top: 14px; }
.cat-prose a, .cat-acc__a a { color: inherit; font-weight: 600; text-decoration: none; border-bottom: 1.5px solid var(--amber); }
.cat-prose h2, .cat-prose h3 { margin: 32px 0 12px; font: 900 32px/1 var(--font-display); text-transform: uppercase; color: inherit; }
.cat-prose ul, .cat-prose ol { padding-left: 20px; }
.cat-prose img { height: auto; }

.cat-acc { border-top: 1px solid var(--paper-line); }
.cat-acc details { border-bottom: 1px solid var(--paper-line); }
.cat-sec--dark .cat-acc, .cat-sec--dark .cat-acc details { border-color: var(--line-dark); }
.cat-acc summary { display: grid; grid-template-columns: 72px minmax(0, 1fr) 28px; gap: 12px; align-items: center; padding: 18px 0; cursor: pointer; list-style: none; }
.cat-acc summary::-webkit-details-marker { display: none; }
.cat-acc summary small { font-size: 12.5px; font-weight: 800; letter-spacing: .06em; color: var(--amber-text-on-light); }
.cat-sec--dark .cat-acc summary small { color: var(--amber); }
.cat-acc__q { margin: 0; font: 900 30px/1 var(--font-display); text-transform: uppercase; color: var(--ink-950); }
.cat-sec--dark .cat-acc__q { color: var(--paper); }
.cat-acc summary::after { content: "+"; font: 900 26px/1 var(--font-display); text-align: center; color: var(--ink-950); }
.cat-sec--dark .cat-acc summary::after { color: var(--paper); }
.cat-acc details[open] summary::after { content: "–"; }
.cat-acc summary:hover .cat-acc__q { color: var(--amber-text-on-light); }
.cat-sec--dark .cat-acc summary:hover .cat-acc__q { color: var(--amber); }
.cat-acc__a { padding: 0 40px 24px 84px; font-size: 16.5px; line-height: 1.6; }
.cat-acc__a p { margin: 0; }
.cat-acc__a p + p { margin-top: 10px; }
.cat-acc__a ul, .cat-acc__a ol { padding-left: 20px; }
.cat-acc__a img { max-width: 320px; height: auto; margin: 12px 0; }

.cat-rail { position: sticky; top: calc(var(--header-h) + 16px); display: grid; gap: 12px; }
.cat-ign { padding: 28px; background: var(--ink-950); color: var(--text-soft); }
.cat-sec--dark .cat-ign { background: var(--ink-900); border: 1px solid var(--line-dark); }
.cat-ign__logo { display: flex; align-items: baseline; gap: 8px; margin-bottom: 16px; }
.cat-ign__logo span { font: 900 30px/1 var(--font-display); color: var(--paper); }
.cat-ign__logo em { font-style: normal; color: var(--amber); }
.cat-ign__logo small { font-size: 12px; color: var(--text-muted); }
.cat-ign .cat-ign__title { margin: 0 0 12px; font: 900 38px/.9 var(--font-display); text-transform: uppercase; color: var(--paper); }
.cat-ign p { margin: 0 0 20px; font-size: 15px; line-height: 1.5; }
.cat-ign .btn { padding: 14px 18px; font-size: 14px; }
.cat-raillink { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 18px 20px; border: 1.5px solid var(--ink-950); color: var(--ink-950); font-weight: 800; text-decoration: none; }
.cat-raillink small { display: block; font-size: 13px; font-weight: 500; color: var(--paper-ink-3); }
.cat-raillink:hover { background: var(--ink-950); color: var(--paper); }
.cat-sec--dark .cat-raillink { border-color: var(--line-dark-strong); color: var(--paper); }
.cat-sec--dark .cat-raillink small { color: var(--text-muted); }


.cat-refs { padding: 32px var(--gutter); background: var(--paper); color: var(--paper-ink-2); border-top: 1px solid var(--paper-line); }
.cat-refs summary { cursor: pointer; font-weight: 800; color: var(--ink-950); }
.cat-refs ol { max-width: 900px; margin: 16px 0 0; padding-left: 20px; font-size: 14px; line-height: 1.55; }
.cat-refs li + li { margin-top: 8px; }
.cat-refs p { margin: 0; }
.cat-refs a { color: inherit; overflow-wrap: anywhere; }

/* ---------- Categorie: recepten + producten (M1); podcast = homepageblok (home.css) ---------- */
.cat-sec { padding: var(--section-y) var(--gutter); scroll-margin-top: var(--header-h); }
.cat-sec--light { background: var(--paper); color: var(--paper-ink-2); }
.cat-sec--dark { background: var(--ink-950); color: var(--text-soft); }
.cat-sec--tight { padding-top: 0; }
.cat-sec__top { display: flex; justify-content: space-between; align-items: end; gap: 24px; margin-bottom: 40px; }
.cat-sec__lead { max-width: 460px; margin: 14px 0 0; font-size: 16px; line-height: 1.5; }
.cat-sec--light .link-underline { color: var(--ink-950); }
.cat-sec--dark .link-underline { color: var(--paper); }
.cat-sec__top .link-underline { flex: none; }
.cat-recs { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
.cat-rec { display: flex; flex-direction: column; gap: 12px; text-decoration: none; }
.cat-rec__ph { position: relative; display: block; aspect-ratio: 1; overflow: hidden; background: var(--paper-line); }
.cat-rec__ph img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s var(--ease, ease); }
.cat-rec:hover .cat-rec__ph img { transform: scale(1.03); }
.cat-rec__kcal { position: absolute; left: 0; bottom: 0; padding: 8px 10px; background: var(--ink-950); color: var(--paper); font: 900 18px/1 var(--font-display); }
.cat-rec__kcal b { color: var(--amber); }
.cat-rec__t { margin: 0; font: 900 26px/.95 var(--font-display); text-transform: uppercase; color: var(--ink-950); }
.cat-prods { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.cat-prod { display: grid; grid-template-rows: 200px auto; background: var(--white); border: 1px solid var(--paper-line); text-decoration: none; }
.cat-prod__ph { display: flex; align-items: center; justify-content: center; padding: 16px; background: #e8e4da; }
.cat-prod__ph img { max-height: 168px; width: auto; max-width: 100%; object-fit: contain; }
.cat-prod__in { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: 4px 12px; min-width: 0; padding: 16px 18px; }
.cat-prod__in b { font: 900 24px/1 var(--font-display); text-transform: uppercase; color: var(--ink-950); }
.cat-prod__in span { font-weight: 800; color: var(--amber-text-on-light); white-space: nowrap; }
.cat-prod:hover { border-color: var(--ink-950); }


/* ---------- Auteur: poster (A1) ---------- */
.au-hero { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr); gap: 56px; padding: 40px var(--gutter) 72px; background: var(--ink-950); color: var(--text-soft); overflow: hidden; }
.au-hero__text { padding: 0 0 8px; }
.au-kick { display: flex; gap: 14px; align-items: center; margin: 40px 0 18px; font-size: 13px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: var(--text-muted); }
.au-kick .speedlines span { height: 13px; }
.au-kick .speedlines span:nth-child(1) { width: 46px; }
.au-kick .speedlines span:nth-child(2) { width: 26px; }
.au-kick .speedlines span:nth-child(3) { width: 13px; }
/* Naam past altijd op één regel: grootte volgt uit de lengte (--n, gezet in de template). */
.au-name { margin: 0; font: 900 min(140px, calc((min(100vw, 1440px) - 2 * var(--gutter) - 56px) * .6 / (var(--n, 16) * .44)))/.86 var(--font-display); text-transform: uppercase; letter-spacing: -.01em; color: var(--paper); white-space: nowrap; }
.au-name__honor { font-size: .36em; vertical-align: .95em; letter-spacing: .02em; color: var(--amber); }
.au-role { margin: 18px 0 26px; font: 900 30px/1 var(--font-display); text-transform: uppercase; color: var(--text-muted); }
.au-erv { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
.au-erv li { padding: 8px 12px; background: var(--ink-850); border: 1px solid var(--line-dark-strong); font-size: 12.5px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--paper); }
.au-bio { max-width: 640px; margin: 26px 0; font-size: 18px; line-height: 1.6; }
.au-bio p { margin: 0; }
.au-bio p + p { margin-top: 14px; }
.au-bio a { color: inherit; text-decoration: none; border-bottom: 1.5px solid var(--amber); }
.au-more summary { display: flex; width: fit-content; gap: 8px; margin-top: 14px; padding-bottom: 2px; border-bottom: 2px solid var(--amber); font-size: 15px; font-weight: 800; color: var(--paper); cursor: pointer; list-style: none; }
.au-more summary::-webkit-details-marker { display: none; }
.au-more summary::after { content: "+"; }
.au-more[open] summary { display: none; }
.au-more[open] > p:first-of-type { margin-top: 14px; }
.au-topics { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin: 0 0 20px; }
.au-topics span { margin-right: 6px; font-size: 12.5px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: var(--text-muted); }
.au-topics a { padding: 7px 12px; background: var(--ink-850); border: 1px solid var(--line-dark-strong); font-size: 14px; font-weight: 700; color: var(--paper); text-decoration: none; }
.au-topics a em { margin-left: 4px; font-style: normal; color: var(--amber); }
.au-topics a:hover { border-color: var(--amber); }
.au-soc { display: flex; flex-wrap: wrap; gap: 8px; }
.au-soc a { display: inline-flex; align-items: center; gap: 8px; padding: 9px 14px; border: 1.5px solid var(--line-dark-strong); font-size: 14px; font-weight: 700; color: var(--paper); text-decoration: none; }
.au-soc a::before { content: ""; width: 8px; height: 8px; background: var(--amber); }
.au-soc a:hover { border-color: var(--amber); }
.au-stats { display: flex; flex-wrap: wrap; margin: 36px 0 0; }
.au-stats div { display: flex; flex-direction: column-reverse; padding: 0 28px; border-left: 1px solid var(--line-dark-strong); }
.au-stats div:first-child { padding-left: 0; border: 0; }
.au-stats dd { margin: 0; font: 900 52px/.9 var(--font-display); color: var(--paper); }
.au-stats dt { font-size: 12.5px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: var(--text-muted); }

.au-hero__photo { position: relative; display: flex; align-items: flex-end; justify-content: center; min-height: 560px; }
.au-hero__photo::before { content: ""; position: absolute; left: 8%; right: 0; top: 18%; bottom: 0; background: var(--amber); }
.au-lines { position: absolute; left: 0; top: 10%; display: grid; gap: 12px; }
.au-lines span { display: block; height: 20px; background: var(--paper); transform: skewX(-20deg); }
.au-lines span:nth-child(1) { width: 140px; }
.au-lines span:nth-child(2) { width: 90px; }
.au-lines span:nth-child(3) { width: 44px; }
.au-hero__photo img { position: relative; max-height: 620px; width: auto; object-fit: contain; }
.au-hero__photo--square img { width: 80%; max-height: none; aspect-ratio: 1; object-fit: cover; object-position: top; margin-bottom: 8%; }

/* ---------- Auteur: coachingbanner ---------- */
.au-cb { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) 380px; gap: 56px; align-items: center; padding: 64px var(--gutter); background: var(--amber); color: var(--ink-950); overflow: hidden; }
.au-cb--gen { grid-template-columns: minmax(0, 1fr); }
.au-cb__lines { position: absolute; right: -20px; top: 28px; display: grid; gap: 10px; }
.au-cb__lines span { display: block; height: 16px; background: var(--ink-950); transform: skewX(-20deg); }
.au-cb__lines span:nth-child(1) { width: 120px; }
.au-cb__lines span:nth-child(2) { width: 80px; margin-left: 40px; }
.au-cb__lines span:nth-child(3) { width: 40px; margin-left: 80px; }
.au-cb__text { position: relative; }
.au-cb__kick { font-size: 13px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.au-cb__title { margin: 14px 0 18px; font: 900 clamp(48px, 6vw, 96px)/.84 var(--font-display); text-transform: uppercase; color: var(--ink-950); }
.au-cb__title em { font-style: normal; color: var(--paper); }
.au-cb p { max-width: 620px; margin: 0 0 28px; font-size: 18px; line-height: 1.5; }
.au-cb__btn { background: var(--ink-950); color: var(--paper); }
.au-cb__img { position: relative; width: 100%; aspect-ratio: 4 / 5; object-fit: cover; box-shadow: 12px 12px 0 var(--ink-950); }

/* ---------- Responsief ---------- */
@media (max-width: 1000px) {
	.au-hero { grid-template-columns: minmax(0, 1fr); }
	.cat-rail { position: static; }
	.cat-steps { grid-template-columns: 1fr 1fr; }
	.cat-recs, .cat-prods { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.ar-cards { grid-template-columns: 1fr 1fr; }
	.au-name { font-size: min(120px, calc((100vw - 2 * var(--gutter)) / (var(--n, 16) * .44))); }
}
@media (max-width: 760px) {
	.ar-cards { grid-template-columns: 1fr; gap: 32px; }
	.ls, .cat-sec { padding-top: 64px; padding-bottom: 64px; }
	.cat-sec--tight { padding-top: 0; }
	.cat-hero { min-height: 0; padding-top: 20px; padding-bottom: 32px; }
	.cat-hero__text { padding-top: 56px; }
	.cat-hero__lead { font-size: 17px; }
	.cat-steps a { margin-right: 12px; padding: 20px 12px 22px 0; }
	.cat-steps b { font-size: 20px; }
	.cat-steps__d { display: none; }
	.cat-acc summary { grid-template-columns: 52px minmax(0, 1fr) 24px; }
	.cat-acc summary small { font-size: 11px; }
	.cat-acc__q { font-size: clamp(19px, 5.6vw, 24px); }
	.cat-acc__a { padding: 0 0 20px; }
	.cat-sec__top { flex-direction: column; align-items: flex-start; }
	.ls-pager .page-numbers { min-width: 44px; height: 44px; padding: 0 10px; }
	.ls-pager small { width: 100%; margin: 8px 0 0; }
	.au-name { font-size: min(64px, calc((100vw - 32px) / (var(--n, 16) * .44))); }
	.au-role { font-size: 24px; }
	.au-bio { font-size: 17px; }
	.au-stats dd { font-size: 40px; }
	.au-stats { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
	.au-stats div, .au-stats div:first-child { padding: 0; border: 0; }
	.au-hero__photo { min-height: 380px; }
	.au-hero__photo img { max-height: 420px; }
	.au-cb { grid-template-columns: minmax(0, 1fr); gap: 32px; padding: 48px var(--gutter); }
	.au-cb__img { max-width: 280px; }
}

/* Donker op donker (podcast/stappen/lijst): scheidingslijn. */
.cat-podcast + .ls, .cat-start + .cat-podcast { border-top: 1px solid var(--line-dark); }

/* ---------- Lange woorden en brede inhoud (audit 11-10-2026, AUDIT-CATEGORIE.md §7) ---------- */
/* Netjes afbreken met een streepje (werkt met lang="nl"); break-word is het vangnet.
   Niet 'anywhere': dat breekt hard midden in het woord (LEEFSTIJLPROFESSION·AL). */
.cat-hero__title, .cat-h2, .ls__title, .cat-acc__q, .ar-card__title, .cat-steps b,
.cat-rec__t, .cat-prod__in b, .cat-prose h2, .cat-prose h3 {
	-webkit-hyphens: auto; hyphens: auto; hyphenate-limit-chars: 10 4 4;
	overflow-wrap: break-word;
}
/* Grote koppen worden zo klein dat het langste woord (--lw, uit PHP) past. */
.cat-hero__title { font-size: min(clamp(64px, 8vw, 128px), calc((100vw - 2 * var(--gutter)) / (var(--lw, 10) * .5))); }
.cat-h2 { font-size: min(clamp(48px, 6vw, 96px), calc((100vw - 2 * var(--gutter)) / (var(--lw, 10) * .5))); }
.cat-acc__q, .cat-prod__in b { min-width: 0; }
.cat-sec__top > *, .cat-steps > li { min-width: 0; }
/* Tabellen en embeds in tekstblokken mogen de pagina niet breder maken. */
.cat-prose table, .cat-acc__a table { display: block; max-width: 100%; overflow-x: auto; border-collapse: collapse; font-size: 15px; }
.cat-prose td, .cat-prose th, .cat-acc__a td, .cat-acc__a th { padding: 8px 12px; border-bottom: 1px solid var(--paper-line); vertical-align: top; text-align: left; }
.cat-prose iframe, .cat-prose video, .cat-acc__a iframe { max-width: 100%; }
@media (max-width: 760px) {
	.cat-hero__title { font-size: min(clamp(52px, 15vw, 72px), calc((100vw - 2 * var(--gutter)) / (var(--lw, 10) * .5))); }
	.cat-h2 { font-size: min(clamp(34px, 10vw, 96px), calc((100vw - 2 * var(--gutter)) / (var(--lw, 10) * .5))); }
	.ls__title { font-size: clamp(32px, 9vw, 80px); }
	/* Producten: horizontale rail i.p.v. 2 smalle kolommen. */
	.cat-prods { grid-auto-flow: column; grid-template-columns: none; grid-auto-columns: 62%; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
	.cat-prods::-webkit-scrollbar { display: none; }
	.cat-prod { scroll-snap-align: start; }
	.cat-prod__in b { font-size: clamp(18px, 4.6vw, 24px); }
}

/* ---------- Tegels: zichtbaar klikbaar (icoon + "Bekijk →"), Mobbin: Sketch, Zendesk ---------- */
.cat-steps a { display: flex; flex-direction: column; }
.cat-steps__top { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.cat-steps__ico { display: grid; place-items: center; width: 48px; height: 48px; border: 1.5px solid var(--paper-line); color: var(--ink-950); transition: background var(--t-fast), border-color var(--t-fast), color var(--t-fast); }
.cat-steps__go { margin-top: auto; padding-top: 16px; font-size: 14px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: var(--ink-950); }
.cat-steps__go span { display: inline-block; transition: transform var(--t-fast); }
.cat-steps a:hover .cat-steps__ico { background: var(--amber); border-color: var(--amber); }
.cat-steps a:hover .cat-steps__go span { transform: translateX(4px); }
.cat-steps a:hover .cat-steps__go { color: var(--amber-text-on-light); }


/* ---------- Open antwoorden: niet over de volle breedte ---------- */
.cat-acc__a { max-width: 1180px; }
@media (min-width: 1200px) {
	.cat-acc__a { column-count: 2; column-gap: 64px; }
	.cat-acc__a > * { break-inside: avoid-column; }
	.cat-acc__a img { break-inside: avoid; }
}
@media (max-width: 760px) {
	.cat-steps__ico { width: 40px; height: 40px; }
	.cat-steps__ico svg { width: 22px; height: 22px; }
}

/* ==========================================================================
 * Nieuwe volgorde pagina 1 (AUDIT-CATEGORIE.md §6/§7i/§7j,
 * design-previews/categorie-volgorde "Nieuw"): stappen → nieuwste → podcast →
 * leestips + recepten → alle artikelen → producten → gids (ingeklapt) → FAQ.
 * ======================================================================= */
.cat-h2--md { font-size: min(clamp(40px, 5vw, 80px), calc((100vw - 2 * var(--gutter)) / (var(--lw, 10) * .5))); }
.cat-h2--sm { font-size: min(clamp(40px, 4vw, 64px), calc((100vw - 2 * var(--gutter)) / (var(--lw, 10) * .5))); }
.cat-sec--light .ar-card, .cat-sec--light .ar-card__title { color: var(--ink-950); }
.cat-sec--light .ar-card__img { background: var(--paper-line); }
.cat-sec--light .ar-card__cat { color: var(--amber-text-on-light); }
.cat-sec--light .ar-card__meta { color: var(--paper-ink-3); }

/* 2. Start in 3 stappen (donker, Mews) */
.cat-start { padding: 80px var(--gutter); background: var(--ink-950); color: var(--text-soft); border-top: 1px solid var(--line-dark); }
.cat-start__title { margin: 0; font: 900 clamp(40px, 5vw, 72px)/.88 var(--font-display); text-transform: uppercase; color: var(--paper); }
.cat-start ol { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; margin: 40px 0 0; padding: 0; list-style: none; }
.cat-start li { min-width: 0; }
.cat-start li a { display: block; height: 100%; padding-top: 20px; border-top: 4px solid var(--line-dark-strong); color: inherit; text-decoration: none; }
.cat-start li:first-child a { border-color: var(--amber); }
.cat-start__n { font: 900 44px/1 var(--font-display); color: var(--amber); }
.cat-start b { display: block; margin: 12px 0 8px; font: 900 clamp(24px, 2.2vw, 32px)/.95 var(--font-display); text-transform: uppercase; color: var(--paper); -webkit-hyphens: auto; hyphens: auto; overflow-wrap: break-word; transition: color var(--t-fast, .15s); }
.cat-start li a:hover b { color: var(--amber); }
.cat-start__d { display: block; max-width: 340px; font-size: 15.5px; line-height: 1.5; }
.cat-start__foot { margin-top: 40px; padding-top: 24px; border-top: 1px solid var(--line-dark); font-size: 15px; }
.cat-start__foot .link-underline { color: var(--paper); }

/* 3. Nieuwste artikelen (= home A1, licht) */
.cat-new__grid { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr); gap: 48px; align-items: start; }
.cat-new__feat { display: flex; flex-direction: column; gap: 12px; min-width: 0; color: var(--ink-950); text-decoration: none; }
.cat-new__img, .cat-new__thumb { display: block; overflow: hidden; background: var(--paper-line); }
.cat-new__img { aspect-ratio: 16 / 10; }
.cat-new__thumb { aspect-ratio: 4 / 3; }
.cat-new__img img, .cat-new__thumb img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s var(--ease, ease); }
.cat-new__feat:hover .cat-new__img img, .cat-new__list a:hover .cat-new__thumb img { transform: scale(1.03); }
.cat-new__t { margin: 0; font: 900 clamp(34px, 3.4vw, 52px)/.9 var(--font-display); text-transform: uppercase; text-wrap: balance; color: var(--ink-950); }
.cat-new__list { min-width: 0; margin: 0; padding: 0; list-style: none; border-top: 2px solid var(--ink-950); }
.cat-new__list li { border-bottom: 1px solid var(--paper-line); }
.cat-new__list a { display: grid; grid-template-columns: 132px minmax(0, 1fr); gap: 18px; align-items: center; padding: 18px 0; text-decoration: none; }
.cat-new__txt { min-width: 0; }
.cat-new__lt { margin: 0 0 6px; font: 900 23px/.95 var(--font-display); text-transform: uppercase; color: var(--ink-950); }
.cat-new__feat:hover .cat-new__t, .cat-new__list a:hover .cat-new__lt { color: var(--amber-text-on-light); }
.cat-new__t, .cat-new__lt, .cat-gblk__h, .cat-start__title { -webkit-hyphens: auto; hyphens: auto; hyphenate-limit-chars: 10 4 4; overflow-wrap: break-word; }

/* 5. Leestips gebundeld + recepten */
.cat-tips { display: grid; grid-template-columns: repeat(var(--n, 3), minmax(0, 1fr)); gap: 40px 24px; }
.cat-tip { min-width: 0; }
.cat-tip__lab { margin: 0 0 14px; font-size: 14px; color: var(--paper-ink-3); }
.cat-tip__lab b { font-weight: 800; color: var(--amber-text-on-light); }
.cat-tip__more { margin: 16px 0 0; padding: 0; list-style: none; border-top: 1px solid var(--paper-line); }
.cat-tip__more li { border-bottom: 1px solid var(--paper-line); }
.cat-tip__more a { display: block; padding: 12px 0; font-size: 15.5px; font-weight: 700; line-height: 1.35; color: var(--ink-950); text-decoration: none; }
.cat-tip__more a:hover { color: var(--amber-text-on-light); }
.cat-tips-sec .ar-card__title { font-size: 28px; }
.cat-tips-sec + .cat-recs-sec { padding-top: 0; }
.cat-tips-sec + .cat-recs-sec .cat-sec__top { padding-top: 72px; border-top: 1px solid var(--paper-line); }

/* 7. Producten → 8. gids: allebei licht */
.cat-prods-sec + .cat-gids { border-top: 1px solid var(--paper-line); }

/* 8. Gids: blokken ingeklapt (H2 + 2 regels + "Lees verder"), IGNITE9 ernaast */
.cat-gids__wrap { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 56px; align-items: start; }
.cat-gids__wrap > * { min-width: 0; }
.cat-gids__list { border-top: 2px solid var(--ink-950); }
.cat-gblk { border-bottom: 1px solid var(--paper-line); scroll-margin-top: calc(var(--header-h) + 16px); }
.cat-gblk > summary { display: block; padding: 28px 0; cursor: pointer; list-style: none; }
.cat-gblk > summary::-webkit-details-marker { display: none; }
.cat-gblk--static { padding: 28px 0; }
.cat-gblk__h { margin: 0; font: 900 min(clamp(30px, 3vw, 44px), calc((100vw - 2 * var(--gutter)) / (var(--lw, 10) * .5)))/.92 var(--font-display); text-transform: uppercase; text-wrap: balance; color: var(--ink-950); transition: color var(--t-fast, .15s); }
.cat-gblk > summary:hover .cat-gblk__h { color: var(--amber-text-on-light); }
.cat-gblk__teaser { display: -webkit-box; max-width: 640px; margin: 12px 0 0; font-size: 16.5px; line-height: 1.6; color: var(--paper-ink-2); -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.cat-gblk__teaser a { color: inherit; font-weight: 600; text-decoration: none; border-bottom: 1.5px solid var(--amber); }
.cat-gblk__more { display: inline-flex; gap: 8px; margin-top: 12px; padding-bottom: 2px; border-bottom: 2px solid var(--amber); font-size: 14.5px; font-weight: 800; color: var(--ink-950); }
.cat-gblk__more::after { content: "+"; }
.cat-gblk[open] > summary { padding-bottom: 14px; }
.cat-gblk[open] .cat-gblk__teaser { display: block; overflow: visible; -webkit-line-clamp: unset; }
.cat-gblk[open] .cat-gblk__more, .cat-gblk[open] .cat-gblk__teaser--plain { display: none; }
.cat-gblk__body { padding: 0 0 32px; font-size: 16.5px; }
.cat-gblk__body > .cat-prose + .cat-acc { margin-top: 28px; }
.cat-gblk .cat-acc details { scroll-margin-top: calc(var(--header-h) + 16px); }
.cat-gids .cat-rail { top: calc(var(--header-h) + 24px); }

/* 8b. Veelgestelde vragen: tweekoloms (GetYourGuide), eerste 8 zichtbaar */
.cat-faq__wrap { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 56px; align-items: start; }
.cat-faq__wrap > * { min-width: 0; }
.cat-faq__intro { max-width: 380px; margin-top: 18px; font-size: 16px; }
.cat-faq .cat-acc details { scroll-margin-top: calc(var(--header-h) + 16px); }
.cat-faq__qs.is-short .cat-acc details:nth-child(n+9) { display: none; }
.cat-faq__more { margin-top: 18px; padding: 0 0 2px; background: none; border: 0; border-bottom: 2px solid var(--amber); font: inherit; font-size: 15px; font-weight: 800; color: var(--paper); cursor: pointer; }
.cat-faq__qs:not(.is-short) .cat-faq__more { display: none; }
@media (min-width: 1200px) {
	/* Smalle kolom: antwoorden in één kolom. */
	.cat-faq .cat-acc__a { column-count: 1; }
}

@media (max-width: 1000px) {
	.cat-new__grid, .cat-gids__wrap, .cat-faq__wrap { grid-template-columns: minmax(0, 1fr); }
	.cat-faq__wrap { gap: 32px; }
	.cat-tips { grid-template-columns: minmax(0, 1fr); }
	.cat-tip { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 0 24px; }
	.cat-tip__lab { grid-column: 1 / -1; }
	.cat-tip__more { margin: 0; }
}
@media (max-width: 760px) {
	.cat-start { padding: 56px var(--gutter); }
	.cat-start ol { grid-template-columns: minmax(0, 1fr); gap: 0; margin-top: 28px; }
	.cat-start li a { padding: 18px 0; }
	.cat-start__n { font-size: 36px; }
	.cat-new__list a { grid-template-columns: 104px minmax(0, 1fr); gap: 14px; }
	.cat-new__lt { font-size: 20px; }
	.cat-tip { display: block; }
	.cat-tip__more { margin-top: 12px; }
	.cat-tips-sec + .cat-recs-sec .cat-sec__top { padding-top: 56px; }
	.cat-gblk > summary, .cat-gblk--static { padding: 22px 0; }
}
