/* ---------------------------------------------------------------------------
   HOMEPAGE (CH-252at) — alleen geladen op de voorpagina (functions.php).
   Bron: handoffpakket v3, README §2 en §5. Uitsluitend theme.json-tokens;
   de enige vaste maten zijn randen van 1px en de 1px-pixel voor mobiel.

   Contrast (TOEGANKELIJKHEID.md): teal staat nergens als tekst op wit of
   off-white. Overlines en links zijn `ink`; teal is alleen een decoratief
   streepje, of tekst op `ink` (teal-licht, ruim boven 4,5:1). `grijs` alleen
   op wit, nooit op off-white (4,48:1).
   --------------------------------------------------------------------------- */

.aac-home {
	--aac-home-gap: var(--wp--preset--spacing--50);
	--aac-home-rand: 1px solid var(--wp--preset--color--veldrand);
}
/* De band op een gewone <div>: WordPress geeft `border-box` alleen aan zijn
   eigen groepsblokken. Zonder dit telt de padding twee keer en is elke band
   2 × de goot te breed (horizontale scroll; gemeten 1488 px op 1440). */
.aac-home .aac-band { box-sizing: border-box; }

/* Typografie ------------------------------------------------------------ */
.aac-home-overline {
	display: flex;
	align-items: center;
	gap: var(--wp--preset--spacing--20);
	margin: 0 0 var(--wp--preset--spacing--20);
	font-size: var(--wp--preset--font-size--micro);
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--wp--preset--color--ink);
}
.aac-home-overline::before {
	content: "";
	inline-size: 1.5rem;
	block-size: 0.1875rem;
	border-radius: 1rem;
	background: var(--wp--preset--color--cycle-teal);
	flex: none;
}
.aac-home-h2 {
	margin: 0 0 var(--wp--preset--spacing--30);
	font-size: var(--wp--preset--font-size--titel-groot);
	line-height: 1.15;
	font-weight: 800;
	letter-spacing: -0.01em;
	color: var(--wp--preset--color--ink);
}
.aac-home-lead {
	margin: 0;
	font-size: var(--wp--preset--font-size--lead);
	line-height: 1.55;
}
.aac-home-micro {
	margin: 0;
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--tekst);
}
.aac-home-groot {
	margin: 0;
	font-size: var(--wp--preset--font-size--subkop);
	line-height: 1.35;
	font-weight: 700;
	color: var(--wp--preset--color--ink);
}
.aac-home-afsluiter {
	margin: 0;
	font-size: var(--wp--preset--font-size--body);
	font-weight: 600;
	color: var(--wp--preset--color--ink);
}
/* :where() houdt de specificiteit op 0,0,1, zodat élke klasse-regel hieronder
   (overline, voet) zijn eigen marge houdt. */
:where(.aac-home) p { margin-block: 0; }
/* Verticaal ritme via gap, niet via marges: `.aac-home p` hierboven zou een
   `> * + *`-marge altijd overschrijven (hogere specificiteit). */
.aac-home-kolom,
.aac-home-hero__tekst {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: var(--wp--preset--spacing--30);
}
.aac-home-hero__tekst { gap: var(--wp--preset--spacing--40); }
.aac-home-kolom > .aac-home-h2,
.aac-home-kolom > .aac-home-overline,
.aac-home-hero__tekst > .aac-home-overline { margin: 0; }

/* Links en acties ------------------------------------------------------- */
.aac-home-link {
	font-weight: 600;
	color: var(--wp--preset--color--ink);
	text-decoration: underline;
	text-decoration-color: var(--wp--preset--color--cycle-teal);
	text-decoration-thickness: 0.125rem;
	text-underline-offset: 0.25em;
}
.aac-home-link:hover { text-decoration-color: currentColor; }
/* Losse links (niet midden in een zin) krijgen het projectraakvlak van 44px;
   links binnen een zin vallen onder de inline-uitzondering van SC 2.5.8. */
.aac-home-acties > .aac-home-link,
.aac-home-links > .aac-home-link,
.aac-home-kolom > .aac-home-link,
.aac-home-koppelt > .aac-home-link,
.aac-home-kaart > .aac-home-link,
.aac-home-cases__voet > .aac-home-link {
	display: inline-flex;
	align-items: center;
	min-block-size: var(--wp--custom--raakvlak--minimum);
}
.has-ink-background-color .aac-home-link { color: var(--wp--preset--color--teal-licht); text-decoration-color: currentColor; }
.aac-home-links { display: flex; flex-wrap: wrap; gap: var(--wp--preset--spacing--30) var(--wp--preset--spacing--50); }
.aac-home-acties {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--wp--preset--spacing--40);
}
.aac-home-acties--midden { justify-content: center; }
.aac-home-acties .aac-knop { min-block-size: var(--wp--custom--raakvlak--minimum); }

/* Secundaire knop op inktblauw: de gewone secundaire knop is ink-op-ink. */
.aac-knop--op-donker {
	color: var(--wp--preset--color--wit);
	box-shadow: inset 0 0 0 1.5px var(--wp--preset--color--teal-licht);
}

/* Layoutgrids ----------------------------------------------------------- */
.aac-home-5-7,
.aac-home-6-6,
.aac-home-4-8,
.aac-home-hero__rij {
	display: grid;
	gap: var(--aac-home-gap);
	align-items: start;
}
@media (min-width: 64rem) {
	.aac-home-5-7 { grid-template-columns: 5fr 7fr; gap: var(--wp--preset--spacing--60); }
	.aac-home-6-6 { grid-template-columns: 1fr 1fr; align-items: center; gap: var(--wp--preset--spacing--60); }
	.aac-home-6-6--omgekeerd > :first-child { order: 2; }
	.aac-home-4-8 { grid-template-columns: 4fr 8fr; align-items: center; gap: var(--wp--preset--spacing--60); }
	.aac-home-hero__rij { grid-template-columns: 7fr 5fr; align-items: center; gap: var(--wp--preset--spacing--60); }
}
/* margin-inline 0: `.aac-band > :where(*)` (style.css) centreert elk kind van de band. */
.aac-home-sectiekop { max-inline-size: 40rem; margin-inline: 0; margin-block-end: var(--wp--preset--spacing--50); }

/* Kaarten --------------------------------------------------------------- */
.aac-home-kaarten {
	display: grid;
	gap: var(--wp--preset--spacing--40);
	list-style: none;
	margin: 0;
	padding: 0;
	align-items: stretch;
}
@media (min-width: 40rem) {
	.aac-home-kaarten--2,
	.aac-home-kaarten--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 64rem) {
	.aac-home-kaarten--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.aac-home-kaarten--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
.aac-home-kaart {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--20);
	padding: var(--wp--custom--kaart--pad-y) var(--wp--custom--kaart--pad-x);
	border: var(--aac-home-rand);
	border-radius: var(--wp--custom--kaart--radius);
	background: var(--wp--preset--color--off-white);
}
.aac-home-kaart--wit { background: var(--wp--preset--color--wit); }
.aac-home-kaart--teal { background: var(--wp--preset--color--teal-vlak); border-color: var(--wp--preset--color--cycle-teal); }
.aac-home-kaart h3 {
	margin: 0;
	font-size: var(--wp--preset--font-size--lead);
	line-height: 1.3;
	color: var(--wp--preset--color--ink);
}
/* Alleen alinea's zonder eigen klasse: overline en `groot` houden hun maat. */
.aac-home-kaart p:not([class]) { font-size: var(--wp--preset--font-size--small); line-height: 1.55; }
.aac-home-kaart .aac-home-link { margin-block-start: auto; }
.aac-home-kaarten--compact .aac-home-kaart { padding: var(--wp--preset--spacing--40); }
.aac-home-kaarten--compact .aac-home-kaart h3 { font-size: var(--wp--preset--font-size--body); }
.aac-home-kaarten--compact + .aac-home-micro { margin-block-start: var(--wp--preset--spacing--30); }
.aac-home-num {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	inline-size: 2.25rem;
	block-size: 2.25rem;
	border-radius: 50%;
	background: var(--wp--preset--color--teal-vlak);
	color: var(--wp--preset--color--ink);
	font-weight: 800;
	font-size: var(--wp--preset--font-size--small);
}

/* 2 HERO ---------------------------------------------------------------- */
.aac-home-hero__kop {
	margin: 0;
	font-size: var(--wp--preset--font-size--display);
	line-height: 1.06;
	font-weight: 800;
	letter-spacing: -0.02em;
	color: var(--wp--preset--color--ink);
}
.aac-home-hero .aac-home-lead { max-inline-size: 35rem; }
.aac-home-hero__foto { margin: 0; display: none; }
.aac-home-hero__foto img {
	display: block;
	inline-size: 100%;
	block-size: auto;
	aspect-ratio: 5 / 6;
	object-fit: cover;
	object-position: 62% 40%;
	border-radius: var(--wp--custom--kaart--radius);
}
.aac-home-hero__foto figcaption {
	margin-block-start: var(--wp--preset--spacing--20);
	text-align: end;
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--tekst);
}
.aac-home-hero__gezicht {
	display: flex;
	align-items: center;
	gap: var(--wp--preset--spacing--30);
}
.aac-home-hero__gezicht img {
	inline-size: 3.5rem;
	block-size: 3.5rem;
	border-radius: 50%;
	object-fit: cover;
	flex: none;
}
.aac-home-hero__gezicht p { display: flex; flex-direction: column; font-size: var(--wp--preset--font-size--small); }
.aac-home-hero__gezicht strong { color: var(--wp--preset--color--ink); }
/* Gelijk met de tweekoloms hero (64rem); daaronder het ronde portret, anders
   staat op een tablet een foto van ruim 1000px hoog boven de tekst. */
@media (min-width: 64rem) {
	.aac-home-hero__foto { display: block; }
	.aac-home-hero__gezicht { display: none; }
}

/* 3 BEWIJS en 4 KOPPELT MET -------------------------------------------- */
.aac-home-bewijs { border-block-end: var(--aac-home-rand); }
.aac-home-bewijs__rij {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--wp--preset--spacing--40);
	list-style: none;
	margin: 0;
	padding: var(--wp--preset--spacing--50) 0;
}
@media (min-width: 48rem) { .aac-home-bewijs__rij { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
/* Vakken in inktblauw met groene rand (besluit Stefan 30-10). Tekst wit en
   ink-tekst op ink: beide ruim boven 4,5:1. */
.aac-home-bewijs__rij li {
	overflow-wrap: anywhere;
	hyphens: auto;
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--10);
	padding: var(--wp--custom--kaart--pad-y) var(--wp--custom--kaart--pad-x);
	background: var(--wp--preset--color--ink);
	border: 2px solid var(--wp--preset--color--actie-groen);
	border-radius: var(--wp--custom--kaart--radius);
}
.aac-home-bewijs__rij strong { font-size: var(--wp--preset--font-size--kop); font-weight: 800; line-height: 1.1; color: var(--wp--preset--color--wit); }
.aac-home-bewijs__rij span { font-size: var(--wp--preset--font-size--small); color: var(--wp--preset--color--ink-tekst); }
.aac-home-koppelt {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: var(--wp--preset--spacing--40);
	padding-block: var(--wp--preset--spacing--50) var(--wp--preset--spacing--60);
	text-align: center;
}
.aac-home-koppelt__kop { font-size: var(--wp--preset--font-size--small); font-weight: 600; color: var(--wp--preset--color--grijs); }
/* Altijd doorlopend op een volgende regel: een veegrij zonder focusbaar
   element is met het toetsenbord niet te scrollen. */
.aac-home-koppelt__chips {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: var(--wp--preset--spacing--20);
	list-style: none;
	margin: 0;
	padding: 0;
}
.aac-home-koppelt__chips li { flex: none; }
.aac-home-koppelt__chips a {
	display: inline-flex;
	align-items: center;
	gap: var(--wp--preset--spacing--10);
	min-block-size: var(--wp--custom--raakvlak--minimum);
	padding: 0 var(--wp--preset--spacing--30);
	border: var(--aac-home-rand);
	border-radius: var(--wp--custom--knop--radius);
	background: var(--wp--preset--color--off-white);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 700;
	color: var(--wp--preset--color--tekst);
	text-decoration: none;
	white-space: nowrap;
}
.aac-home-koppelt__chips a:hover { border-color: var(--wp--preset--color--cycle-teal); background: var(--wp--preset--color--teal-vlak); }
.aac-home-koppelt__chips .aac-kop-logo { inline-size: 1.25rem; block-size: 1.25rem; }

/* ---------------------------------------------------------------------------
   OPLOSSINGEN, BRANCHES EN LANDINGSPAGINA'S (CH-252bb)
   Eén opbouw voor alle dienstpagina's, zodat bezoekers na de homepage niet in
   een andere site belanden (fluency: herkenbaar = betrouwbaarder).
   Kleur heeft één betekenis per rol, altijd met tekst erbij (WCAG 1.4.1):
   inktblauw = bewijs en vertrouwen · teal-vlak = het proces, rust ·
   amber = eerlijkheid en "jij beslist" · groen = alleen de actie.
   --------------------------------------------------------------------------- */
.aac-opl-hero__rij { display: grid; gap: var(--wp--preset--spacing--60); align-items: center; }
@media (min-width: 64rem) { .aac-opl-hero__rij { grid-template-columns: 7fr 5fr; } }
.aac-opl-hero__tekst { display: flex; flex-direction: column; align-items: flex-start; gap: var(--wp--preset--spacing--40); }
.aac-opl-hero__tekst > * { margin: 0; }
/* Kruimelpadlink in de overline: minimaal 24px raakvlak (WCAG 2.5.8). */
.aac-opl-hero .aac-home-overline a,
.aac-kop-detail-hero .aac-home-overline a { display: inline-flex; align-items: center; min-block-size: 1.5rem; }
.aac-opl-hero .aac-home-overline a { color: inherit; text-decoration: underline; text-decoration-color: var(--wp--preset--color--cycle-teal); text-underline-offset: 0.25em; }
.aac-opl-hero__kop {
	margin: 0;
	font-size: var(--wp--preset--font-size--titel-groot);
	line-height: 1.1;
	font-weight: 800;
	letter-spacing: -0.015em;
	color: var(--wp--preset--color--ink);
	max-inline-size: 22ch;
}
@media (min-width: 64rem) { .aac-opl-hero__kop { font-size: var(--wp--preset--font-size--display); } }
.aac-opl-hero .aac-home-lead { max-inline-size: 38rem; }
.aac-opl-hero__micro { font-size: var(--wp--preset--font-size--small); color: var(--wp--preset--color--tekst); }
.aac-opl-hero__bewijs {
	padding: var(--wp--custom--kaart--pad-y) var(--wp--custom--kaart--pad-x);
	border-radius: var(--wp--custom--kaart--radius);
	background: var(--wp--preset--color--ink);
	color: var(--wp--preset--color--ink-tekst);
}
.aac-opl-hero__bewijs-kop { margin: 0 0 var(--wp--preset--spacing--30); font-size: var(--wp--preset--font-size--micro); font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: var(--wp--preset--color--teal-licht); }
.aac-opl-hero__bewijs ul { display: grid; gap: var(--wp--preset--spacing--30); list-style: none; margin: 0; padding: 0; }
.aac-opl-hero__bewijs li { display: flex; flex-direction: column; gap: 0.15rem; padding-block-end: var(--wp--preset--spacing--30); border-block-end: 1px solid var(--wp--preset--color--ink-kaart); }
.aac-opl-hero__bewijs li:last-child { padding-block-end: 0; border: 0; }
.aac-opl-hero__bewijs strong { font-size: var(--wp--preset--font-size--subkop); line-height: 1.25; color: var(--wp--preset--color--wit); }
.aac-opl-hero__bewijs span { font-size: var(--wp--preset--font-size--small); line-height: 1.5; }
.aac-opl-hero__bewijs a { color: var(--wp--preset--color--teal-licht); }
/* Branchepagina's: het scanformulier staat in de hero, op een witte kaart. */
.aac-opl-hero__rij:has(.aac-opl-hero__formulier) { align-items: start; }
.aac-opl-hero__formkop { margin: 0; font-size: var(--wp--preset--font-size--subkop); font-weight: 800; color: var(--wp--preset--color--ink); }
.aac-opl-hero__formulier > .aac-opl-hero__micro { margin: var(--wp--preset--spacing--10) 0 var(--wp--preset--spacing--30); }
.aac-opl-hero__formulier { padding: var(--wp--custom--kaart--pad-y) var(--wp--custom--kaart--pad-x); border: var(--aac-home-rand); border-radius: var(--wp--custom--kaart--radius); background: var(--wp--preset--color--wit); }
/* CH-252bd: prijzenpagina ------------------------------------------------ */
.aac-prijs-sub { margin: var(--wp--preset--spacing--60) 0 var(--wp--preset--spacing--30); font-size: var(--wp--preset--font-size--subkop); font-weight: 800; color: var(--wp--preset--color--ink); }
/* Pakketten: drie naast elkaar, het middelste uitgelicht (compromise effect). */
.aac-prijs-pakketten { display: grid; gap: var(--wp--preset--spacing--40); margin: 0; padding: 0; list-style: none; align-items: stretch; }
@media (min-width: 64rem) { .aac-prijs-pakketten { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.aac-prijs-pakket { position: relative; display: flex; flex-direction: column; gap: var(--wp--preset--spacing--20); padding: var(--wp--custom--kaart--padding); border: var(--aac-home-rand); border-radius: var(--wp--custom--kaart--radius); background: var(--wp--preset--color--wit); }
.aac-prijs-pakket > * { margin: 0; }
.aac-prijs-pakket--uitgelicht { border: 2px solid var(--wp--preset--color--cycle-teal); box-shadow: 0 12px 32px rgb(11 31 58 / 0.10); }
@media (min-width: 64rem) { .aac-prijs-pakket--uitgelicht { margin-block: calc(-1 * var(--wp--preset--spacing--30)); padding-block: calc(var(--wp--custom--kaart--padding) + var(--wp--preset--spacing--30)); } }
.aac-prijs-pakket__label { align-self: flex-start; padding: 0.2em 0.7em; border-radius: 1rem; background: var(--wp--preset--color--teal-vlak); color: var(--wp--preset--color--ink); font-size: var(--wp--preset--font-size--micro); font-weight: 700; }
.aac-prijs-pakket__naam { font-size: var(--wp--preset--font-size--subkop); line-height: 1.25; color: var(--wp--preset--color--ink); }
.aac-prijs-pakket__prijs { display: flex; flex-wrap: wrap; align-items: baseline; column-gap: 0.5rem; }
.aac-prijs-pakket__prijs strong { font-size: var(--wp--preset--font-size--titel); font-weight: 800; line-height: 1.1; color: var(--wp--preset--color--ink); }
.aac-prijs-pakket__prijs span { font-size: var(--wp--preset--font-size--small); color: var(--wp--preset--color--tekst); }
.aac-prijs-pakket__voor { font-size: var(--wp--preset--font-size--small); line-height: 1.5; color: var(--wp--preset--color--ink); font-weight: 600; }
.aac-prijs-pakket__punten { display: grid; gap: var(--wp--preset--spacing--10); margin: var(--wp--preset--spacing--10) 0 0; padding: var(--wp--preset--spacing--30) 0 0; border-block-start: 1px solid var(--wp--preset--color--veldrand); list-style: none; font-size: var(--wp--preset--font-size--small); line-height: 1.5; }
.aac-prijs-pakket__punten li { position: relative; padding-inline-start: 1.5rem; }
.aac-prijs-pakket__punten li::before { content: ""; position: absolute; inset-inline-start: 0; inset-block-start: 0.35em; inline-size: 0.95rem; block-size: 0.95rem; border-radius: 50%; background: var(--wp--preset--color--teal-vlak) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.5l2.5 2.5L12 5.5' fill='none' stroke='%230B1F3A' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 0.7rem no-repeat; }
.aac-prijs-pakket__noot { font-size: var(--wp--preset--font-size--micro); line-height: 1.5; color: var(--wp--preset--color--tekst); }
.aac-prijs-pakket__knop { margin-block-start: auto !important; align-self: stretch; }
.aac-prijs-pakket .aac-prijs-pakket__knop { justify-content: center; text-align: center; max-inline-size: 100%; box-sizing: border-box; }
.aac-prijs-pakket .aac-prijs-pakket__knop .aac-knop__label { white-space: normal; min-inline-size: 0; }
.aac-prijs-pakket--uitgelicht .aac-prijs-pakket__knop { background: var(--wp--preset--color--ink); border-color: var(--wp--preset--color--ink); color: var(--wp--preset--color--wit); }
/* CH-252be: Serverbeheer, een eigen product naast de n8n-pakketten: brede kaart. */
.aac-prijs-server { display: grid; gap: var(--wp--preset--spacing--40) var(--wp--preset--spacing--60); margin-block-start: var(--wp--preset--spacing--50); padding: var(--wp--custom--kaart--padding); border: var(--aac-home-rand); border-inline-start: 4px solid var(--wp--preset--color--ink); border-radius: var(--wp--custom--kaart--radius); background: var(--wp--preset--color--wit); }
@media (min-width: 64rem) { .aac-prijs-server { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); } }
.aac-prijs-server > * > * { margin: 0; }
.aac-prijs-server__kop { display: flex; flex-direction: column; gap: var(--wp--preset--spacing--20); align-items: flex-start; }
.aac-prijs-server .aac-prijs-pakket__punten { margin-block-start: 0; padding-block-start: 0; border: 0; }
.aac-prijs-server .aac-prijs-pakket__noot { margin-block-start: var(--wp--preset--spacing--30); }
.aac-prijs-server .aac-prijs-pakket__knop { margin-block-start: var(--wp--preset--spacing--20) !important; align-self: flex-start; }
.aac-prijs-server .aac-prijs-pakket__knop .aac-knop__label { white-space: normal; }
.aac-prijs-maatwerk { border-style: solid !important; background: var(--wp--preset--color--wit); }
.aac-prijs-maatwerk > div:first-child { display: flex; flex-direction: column; gap: var(--wp--preset--spacing--20); align-items: flex-start; }
.aac-prijs-maatwerk > div:first-child > * { margin: 0; }
.aac-prijs-maatwerk .aac-prijs-pakket__prijs strong { font-size: var(--wp--preset--font-size--subkop); }
.aac-prijs-maatwerk .aac-prijs-pakket__knop { align-self: flex-start; }
.aac-prijs-zelf { display: grid; gap: var(--wp--preset--spacing--30) var(--wp--preset--spacing--60); margin-block-start: var(--wp--preset--spacing--50); padding: var(--wp--custom--kaart--padding); border: 1px dashed var(--wp--preset--color--veldrand); border-radius: var(--wp--custom--kaart--radius); }
@media (min-width: 64rem) { .aac-prijs-zelf { grid-template-columns: 16rem minmax(0, 1fr); } }
.aac-prijs-zelf p { margin: 0 0 var(--wp--preset--spacing--20); font-size: var(--wp--preset--font-size--small); line-height: 1.55; }
.aac-prijs-zelf p:last-child { margin-block-end: 0; }
/* Wat in elke bouwprijs zit. */
.aac-prijs-inbegrepen { display: grid; gap: var(--wp--preset--spacing--20) var(--wp--preset--spacing--40); margin: 0; padding: 0; list-style: none; }
@media (min-width: 48rem) { .aac-prijs-inbegrepen { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 64rem) { .aac-prijs-inbegrepen { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.aac-prijs-inbegrepen li { display: flex; flex-direction: column; gap: 0.15rem; padding-inline-start: var(--wp--preset--spacing--30); border-inline-start: 3px solid var(--wp--preset--color--cycle-teal); font-size: var(--wp--preset--font-size--small); line-height: 1.5; }
.aac-prijs-inbegrepen b { color: var(--wp--preset--color--ink); }
/* Totale kosten: tabel en tekst links, de som rechts. */
.aac-prijs-totaal__rij { display: grid; gap: var(--wp--preset--spacing--50); align-items: start; }
@media (min-width: 64rem) { .aac-prijs-totaal__rij { grid-template-columns: minmax(0, 7fr) minmax(0, 4fr); } }
.aac-prijs-som { padding: var(--wp--custom--kaart--padding); border-radius: var(--wp--custom--kaart--radius); background: var(--wp--preset--color--wit); border: var(--aac-home-rand); }
.aac-prijs-som .aac-prijs-sub { margin-block-start: 0; }
.aac-prijs-som ol { display: grid; gap: 0; margin: 0 0 var(--wp--preset--spacing--30); padding: 0; list-style: none; }
.aac-prijs-som li { display: flex; justify-content: space-between; gap: var(--wp--preset--spacing--30); padding-block: 0.6rem; border-block-end: 1px solid var(--wp--preset--color--veldrand); font-size: var(--wp--preset--font-size--small); }
.aac-prijs-som b { color: var(--wp--preset--color--ink); white-space: nowrap; }
.aac-prijs-som__totaal { border-block-end: 0 !important; font-weight: 700; color: var(--wp--preset--color--ink); }
.aac-prijs-som__totaal b { font-size: var(--wp--preset--font-size--subkop); }
.aac-prijs-totaal .aac-opl-tekst { margin-block-start: var(--wp--preset--spacing--40); }
.aac-opl-flow__noot + .aac-home-micro { margin-block-start: var(--wp--preset--spacing--30); max-inline-size: 60rem; }

/* CH-252bc: bewijs naast het formulier (was een losse witte strook onder de hero). */
.aac-opl-hero__feiten { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--wp--preset--spacing--30); inline-size: 100%; max-inline-size: 38rem; margin-block-start: var(--wp--preset--spacing--30) !important; padding: 0; list-style: none; }
.aac-opl-hero__feiten li { display: flex; flex-direction: column; gap: 0.2rem; padding: var(--wp--preset--spacing--30); border: var(--aac-home-rand); border-inline-start: 3px solid var(--wp--preset--color--cycle-teal); border-radius: 0.75rem; background: var(--wp--preset--color--wit); }
.aac-opl-hero__feiten strong { font-size: var(--wp--preset--font-size--subkop); line-height: 1.2; color: var(--wp--preset--color--ink); }
.aac-opl-hero__feiten span { font-size: var(--wp--preset--font-size--small); line-height: 1.45; color: var(--wp--preset--color--tekst); }
/* Mobiel twee kolommen, compacter: het formulier staat zo een scherm eerder in beeld. */
@media (max-width: 47.99rem) {
	.aac-opl-hero__feiten { gap: var(--wp--preset--spacing--20); }
	.aac-opl-hero__feiten li { padding: 0.75rem; }
	.aac-opl-hero__feiten strong { font-size: var(--wp--preset--font-size--body); overflow-wrap: normal; hyphens: manual; }
	.aac-opl-hero__feiten span { font-size: var(--wp--preset--font-size--micro); line-height: 1.4; }
}
@media (max-width: 21.99rem) { .aac-opl-hero__feiten { grid-template-columns: minmax(0, 1fr); } }
.aac-opl-hero__lees { display: inline-flex; align-items: center; min-block-size: var(--wp--custom--raakvlak--minimum); }
.aac-opl-hero__krijg { display: grid; gap: var(--wp--preset--spacing--20); margin-block-start: var(--wp--preset--spacing--20) !important; padding: 0; list-style: none; }
.aac-opl-hero__krijg li { position: relative; padding-inline-start: 1.75rem; color: var(--wp--preset--color--ink); font-weight: 600; }
.aac-opl-hero__krijg li::before { content: ""; position: absolute; inset-inline-start: 0; inset-block-start: 0.3em; inline-size: 1.1rem; block-size: 1.1rem; border-radius: 50%; background: var(--wp--preset--color--teal-vlak) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.5l2.5 2.5L12 5.5' fill='none' stroke='%230B1F3A' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 0.8rem no-repeat; }

/* Herken: korte pijnkaarten met een cijfer, in de woorden van de klant. */
.aac-opl-pijn .aac-home-kaart { border-block-start: 3px solid var(--wp--preset--color--ink); }

/* Flow: automatische stappen in teal, het mens-moment in amber met label. */
.aac-opl-flow {
	display: grid;
	gap: var(--wp--preset--spacing--30);
	list-style: none;
	margin: 0;
	padding: 0;
	counter-reset: opl;
}
@media (min-width: 48rem) { .aac-opl-flow { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
/* De generator zet het aantal kolommen als klasse (een style-attribuut haalt
   WordPress uit de inhoud): tot zes stappen op één rij, daarboven rijen van vier. */
@media (min-width: 64rem) {
	.aac-opl-flow { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.aac-opl-flow--k5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }
	.aac-opl-flow--k6 { grid-template-columns: repeat(6, minmax(0, 1fr)); }
}
.aac-opl-flow li {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--10);
	padding: var(--wp--preset--spacing--40);
	border: 1.5px solid var(--wp--preset--color--cycle-teal);
	border-radius: var(--wp--custom--kaart--radius);
	background: var(--wp--preset--color--wit);
	font-size: var(--wp--preset--font-size--small);
	line-height: 1.5;
}
.aac-opl-flow li::before {
	counter-increment: opl;
	content: counter(opl);
	display: inline-grid;
	place-items: center;
	inline-size: 1.75rem;
	block-size: 1.75rem;
	border-radius: 50%;
	background: var(--wp--preset--color--ink);
	color: var(--wp--preset--color--wit);
	font-weight: 700;
	font-size: var(--wp--preset--font-size--micro);
}
/* Mobiel: nummer links naast de tekst, als een tijdlijn. Scheelt bij zes stappen
   ongeveer de helft van de hoogte, en de koppen blijven onder elkaar scanbaar. */
@media (max-width: 47.99rem) {
	.aac-opl-flow li { display: grid; grid-template-columns: 1.75rem minmax(0, 1fr); column-gap: var(--wp--preset--spacing--30); row-gap: var(--wp--preset--spacing--10); align-content: start; padding: var(--wp--preset--spacing--30); }
	.aac-opl-flow li::before { grid-row: 1 / span 3; }
	.aac-opl-flow li > * { grid-column: 2; }
	.aac-opl-flow li > b { padding-block-start: 0.15rem; }
}
.aac-opl-flow b { font-size: var(--wp--preset--font-size--body); color: var(--wp--preset--color--ink); }
.aac-opl-flow li.is-mens { border-color: var(--wp--preset--color--amber); background: var(--wp--preset--color--amber-vlak); }
.aac-opl-flow li.is-mens::before { background: var(--wp--preset--color--amber-kop); }
.aac-opl-flow__label { align-self: flex-start; justify-self: start; padding: 0 0.5em; border-radius: 1rem; background: var(--wp--preset--color--wit); font-size: var(--wp--preset--font-size--micro); font-weight: 700; color: var(--wp--preset--color--amber-tekst); }
.aac-opl-flow__noot { margin-block-start: var(--wp--preset--spacing--40); margin-inline: 0; max-inline-size: 46rem; font-size: var(--wp--preset--font-size--body); line-height: 1.6; }

/* Wat je krijgt: kaarten met een metaregel (bouwtijd, prijsband). */
.aac-opl-meta { display: flex; flex-wrap: wrap; gap: var(--wp--preset--spacing--10); margin-block-start: auto; list-style: none; padding: 0; }
.aac-opl-meta li { padding: 0.1rem 0.6rem; border-radius: 1rem; background: var(--wp--preset--color--teal-vlak); font-size: var(--wp--preset--font-size--micro); font-weight: 700; color: var(--wp--preset--color--ink); }

/* Systemen: dezelfde chips als op de homepage, links uitgelijnd. */
.aac-opl-chips { justify-content: flex-start; margin-block-end: var(--wp--preset--spacing--40); }
.aac-opl-systemen .aac-home-link { display: inline-flex; align-items: center; min-block-size: var(--wp--custom--raakvlak--minimum); }

/* Bewijs op inktblauw: case en klantstem naast elkaar. */
.aac-opl-bewijs .aac-home-h2,
.aac-opl-bewijs .aac-home-overline { color: var(--wp--preset--color--wit); }
.aac-opl-bewijs .aac-home-overline::before { background: var(--wp--preset--color--teal-licht); }
.aac-opl-bewijs__rij { display: grid; gap: var(--wp--preset--spacing--40); }
@media (min-width: 64rem) { .aac-opl-bewijs__rij { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.aac-opl-bewijs__voet { margin: var(--wp--preset--spacing--40) 0 0; }
/* Mobiel: gestapelde knoppen even breed, zodat het slot rustig oogt. */
@media (max-width: 47.99rem) {
	.aac-home-acties--midden > .aac-knop { inline-size: min(100%, 20rem); justify-content: center; }
}
/* Zelfde linkerrand als de casetekst erboven (leeskolom 720px). */
.aac-case-slot__terug { padding-block-start: var(--wp--preset--spacing--50); max-inline-size: var(--wp--style--global--content-size); margin-inline: auto; }
.aac-case-slot__terug .aac-home-link { display: inline-flex; align-items: center; min-block-size: var(--wp--custom--raakvlak--minimum); }
.aac-opl-bewijs__voet .aac-home-link { display: inline-flex; align-items: center; min-block-size: var(--wp--custom--raakvlak--minimum); }
.aac-opl-case,
.aac-opl-stem {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--20);
	margin: 0;
	padding: var(--wp--custom--kaart--pad-y) var(--wp--custom--kaart--pad-x);
	border-radius: var(--wp--custom--kaart--radius);
	background: var(--wp--preset--color--ink-kaart);
	color: var(--wp--preset--color--ink-tekst);
}
.aac-opl-case__label { font-size: var(--wp--preset--font-size--micro); font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--wp--preset--color--teal-licht); }
.aac-opl-case h3 { margin: 0; font-size: var(--wp--preset--font-size--subkop); line-height: 1.3; }
.aac-opl-case h3 a { color: var(--wp--preset--color--wit); text-decoration-color: var(--wp--preset--color--teal-licht); text-underline-offset: 0.2em; }
.aac-opl-case p,
.aac-opl-stem p { font-size: var(--wp--preset--font-size--small); line-height: 1.6; }
.aac-opl-stem blockquote { margin: 0; padding: 0; border: 0; }
.aac-opl-stem blockquote p { font-size: var(--wp--preset--font-size--body); color: var(--wp--preset--color--wit); }
.aac-opl-stem figcaption { display: flex; align-items: center; gap: var(--wp--preset--spacing--30); margin-block-start: auto; font-size: var(--wp--preset--font-size--small); }
.aac-opl-stem figcaption strong { display: block; color: var(--wp--preset--color--wit); }
.aac-opl-stem figcaption img { inline-size: 3rem; block-size: 3rem; border-radius: 50%; object-fit: cover; background: var(--wp--preset--color--wit); }
.aac-opl-stem__logo { inline-size: auto; max-inline-size: 7rem; block-size: 2rem; object-fit: contain; padding: 0.25rem 0.5rem; border-radius: 6px; background: var(--wp--preset--color--wit); }

/* Rekenvoorbeeld: de som in stappen, de uitkomst groot. */
.aac-opl-reken__som { display: grid; gap: var(--wp--preset--spacing--20); list-style: none; margin: 0 0 var(--wp--preset--spacing--30); padding: 0; }
@media (min-width: 48rem) { .aac-opl-reken__som { grid-template-columns: repeat(4, auto); justify-content: start; align-items: stretch; } }
.aac-opl-reken__som li { padding: var(--wp--preset--spacing--30) var(--wp--preset--spacing--40); border: var(--aac-home-rand); border-radius: var(--wp--custom--kaart--radius); background: var(--wp--preset--color--wit); font-size: var(--wp--preset--font-size--small); }
.aac-opl-reken__som b { display: block; font-size: var(--wp--preset--font-size--subkop); color: var(--wp--preset--color--ink); }
.aac-opl-reken__som li:last-child { border-color: var(--wp--preset--color--ink); background: var(--wp--preset--color--ink); color: var(--wp--preset--color--ink-tekst); }
.aac-opl-reken__som li:last-child b { color: var(--wp--preset--color--wit); }
/* Mobiel twee kolommen: de som blijft in één oogopslag te volgen. */
@media (max-width: 47.99rem) {
	.aac-opl-reken__som { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.aac-opl-reken__som li { padding: var(--wp--preset--spacing--20) var(--wp--preset--spacing--30); font-size: var(--wp--preset--font-size--micro); line-height: 1.4; }
	.aac-opl-reken__som b { font-size: var(--wp--preset--font-size--body); }
}
/* CH-252bd: tabellen met data-label worden op mobiel per rij een kaartje,
   in plaats van een te brede tabel waarin je horizontaal moet scrollen. */
@media (max-width: 47.99rem) {
	.aac-tabel-stapel { overflow: visible; }
	.aac-tabel-stapel thead { position: absolute; inline-size: 1px; block-size: 1px; overflow: hidden; clip-path: inset(50%); }
	.aac-tabel-stapel :is(table, tbody, tr, td) { display: block; inline-size: 100%; box-sizing: border-box; }
	.aac-tabel-stapel tr { margin-block-end: var(--wp--preset--spacing--20); padding: var(--wp--preset--spacing--20) var(--wp--preset--spacing--30); border: var(--aac-home-rand); border-radius: 0.75rem; background: var(--wp--preset--color--wit); }
	.aac-tabel-stapel td { padding: 0.3rem 0 !important; border: 0 !important; text-align: start !important; background: none !important; }
	.aac-tabel-stapel td::before { content: attr(data-label); display: block; font-size: var(--wp--preset--font-size--micro); font-weight: 700; color: var(--wp--preset--color--tekst); }
	.aac-tabel-stapel td:first-child { font-size: var(--wp--preset--font-size--body); }
	.aac-tabel-stapel td:first-child::before { display: none; }
	/* Vergelijking: één kopbalk met de drie pakketten, per onderdeel één regel met
	   drie waarden; anders wordt het 13 losse kaartjes (±2.500px). */
	.aac-prijs-vergelijk .aac-tabel-stapel thead { position: static; inline-size: auto; block-size: auto; overflow: visible; clip-path: none; display: block; }
	.aac-prijs-vergelijk .aac-tabel-stapel :is(thead tr, tbody tr) { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.2rem 0.5rem; }
	.aac-prijs-vergelijk .aac-tabel-stapel thead tr { margin-block-end: var(--wp--preset--spacing--20); padding: 0.6rem 0.75rem; border: 0; border-radius: 0.75rem; background: var(--wp--preset--color--ink); }
	.aac-prijs-vergelijk .aac-tabel-stapel thead th { display: block; padding: 0 !important; font-size: var(--wp--preset--font-size--micro); line-height: 1.3; text-align: start !important; }
	.aac-prijs-vergelijk .aac-tabel-stapel thead th:first-child { display: none; }
	.aac-prijs-vergelijk .aac-tabel-stapel tbody tr { margin-block-end: 0.4rem; padding: 0.5rem 0.75rem; }
	.aac-prijs-vergelijk .aac-tabel-stapel td { padding: 0 !important; font-size: var(--wp--preset--font-size--small); }
	.aac-prijs-vergelijk .aac-tabel-stapel td::before { display: none; }
	.aac-prijs-vergelijk .aac-tabel-stapel td:first-child { grid-column: 1 / -1; font-size: var(--wp--preset--font-size--micro); font-weight: 700; color: var(--wp--preset--color--tekst); }
}

/* Eerlijk: amber, want het remt. */
.aac-opl-eerlijk__kader { max-inline-size: 52rem; margin-inline: 0; padding: var(--wp--custom--kaart--pad-y) var(--wp--custom--kaart--pad-x); border: 1.5px solid var(--wp--preset--color--amber); border-radius: var(--wp--custom--kaart--radius); background: var(--wp--preset--color--amber-vlak); }
.aac-opl-eerlijk__kader h2 { margin: 0 0 var(--wp--preset--spacing--20); font-size: var(--wp--preset--font-size--kop); line-height: 1.2; color: var(--wp--preset--color--amber-kop); }
.aac-opl-eerlijk__kader ul { margin: var(--wp--preset--spacing--20) 0 0; padding-inline-start: 1.25rem; font-size: var(--wp--preset--font-size--body); line-height: 1.6; color: var(--wp--preset--color--amber-tekst); }
.aac-opl-eerlijk__kader p { font-size: var(--wp--preset--font-size--body); line-height: 1.6; color: var(--wp--preset--color--amber-tekst); }

/* Lopende tekst in een band (definities, uitleg): leesbreedte. */
.aac-opl-tekst > * { max-inline-size: 46rem; margin-inline: 0; }
.aac-opl-tekst p { font-size: var(--wp--preset--font-size--body); line-height: 1.65; }
.aac-opl-tekst p + p { margin-block-start: var(--wp--preset--spacing--30); }
.aac-opl-tekst table { inline-size: 100%; max-inline-size: 60rem; border-collapse: collapse; font-size: var(--wp--preset--font-size--small); }
.aac-opl-tekst th { text-align: start; padding: var(--wp--preset--spacing--20); background: var(--wp--preset--color--ink); color: var(--wp--preset--color--wit); }
.aac-opl-tekst td { padding: var(--wp--preset--spacing--20); border-block-end: var(--aac-home-rand); vertical-align: top; }
.aac-opl-tabel { overflow-x: auto; max-inline-size: 60rem; }
/* CH-252bd: dezelfde tabelstijl ook buiten .aac-opl-tekst (prijzenpagina). */
.aac-opl-tabel table { inline-size: 100%; border-collapse: collapse; font-size: var(--wp--preset--font-size--small); line-height: 1.5; }
.aac-opl-tabel th { text-align: start; vertical-align: bottom; padding: var(--wp--preset--spacing--20) var(--wp--preset--spacing--30); background: var(--wp--preset--color--ink); color: var(--wp--preset--color--wit); }
.aac-opl-tabel td { text-align: start; padding: var(--wp--preset--spacing--20) var(--wp--preset--spacing--30); border-block-end: var(--aac-home-rand); vertical-align: top; background: var(--wp--preset--color--wit); }
.aac-opl-tabel td:first-child { font-weight: 600; color: var(--wp--preset--color--ink); }
.aac-opl-tabel strong { white-space: nowrap; color: var(--wp--preset--color--ink); }
.aac-opl-tabel + .aac-home-micro { margin-block-start: var(--wp--preset--spacing--30); max-inline-size: 60rem; }
.aac-prijs-bouw .aac-opl-tabel, .aac-prijs-vergelijk .aac-opl-tabel, .aac-prijs-details .aac-opl-tabel { max-inline-size: none; }
.aac-prijs-vergelijk .aac-opl-tabel td:not(:first-child), .aac-prijs-vergelijk .aac-opl-tabel th:not(:first-child) { text-align: center; }

/* Label boven een routekaart op wit: ink, niet teal (contrast). */
.aac-opl-route__label { color: var(--wp--preset--color--ink); }

/* FAQ en verder lezen. */
.aac-opl-faq__band > .aac-kop-detail__faq { max-inline-size: 52rem; margin-inline: 0; }
.aac-opl-faq__band > .aac-kop-detail__faq + .aac-kop-detail__faq { margin-block-start: var(--wp--preset--spacing--30); }
.aac-opl-verder .aac-home-kaart h3 a { color: var(--wp--preset--color--ink); text-decoration: none; }
.aac-opl-verder .aac-home-kaart h3 a::after { content: ""; position: absolute; inset: 0; }
.aac-opl-verder .aac-home-kaart { position: relative; }
.aac-opl-verder .aac-home-kaart:hover { border-color: var(--wp--preset--color--cycle-teal); }
.aac-opl-verder .aac-home-kaart:focus-within { outline: 2px solid var(--wp--preset--color--cycle-teal); outline-offset: 2px; }

/* ---------------------------------------------------------------------------
   KENNISBANK (CH-252bc)
   NN/g-eyetracking: doel, zoeken en onderwerpen links in het eerste scherm
   (80% van de fixaties links, 57% van de kijktijd boven de vouw); artikelen
   als lijst, hubs als kaarten; geen beeldbanner boven de onderwerpen.
   --------------------------------------------------------------------------- */
.aac-kb-hero__rij { display: grid; gap: var(--wp--preset--spacing--50); align-items: start; }
@media (min-width: 64rem) { .aac-kb-hero__rij { grid-template-columns: 8fr 4fr; } }
.aac-kb-hero__tekst { display: flex; flex-direction: column; align-items: flex-start; gap: var(--wp--preset--spacing--40); }
.aac-kb-hero__tekst > * { margin: 0; }
.aac-kb-hero .aac-home-lead { max-inline-size: 40rem; }
.aac-kb-hero--hub .aac-band { display: flex; flex-direction: column; align-items: flex-start; gap: var(--wp--preset--spacing--30); }
.aac-kb-hero--hub .aac-band > * { margin: 0; }
.aac-kb-zoek { display: flex; flex-wrap: wrap; gap: var(--wp--preset--spacing--20); inline-size: 100%; max-inline-size: 40rem; }
.aac-kb-zoek input[type="search"] {
	flex: 1 1 16rem;
	min-block-size: var(--wp--custom--raakvlak--minimum);
	padding: 0 var(--wp--preset--spacing--30);
	border: 1.5px solid var(--wp--preset--color--rand-veld);
	border-radius: var(--wp--custom--knop--radius);
	background: var(--wp--preset--color--wit);
	font: inherit;
	font-size: var(--wp--preset--font-size--body);
}
.aac-kb-zoek input[type="search"]:focus { outline: 2px solid var(--wp--preset--color--cycle-teal); outline-offset: 1px; }
.aac-kb-chips { display: flex; flex-wrap: wrap; gap: var(--wp--preset--spacing--20); list-style: none; margin: 0; padding: 0; }
.aac-kb-chips a {
	display: inline-flex;
	align-items: center;
	gap: var(--wp--preset--spacing--10);
	min-block-size: var(--wp--custom--raakvlak--minimum);
	padding: 0 var(--wp--preset--spacing--30);
	border: var(--aac-home-rand);
	border-radius: var(--wp--custom--knop--radius);
	background: var(--wp--preset--color--wit);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 700;
	color: var(--wp--preset--color--ink);
	text-decoration: none;
}
.aac-kb-chips a:hover { border-color: var(--wp--preset--color--cycle-teal); background: var(--wp--preset--color--teal-vlak); }
.aac-kb-chips span { padding: 0 0.45em; border-radius: 1rem; background: var(--wp--preset--color--teal-vlak); font-size: var(--wp--preset--font-size--micro); }
.aac-kb-auteur { display: flex; gap: var(--wp--preset--spacing--30); align-items: flex-start; padding: var(--wp--custom--kaart--pad-y) var(--wp--custom--kaart--pad-x); border: var(--aac-home-rand); border-radius: var(--wp--custom--kaart--radius); background: var(--wp--preset--color--wit); }
.aac-kb-auteur img { inline-size: 4rem; block-size: 4rem; border-radius: 50%; object-fit: cover; flex: none; }
.aac-kb-auteur div { display: flex; flex-direction: column; align-items: flex-start; gap: var(--wp--preset--spacing--10); font-size: var(--wp--preset--font-size--small); line-height: 1.55; }
.aac-kb-auteur__naam { font-weight: 700; color: var(--wp--preset--color--ink); }
.aac-kb-auteur .aac-home-link { display: inline-flex; align-items: center; min-block-size: var(--wp--custom--raakvlak--minimum); }
.aac-kb-meta { margin: 0; font-size: var(--wp--preset--font-size--micro); font-weight: 600; letter-spacing: 0.02em; color: var(--wp--preset--color--tekst); }
.aac-kb-kruimel { display: flex; flex-wrap: wrap; align-items: center; gap: 0.4rem; font-size: var(--wp--preset--font-size--small); color: var(--wp--preset--color--tekst); }
.aac-kb-kruimel a { display: inline-flex; align-items: center; min-block-size: 1.5rem; color: var(--wp--preset--color--ink); font-weight: 600; text-decoration: underline; text-decoration-color: var(--wp--preset--color--cycle-teal); text-underline-offset: 0.25em; }
.aac-kb-artikelkop .aac-kb-kruimel { margin-block-end: var(--wp--preset--spacing--20); }

/* Over-pagina: de werkplekfoto binnen de band. */
.aac-over-foto { margin: 0; }
.aac-over-foto img { display: block; inline-size: 100%; block-size: auto; max-block-size: 34rem; object-fit: cover; object-position: 50% 45%; border-radius: var(--wp--custom--kaart--radius); }

/* Begin hier: drie stappen, met beeld. */
.aac-kb-start__lijst { display: grid; gap: var(--wp--preset--spacing--40); list-style: none; margin: 0; padding: 0; }
@media (min-width: 48rem) { .aac-kb-start__lijst { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.aac-kb-start__item { display: flex; flex-direction: column; gap: var(--wp--preset--spacing--20); }
@media (max-width: 47.99rem) {
	.aac-kb-start__item:has(.aac-kb-start__beeld) { display: grid; grid-template-columns: 6.5rem minmax(0, 1fr); column-gap: var(--wp--preset--spacing--30); row-gap: var(--wp--preset--spacing--10); align-content: start; }
	.aac-kb-start__item:has(.aac-kb-start__beeld) > .aac-kb-start__beeld { grid-row: 1 / span 3; }
	.aac-kb-start__item:has(.aac-kb-start__beeld) > :not(.aac-kb-start__beeld) { grid-column: 2; }
}
.aac-kb-start__beeld img { display: block; inline-size: 100%; block-size: auto; aspect-ratio: 16 / 9; object-fit: cover; border-radius: var(--wp--custom--kaart--radius); }
.aac-kb-start__nr { color: var(--wp--preset--color--ink); font-weight: 800; }
.aac-kb-start__item h3 { margin: 0; font-size: var(--wp--preset--font-size--lead); line-height: 1.3; }
.aac-kb-start__item h3 a,
.aac-kb-hub h3 a,
.aac-kb-rij__titel a,
.aac-kb-verder__kop a { color: var(--wp--preset--color--ink); text-decoration: none; }
.aac-kb-start__item h3 a:hover,
.aac-kb-hub h3 a:hover,
.aac-kb-rij__titel a:hover,
.aac-kb-verder__kop a:hover { text-decoration: underline; text-decoration-color: var(--wp--preset--color--cycle-teal); }
.aac-kb-start__item p:not([class]) { font-size: var(--wp--preset--font-size--small); line-height: 1.55; }

/* Hubs als kaarten, met de eerste drie artikelen. */
.aac-kb-hub__artikelen { display: grid; gap: var(--wp--preset--spacing--10); margin: var(--wp--preset--spacing--10) 0 0; padding: var(--wp--preset--spacing--20) 0 0; border-block-start: var(--aac-home-rand); list-style: none; }
.aac-kb-hub__artikelen a { display: inline-block; padding-block: 0.2rem; font-size: var(--wp--preset--font-size--small); font-weight: 600; color: var(--wp--preset--color--ink); text-decoration: underline; text-decoration-color: var(--wp--preset--color--cycle-teal); text-underline-offset: 0.2em; }

/* Artikelen als lijst: kernwoorden vooraan, samenvatting van één regel of twee. */
.aac-kb-lijst { display: grid; gap: 0; list-style: none; margin: 0; padding: 0; max-inline-size: 56rem; }
.aac-kb-rij { display: grid; gap: var(--wp--preset--spacing--30); padding-block: var(--wp--preset--spacing--40); border-block-end: var(--aac-home-rand); }
.aac-kb-rij:first-child { padding-block-start: 0; }
/* Mobiel een kleine thumbnail naast de titel: een lijst blijft scanbaar (titels
   onder elkaar) in plaats van één cover per scherm. */
.aac-kb-rij--beeld { grid-template-columns: 6.5rem minmax(0, 1fr); align-items: start; }
@media (min-width: 40rem) { .aac-kb-rij--beeld { grid-template-columns: 11rem minmax(0, 1fr); } }
.aac-kb-rij__beeld { display: block; inline-size: 100%; block-size: auto; aspect-ratio: 16 / 9; object-fit: cover; border-radius: 8px; }
.aac-kb-rij__tekst { display: flex; flex-direction: column; gap: var(--wp--preset--spacing--10); }
.aac-kb-rij__titel { margin: 0; font-size: var(--wp--preset--font-size--lead); line-height: 1.3; }
.aac-kb-rij__tekst p:not([class]) { font-size: var(--wp--preset--font-size--small); line-height: 1.55; }
.aac-kb-lijst--uitgelicht .aac-kb-rij { padding-block-end: var(--wp--preset--spacing--50); }
.aac-kb-lijst--uitgelicht .aac-kb-rij__titel { font-size: var(--wp--preset--font-size--subkop); }
.aac-kb-lijst__kop { margin-block: var(--wp--preset--spacing--50) var(--wp--preset--spacing--20); }

/* Onder een artikel en op een hub: verder lezen en de volgende stap. */
.aac-kb-verder__rij { display: grid; gap: var(--wp--preset--spacing--40); margin-block-start: var(--wp--preset--spacing--50); }
@media (min-width: 48rem) { .aac-kb-verder__rij { grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; } }
.aac-kb-hubs + .aac-kb-nieuw .aac-kb-verder__rij,
.aac-kb-hero--hub ~ .aac-kb-verder .aac-kb-verder__rij { margin-block-start: 0; }
.aac-kb-verder__kop { margin: 0; font-size: var(--wp--preset--font-size--subkop); line-height: 1.3; }
.aac-kb-verder .aac-home-link { display: inline-flex; align-items: center; min-block-size: var(--wp--custom--raakvlak--minimum); }
.aac-kb-verder .aac-kb-chips { margin-block-end: var(--wp--preset--spacing--30); }
.aac-kb-doen__lijst { list-style: none; margin: 0; padding: 0; }

/* 6 HERKEN -------------------------------------------------------------- */
.aac-home-herken .aac-home-kaarten { margin-block-end: var(--wp--preset--spacing--50); }

/* 7 CASES --------------------------------------------------------------- */
.aac-home-cases__kop {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-end;
	gap: var(--wp--preset--spacing--30);
	margin-block-end: var(--wp--preset--spacing--40);
}
.aac-home-cases .aac-home-sectiekop { margin-block-end: 0; }
.aac-home-cases__nav { display: flex; gap: var(--wp--preset--spacing--20); }
.aac-home-cases__nav[hidden] { display: none; }
.aac-home-pijl {
	inline-size: var(--wp--custom--raakvlak--minimum);
	block-size: var(--wp--custom--raakvlak--minimum);
	border-radius: 50%;
	border: 1.5px solid var(--wp--preset--color--ink);
	background: var(--wp--preset--color--wit);
	color: var(--wp--preset--color--ink);
	font-size: var(--wp--preset--font-size--subkop);
	line-height: 1;
	cursor: pointer;
}
.aac-home-pijl[aria-disabled="true"] { opacity: 0.35; cursor: default; }
.aac-home-pijl:hover:not([aria-disabled="true"]) { background: var(--wp--preset--color--off-white); }
/* Veegrij (README §5): kaarten naast elkaar, snap per kaart, volgende kaart zichtbaar. */
.aac-home-cases .aac-raster {
	grid-template-columns: none;
	grid-auto-flow: column;
	/* Breed genoeg dat al bij twee cases de volgende half in beeld staat
	   (besluit Stefan 30-10: "verder kunnen klikken"). Vijf cases (CH-252az):
	   smaller, zodat op desktop twee hele kaarten en een rand van de derde staan. */
	grid-auto-columns: min(34rem, 85%);
	position: relative;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
	padding-block-end: var(--wp--preset--spacing--10);
}
.aac-home-cases .aac-raster::-webkit-scrollbar { display: none; }
.aac-home-cases .aac-raster > li { scroll-snap-align: start; }
.aac-home-cases__voet { margin-block-start: var(--wp--preset--spacing--50); }
/* Merk per case (CH-252az): logo of monogram links van het label. */
.aac-case-merk {
	display: flex;
	align-items: center;
	gap: var(--wp--preset--spacing--20);
	margin-block-end: var(--wp--preset--spacing--20);
}
.aac-case-merk__logo {
	flex: none;
	box-sizing: border-box;
	inline-size: auto;
	min-inline-size: 3rem;
	block-size: 3rem;
	max-inline-size: 7rem;
	padding: 0.3rem;
	object-fit: contain;
	border: var(--aac-home-rand);
	border-radius: 6px;
	background: var(--wp--preset--color--wit);
}
.aac-case-merk__mono { flex: none; }
.aac-case-merk__mono {
	display: inline-grid;
	place-items: center;
	min-inline-size: 3rem;
	block-size: 3rem;
	padding-inline: 0.5rem;
	border-radius: 6px;
	background: var(--wp--preset--color--ink);
	color: var(--wp--preset--color--wit);
	font-size: var(--wp--preset--font-size--micro);
	font-weight: 700;
	white-space: nowrap;
}

/* 8 STEMMEN (klantreferenties) ----------------------------------------- */
.aac-home-stemmen__lijst {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 20rem), 1fr));
	gap: var(--wp--preset--spacing--40);
	margin: 0;
	padding: 0;
	list-style: none;
}
.aac-home-stemmen__lijst > li { display: flex; }
/* CH-252bf: op verzoek van Stefan weer drie naast elkaar (01-11). De naam staat
   direct onder de quote, zodat korte kaarten geen gat tussen tekst en naam hebben. */
@media (min-width: 64rem) {
	.aac-home-stemmen__lijst:has(> li:nth-child(3):last-child) { grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: start; }
	.aac-home-stemmen__lijst:has(> li:nth-child(3):last-child) .aac-home-stem figcaption { margin-block-start: var(--wp--preset--spacing--20); }
}
.aac-home-stem {
	flex: 1;
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--30);
	margin: 0;
	padding: var(--wp--custom--kaart--padding);
	border-radius: var(--wp--custom--kaart--radius);
	background: var(--wp--preset--color--wit);
	border-inline-start: 4px solid var(--wp--preset--color--cycle-teal);
}
.aac-home-stem blockquote { margin: 0; padding: 0; border: 0; }
.aac-home-stem blockquote p {
	font-size: var(--wp--preset--font-size--body);
	line-height: 1.6;
}
.aac-home-stem blockquote p + p { margin-block-start: var(--wp--preset--spacing--20); }
.aac-home-stem__kern {
	font-weight: 700;
	font-size: var(--wp--preset--font-size--subkop);
	line-height: 1.35;
}
.aac-home-stem figcaption {
	display: flex;
	align-items: center;
	gap: var(--wp--preset--spacing--30);
	margin-block-start: auto;
	padding-block-start: var(--wp--preset--spacing--30);
	border-block-start: 1px solid var(--wp--preset--color--veldrand);
}
/* Logo's in een stem zijn vaak woordmerken: breder dan bij een case. */
.aac-home-stem .aac-case-merk { min-block-size: 3rem; }
.aac-home-stem .aac-case-merk__logo { block-size: 2.75rem; max-inline-size: 12rem; border-radius: 0; padding: 0; border: 0; background: none; }
.aac-home-stem__foto {
	inline-size: 3.5rem;
	block-size: 3.5rem;
	border-radius: 50%;
	object-fit: cover;
	flex: none;
}
.aac-home-stem__naam { font-weight: 700; }
.aac-home-stem__rol { font-size: var(--wp--preset--font-size--small); }
.aac-home-stemmen__voet { margin-block-start: var(--wp--preset--spacing--40); }

/* 9 BELOFTES (inktblauw) ----------------------------------------------- */
.aac-home-beloftes .aac-home-overline,
.aac-home-beloftes .aac-home-h2 { color: var(--wp--preset--color--wit); }
.aac-home-beloftes .aac-home-overline::before { background: var(--wp--preset--color--teal-licht); }
.aac-home-beloftes .aac-home-lead,
.has-ink-background-color .aac-home-lead { color: var(--wp--preset--color--ink-tekst); }
.aac-home-beloftes__stapel > * + * { margin-block-start: var(--wp--preset--spacing--80); }
.aac-home-beeld {
	display: block;
	inline-size: 100%;
	block-size: auto;
	border-radius: var(--wp--custom--kaart--radius);
	border: 1px solid var(--wp--preset--color--teal-licht);
	background: var(--wp--preset--color--wit);
}
/* Mobiel: beeld boven de tekst (README §2 blok 9). */
@media (max-width: 63.99rem) {
	.aac-home-6-6 > .aac-home-beeld { order: -1; }
}
.aac-home-beeld--telefoon {
	inline-size: auto;
	max-inline-size: 100%;
	block-size: auto;
	max-block-size: 28rem;
	justify-self: center;
	border: 0;
	border-radius: var(--wp--custom--kaart--radius);
	background: transparent;
}
.aac-home-beloftes__slot {
	padding-block-start: var(--wp--preset--spacing--60);
	border-block-start: 1px solid var(--wp--preset--color--ink-kaart);
}

/* 13 WIE ---------------------------------------------------------------- */
.aac-home-wie__foto {
	display: block;
	inline-size: 100%;
	max-inline-size: 22rem;
	block-size: auto;
	aspect-ratio: 1;
	object-fit: cover;
	object-position: 50% 30%;
	border-radius: var(--wp--custom--kaart--radius);
}

/* 14 FAQ ---------------------------------------------------------------- */
.aac-home-faq__lijst { display: grid; gap: var(--wp--preset--spacing--40); }
@media (min-width: 64rem) { .aac-home-faq__lijst { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.aac-home-faq .aac-faq-lijst__vraag { font-size: var(--wp--preset--font-size--body); }

/* 15 SLOT --------------------------------------------------------------- */
.aac-home-slot__inhoud {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: var(--wp--preset--spacing--40);
	text-align: center;
}
.aac-home-slot__inhoud .aac-home-h2 { margin: 0; }
.aac-home-slot__inhoud .aac-home-lead { max-inline-size: 39rem; }

/* ---------------------------------------------------------------------------
   KOPPELINGENPAGINA (CH-252au, v2 CH-252av)
   Onderbouwing in CH-252av: kleur ordent per domein (vier vlakken, altijd met
   tekstlabel), niet per categorie; groen alleen op de CTA; labels dragen hun
   tekst; logo's in één tint. Tegel = omgekeerde vlakkleur van zijn domein.
   --------------------------------------------------------------------------- */
.aac-home .screen-reader-text {
	position: absolute;
	inline-size: 1px;
	block-size: 1px;
	overflow: hidden;
	clip-path: inset(50%);
	white-space: nowrap;
}

/* Hero ------------------------------------------------------------------ */
.aac-kop-hero__rij { display: grid; gap: var(--wp--preset--spacing--60); align-items: center; }
@media (min-width: 64rem) { .aac-kop-hero__rij { grid-template-columns: 7fr 5fr; } }
.aac-kop-hero__kop { font-size: var(--wp--preset--font-size--display); }
.aac-kop-zoek {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--10);
	inline-size: 100%;
	max-inline-size: 34rem;
}
.aac-kop-zoek label { font-weight: 700; color: var(--wp--preset--color--ink); }
.aac-kop-zoek input {
	box-sizing: border-box;
	inline-size: 100%;
	min-block-size: 3.5rem;
	padding: var(--wp--preset--spacing--20) var(--wp--preset--spacing--40);
	border: 2px solid var(--wp--preset--color--ink);
	border-radius: var(--wp--custom--knop--radius);
	background: var(--wp--preset--color--wit);
	color: var(--wp--preset--color--ink);
	font: inherit;
	font-size: var(--wp--preset--font-size--lead);
	box-shadow: 0 0.5rem 1.5rem -1rem var(--wp--preset--color--ink);
}
.aac-kop-zoek input::placeholder { color: var(--wp--preset--color--grijs); }
.aac-kop-populair {
	padding: var(--wp--custom--kaart--pad-y) var(--wp--custom--kaart--pad-x);
	border-radius: var(--wp--custom--kaart--radius);
	background: var(--wp--preset--color--wit);
	border: var(--aac-home-rand);
}
.aac-kop-populair__kop {
	margin: 0 0 var(--wp--preset--spacing--30);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 700;
	color: var(--wp--preset--color--ink);
}
.aac-kop-populair ul {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--wp--preset--spacing--20);
	list-style: none;
	margin: 0;
	padding: 0;
}
.aac-kop-populair a {
	display: flex;
	align-items: center;
	gap: var(--wp--preset--spacing--20);
	min-block-size: var(--wp--custom--raakvlak--minimum);
	padding: var(--wp--preset--spacing--10) var(--wp--preset--spacing--20);
	border: var(--aac-home-rand);
	border-radius: var(--wp--custom--knop--radius);
	background: var(--wp--preset--color--off-white);
	color: var(--wp--preset--color--ink);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 600;
	text-decoration: none;
	transition: border-color 0.15s, background-color 0.15s;
}
.aac-kop-populair a:hover { border-color: var(--wp--preset--color--cycle-teal); background: var(--wp--preset--color--teal-vlak); }
/* Smalle telefoons: "WooCommerce" past anders niet in een tegel van 150px. */
@media (max-width: 29.99rem) {
	.aac-kop-populair { padding-inline: var(--wp--preset--spacing--30); }
	.aac-kop-populair a { gap: 0.4rem; padding-inline: 0.5rem; font-size: 0.875rem; }
	.aac-kop-populair a .aac-kop-logo { inline-size: 1.375rem; block-size: 1.375rem; flex: none; }
}

/* Logo en monogram ------------------------------------------------------ */
.aac-kop-logo {
	flex: none;
	inline-size: 1.75rem;
	block-size: 1.75rem;
	object-fit: contain;
	/* Simple Icons-SVG's zijn zwart; zo worden ze één rustige inkt-tint. */
	opacity: 0.78;
}
.aac-kop-logo--mono {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	border: 1.5px solid var(--wp--preset--color--ink);
	border-radius: 0.4rem;
	color: var(--wp--preset--color--ink);
	font-size: var(--wp--preset--font-size--micro);
	font-weight: 800;
	letter-spacing: 0.02em;
	opacity: 0.85;
}

/* Filters --------------------------------------------------------------- */
.aac-kop-filters { display: flex; flex-wrap: wrap; gap: var(--wp--preset--spacing--20); margin-block-end: var(--wp--preset--spacing--30); }
.aac-kop-filters[hidden],
.aac-kop-actief[hidden],
.aac-kop-domein[hidden],
.aac-kop-categorie[hidden],
.aac-kop-tegel[hidden],
.aac-kop-leeg[hidden] { display: none; }
.aac-kop-filter {
	display: inline-flex;
	align-items: center;
	gap: var(--wp--preset--spacing--10);
	min-block-size: var(--wp--custom--raakvlak--minimum);
	padding: 0 var(--wp--preset--spacing--30);
	border: 1.5px solid var(--wp--preset--color--ink);
	border-radius: 2rem;
	background: var(--wp--preset--color--wit);
	color: var(--wp--preset--color--ink);
	font: inherit;
	font-size: var(--wp--preset--font-size--small);
	font-weight: 600;
	cursor: pointer;
}
.aac-kop-filter__tal {
	padding: 0 0.45em;
	border-radius: 1rem;
	background: var(--wp--preset--color--off-white);
	font-size: var(--wp--preset--font-size--micro);
	font-weight: 700;
}
.aac-kop-filter[aria-pressed="true"] { background: var(--wp--preset--color--ink); color: var(--wp--preset--color--wit); }
.aac-kop-filter[aria-pressed="true"] .aac-kop-filter__tal { background: var(--wp--preset--color--ink-kaart); }
.aac-kop-actief {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--wp--preset--spacing--20) var(--wp--preset--spacing--40);
	margin-block-end: var(--wp--preset--spacing--30);
	padding: var(--wp--preset--spacing--20) var(--wp--preset--spacing--30);
	border-radius: var(--wp--custom--knop--radius);
	background: var(--wp--preset--color--teal-vlak);
}
.aac-kop-teller { margin: 0; font-weight: 600; color: var(--wp--preset--color--ink); }
.aac-kop-wis {
	min-block-size: var(--wp--custom--raakvlak--minimum);
	padding: 0 var(--wp--preset--spacing--30);
	border: 1.5px solid var(--wp--preset--color--ink);
	border-radius: var(--wp--custom--knop--radius);
	background: var(--wp--preset--color--wit);
	color: var(--wp--preset--color--ink);
	font: inherit;
	font-size: var(--wp--preset--font-size--small);
	font-weight: 600;
	cursor: pointer;
}
.aac-kop-wis--link {
	min-block-size: 0;
	padding: 0;
	border: 0;
	background: none;
	text-decoration: underline;
	text-decoration-color: var(--wp--preset--color--cycle-teal);
	text-underline-offset: 0.25em;
}

/* Legenda en labels ----------------------------------------------------- */
.aac-kop-legenda {
	display: flex;
	flex-wrap: wrap;
	gap: var(--wp--preset--spacing--20) var(--wp--preset--spacing--50);
	margin: 0 0 var(--wp--preset--spacing--50);
	font-size: var(--wp--preset--font-size--small);
}
.aac-kop-legenda div { display: flex; align-items: center; gap: var(--wp--preset--spacing--20); }
.aac-kop-legenda dd { margin: 0; }
.aac-kop-label {
	display: inline-block;
	align-self: flex-start;
	padding: 0.125rem var(--wp--preset--spacing--20);
	border-radius: 1rem;
	border: 1px solid var(--wp--preset--color--ink);
	font-size: var(--wp--preset--font-size--micro);
	font-weight: 700;
	white-space: nowrap;
	color: var(--wp--preset--color--ink);
	background: var(--wp--preset--color--wit);
}
.aac-kop-label--productie { background: var(--wp--preset--color--ink); color: var(--wp--preset--color--wit); }
.aac-kop-label--standaard { background: var(--wp--preset--color--teal-vlak); border-color: var(--wp--preset--color--cycle-teal); }
.aac-kop-label--maatwerk { border-style: dashed; }

/* Domeinvlakken --------------------------------------------------------- */
.aac-kop-domein {
	--aac-dom-vlak: var(--wp--preset--color--off-white);
	--aac-dom-tegel: var(--wp--preset--color--wit);
	--aac-dom-accent: var(--wp--preset--color--ink);
	margin-block-start: var(--wp--preset--spacing--50);
	padding: clamp(1.25rem, 3vw, 2.5rem);
	border-radius: calc(var(--wp--custom--kaart--radius) * 1.5);
	background: var(--aac-dom-vlak);
	border-block-start: 0.375rem solid var(--aac-dom-accent);
}
.aac-kop-domein--verkoop { --aac-dom-vlak: var(--wp--preset--color--teal-vlak); --aac-dom-accent: var(--wp--preset--color--cycle-teal); }
.aac-kop-domein--samenwerken { --aac-dom-accent: var(--wp--preset--color--teal-licht); }
.aac-kop-domein--data {
	--aac-dom-vlak: var(--wp--preset--color--ink);
	--aac-dom-tegel: var(--wp--preset--color--ink-kaart);
	--aac-dom-accent: var(--wp--preset--color--teal-licht);
	color: var(--wp--preset--color--ink-tekst);
}
.aac-kop-domein__kop { max-inline-size: 46rem; margin-block-end: var(--wp--preset--spacing--40); }
.aac-kop-domein__label {
	margin: 0 0 var(--wp--preset--spacing--10);
	font-size: var(--wp--preset--font-size--micro);
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--wp--preset--color--ink);
}
.aac-kop-domein__titel {
	margin: 0 0 var(--wp--preset--spacing--20);
	font-size: var(--wp--preset--font-size--titel);
	line-height: 1.15;
	font-weight: 800;
	color: var(--wp--preset--color--ink);
}
.aac-kop-domein__intro { margin: 0; font-size: var(--wp--preset--font-size--body); line-height: 1.6; }
.aac-kop-domein--data .aac-kop-domein__label { color: var(--wp--preset--color--teal-licht); }
.aac-kop-domein--data .aac-kop-domein__titel { color: var(--wp--preset--color--wit); }

.aac-kop-categorie + .aac-kop-categorie { margin-block-start: var(--wp--preset--spacing--50); }
.aac-kop-categorie__kop {
	margin: 0 0 var(--wp--preset--spacing--10);
	font-size: var(--wp--preset--font-size--subkop);
	color: var(--wp--preset--color--ink);
}
.aac-kop-categorie__intro { margin: 0 0 var(--wp--preset--spacing--30); max-inline-size: 46rem; font-size: var(--wp--preset--font-size--small); line-height: 1.6; }
.aac-kop-domein--data .aac-kop-categorie__kop { color: var(--wp--preset--color--wit); }

/* Tegels ---------------------------------------------------------------- */
.aac-kop-tegels {
	display: grid;
	gap: var(--wp--preset--spacing--30);
	grid-template-columns: repeat(auto-fill, minmax(min(13.5rem, 100%), 1fr));
	list-style: none;
	margin: 0;
	padding: 0;
}
.aac-kop-tegel {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--10);
	padding: var(--wp--preset--spacing--30) var(--wp--preset--spacing--30) var(--wp--preset--spacing--40);
	border: var(--aac-home-rand);
	border-radius: var(--wp--custom--kaart--radius);
	background: var(--aac-dom-tegel);
	font-size: var(--wp--preset--font-size--small);
	line-height: 1.5;
	transition: border-color 0.15s, transform 0.15s;
}
.aac-kop-tegel:hover { border-color: var(--aac-dom-accent); }
.aac-kop-tegel__kop { display: flex; flex-wrap: wrap; align-items: center; gap: var(--wp--preset--spacing--10) var(--wp--preset--spacing--20); }
.aac-kop-tegel__kop .aac-kop-label { margin-inline-start: auto; }
.aac-kop-tegel h4 { margin: 0; font-size: var(--wp--preset--font-size--body); line-height: 1.25; color: var(--wp--preset--color--ink); }
.aac-kop-tegel__hoe { font-size: var(--wp--preset--font-size--micro); font-weight: 600; color: var(--wp--preset--color--grijs); }
.aac-kop-tegel .aac-home-link { margin-block-start: auto; min-block-size: var(--wp--custom--raakvlak--minimum); display: inline-flex; align-items: center; }

/* Donker domein: tegels in ink-kaart, tekst en logo's licht. */
.aac-kop-domein--data .aac-kop-tegel { border-color: var(--wp--preset--color--ink-kaart); }
.aac-kop-domein--data .aac-kop-tegel:hover { border-color: var(--wp--preset--color--teal-licht); }
.aac-kop-domein--data .aac-kop-tegel h4 { color: var(--wp--preset--color--wit); }
.aac-kop-domein--data .aac-kop-tegel__hoe { color: var(--wp--preset--color--ink-tekst); }
/* Links op het donkere vlak: licht-teal, ruim boven 4,5:1 op ink-kaart. */
.aac-kop-domein--data .aac-home-link { color: var(--wp--preset--color--teal-licht); text-decoration-color: currentColor; }
.aac-kop-domein--data .aac-kop-logo { filter: invert(1); opacity: 0.85; }
.aac-kop-domein--data .aac-kop-logo--mono { filter: none; border-color: var(--wp--preset--color--teal-licht); color: var(--wp--preset--color--teal-licht); }
.aac-kop-domein--data .aac-kop-label--productie { background: var(--wp--preset--color--teal-licht); border-color: var(--wp--preset--color--teal-licht); color: var(--wp--preset--color--ink); }
.aac-kop-domein--data .aac-kop-label--standaard { background: var(--wp--preset--color--ink); border-color: var(--wp--preset--color--teal-licht); color: var(--wp--preset--color--teal-licht); }
.aac-kop-domein--data .aac-kop-label--maatwerk { background: transparent; border-color: var(--wp--preset--color--ink-tekst); color: var(--wp--preset--color--ink-tekst); }

/* Open source (CH-252az): licentie als feit onder de regel, geen extra kleur-
   claim; het woord staat er altijd bij (WCAG 1.4.1). */
.aac-kop-tegel__licentie { font-size: var(--wp--preset--font-size--micro); color: var(--wp--preset--color--grijs); }
.aac-kop-oss {
	display: inline-block;
	padding: 0 0.4em;
	border-radius: 4px;
	background: var(--wp--preset--color--off-white);
	color: var(--wp--preset--color--ink);
	font-size: var(--wp--preset--font-size--micro);
	font-weight: 700;
}
.aac-kop-domein--data .aac-kop-tegel__licentie { color: var(--wp--preset--color--ink-tekst); }
.aac-kop-domein--data .aac-kop-oss { background: var(--wp--preset--color--ink); color: var(--wp--preset--color--teal-licht); }
.aac-kop-filter--oss { border-style: dashed; }

/* Leeg, slot, routes, lijst --------------------------------------------- */
.aac-kop-leeg { margin-block-start: var(--wp--preset--spacing--40); }
.aac-kop-overzicht__slot { margin-block-start: var(--wp--preset--spacing--60); padding: clamp(1.25rem, 3vw, 2.5rem); }
.aac-kop-overzicht__slot h3 { font-size: var(--wp--preset--font-size--kop); }
.aac-kop-stappen { margin: 0; padding-inline-start: 1.25rem; display: grid; gap: var(--wp--preset--spacing--10); color: var(--wp--preset--color--ink); font-weight: 600; }
.aac-kop-uitleg .aac-home-kaarten { margin-block-end: var(--wp--preset--spacing--50); }
.aac-kop-routes { margin-block-end: var(--wp--preset--spacing--50); }
.aac-kop-route {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--20);
	padding: var(--wp--custom--kaart--pad-y) var(--wp--custom--kaart--pad-x);
	border-radius: var(--wp--custom--kaart--radius);
	background: var(--wp--preset--color--ink-kaart);
	color: var(--wp--preset--color--ink-tekst);
}
.aac-kop-route h3 { margin: 0; font-size: var(--wp--preset--font-size--lead); color: var(--wp--preset--color--wit); }
.aac-kop-route p { font-size: var(--wp--preset--font-size--small); line-height: 1.55; }
.aac-kop-route .aac-home-link { margin-block-start: auto; }
.aac-kop-route__flow { display: flex; flex-wrap: wrap; gap: var(--wp--preset--spacing--10); font-weight: 700; color: var(--wp--preset--color--teal-licht); }
.aac-kop-voorbeelden__beeld { margin-block-start: var(--wp--preset--spacing--30); }
.aac-kop-lijst { margin: 0; padding-inline-start: 1.25rem; display: grid; gap: var(--wp--preset--spacing--20); }
.aac-kop-lijst li::marker { color: var(--wp--preset--color--cycle-teal); }

/* ---------------------------------------------------------------------------
   DETAILPAGINA'S KOPPELINGEN (CH-252ax) — template page-koppeling.
   Leeskolom van ±46rem voor de lopende tekst; FAQ als open kaarten
   (core/details met open, zodat aac-seo er FAQPage van maakt).
   --------------------------------------------------------------------------- */
.aac-kop-detail-hero__inhoud { max-inline-size: 52rem; margin-inline: 0; }
.aac-kop-detail-hero .aac-home-overline a { color: inherit; text-decoration: underline; text-decoration-color: var(--wp--preset--color--cycle-teal); text-underline-offset: 0.25em; }
.aac-kop-detail-hero__kop { display: flex; align-items: center; gap: var(--wp--preset--spacing--30); }
.aac-kop-detail-hero__kop .aac-kop-logo { inline-size: 3rem; block-size: 3rem; font-size: var(--wp--preset--font-size--body); }
.aac-kop-detail-hero__titel {
	margin: 0;
	font-size: var(--wp--preset--font-size--titel-groot);
	line-height: 1.1;
	font-weight: 800;
	letter-spacing: -0.015em;
	color: var(--wp--preset--color--ink);
}
.aac-kop-detail-hero__labels { display: flex; flex-wrap: wrap; align-items: center; gap: var(--wp--preset--spacing--20); }
.aac-kop-detail-hero__hoe { font-size: var(--wp--preset--font-size--small); font-weight: 600; color: var(--wp--preset--color--tekst); }

.aac-kop-detail__band > * { max-inline-size: 46rem; margin-inline: 0; }
.aac-kop-detail__band > h2 {
	/* Links uitlijnen met de tekst eronder; het thema centreert koppen standaard. */
	text-align: start;
	margin: var(--wp--preset--spacing--60) 0 var(--wp--preset--spacing--30);
	font-size: var(--wp--preset--font-size--kop);
	line-height: 1.2;
	color: var(--wp--preset--color--ink);
	scroll-margin-top: var(--wp--preset--spacing--60);
}
.aac-kop-detail__band > h2:first-child { margin-block-start: 0; }
/* De themaregel `#aac-main h2.wp-block-heading` centreert kernblok-koppen
   (ID-specificiteit). Op detailpagina's lijnt de kop uit met de leeskolom. */
#aac-main .aac-kop-detail__band > h2.wp-block-heading { text-align: start; margin-inline: 0; }
.aac-kop-detail__band > p,
.aac-kop-detail__band > ul { font-size: var(--wp--preset--font-size--body); line-height: 1.65; }
.aac-kop-detail__band > ul:not(.aac-kop-detail__valkuilen) { padding-inline-start: 1.25rem; }
.aac-kop-detail__band > ul:not(.aac-kop-detail__valkuilen) li + li { margin-block-start: var(--wp--preset--spacing--10); }
.aac-kop-detail__band > ul li::marker { color: var(--wp--preset--color--cycle-teal); }
.aac-kop-detail__valkuilen {
	display: grid;
	gap: var(--wp--preset--spacing--30);
	list-style: none;
	padding: 0;
}
.aac-kop-detail__band > .aac-kop-detail__valkuilen { max-inline-size: 60rem; }
@media (min-width: 48rem) { .aac-kop-detail__valkuilen { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.aac-kop-detail__valkuilen li {
	padding: var(--wp--preset--spacing--40);
	border-radius: var(--wp--custom--kaart--radius);
	border-inline-start: 0.3125rem solid var(--wp--preset--color--amber);
	background: var(--wp--preset--color--amber-vlak);
	color: var(--wp--preset--color--amber-tekst);
	font-size: var(--wp--preset--font-size--small);
	line-height: 1.55;
}
.aac-kop-detail__valkuilen strong { color: var(--wp--preset--color--amber-kop); }
.aac-kop-detail__faq {
	margin-block-start: var(--wp--preset--spacing--20);
	padding: var(--wp--preset--spacing--30) var(--wp--preset--spacing--40);
	border: var(--aac-home-rand);
	border-radius: var(--wp--custom--kaart--radius);
	background: var(--wp--preset--color--off-white);
}
.aac-kop-detail__faq summary {
	font-weight: 700;
	color: var(--wp--preset--color--ink);
	cursor: pointer;
	min-block-size: var(--wp--custom--raakvlak--minimum);
	display: flex;
	align-items: center;
}
.aac-kop-detail__faq p { margin: var(--wp--preset--spacing--10) 0 0; font-size: var(--wp--preset--font-size--small); line-height: 1.6; }
/* CH-252bd: display:flex haalt het standaard driehoekje weg; een plus/min laat zien
   dat een ingeklapte vraag open kan. */
.aac-kop-detail__faq summary { justify-content: space-between; gap: var(--wp--preset--spacing--30); list-style: none; }
.aac-kop-detail__faq summary::-webkit-details-marker { display: none; }
.aac-kop-detail__faq summary::after { content: "+"; flex: none; display: inline-grid; place-items: center; inline-size: 1.75rem; block-size: 1.75rem; border-radius: 50%; background: var(--wp--preset--color--wit); border: var(--aac-home-rand); font-weight: 600; line-height: 1; }
.aac-kop-detail__faq[open] summary::after { content: "–"; }
.aac-kop-detail__band > .aac-kop-detail__voordelen { max-inline-size: 60rem; }
.aac-kop-detail__voordelen { display: grid; gap: var(--wp--preset--spacing--30); list-style: none; padding: 0; }
@media (min-width: 48rem) { .aac-kop-detail__voordelen { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.aac-kop-detail__voordelen li {
	padding: var(--wp--preset--spacing--40);
	border-radius: var(--wp--custom--kaart--radius);
	border-inline-start: 0.3125rem solid var(--wp--preset--color--cycle-teal);
	background: var(--wp--preset--color--teal-vlak);
	color: var(--wp--preset--color--ink);
	font-size: var(--wp--preset--font-size--small);
	line-height: 1.55;
}
.aac-kop-detail__band > .aac-kop-detail__tabel { max-inline-size: 60rem; overflow-x: auto; }
.aac-kop-detail__tabel table { inline-size: 100%; border-collapse: collapse; font-size: var(--wp--preset--font-size--small); }
.aac-kop-detail__tabel th { text-align: start; padding: var(--wp--preset--spacing--20); background: var(--wp--preset--color--ink); color: var(--wp--preset--color--wit); }
.aac-kop-detail__tabel td { padding: var(--wp--preset--spacing--20); border-block-end: var(--aac-home-rand); }
.aac-kop-detail__tabel figcaption { margin-block-start: var(--wp--preset--spacing--10); font-size: var(--wp--preset--font-size--micro); color: var(--wp--preset--color--tekst); }
.aac-kop-verwant { --aac-dom-tegel: var(--wp--preset--color--wit); --aac-dom-accent: var(--wp--preset--color--cycle-teal); }
.aac-kop-verwant__naam { margin: 0; font-size: var(--wp--preset--font-size--body); line-height: 1.25; color: var(--wp--preset--color--ink); }
.aac-kop-verwant .aac-kop-tegel > p { font-size: var(--wp--preset--font-size--small); }
.aac-kop-verwant__alle { margin-block-start: var(--wp--preset--spacing--40); }

/* Rijen per categorie (CH-252ay, feedback Stefan 31-10): bladeren met pijlen
   zoals de case-rij. Zoeken of filteren zet de rijen om naar een raster met
   alle treffers (.is-gefilterd, gezet door home.js). Zonder JS veegt de rij. */
.aac-kop-categorie__balk { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: var(--wp--preset--spacing--20) var(--wp--preset--spacing--40); margin-block-end: var(--wp--preset--spacing--30); }
.aac-kop-categorie__balk .aac-kop-categorie__intro { margin-block-end: 0; }
.aac-kop-categorie__tal {
	display: inline-block;
	margin-inline-start: var(--wp--preset--spacing--10);
	padding: 0 0.5em;
	border-radius: 1rem;
	background: var(--wp--preset--color--ink);
	color: var(--wp--preset--color--wit);
	font-size: var(--wp--preset--font-size--micro);
	font-weight: 700;
	vertical-align: middle;
}
.aac-kop-domein--data .aac-kop-categorie__tal { background: var(--wp--preset--color--teal-licht); color: var(--wp--preset--color--ink); }
.aac-kop-rail-nav { display: flex; gap: var(--wp--preset--spacing--20); }
.aac-kop-rail-nav[hidden] { display: none; }
.aac-kop-domein--data .aac-home-pijl { background: var(--wp--preset--color--ink-kaart); color: var(--wp--preset--color--wit); border-color: var(--wp--preset--color--teal-licht); }
/* position: relative maakt de rij het containing block, zodat ook absoluut
   gepositioneerde schermlezertekst in tegels buiten beeld wordt afgeknipt.
   Zonder dit was de pagina 3.100px breed (verborgen door overflow-x: clip). */
.aac-kop-rail { position: relative; }
.aac-kop-overzicht:not(.is-gefilterd) .aac-kop-rail {
	grid-template-columns: none;
	grid-auto-flow: column;
	grid-auto-columns: min(17rem, 82%);
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
	padding-block-end: var(--wp--preset--spacing--10);
}
/* Desktop precies 4 en tablet precies 3 tegels in beeld (geen half afgesneden
   tegel); mobiel blijft de volgende tegel zichtbaar als uitnodiging tot vegen. */
@media (min-width: 48rem) {
	.aac-kop-overzicht:not(.is-gefilterd) .aac-kop-rail { grid-auto-columns: calc((100% - 2 * var(--wp--preset--spacing--30)) / 3); }
}
@media (min-width: 64rem) {
	.aac-kop-overzicht:not(.is-gefilterd) .aac-kop-rail { grid-auto-columns: calc((100% - 3 * var(--wp--preset--spacing--30)) / 4); }
}
.aac-kop-overzicht:not(.is-gefilterd) .aac-kop-rail::-webkit-scrollbar { display: none; }
.aac-kop-overzicht:not(.is-gefilterd) .aac-kop-rail > li { scroll-snap-align: start; }
.aac-kop-overzicht.is-gefilterd .aac-kop-rail-nav { display: none; }
.aac-kop-elk {
	margin: 0 0 var(--wp--preset--spacing--30);
	padding: var(--wp--preset--spacing--20) var(--wp--preset--spacing--30);
	border-inline-start: 0.25rem solid var(--wp--preset--color--cycle-teal);
	background: var(--wp--preset--color--teal-vlak);
	border-radius: 0 var(--wp--custom--knop--radius) var(--wp--custom--knop--radius) 0;
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--ink);
}

/* Telefoon: twee compacte kolommen, omschrijving op maximaal drie regels.
   116 tegels in één kolom gaven een pagina van ruim 30.000px. De volledige
   tekst blijft in de DOM; onder 22rem (320px) weer één kolom. */
@media (min-width: 22rem) and (max-width: 39.99rem) {
	.aac-kop-overzicht.is-gefilterd .aac-kop-tegels { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--wp--preset--spacing--20); }
	.aac-kop-tegel { padding: var(--wp--preset--spacing--20) var(--wp--preset--spacing--20) var(--wp--preset--spacing--30); }
	.aac-kop-tegel h4 { font-size: var(--wp--preset--font-size--small); }
	.aac-kop-tegel__kop .aac-kop-label { margin-inline-start: 0; }
	.aac-kop-tegel > p:not([class]) {
		display: -webkit-box;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 3;
		overflow: hidden;
		font-size: var(--wp--preset--font-size--micro);
	}
	.aac-kop-domein { padding: var(--wp--preset--spacing--40) var(--wp--preset--spacing--30); }
}

@media (prefers-reduced-motion: reduce) {
	.aac-kop-tegel,
	.aac-kop-populair a { transition: none; }
}

/* Mobiel: knoppen een duim hoog en de CTA-tekst op één regel. */
@media (max-width: 47.99rem) {
	.aac-home-h2 { font-size: var(--wp--preset--font-size--kop); }
	.aac-home .aac-knop { min-block-size: 3.25rem; }
	.aac-home .aac-knop__label { white-space: nowrap; }
}

/* Terug op koppelingdetailpagina's (CH-252bg) */
.aac-home .aac-terug { display: flex; flex-wrap: wrap; gap: 0 var(--wp--preset--spacing--40); padding-block-start: var(--wp--preset--spacing--30); }
.aac-terug .aac-home-link { margin-inline: 0; display: inline-flex; align-items: center; min-block-size: var(--wp--custom--raakvlak--minimum); }

/* Auteur en datum op systeempagina's (CH-252bq) */
.aac-home .aac-kop-meta { gap: 0.35em; padding-block: var(--wp--preset--spacing--20) 0; font-size: var(--wp--preset--font-size--small); color: var(--wp--preset--color--tekst); }
.aac-kop-meta p, .aac-kop-meta .wp-block-post-date { margin: 0; font-size: inherit; }
.aac-kop-meta a { color: inherit; text-decoration: underline; text-decoration-color: var(--wp--preset--color--cycle-teal); text-underline-offset: 0.25em; }

/* Audit op locatie op de scanpagina (CH-252bg) */
.aac-scan-audit__prijs { margin-block-start: var(--wp--preset--spacing--40); padding: var(--wp--preset--spacing--30) var(--wp--preset--spacing--40); border-inline-start: 4px solid var(--wp--preset--color--cycle-teal); background: var(--wp--preset--color--off-white); border-radius: var(--wp--custom--kaart--radius); }
.aac-scan-audit__bedrag { margin: 0 0 var(--wp--preset--spacing--20); font-size: var(--wp--preset--font-size--lead); }
.aac-scan-audit__prijs ul { margin: 0 0 var(--wp--preset--spacing--30); padding-inline-start: 1.25em; }
.aac-scan-audit__prijs li + li { margin-block-start: 0.35em; }
