/*
Theme Name: E-facturatie Ontcijferd 2026
Theme URI: https://www.efacturatieontcijferd.be/
Author: Philippe Kimpe en Jelle Heyvaert
Description: Block theme voor de boekwebsite E-facturatie Ontcijferd, in de stijl van de boekcover en de carrousels: navy met isometrisch raster, roze accenten en crème kaarten. Met de Peppol-checker, de e-factuurvalidator en ondersteuning voor WooCommerce.
Requires at least: 6.6
Tested up to: 7.1
Requires PHP: 8.1
Version: 2.10.50
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: efo
*/

/* Zichtbare focus voor toetsenbordgebruikers (WCAG 2.4.7) */
:where(a, button, input, select, textarea, summary, .wp-element-button, [tabindex]):focus-visible {
	outline: 3px solid var(--wp--preset--color--wijnrood);
	outline-offset: 3px;
	border-radius: 2px;
}

/* Skip link */
.skip-link.screen-reader-text:focus {
	background: var(--wp--preset--color--wit);
	color: var(--wp--preset--color--tekst);
	padding: 0.75rem 1rem;
	z-index: 100000;
}

/* Inhoudstafel: uitklapbare hoofdstukken */
.efo-toc details {
	border-bottom: 1px solid var(--wp--preset--color--lijn);
	padding: 0.25rem 0;
}
.efo-toc summary {
	cursor: pointer;
	padding: 1rem 0;
		font-size: var(--wp--preset--font-size--large);
	font-weight: 600;
	color: var(--wp--preset--color--tekst);
}
.efo-toc ul ul {
	margin-top: 0.25rem;
	color: var(--wp--preset--color--grijs);
}

/* Veelgestelde vragen */
.efo-faq { border-bottom: 1px solid var(--wp--preset--color--lijn); padding: 0.25rem 0; margin-block-start: 0 !important; }
.efo-faq summary { cursor: pointer; padding: 1rem 0; font-weight: 600; font-size: 1.125rem; color: var(--wp--preset--color--tekst); }
.efo-faq summary:hover { color: var(--wp--preset--color--wijnrood); }
.efo-faq > p { margin-top: 0; padding-bottom: 1rem; color: var(--wp--preset--color--grijs); }

/* Placeholder voor nog te kiezen plugins */
.efo-placeholder {
	border: 2px dashed var(--wp--preset--color--lijn);
	border-radius: 10px;
	text-align: center;
	color: var(--wp--preset--color--grijs);
}

/* Geen witte stroken tussen secties op volle breedte en boven de footer */
.wp-site-blocks > footer.wp-block-template-part,
.wp-site-blocks > .wp-block-template-part:last-child { margin-block-start: 0 !important; }
.wp-block-post-content > .alignfull { margin-block-start: 0 !important; margin-block-end: 0 !important; }
main.wp-block-group > .entry-content > .alignfull:last-child,
main.wp-block-group > .wp-block-post-content > .alignfull:last-child { margin-block-end: 0 !important; }

/* WooCommerce: rustige, consistente vormgeving */
.woocommerce div.product .product_title {
		color: var(--wp--preset--color--tekst);
}
.woocommerce div.product p.price,
.woocommerce div.product span.price {
	color: var(--wp--preset--color--tekst);
	font-weight: 600;
}
.woocommerce .button,
.woocommerce button.button,
.woocommerce a.button,
.woocommerce button.button.alt {
	background: var(--wp--preset--color--roze);
	color: var(--wp--preset--color--wit);
	border-radius: 2rem;
	font-weight: 600;
}
.woocommerce .button:hover,
.woocommerce button.button:hover,
.woocommerce button.button.alt:hover {
	background: var(--wp--preset--color--wijnrood);
	color: var(--wp--preset--color--wit);
}
.woocommerce span.onsale { background: var(--wp--preset--color--roze); color: #fff; border-radius: 2rem; min-height: auto; min-width: auto; line-height: 1; padding: 0.45rem 0.8rem; font-weight: 600; font-size: 0.8rem; top: 0.75rem; left: 0.75rem; margin: 0; }
.woocommerce div.product p.price del, .woocommerce div.product span.price del { opacity: 0.6; font-weight: 400; margin-right: 0.3em; }
.woocommerce div.product p.price ins { text-decoration: none; }
.woocommerce div.product div.images img {
	border-radius: 4px;
	box-shadow: 0 16px 32px rgba(27, 54, 79, 0.14);
}

@media (prefers-reduced-motion: reduce) {
	* {
		transition: none !important;
		scroll-behavior: auto !important;
	}
}

/* Peppol-tools */
.efo-tool { margin-block: 1.5rem 2rem; }
.efo-tool__form label { display: block; font-weight: 600; margin-bottom: 0.4rem; }
.efo-tool__rij { display: flex; gap: 0.6rem; flex-wrap: wrap; }
.efo-tool__rij input { flex: 1 1 16rem; min-width: 0; padding: 0.8rem 1rem; font: inherit; border: 1px solid var(--wp--preset--color--lijn); border-radius: 6px; background: var(--wp--preset--color--wit); }
.efo-tool__rij input:focus { border-color: var(--wp--preset--color--navy); outline: 3px solid rgba(27, 54, 79, 0.15); }
.efo-tool__rij .wp-element-button { flex: 0 0 auto; }
.efo-tool__rij .wp-element-button[disabled] { opacity: 0.6; cursor: progress; }
.efo-tool__hint { font-size: 0.875rem; color: var(--wp--preset--color--grijs); margin-top: 0.5rem; }
.efo-tool__resultaat:empty { display: none; }
.efo-tool__resultaat { margin-top: 1.5rem; }
.efo-tool__bezig { color: var(--wp--preset--color--grijs); }
.efo-tool__bezig::before { content: ""; display: inline-block; width: 1em; height: 1em; margin-right: 0.5em; vertical-align: -0.15em; border: 2px solid var(--wp--preset--color--lijn); border-top-color: var(--wp--preset--color--roze); border-radius: 50%; animation: efo-draai 0.8s linear infinite; }
@keyframes efo-draai { to { transform: rotate(360deg); } }
.efo-tool__fout { padding: 1rem 1.25rem; border-radius: 6px; background: #FBEDEF; color: #7A1F37; }
.efo-tool__samenvatting { padding: 1rem 1.25rem; border-radius: 6px; border-left: 5px solid; margin-bottom: 1rem; }
.efo-tool__samenvatting p { margin: 0.2rem 0; }
.efo-tool__samenvatting.is-ok { background: #EAF5EE; border-color: #2E7D4F; }
.efo-tool__samenvatting.is-nee { background: #FBEDEF; border-color: var(--wp--preset--color--wijnrood); }
.efo-tool__kaarten { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 16rem), 1fr)); gap: 1rem; }
.efo-tool__kaart { border: 1px solid var(--wp--preset--color--lijn); border-radius: 6px; padding: 1rem 1.25rem; background: var(--wp--preset--color--wit); }
.efo-tool__kaart p { margin: 0.15rem 0; }
.efo-tool__kaart ul { margin: 0.3rem 0 0; padding-left: 1.1rem; font-size: 0.9rem; }
.efo-tool__directory { margin: 1rem 0; padding: 0.9rem 1.25rem; border: 1px solid var(--wp--preset--color--lijn); border-radius: 6px; background: var(--wp--preset--color--wit); }
.efo-tool__directory dl { display: grid; grid-template-columns: max-content 1fr; gap: 0.25rem 1rem; margin: 0.4rem 0; font-size: 0.95rem; }
.efo-tool__directory dt { color: #5b5b5b; }
.efo-tool__directory dd { margin: 0; }
@media (max-width: 480px) { .efo-tool__directory dl { grid-template-columns: 1fr; } .efo-tool__directory dd { margin-bottom: 0.4rem; } }
.efo-tool__status { font-weight: 700; font-size: 0.8rem; letter-spacing: 0.06em; text-transform: uppercase; }
.efo-tool__kaart.is-ok .efo-tool__status { color: #2E7D4F; }
.efo-tool__kaart.is-nee .efo-tool__status { color: var(--wp--preset--color--wijnrood); }
.efo-tool__label { font-weight: 600; }
.efo-tool__meta { font-size: 0.875rem; color: var(--wp--preset--color--grijs); }
.efo-tool code { font-size: 0.85em; background: var(--wp--preset--color--licht); padding: 0.1em 0.35em; border-radius: 3px; overflow-wrap: anywhere; }
.efo-tool__drop { border: 2px dashed var(--wp--preset--color--lijn); border-radius: 10px; padding: 2rem 1.25rem; text-align: center; cursor: pointer; background: var(--wp--preset--color--wit); transition: border-color 0.15s ease, background 0.15s ease; }
.efo-tool__drop p { margin: 0.25rem 0; }
.efo-tool__drop:hover, .efo-tool__drop.is-over { border-color: var(--wp--preset--color--roze); background: #FDF5F7; }
.efo-tool__info { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 14rem), 1fr)); gap: 0.5rem 1.5rem; margin: 0 0 1rem; }
.efo-tool__info dt { font-size: 0.8rem; color: var(--wp--preset--color--grijs); }
.efo-tool__info dd { margin: 0; font-weight: 500; overflow-wrap: anywhere; }
.efo-tool__kop { font-size: 1.1rem; margin: 1.5rem 0 0.5rem; }
.efo-tool__meldingen { list-style: none; padding: 0; margin: 0; }
.efo-tool__meldingen li { padding: 0.75rem 1rem; border-left: 4px solid; background: var(--wp--preset--color--licht); margin-bottom: 0.5rem; border-radius: 0 6px 6px 0; font-size: 0.95rem; }
.efo-tool__meldingen.is-fout li { border-color: var(--wp--preset--color--wijnrood); }
.efo-tool__meldingen.is-waarschuwing li { border-color: #C98A1B; }
.efo-tool__regel { font-weight: 700; margin-right: 0.35rem; }
.efo-tool__volgende { margin-top: 1.25rem; }

/* Validator: opties, tabbladen en factuurweergave */
.efo-tool__opties { margin-bottom: 1rem; }
.efo-tool__opties > label { display: block; font-weight: 600; margin-bottom: 0.4rem; }
.efo-tool__opties select { width: 100%; padding: 0.7rem 0.9rem; font: inherit; border: 1px solid var(--wp--preset--color--lijn); border-radius: 6px; background: var(--wp--preset--color--wit); }
.efo-tool__vinkjes { display: flex; flex-wrap: wrap; gap: 0.4rem 1.5rem; margin-top: 0.6rem; font-size: 0.9rem; }
.efo-tool__vinkjes input { margin-right: 0.35rem; accent-color: var(--wp--preset--color--roze); }
.efo-tabs { display: flex; gap: 0.25rem; border-bottom: 1px solid var(--wp--preset--color--lijn); margin: 1rem 0; }
.efo-tabs__knop { font: inherit; font-weight: 600; background: none; border: 0; border-bottom: 3px solid transparent; padding: 0.6rem 1rem; cursor: pointer; color: var(--wp--preset--color--grijs); }
.efo-tabs__knop.is-actief { color: var(--wp--preset--color--navy); border-bottom-color: var(--wp--preset--color--roze); }
.efo-fv { border: 1px solid var(--wp--preset--color--lijn); border-radius: 8px; padding: clamp(1rem, 3vw, 2rem); background: var(--wp--preset--color--wit); font-size: 0.95rem; }
.efo-fv p { margin: 0.2rem 0; }
.efo-fv dl { margin: 0; }
.efo-fv dt { font-size: 0.78rem; color: var(--wp--preset--color--grijs); }
.efo-fv dd { margin: 0 0 0.35rem; }
.efo-fv__zacht { color: var(--wp--preset--color--grijs); font-size: 0.85em; }
.efo-fv__kop { font-size: 0.78rem; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: var(--wp--preset--color--wijnrood); margin-bottom: 0.4rem !important; }
.efo-fv__hoofd { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 1rem; padding-bottom: 1rem; border-bottom: 2px solid var(--wp--preset--color--navy); }
.efo-fv__type { font-size: 0.85rem; text-transform: uppercase; letter-spacing: 0.06em; color: var(--wp--preset--color--grijs); }
.efo-fv__nummer { font-size: 1.5rem; font-weight: 600; color: var(--wp--preset--color--navy); }
.efo-fv__data { display: flex; flex-wrap: wrap; gap: 0.5rem 1.5rem; }
.efo-fv__partijen { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 15rem), 1fr)); gap: 1.5rem; margin: 1.25rem 0; }
.efo-fv__partij dl { display: grid; grid-template-columns: auto 1fr; gap: 0.1rem 0.75rem; margin-top: 0.5rem; }
.efo-fv__partij dd { margin: 0; overflow-wrap: anywhere; }
.efo-fv__refs { display: flex; flex-wrap: wrap; gap: 0.5rem 1.75rem; padding: 0.75rem 1rem; background: var(--wp--preset--color--licht); border-radius: 6px; margin-bottom: 1rem !important; }
.efo-fv__tabel { overflow-x: auto; margin: 0 0 1rem; }
.efo-fv table { width: 100%; border-collapse: collapse; font-size: 0.9rem; }
.efo-fv th { text-align: left; font-size: 0.78rem; color: var(--wp--preset--color--grijs); font-weight: 600; border-bottom: 1px solid var(--wp--preset--color--lijn); padding: 0.4rem 0.5rem; }
.efo-fv td { border-bottom: 1px solid var(--wp--preset--color--lijn); padding: 0.55rem 0.5rem; vertical-align: top; }
.efo-fv .r { text-align: right; white-space: nowrap; }
.efo-fv__ac { list-style: none; padding: 0; margin: 0 0 1rem; font-size: 0.9rem; }
.efo-fv__onder { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: 1.5rem; align-items: start; }
@media (max-width: 700px) { .efo-fv__onder { grid-template-columns: minmax(0, 1fr); } }
/* v2.9.9: factuurweergave op smalle schermen, lijnen en btw als blokken in plaats van brede tabellen */
@media (max-width: 600px) {
	.efo-fv__tabel { overflow: visible; }
	.efo-fv__tabel thead, .efo-fv__btw thead { display: none; }
	.efo-fv__tabel table, .efo-fv__btw table, .efo-fv__tabel tbody, .efo-fv__btw tbody { display: block; width: 100%; }
	.efo-fv__tabel tr, .efo-fv__btw tr { display: block; padding: 0.6rem 0; border-bottom: 1px solid var(--wp--preset--color--lijn); }
	.efo-fv__tabel td, .efo-fv__btw td { display: flex; justify-content: space-between; align-items: baseline; gap: 1rem; border: 0; padding: 0.1rem 0; white-space: normal; text-align: right; }
	.efo-fv__tabel td[data-l]::before, .efo-fv__btw td[data-l]::before { content: attr(data-l); color: var(--wp--preset--color--grijs); font-size: 0.82rem; text-align: left; white-space: nowrap; }
	.efo-fv__tabel td.efo-fv__nr { display: block; text-align: left; font-size: 0.78rem; color: var(--wp--preset--color--grijs); }
	.efo-fv__tabel td.efo-fv__nr::before { content: "#"; }
	.efo-fv__tabel td.efo-fv__oms, .efo-fv__btw td:first-child { display: block; text-align: left; padding-bottom: 0.25rem; }
	.efo-fv__tabel td.efo-fv__lb { font-weight: 700; }
}
.efo-fv__totalen div { display: flex; justify-content: space-between; gap: 1rem; padding: 0.25rem 0; }
.efo-fv__totalen dt { font-size: 0.9rem; color: var(--wp--preset--color--tekst); }
.efo-fv__totalen dd { margin: 0; font-variant-numeric: tabular-nums; }
.efo-fv__tebetalen { border-top: 2px solid var(--wp--preset--color--navy); margin-top: 0.4rem; padding-top: 0.5rem !important; font-weight: 700; font-size: 1.1rem; }
.efo-fv__tebetalen dt { font-size: 1rem !important; font-weight: 700; }
.efo-fv__betaling, .efo-fv__notities, .efo-fv__bijlagen { margin-top: 1.25rem; padding-top: 1rem; border-top: 1px solid var(--wp--preset--color--lijn); }
.efo-fv__betaling dl { display: flex; flex-wrap: wrap; gap: 0.25rem 1.75rem; }
.efo-fv__bijlagen ul { margin: 0; padding-left: 1.1rem; }
.efo-fv__voet { margin-top: 1.25rem !important; font-size: 0.8rem; color: var(--wp--preset--color--grijs); }

/* Tools-overzicht: kaarten */
.efo-toolband { margin-block: var(--wp--preset--spacing--50) var(--wp--preset--spacing--60) !important; }
.efo-toolband .wp-block-columns { align-items: stretch; margin: 0; }
.efo-toolkaart { height: 100%; gap: 0.6rem !important; background: #fff; border: 1px solid var(--wp--preset--color--lijn); border-top: 4px solid var(--wp--preset--color--roze); border-radius: 10px; padding: clamp(1.25rem, 3vw, 2rem); box-shadow: 0 8px 24px rgba(27, 54, 79, 0.06); transition: box-shadow 0.15s ease, transform 0.15s ease; }
.efo-toolkaart:hover { box-shadow: 0 14px 32px rgba(27, 54, 79, 0.12); transform: translateY(-2px); }
.efo-toolkaart > * { margin: 0 !important; }
.efo-toolkaart__kicker { font-size: 0.75rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--wp--preset--color--wijnrood); }
.efo-toolkaart__titel { font-size: 1.5rem; color: var(--wp--preset--color--navy); }
.efo-toolkaart__punten { list-style: none; padding: 0; font-size: 0.925rem; color: var(--wp--preset--color--grijs); }
.efo-toolkaart__punten li { padding-left: 1.4rem; position: relative; margin: 0.3rem 0; }
.efo-toolkaart__punten li::before { content: "✓"; position: absolute; left: 0; color: var(--wp--preset--color--roze); font-weight: 700; }
.efo-toolkaart__knop { margin-top: auto !important; padding-top: 0.75rem; }
.efo-toolkaart__knop .wp-block-button__link { white-space: nowrap; padding: 0.6rem 1.3rem; font-size: 0.95rem; }
@media (prefers-reduced-motion: reduce) { .efo-toolkaart:hover { transform: none; } }
.wp-block-post-content > .efo-toolband.alignfull { margin-block-start: var(--wp--preset--spacing--50) !important; margin-block-end: var(--wp--preset--spacing--60) !important; }

/* Factuurweergave: pdf en bijlagen */
.efo-fv-acties { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem 1rem; margin-bottom: 1rem; }
.efo-fv-acties .efo-tool__hint { margin: 0; flex: 1 1 18rem; }
.efo-knop-pdf { white-space: nowrap; }
.efo-knop-pdf[disabled], .efo-knop-klein[disabled] { opacity: 0.6; cursor: progress; }
.efo-knop-klein { font: inherit; font-size: 0.85rem; font-weight: 600; padding: 0.35rem 0.9rem; border-radius: 2rem; border: 1px solid var(--wp--preset--color--roze); background: #fff; color: var(--wp--preset--color--wijnrood); cursor: pointer; white-space: nowrap; }
.efo-knop-klein:hover { background: #FBEDEF; }
.efo-fv__bijlagen ul { list-style: none; padding: 0; }
.efo-fv__bijlagen li { display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: 0.6rem 0; border-bottom: 1px solid var(--wp--preset--color--lijn); }

/* =========================================================================
 * Design 2026: navy met isometrisch raster, roze accenten, crème kaarten.
 * ====================================================================== */

:root {
	--efo-navy: #1C2F4E;
	--efo-diep: #16263F;
	--efo-nacht: #0D1628;
	--efo-roze: #E0678A;
	--efo-roze-licht: #FBE3EA;
	--efo-hemel: #A9C8EC;
	--efo-creme: #F7F3EC;
	--efo-lijn-donker: rgba(169, 200, 236, 0.16);
	--efo-mono: ui-monospace, 'JetBrains Mono', 'SFMono-Regular', Menlo, Consolas, monospace;
	--efo-radius: 22px;
}

body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
::selection { background: var(--efo-roze); color: var(--efo-nacht); }

/* Geen witte stroken tussen secties */
.wp-site-blocks > * + * { margin-block-start: 0; }
.efo-home > * { margin-block-start: 0 !important; margin-block-end: 0 !important; }

/* ---------- Bouwstenen ---------- */

.efo-iso {
	background-color: var(--efo-navy);
	background-image:
		radial-gradient(900px 600px at 78% 18%, rgba(224, 103, 138, 0.20), transparent 60%),
		repeating-linear-gradient(60deg, rgba(169, 200, 236, 0.07) 0 1px, transparent 1px 80px),
		repeating-linear-gradient(-60deg, rgba(169, 200, 236, 0.07) 0 1px, transparent 1px 80px);
	color: var(--efo-creme);
}
.efo-iso--diep {
	background-color: var(--efo-diep);
	background-image:
		repeating-linear-gradient(60deg, rgba(169, 200, 236, 0.05) 0 1px, transparent 1px 80px),
		repeating-linear-gradient(-60deg, rgba(169, 200, 236, 0.05) 0 1px, transparent 1px 80px);
}
.efo-iso :where(h1, h2, h3, h4) { color: var(--efo-creme); }
.efo-iso a:not(.wp-element-button) { color: var(--efo-creme); text-decoration-color: var(--efo-roze); text-underline-offset: 0.2em; }
.efo-iso a:not(.wp-element-button):hover { color: var(--efo-roze); }
.efo-roze { color: var(--efo-roze); }

.efo-kicker {
	display: flex;
	align-items: center;
	gap: 14px;
	margin: 0;
	font-weight: 800;
	font-size: 0.8125rem;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--efo-hemel);
}
.efo-kicker::before {
	content: "";
	flex: none;
	width: 40px;
	height: 4px;
	border-radius: 2px;
	background: var(--efo-roze);
}
.efo-kicker--licht { color: var(--wp--preset--color--grijs); }

.efo-lead { font-size: clamp(1.15rem, 1.6vw, 1.35rem); line-height: 1.55; color: var(--efo-hemel); max-width: 40rem; }
:not(.efo-iso) > .efo-lead { color: inherit; }
.efo-iso .efo-lead { color: var(--efo-hemel); }
.efo-lead--smal { max-width: 46rem; }

/* Knoppen */
.wp-element-button, .wp-block-button__link { box-shadow: 0 14px 34px rgba(224, 103, 138, 0.24); transition: background-color 0.15s ease, transform 0.15s ease, box-shadow 0.15s ease; }
.wp-element-button:hover, .wp-block-button__link:hover { transform: translateY(-1px); }
.is-style-outline > .wp-block-button__link { box-shadow: none; }
.efo-iso .is-style-outline > .wp-block-button__link,
.efo-header .is-style-outline > .wp-block-button__link { color: var(--efo-creme); border-color: rgba(169, 200, 236, 0.45); }
.efo-iso .is-style-outline > .wp-block-button__link:hover { border-color: var(--efo-roze); color: var(--efo-creme); background: rgba(224, 103, 138, 0.10); }
.wp-block-button__link { min-height: 48px; display: inline-flex; align-items: center; justify-content: center; }

/* Sectiekop met link rechts */
.efo-sectiekop { gap: 1rem 2rem; margin-bottom: var(--wp--preset--spacing--50) !important; }
.efo-sectiekop h2 { margin: 0; font-size: var(--wp--preset--font-size--xx-large); max-width: 46rem; }
.efo-sectiekop__link { margin: 0; font-weight: 800; }
.efo-sectiekop__link a { text-decoration: none; }
.efo-sectie h2 { font-size: var(--wp--preset--font-size--xx-large); }

/* ---------- Header ---------- */

.efo-header {
	position: sticky;
	top: var(--wp-admin--admin-bar--height, 0px);
	z-index: 50;
	background: var(--efo-nacht) !important;
	border-bottom: 1px solid rgba(169, 200, 236, 0.12);
}
.wp-site-blocks > header.wp-block-template-part { position: sticky; top: var(--wp-admin--admin-bar--height, 0px); z-index: 50; }
.wp-site-blocks > header.wp-block-template-part > .efo-header { position: static; }

.efo-wordmark { margin: 0; font-weight: 900; font-size: 1.0625rem; letter-spacing: 0.06em; line-height: 1.15; white-space: nowrap; }
.efo-wordmark a { color: var(--efo-creme) !important; text-decoration: none !important; }
.efo-wordmark span { color: var(--efo-roze); }

.efo-header .wp-block-navigation a,
.efo-header .wp-block-navigation .wp-block-navigation-item__content { color: var(--efo-creme); }
.efo-header .wp-block-navigation-item__content:hover,
.efo-header .wp-block-navigation-item.current-menu-item > .wp-block-navigation-item__content { color: var(--efo-roze); }
.efo-header .wp-block-navigation__submenu-icon svg { stroke: currentColor; }
.efo-header .wp-block-navigation__submenu-container {
	background: var(--efo-nacht) !important;
	color: var(--efo-creme) !important;
	border: 1px solid rgba(169, 200, 236, 0.18) !important;
	border-radius: 14px;
	padding: 0.5rem 0;
	box-shadow: 0 20px 40px rgba(0, 0, 0, 0.35);
	min-width: 230px !important;
}
.efo-header .wp-block-navigation__submenu-container .wp-block-navigation-item__content { padding: 0.6rem 1.15rem !important; }
.efo-header .wp-block-navigation__responsive-container.is-menu-open { padding: 1.5rem; }
.efo-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { font-size: 1.35rem; font-weight: 800; padding: 0.4rem 0; }
.efo-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container { border: 0 !important; box-shadow: none; background: transparent !important; padding: 0 0 0 1rem; }
.efo-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content { font-size: 1.05rem; font-weight: 600; color: var(--efo-hemel); }
.efo-header .wp-block-navigation__responsive-container-open,
.efo-header .wp-block-navigation__responsive-container-close { color: var(--efo-creme); }
.efo-header .wp-block-navigation__responsive-container-open { width: 44px; height: 44px; border: 1px solid rgba(169, 200, 236, 0.3); border-radius: 12px; justify-content: center; align-items: center; }

.efo-header .wc-block-mini-cart__button,
.efo-header .wc-block-customer-account a,
.efo-header .wc-block-customer-account { color: var(--efo-creme) !important; }
.efo-header .wc-block-mini-cart__icon,
.efo-header .wc-block-customer-account__account-icon { color: var(--efo-creme); fill: currentColor; }
.efo-header .wc-block-mini-cart__badge { background: var(--efo-roze) !important; color: var(--efo-nacht) !important; border-color: var(--efo-nacht) !important; }
.efo-header-cta { flex-shrink: 0; }
.efo-header-cta .wp-block-button__link { padding: 0.55rem 1.25rem; min-height: 44px; font-size: 0.95rem; white-space: nowrap; box-shadow: none; }

@media (max-width: 781px) {
	.efo-header .efo-wordmark { font-size: 0.875rem; white-space: normal; max-width: 9.5rem; }
	.efo-header__rechts { gap: 0.6rem !important; }
	.efo-header .wp-block-woocommerce-customer-account { display: none; }
	.efo-header-cta .wp-block-button__link { padding: 0.45rem 0.95rem; font-size: 0.875rem; }
}

/* ---------- Homepage ---------- */

.efo-hero { position: relative; overflow: hidden; }
.efo-hero .efo-kicker { margin-bottom: 1.5rem; }
.efo-hero__titel {
	margin: 0 !important;
	font-size: clamp(3rem, 6.6vw, 6.4rem) !important;
	font-weight: 900 !important;
	line-height: 0.95 !important;
	letter-spacing: -0.045em !important;
	color: var(--efo-creme);
}
/* v2.10.0: de kicker staat nu in de H1 (zoekwoord in de kop), met dezelfde look als voorheen. */
.efo-hero__titel .efo-hero__kicker { font-size: 0.8125rem; line-height: 1.4; letter-spacing: 0.18em; font-weight: 800; margin: 0 0 1.5rem; color: var(--efo-hemel); }
.efo-hero .efo-lead { margin-top: 1.75rem; }
.efo-prijs { display: flex; align-items: baseline; gap: 0.9rem; margin: 1.75rem 0 0; }
.efo-prijs strong { font-size: clamp(1.9rem, 3vw, 2.4rem); font-weight: 900; letter-spacing: -0.02em; color: var(--efo-creme); }
.efo-prijs s { font-size: 1.15rem; color: var(--efo-hemel); }
.efo-hero .wp-block-buttons { margin-top: 1.5rem; }

.efo-vinkjes { list-style: none; padding: 0; margin: 1.75rem 0 0; display: flex; flex-wrap: wrap; gap: 0.6rem 1.6rem; font-size: 0.975rem; color: var(--efo-creme); }
.efo-vinkjes li { position: relative; padding-left: 1.6rem; }
.efo-vinkjes li::before { content: "✓"; position: absolute; left: 0; top: 0; color: var(--efo-roze); font-weight: 900; }

.efo-coverstage { position: relative; margin: 0 auto; width: min(100%, 460px); aspect-ratio: 4 / 4.6; display: grid; place-items: center; }
.efo-coverstage__boek { display: block; width: 66%; transform: rotate(-5deg); transition: transform 0.35s ease; position: relative; z-index: 2; }
.efo-coverstage__boek:hover { transform: rotate(-2deg) translateY(-6px); }
.efo-coverstage__boek img { display: block; width: 100%; height: auto; border-radius: 4px; box-shadow: 0 40px 80px rgba(0, 0, 0, 0.55), 0 8px 18px rgba(0, 0, 0, 0.35); }
.efo-xml {
	position: absolute;
	z-index: 3;
	font-family: var(--efo-mono);
	font-size: 0.8125rem;
	font-weight: 700;
	color: var(--efo-hemel);
	background: rgba(13, 22, 40, 0.88);
	border: 1px dashed rgba(169, 200, 236, 0.55);
	border-radius: 8px;
	padding: 0.4rem 0.7rem;
	white-space: nowrap;
}
.efo-xml::after { content: ""; position: absolute; top: 50%; width: 48px; border-top: 1px dashed rgba(169, 200, 236, 0.5); }
.efo-xml--1 { left: 0; top: 12%; }
.efo-xml--1::after { left: 100%; }
.efo-xml--2 { right: -2%; top: 46%; }
.efo-xml--2::after { right: 100%; }
.efo-xml--3 { left: 3%; bottom: 13%; }
.efo-xml--3::after { left: 100%; }
.efo-badge {
	position: absolute;
	z-index: 4;
	right: -2%;
	bottom: -1%;
	width: 108px;
	height: 108px;
	border-radius: 50%;
	background: var(--efo-roze);
	color: var(--efo-nacht);
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	transform: rotate(8deg);
	box-shadow: 0 16px 36px rgba(224, 103, 138, 0.4);
	line-height: 1;
}
.efo-badge b { font-size: 1.4rem; font-weight: 900; letter-spacing: -0.02em; }
.efo-badge s { margin-top: 0.3rem; font-size: 0.8rem; font-weight: 700; }

/* Tools op de homepage */
.efo-toolsband h2 { margin: 0; }
.efo-toolsband .wp-block-columns { align-items: stretch; }
.efo-toolcard {
	position: relative;
	height: 100%;
	display: flex;
	flex-direction: column;
	gap: 0.85rem;
	background: var(--efo-creme);
	color: var(--wp--preset--color--tekst);
	border-radius: var(--efo-radius);
	padding: clamp(1.5rem, 3vw, 2.4rem);
	box-shadow: 0 24px 60px rgba(5, 10, 25, 0.35);
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.efo-toolcard > * { margin: 0 !important; }
.efo-toolcard:hover { transform: translateY(-4px); box-shadow: 0 30px 70px rgba(5, 10, 25, 0.45); }
.efo-toolcard__nr { font-family: var(--efo-mono); font-size: 0.8125rem; font-weight: 700; letter-spacing: 0.04em; text-transform: uppercase; color: var(--wp--preset--color--wijnrood); }
.efo-toolcard h3 { font-size: clamp(1.5rem, 2.4vw, 2rem); line-height: 1.12; color: var(--efo-navy) !important; }
.efo-toolcard h3 a { color: inherit !important; text-decoration: none !important; }
.efo-toolcard h3 a::after { content: ""; position: absolute; inset: 0; border-radius: inherit; }
.efo-toolcard p { color: #3D4552; }
.efo-toolcard__demo { display: flex; flex-wrap: wrap; align-items: center; gap: 0.6rem; margin-top: 0.4rem !important; }
.efo-toolcard__veld, .efo-toolcard__drop { font-family: var(--efo-mono); font-size: 0.9rem; padding: 0.7rem 1rem; border-radius: 12px; background: #fff; border: 1px solid var(--wp--preset--color--lijn); color: var(--wp--preset--color--tekst); }
.efo-toolcard__drop { border: 2px dashed #C9C2B8; }
.efo-toolcard__ok { font-size: 0.875rem; font-weight: 700; color: #1F6B40; background: #E3F2E8; padding: 0.45rem 0.8rem; border-radius: 999px; }
.efo-toolcard__actie { margin-top: auto !important; padding-top: 0.5rem; font-weight: 800; color: var(--wp--preset--color--wijnrood); }
.efo-toolcard:hover .efo-toolcard__actie { color: var(--efo-navy); }

/* Waarom dit boek */
.efo-sectie--creme .efo-kicker { margin-bottom: var(--wp--preset--spacing--40); }
.efo-duo { align-items: stretch; }
.efo-duo__kaart {
	background: #fff;
	border-radius: var(--efo-radius);
	padding: clamp(1.75rem, 4vw, 3rem) !important;
	box-shadow: 0 24px 60px rgba(27, 34, 48, 0.08);
	border-top: 6px solid var(--efo-navy);
}
.efo-duo__kaart--roze { border-top-color: var(--efo-roze); }
.efo-duo__kaart h2 { font-size: var(--wp--preset--font-size--x-large) !important; margin-top: 0; }
.efo-duo__kaart p { font-size: 1.075rem; line-height: 1.75; color: #3D4552; }

/* Hoofdstukken */
.efo-chapters {
	list-style: none;
	counter-reset: efo-h;
	padding: 0 !important;
	margin-top: var(--wp--preset--spacing--50) !important;
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 260px), 1fr));
	gap: 1.1rem;
}
.efo-chapters > li {
	counter-increment: efo-h;
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 0.55rem;
	margin: 0;
	padding: 1.75rem;
	border-radius: 20px;
	background: rgba(247, 243, 236, 0.04);
	border: 1px solid var(--efo-lijn-donker);
	transition: border-color 0.2s ease, background 0.2s ease, transform 0.2s ease;
}
.efo-chapters > li::before {
	content: counter(efo-h, decimal-leading-zero);
	font-size: 2.75rem;
	font-weight: 900;
	line-height: 1;
	letter-spacing: -0.03em;
	color: var(--efo-roze);
	margin-bottom: 0.4rem;
}
.efo-chapters > li:hover { border-color: var(--efo-roze); background: rgba(224, 103, 138, 0.08); transform: translateY(-3px); }
.efo-chapters > li strong, .efo-chapters__tekst { display: block; }
.efo-chapters > li strong { font-size: 1.25rem; font-weight: 800; line-height: 1.25; color: var(--efo-creme); }
.efo-chapters__tekst { font-size: 0.975rem; line-height: 1.55; color: var(--efo-hemel); }
.efo-chapters > li.efo-chapters__cta { counter-increment: none; background: var(--efo-roze); border-color: var(--efo-roze); justify-content: flex-end; }
.efo-chapters > li.efo-chapters__cta::before { content: "+"; color: var(--efo-nacht); }
.efo-chapters > li.efo-chapters__cta strong a { color: var(--efo-nacht) !important; text-decoration: none !important; }
.efo-chapters > li.efo-chapters__cta strong a::after { content: ""; position: absolute; inset: 0; }
.efo-chapters > li.efo-chapters__cta .efo-chapters__tekst { color: var(--efo-nacht); font-weight: 700; }
.efo-chapters > li.efo-chapters__cta:hover { background: #EA86A3; }

/* Citaten */
.efo-quotes .efo-kicker { margin-bottom: var(--wp--preset--spacing--50); }
.efo-quotes .wp-block-columns { align-items: stretch; }
.efo-quotes .efo-quote,
body .efo-quotes blockquote.wp-block-quote.efo-quote {
	position: relative;
	height: 100%;
	margin: 0;
	border: 1px solid var(--efo-lijn-donker) !important;
	border-radius: 24px;
	background: rgba(247, 243, 236, 0.04);
	padding: 4.5rem 2.25rem 2.25rem !important;
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
}
.efo-quotes .efo-quote::before {
	content: "";
	position: absolute;
	top: 2.1rem;
	left: 2.25rem;
	width: 44px;
	height: 34px;
	background: var(--efo-roze);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 44 34'%3E%3Cpath d='M0 34V20Q0 4 16 0l2 5Q9 8 9 16h9v18zM26 34V20q0-16 16-20l2 5q-9 3-9 11h9v18z'/%3E%3C/svg%3E") no-repeat center / contain;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 44 34'%3E%3Cpath d='M0 34V20Q0 4 16 0l2 5Q9 8 9 16h9v18zM26 34V20q0-16 16-20l2 5q-9 3-9 11h9v18z'/%3E%3C/svg%3E") no-repeat center / contain;
}
.efo-quotes .efo-quote p { margin: 0; font-style: normal; font-size: clamp(1.2rem, 2vw, 1.55rem); line-height: 1.42; font-weight: 700; letter-spacing: -0.01em; color: var(--efo-creme); }
.efo-quotes .efo-quote cite { margin-top: auto; font-style: normal; font-size: 0.95rem; color: var(--efo-hemel); }
.efo-quotes .efo-quote cite strong { display: inline-block; font-size: 1.05rem; color: var(--efo-creme); margin-bottom: 0.15rem; }

/* Auteurs */
.efo-auteurs .efo-kicker { margin-bottom: 1rem; }
.efo-auteurs__kop { margin-top: 0 !important; margin-bottom: var(--wp--preset--spacing--50) !important; }
.efo-auteurs .wp-block-columns { align-items: stretch; }
.efo-auteur {
	height: 100%;
	background: #fff;
	border-radius: var(--efo-radius);
	padding: clamp(1.5rem, 3vw, 2.25rem) !important;
	box-shadow: 0 24px 60px rgba(27, 34, 48, 0.08);
}
.efo-auteur > .wp-block-image { flex: 0 0 120px; margin: 0; }
.efo-auteur > .wp-block-image img { border-radius: 16px; box-shadow: 0 12px 26px rgba(27, 34, 48, 0.18); }
.efo-auteur > .wp-block-group { flex: 1 1 0; min-width: 0; }
.efo-auteur h3 { margin: 0 !important; font-size: 1.5rem; color: var(--efo-navy); }
.efo-auteur__rol { margin: 0 !important; font-size: 0.8125rem; font-weight: 800; letter-spacing: 0.12em; text-transform: uppercase; color: var(--wp--preset--color--wijnrood); }
.efo-auteur p:not(.efo-auteur__rol) { font-size: 0.98rem; line-height: 1.7; color: #3D4552; }
.efo-iconknoppen .wp-social-link { border-radius: 12px !important; }
.efo-iconknoppen .wp-social-link a { padding: 0.6em !important; }
@media (max-width: 600px) {
	.efo-auteur { flex-direction: column !important; align-items: flex-start !important; }
	.efo-auteur > .wp-block-group { width: 100%; }
}

/* Blogkaarten (homepage, blog en archief) */
.efo-card {
	position: relative;
	height: 100%;
	display: flex;
	flex-direction: column;
	background: #fff;
	border: 1px solid var(--wp--preset--color--lijn);
	border-radius: 20px;
	padding: 1.75rem;
	overflow: hidden;
	transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}
.efo-card::before { content: ""; position: absolute; left: 0; top: 0; height: 4px; width: 0; background: var(--efo-roze); transition: width 0.25s ease; }
.efo-card:hover { transform: translateY(-3px); box-shadow: 0 22px 46px rgba(27, 34, 48, 0.12); border-color: transparent; }
.efo-card:hover::before { width: 100%; }
.efo-card .wp-block-post-title { margin: 0.25rem 0 0; font-size: 1.35rem; line-height: 1.22; letter-spacing: -0.015em; }
.efo-card .wp-block-post-title a { color: var(--efo-navy); text-decoration: none; }
.efo-card .wp-block-post-title a::after { content: ""; position: absolute; inset: 0; z-index: 1; }
.efo-card:hover .wp-block-post-title a { color: var(--wp--preset--color--wijnrood); }
.efo-card .wp-block-post-date { font-size: 0.85rem; color: var(--wp--preset--color--grijs); }
.efo-card .wp-block-post-excerpt { flex: 1 1 auto; }
.efo-card .wp-block-post-excerpt__excerpt { margin: 0; }
.efo-card::after { content: "Lees meer →"; display: block; margin-top: auto; padding-top: 1rem; font-size: 0.925rem; font-weight: 800; color: var(--wp--preset--color--wijnrood); }
.wp-block-post-template.is-layout-grid > li { display: flex; }
.wp-block-post-template.is-layout-grid > li > .efo-card { width: 100%; }

.efo-card .wp-block-post-terms a,
.efo-chip a,
.efo-postmeta .wp-block-post-terms a {
	position: relative;
	z-index: 2;
	display: inline-block;
	font-size: 0.72rem;
	font-weight: 800;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	text-decoration: none !important;
	background: var(--efo-roze-licht);
	color: var(--wp--preset--color--wijnrood) !important;
	padding: 0.3rem 0.7rem;
	border-radius: 999px;
}
.efo-postmeta .wp-block-post-terms a { background: var(--efo-roze); color: var(--efo-nacht) !important; }
.efo-postmeta .wp-block-post-date { color: var(--efo-hemel); font-size: 0.95rem; }
.efo-card .wp-block-post-terms__separator, .efo-postmeta .wp-block-post-terms__separator { display: none; }

/* Slotband */
.efo-slot h2 { margin-top: 1.25rem; font-size: var(--wp--preset--font-size--xx-large); }
.efo-slot .wp-block-buttons { margin-top: 1.5rem; }
.efo-slot__cover img { transform: rotate(-5deg); border-radius: 4px; box-shadow: 0 36px 70px rgba(0, 0, 0, 0.5); transition: transform 0.3s ease; }
.efo-slot__cover:hover img { transform: rotate(-2deg) translateY(-4px); }

/* ---------- Pagina's en berichten ---------- */

.efo-paginahero .efo-kicker { margin-bottom: 1.25rem; }
.efo-paginahero h1,
.efo-paginahero .wp-block-post-title,
.efo-paginahero .wp-block-query-title {
	margin: 0;
	font-size: clamp(2.4rem, 5.2vw, 4.4rem);
	font-weight: 900;
	line-height: 1.02;
	letter-spacing: -0.04em;
	color: var(--efo-creme);
}
.efo-paginahero .efo-lead { margin-top: 1.25rem; }
.efo-postmeta { margin-bottom: 1.4rem; }

.efo-blad-wrap { position: relative; }
.efo-blad {
	position: relative;
	z-index: 1;
	background: #fff;
	border-radius: 28px;
	padding: clamp(1.5rem, 5vw, 4rem) !important;
	margin-top: -3rem !important;
	box-shadow: 0 30px 70px rgba(27, 34, 48, 0.12);
}
.efo-blad .alignfull, .efo-blad .alignwide { margin-left: 0 !important; margin-right: 0 !important; max-width: 100% !important; width: auto !important; }
.efo-blad > .wp-block-post-content > :first-child { margin-top: 0; }
.efo-blad :where(h2) { font-size: var(--wp--preset--font-size--x-large); margin-top: 2.5rem; }
.efo-blad :where(h3) { margin-top: 2rem; }
.efo-blad p, .efo-blad li { line-height: 1.75; }

.efo-prose { font-size: 1.125rem; }
.efo-prose ul:not([class*="efo-"]), .efo-blad .wp-block-post-content > ul.wp-block-list:not([class*="efo-"]) { list-style: none; padding-left: 0; }
.efo-prose ul:not([class*="efo-"]) > li, .efo-blad .wp-block-post-content > ul.wp-block-list:not([class*="efo-"]) > li { position: relative; padding-left: 1.85rem; margin: 0.5rem 0; }
.efo-prose ul:not([class*="efo-"]) > li::before, .efo-blad .wp-block-post-content > ul.wp-block-list:not([class*="efo-"]) > li::before { content: ""; position: absolute; left: 0; top: 0.8em; width: 14px; height: 4px; border-radius: 2px; background: var(--efo-roze); }
.efo-prose blockquote { background: var(--efo-creme); border-radius: 0 16px 16px 0; padding: 1.25rem 1.5rem; }

.efo-artikel { align-items: flex-start; }
.efo-zijbalk { display: flex; flex-direction: column; gap: 1.25rem; padding-top: 1.5rem; position: sticky; top: calc(var(--wp-admin--admin-bar--height, 0px) + 90px); }
.efo-zijbalk > * { margin: 0 !important; }
@media (max-width: 781px) {
	.efo-zijbalk { position: static; padding-top: 0; }
}

.efo-boek-cta { border-radius: 24px; overflow: hidden; color: var(--efo-creme); }
.efo-boek-cta > * { margin-block: 0 !important; }
.efo-boek-cta > * + * { margin-top: 1rem !important; }
.efo-boek-cta img { border-radius: 3px; transform: rotate(-4deg); box-shadow: 0 20px 40px rgba(0, 0, 0, 0.5); }
.efo-boek-cta__titel { font-weight: 900; font-size: 1.375rem; line-height: 1.2; color: var(--efo-creme); }
.efo-boek-cta__tekst { font-size: 0.95rem; line-height: 1.55; color: var(--efo-hemel); }
.efo-boek-cta .wp-block-button__link { box-shadow: none; }

.efo-toolslijst { border: 1px solid var(--wp--preset--color--lijn); border-radius: 24px; }
.efo-toolslijst > * { margin-block: 0 !important; }
.efo-toolslijst__kop { font-size: 0.75rem; font-weight: 800; letter-spacing: 0.16em; text-transform: uppercase; color: var(--wp--preset--color--grijs); }
.efo-toolslijst__links { list-style: none; padding: 0; margin-top: 0.5rem !important; }
.efo-toolslijst__links li + li { border-top: 1px solid #EEEAE4; }
.efo-toolslijst__links a { display: flex; justify-content: space-between; align-items: center; min-height: 48px; font-weight: 800; font-size: 1.05rem; text-decoration: none; color: var(--efo-navy); }
.efo-toolslijst__links a::after { content: "→"; color: var(--wp--preset--color--wijnrood); }
.efo-toolslijst__links a:hover { color: var(--wp--preset--color--wijnrood); }

.efo-postnav a { font-weight: 700; }

/* ---------- Tools in de pagina-inhoud ---------- */

.efo-blad .efo-tool,
.wp-block-post-content .efo-tool {
	background: var(--efo-creme);
	border: 1px solid #ECE6DB;
	border-radius: var(--efo-radius);
	padding: clamp(1.25rem, 3vw, 2.25rem);
	margin-block: 1.5rem 3rem !important;
	box-sizing: border-box;
}
.efo-tool__form label, .efo-tool__opties > label { font-weight: 800; color: var(--efo-navy); }
.efo-tool__rij input, .efo-tool__opties select { border-radius: 14px; border-color: #DCD5C9; min-height: 52px; font-size: 1.05rem; }
.efo-tool__rij input:focus, .efo-tool__opties select:focus { border-color: var(--efo-navy); outline: 3px solid rgba(224, 103, 138, 0.35); outline-offset: 0; }
.efo-tool__rij .wp-element-button { min-height: 52px; }
.efo-tool__drop { border-radius: 18px; border-color: #C9C2B8; padding: 2.5rem 1.25rem; }
.efo-tool__drop:hover, .efo-tool__drop.is-over { border-color: var(--efo-roze); background: #FFF7F9; }
.efo-tool__samenvatting { border-radius: 14px; }
.efo-tool__kaart { border-radius: 16px; }
.efo-tool__fout { border-radius: 14px; }
.efo-tabs__knop.is-actief { color: var(--efo-navy); border-bottom-color: var(--efo-roze); }
.efo-knop-klein { border-radius: 999px; }

/* Tools-overzicht (pagina Peppol-tools) */
.efo-toolband { background: transparent !important; padding: 0 !important; }
.efo-toolkaart { border: 1px solid #ECE6DB; border-top: 6px solid var(--efo-roze); border-radius: var(--efo-radius); background: var(--efo-creme); box-shadow: none; }
.efo-toolkaart:hover { box-shadow: 0 22px 46px rgba(27, 34, 48, 0.12); }
.efo-toolkaart__titel { color: var(--efo-navy); }

/* Veelgestelde vragen en inhoudstafel */
.efo-faq, .efo-toc details { border-bottom: 1px solid var(--wp--preset--color--lijn); }
.efo-faq summary, .efo-toc summary { list-style: none; position: relative; padding: 1.15rem 2.5rem 1.15rem 0; font-weight: 800; color: var(--efo-navy); }
.efo-faq summary::-webkit-details-marker, .efo-toc summary::-webkit-details-marker { display: none; }
.efo-faq summary::after, .efo-toc summary::after {
	content: "+";
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 30px;
	height: 30px;
	border-radius: 50%;
	display: grid;
	place-items: center;
	font-weight: 700;
	font-size: 1.15rem;
	color: var(--efo-nacht);
	background: var(--efo-roze-licht);
}
.efo-faq[open] summary::after, .efo-toc details[open] summary::after { content: "−"; background: var(--efo-roze); }
.efo-faq summary:hover, .efo-toc summary:hover { color: var(--wp--preset--color--wijnrood); }

/* ---------- Footer ---------- */

.efo-footer { color: var(--efo-creme); border-top: 1px solid rgba(169, 200, 236, 0.12); }
.efo-footer .efo-wordmark { font-size: 1.25rem; margin-bottom: 1rem; white-space: normal; }
.efo-footer__zacht { color: var(--efo-hemel); max-width: 30rem; line-height: 1.65; }
.efo-footer__kop { font-size: 0.8125rem !important; font-weight: 800 !important; letter-spacing: 0.16em !important; text-transform: uppercase; color: var(--efo-hemel) !important; margin-top: 0; }
.efo-footer__lijst { list-style: none; padding: 0; margin: 0; }
.efo-footer__lijst li { margin: 0; }
.efo-footer__lijst a { display: inline-flex; align-items: center; min-height: 36px; color: var(--efo-creme); text-decoration: none; }
.efo-footer__lijst a:hover { color: var(--efo-roze); }
.efo-footer__voet { margin-top: var(--wp--preset--spacing--50) !important; padding-top: 1.25rem; border-top: 1px solid rgba(169, 200, 236, 0.12); font-size: 0.875rem; color: var(--efo-hemel); }
.efo-footer__voet p { margin: 0; }

/* ---------- WooCommerce ---------- */

.woocommerce .button,
.woocommerce button.button,
.woocommerce a.button,
.woocommerce button.button.alt,
.woocommerce a.button.alt {
	background: var(--efo-roze) !important;
	color: var(--efo-nacht) !important;
	border-radius: 999px !important;
	font-weight: 800 !important;
	padding: 0.85rem 1.6rem !important;
}
.woocommerce .button:hover,
.woocommerce button.button:hover,
.woocommerce button.button.alt:hover { background: #EA86A3 !important; color: var(--efo-nacht) !important; }
.woocommerce div.product .product_title { font-weight: 900; letter-spacing: -0.03em; color: var(--efo-navy); }
.woocommerce div.product p.price, .woocommerce div.product span.price { color: var(--efo-navy) !important; font-weight: 900; font-size: 1.8rem; }
.woocommerce span.onsale { background: var(--efo-roze); color: var(--efo-nacht); font-weight: 800; }
.woocommerce div.product div.images img { border-radius: 4px; box-shadow: 0 30px 60px rgba(27, 34, 48, 0.25); }
.wc-block-components-button:not(.is-link) { border-radius: 999px; font-weight: 800; }
.wc-block-cart__submit-button, .wc-block-components-checkout-place-order-button { background: var(--efo-roze) !important; color: var(--efo-nacht) !important; }
.efo-product .efo-blad { margin-top: 0 !important; }

@media (prefers-reduced-motion: reduce) {
	.efo-toolcard, .efo-chapters > li, .efo-card, .efo-coverstage__boek, .efo-slot__cover img, .wp-element-button { transition: none !important; transform: none !important; }
	.efo-coverstage__boek { transform: rotate(-5deg) !important; }
}

@media (max-width: 781px) {
	.efo-coverstage { width: min(100%, 360px); }
	.efo-xml { font-size: 0.72rem; }
	.efo-badge { width: 90px; height: 90px; }
	.efo-badge b { font-size: 1.15rem; }
	.efo-blad { border-radius: 22px; }
}

/* Tablet: menu achter de menuknop zodat de navigatie niet over twee regels loopt */
@media (min-width: 600px) and (max-width: 1239px) {
	.efo-header .wp-block-navigation__responsive-container-open:not(.always-shown) { display: flex; }
	.efo-header .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) { display: none; }
}
.efo-kop > * + * { margin-top: 1.25rem; }
.efo-kop > .efo-kicker + * { margin-top: 1.25rem; }

/* Mobiel menu: volledig scherm, boven de adminbalk-offset */
.efo-header .wp-block-navigation__responsive-container.is-menu-open { position: fixed; inset: 0; top: var(--wp-admin--admin-bar--height, 0px); height: auto; min-height: 100dvh; box-sizing: border-box; z-index: 100000; overflow-y: auto; }
.efo-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content,
.efo-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container,
.efo-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item { align-items: flex-start !important; text-align: left; }
.efo-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { gap: 0.9rem !important; padding-top: 1rem; width: 100%; }
.efo-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container { padding: 0.4rem 0 0 1rem !important; gap: 0.4rem; }
.efo-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { border-bottom: 0; }
.efo-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content:hover { color: var(--efo-roze); }

/* Taalwissel (NL, EN, FR) op de tool-pagina's */
.efo-taalwissel ul { list-style: none; display: inline-flex; gap: 2px; margin: 0; padding: 3px; border: 1px solid rgba(169, 200, 236, 0.3); border-radius: 999px; background: rgba(13, 22, 40, 0.35); }
.efo-taalwissel a { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 36px; padding: 0 0.7rem; border-radius: 999px; font-size: 0.8125rem; font-weight: 800; letter-spacing: 0.08em; color: var(--efo-hemel) !important; text-decoration: none !important; }
.efo-taalwissel a:hover { color: var(--efo-creme) !important; background: rgba(247, 243, 236, 0.08); }
.efo-taalwissel a[aria-current="page"] { background: var(--efo-roze); color: var(--efo-nacht) !important; }
.efo-paginahero .efo-taalwissel { display: flex; justify-content: flex-end; margin-bottom: -2.4rem !important; position: relative; z-index: 2; }
@media (max-width: 781px) {
	.efo-paginahero .efo-taalwissel { justify-content: flex-start; margin-bottom: 1rem !important; }
}

/* ---------- Talen (v2.2): taalwissel in de header, taalnotities ---------- */

.efo-header .efo-taalwissel__lijst { padding: 2px; }
.efo-header .efo-taalwissel__lijst a { min-width: 36px; min-height: 32px; padding: 0 0.5rem; font-size: 0.75rem; }
@media (max-width: 781px) {
	.efo-header .efo-taalwissel__lijst a { min-width: 32px; padding: 0 0.35rem; }
	.efo-header-cta .efo-taalnoot { display: none; }
}

.efo-taalnoot {
	display: inline-block;
	margin-left: 0.45em;
	padding: 0.1em 0.6em;
	border-radius: 999px;
	font-size: 0.72em;
	font-weight: 700;
	letter-spacing: 0.02em;
	vertical-align: middle;
	background: var(--efo-roze-licht);
	color: var(--wp--preset--color--wijnrood);
	white-space: nowrap;
}
p.efo-taalnoot { margin-left: 0; font-size: 0.8rem; text-transform: uppercase; letter-spacing: 0.08em; }
.efo-header-cta .efo-taalnoot { background: rgba(13, 22, 40, 0.18); color: inherit; }
.efo-iso .efo-taalnoot, .efo-hero .efo-taalnoot, .efo-slot .efo-taalnoot { background: rgba(224, 103, 138, 0.18); color: var(--efo-roze-licht); }
.efo-quotes .efo-taalnoot, h2 .efo-taalnoot { font-size: 0.4em; }

.efo-taalbanner {
	padding: 1rem var(--wp--style--root--padding-right, 1.25rem);
	background: var(--efo-roze-licht);
	color: var(--wp--preset--color--tekst);
	text-align: center;
	font-size: 0.975rem;
}
.efo-taalbanner p { margin: 0 auto; max-width: 62rem; }

.efo-taalbox {
	margin: 0 0 1.25rem;
	padding: 1rem 1.25rem;
	border-left: 4px solid var(--efo-roze);
	border-radius: 10px;
	background: var(--efo-roze-licht);
	color: var(--wp--preset--color--tekst);
}
.efo-taalbox p { margin: 0; }
.efo-taalbox--winkel { max-width: var(--wp--style--global--wide-size, 1240px); margin: 1rem auto 1.5rem; }

.efo-boekintro { margin-bottom: var(--wp--preset--spacing--60) !important; }
.efo-boekintro__cover img { border-radius: 4px; box-shadow: 0 18px 40px -18px rgba(13, 22, 40, 0.55); }
.efo-boekintro .efo-prijs { margin: 0.75rem 0 0.5rem; }
.efo-boekintro .efo-prijs strong { color: var(--wp--preset--color--tekst); font-size: 2rem; }
.efo-boekintro .efo-prijs s { color: var(--wp--preset--color--grijs); }
.efo-klein { font-size: 0.875rem; color: var(--wp--preset--color--grijs); }
.efo-bestelknop { margin: 1rem 0; }
.efo-postmeta { font-size: 0.875rem; color: var(--wp--preset--color--grijs); border-bottom: 1px solid var(--wp--preset--color--lijn); padding-bottom: 1rem; }
html[lang^="en"] .efo-card::after { content: "Read more →"; }
html[lang^="fr"] .efo-card::after { content: "Lire la suite →"; }
.efo-header .wp-block-navigation__container { flex-wrap: nowrap; }
.efo-header .wp-block-navigation-item__content { white-space: nowrap; }
@media (max-width: 1679px) { .efo-header-cta .efo-taalnoot { display: none; } }
@media (max-width: 480px) { .efo-header-cta .efo-kort-weg { display: none; } }
@media (max-width: 380px) { .efo-header-cta .wp-block-button__link { padding: 0.4rem 0.7rem; font-size: 0.8125rem; } .efo-header .efo-wordmark { max-width: 8rem; } }

/* Taalwissel mobiel: uitklapmenu */
.efo-taalwissel__menu { display: none; position: relative; }
.efo-taalwissel__menu > summary { list-style: none; display: inline-flex; align-items: center; gap: 0.3rem; min-width: 44px; min-height: 44px; padding: 0 0.6rem; border: 1px solid rgba(169, 200, 236, 0.3); border-radius: 12px; font-size: 0.8125rem; font-weight: 800; letter-spacing: 0.08em; color: var(--efo-creme); cursor: pointer; -webkit-tap-highlight-color: transparent; }
.efo-taalwissel__menu > summary::-webkit-details-marker { display: none; }
.efo-taalwissel__menu > summary::after { content: ""; width: 0.4rem; height: 0.4rem; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg) translateY(-2px); }
.efo-taalwissel__menu[open] > summary::after { transform: rotate(-135deg) translateY(-2px); }
.efo-taalwissel__menu > ul { position: absolute; right: 0; top: calc(100% + 6px); z-index: 1000; display: flex; flex-direction: column; gap: 2px; min-width: 11rem; margin: 0; padding: 6px; list-style: none; border: 1px solid rgba(169, 200, 236, 0.3); border-radius: 14px; background: var(--efo-nacht); box-shadow: 0 18px 40px -12px rgba(0, 0, 0, 0.6); }
.efo-taalwissel__menu > ul a { display: flex; align-items: center; gap: 0.6rem; min-height: 44px; padding: 0 0.8rem; border-radius: 10px; color: var(--efo-creme) !important; text-decoration: none !important; font-size: 0.9375rem; font-weight: 600; letter-spacing: 0; justify-content: flex-start; }
.efo-taalwissel__menu > ul a b { min-width: 1.6rem; font-size: 0.75rem; letter-spacing: 0.08em; color: var(--efo-hemel); }
.efo-taalwissel__menu > ul a[aria-current="page"] { background: var(--efo-roze); color: var(--efo-nacht) !important; }
.efo-taalwissel__menu > ul a[aria-current="page"] b { color: var(--efo-nacht); }
@media (max-width: 781px) {
	.efo-taalwissel__lijst { display: none !important; }
	.efo-taalwissel__menu { display: block; }
}

/* ---------- Landingspagina's ---------- */
.efo-tabel table { width: 100%; border-collapse: collapse; font-size: 0.9375rem; }
.efo-tabel th, .efo-tabel td { padding: 0.6rem 0.75rem; border-bottom: 1px solid var(--wp--preset--color--lijn); text-align: left; vertical-align: top; }
.efo-tabel th { font-weight: 800; background: var(--efo-creme); }
.efo-tabel code, .efo-blad code { font-family: var(--efo-mono); font-size: 0.875em; background: var(--efo-creme); padding: 0.1em 0.35em; border-radius: 4px; white-space: nowrap; }
@media (max-width: 600px) { .efo-tabel { overflow-x: auto; } .efo-tabel table { min-width: 30rem; } }
.efo-ctablok { margin: var(--wp--preset--spacing--50) 0 !important; padding: 1.5rem 1.75rem; border-radius: 16px; background: var(--efo-nacht); color: var(--efo-creme); }
.efo-ctablok h3 { color: var(--efo-creme); margin-top: 0; }
.efo-ctablok p { color: var(--efo-hemel); }

/* ---------- Cookiemelding ---------- */
.efo-cookies { position: fixed; z-index: 99990; left: 1rem; right: 1rem; bottom: 1rem; max-width: 40rem; margin: 0 auto; display: flex; flex-wrap: wrap; gap: 0.75rem 1.25rem; align-items: center; justify-content: space-between; padding: 1rem 1.25rem; border-radius: 16px; background: var(--efo-nacht); color: var(--efo-creme); box-shadow: 0 18px 50px -12px rgba(0, 0, 0, 0.55); font-size: 0.9rem; line-height: 1.5; }
.efo-cookies[hidden] { display: none; }
.efo-cookies p { margin: 0; flex: 1 1 18rem; }
.efo-cookies a { color: var(--efo-hemel); }
.efo-cookies__knoppen { display: flex; gap: 0.5rem; }
.efo-cookies button { min-height: 44px; padding: 0.5rem 1.1rem; border-radius: 999px; font: inherit; font-weight: 700; cursor: pointer; }
.efo-cookies__nee { background: transparent; color: var(--efo-creme); border: 1px solid rgba(169, 200, 236, 0.45); }
.efo-cookies__ja { background: var(--efo-roze); color: var(--efo-nacht); border: 0; }

/* ---------- Helpcentrum Peppol-foutcodes ---------- */
.wp-block-code { background: #f6f4f0; border: 1px solid var(--wp--preset--color--lijn); border-radius: 10px; padding: 1rem 1.15rem; overflow-x: auto; font-size: 0.85rem; line-height: 1.55; white-space: pre; }
.wp-block-code code { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; white-space: pre; }
.efo-fc-meta { font-size: 0.9rem; color: var(--wp--preset--color--grijs); border-left: 3px solid var(--efo-roze); padding-left: 0.75rem; }
.efo-fc-weetje { margin: var(--wp--preset--spacing--40) 0 !important; padding: 1rem 1.25rem; border-radius: 12px; background: #fdf1f4; border: 1px solid #f3c9d5; }
.efo-fc-weetje p { margin: 0.25rem 0; }
.efo-fc-zoek { margin: 0 0 1.25rem; }
.efo-fc-zoek label { display: block; font-weight: 700; margin-bottom: 0.35rem; color: var(--efo-navy); }
.efo-fc-zoek input { width: 100%; max-width: 28rem; padding: 0.7rem 0.9rem; font: inherit; border: 1px solid var(--wp--preset--color--lijn); border-radius: 10px; background: #fff; }
.efo-fc-zoek input:focus { outline: 2px solid var(--efo-roze); outline-offset: 1px; }
.efo-fc-lijst { list-style: none; padding: 0; margin: 0; display: grid; gap: 1rem; grid-template-columns: repeat(auto-fill, minmax(min(100%, 17rem), 1fr)); }
.efo-fc-lijst > li { margin: 0; }
.efo-fc-lijst > li[hidden] { display: none; }
.efo-fc-kaart { box-sizing: border-box; display: flex; flex-direction: column; gap: 0.35rem; height: 100%; padding: 1.1rem 1.2rem; border: 1px solid var(--wp--preset--color--lijn); border-radius: 14px; background: #fff; text-decoration: none; color: inherit; transition: transform 0.2s ease, box-shadow 0.2s ease; }
.efo-fc-kaart:hover, .efo-fc-kaart:focus-visible { transform: translateY(-2px); box-shadow: 0 14px 30px rgba(27, 34, 48, 0.1); }
.efo-fc-kaart__id { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: 0.8rem; font-weight: 700; color: var(--wp--preset--color--wijnrood); word-break: break-word; }
.efo-fc-kaart__titel { font-weight: 800; color: var(--efo-navy); line-height: 1.3; }
.efo-fc-kaart__kort { font-size: 0.9rem; color: var(--wp--preset--color--grijs); }
.efo-fc-geen { color: var(--wp--preset--color--grijs); }
.efo-tool__uitleg { white-space: nowrap; font-weight: 700; margin-left: 0.35rem; }
@media (prefers-reduced-motion: reduce) { .efo-fc-kaart { transition: none; } .efo-fc-kaart:hover { transform: none; } }

/* ---------- Inkijkexemplaar ---------- */
.efo-inkijk { margin: var(--wp--preset--spacing--40) 0 var(--wp--preset--spacing--50); }
.efo-inkijk__boek { margin: 0 auto; }
.efo-inkijk:not(.is-actief) .efo-inkijk__boek { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 14rem), 1fr)); gap: 1rem; }
.efo-inkijk:not(.is-actief) .efo-inkijk__pagina { box-shadow: 0 4px 16px rgba(27, 34, 48, 0.12); }
.efo-inkijk__pagina { background: #fff; overflow: hidden; }
.efo-inkijk__pagina img { display: block; width: 100%; height: 100%; object-fit: contain; user-select: none; -webkit-user-drag: none; pointer-events: none; }
.efo-inkijk__cover img { object-fit: cover; }
.efo-inkijk.is-actief .efo-inkijk__boek { box-shadow: 0 30px 60px -20px rgba(27, 34, 48, 0.35); }
.efo-inkijk__tussen, .efo-inkijk__slot { display: flex; }
.efo-inkijk__tekst { margin: auto; padding: 8% 10%; text-align: left; }
.efo-inkijk__tekst p { margin: 0 0 0.9em; font-size: clamp(0.8rem, 1.6vw, 1rem); line-height: 1.5; }
.efo-inkijk__tussen { background: #f6f4f0; }
.efo-inkijk__slot { background: var(--efo-navy); color: #fff; }
.efo-inkijk__slot a.efo-inkijk__inh { color: #fff; }
.efo-inkijk__kicker { text-transform: uppercase; letter-spacing: 0.12em; font-weight: 800; font-size: 0.75rem !important; color: var(--efo-roze); }
.efo-inkijk__sub { color: var(--wp--preset--color--grijs); }
.efo-inkijk__slot .efo-inkijk__sub { color: #c9d0dc; }
.efo-inkijk__titel { font-weight: 800; font-size: clamp(1.1rem, 2.4vw, 1.6rem) !important; line-height: 1.2 !important; color: var(--efo-navy); }
.efo-inkijk__slot .efo-inkijk__titel { color: #fff; }
.efo-inkijk__klein { font-size: 0.8rem !important; color: var(--wp--preset--color--grijs); }
.efo-inkijk__slot .efo-bestelknop { margin: 1rem 0; }
.efo-inkijk__bediening { display: flex; align-items: center; justify-content: center; gap: 1rem; margin-top: 1.25rem; }
.efo-inkijk__bediening[hidden], .efo-inkijk__hint[hidden] { display: none; }
.efo-inkijk__bediening button { font: inherit; font-weight: 700; padding: 0.55rem 1rem; border-radius: 999px; border: 1px solid var(--wp--preset--color--lijn); background: #fff; color: var(--efo-navy); cursor: pointer; }
.efo-inkijk__bediening button:hover:not(:disabled) { border-color: var(--efo-roze); color: var(--wp--preset--color--wijnrood); }
.efo-inkijk__bediening button:disabled { opacity: 0.4; cursor: default; }
.efo-inkijk__teller { min-width: 9rem; text-align: center; font-size: 0.9rem; color: var(--wp--preset--color--grijs); }
.efo-inkijk__hint { text-align: center; font-size: 0.85rem; color: var(--wp--preset--color--grijs); margin-top: 0.5rem; }
.efo-inkijk-knop .wp-block-button__link { white-space: nowrap; }
.efo-inkijk-link { margin-top: 0.75rem; font-weight: 700; }
.efo-inkijk-oproep { display: flex; flex-wrap: wrap; gap: 0.5rem 1rem; align-items: center; padding: 1rem 1.25rem; border-radius: 12px; background: #fdf1f4; border: 1px solid #f3c9d5; }
.efo-inkijk-oproep a { font-weight: 800; }
.efo-inkijk__bediening button { white-space: nowrap; }
@media (max-width: 600px) {
	.efo-inkijk__bediening { gap: 0.5rem; }
	.efo-inkijk__bediening button { padding: 0.5rem 0.8rem; font-size: 0.9rem; }
	.efo-inkijk__teller { min-width: 0; font-size: 0.8rem; }
}
@media (min-width: 1240px) and (max-width: 1360px) { .efo-header-cta .efo-kort-weg { display: none; } }
.efo-wetbron { font-size: 0.9em; color: var(--wp--preset--color--grijs); }

/* ---------- Validator: XML-weergave ---------- */
.efo-tool__toonxml { font: inherit; font-size: 0.8rem; font-weight: 700; margin-left: 0.4rem; padding: 0.1rem 0.55rem; border-radius: 999px; border: 1px solid var(--wp--preset--color--lijn); background: #fff; color: var(--efo-navy); cursor: pointer; vertical-align: baseline; }
.efo-tool__toonxml:hover { border-color: var(--efo-roze); color: var(--wp--preset--color--wijnrood); }
.efo-tool__toonxml--alles { margin-left: 0.25rem; }
.efo-xmlview { width: min(1100px, 96vw); max-height: 88vh; padding: 0; border: 0; border-radius: 14px; box-shadow: 0 30px 80px rgba(0, 0, 0, 0.35); overflow: hidden; }
.efo-xmlview[open] { display: flex; flex-direction: column; }
.efo-xmlview::backdrop { background: rgba(14, 22, 38, 0.55); }
.efo-xmlview__kop { display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: 0.8rem 1.1rem; background: var(--efo-navy); color: #fff; }
.efo-xmlview__sluit { font: inherit; font-weight: 700; background: transparent; color: #fff; border: 1px solid rgba(255, 255, 255, 0.4); border-radius: 999px; padding: 0.3rem 0.8rem; cursor: pointer; }
.efo-xmlview__melding { padding: 0.5rem 1.1rem; font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: 0.8rem; background: #fdf1f4; color: var(--wp--preset--color--wijnrood); word-break: break-all; }
.efo-xmlview__melding[hidden] { display: none; }
.efo-xmlview__code { margin: 0; flex: 1 1 auto; overflow: auto; padding: 0.75rem 0; background: #fbfaf7; font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: 0.8rem; line-height: 1.55; white-space: pre; tab-size: 2; }
.efo-xmlview__lijn { display: block; padding-right: 1rem; }
.efo-xmlview__lijn.is-aan { background: #fde3ea; box-shadow: inset 3px 0 0 var(--efo-roze); }
.efo-xmlview__nr { display: inline-block; width: 3.5rem; padding-right: 0.9rem; text-align: right; color: #a3a9b5; user-select: none; }
.efo-xmlview .x-t { color: #1c2f4e; font-weight: 600; }
.efo-xmlview .x-a { color: #8a2a4a; }
.efo-xmlview .x-v { color: #2f6b3b; }
.efo-xmlview .x-c { color: #8a8f99; font-style: italic; }
.efo-xmlview .x-k { color: #8a8f99; font-style: italic; }
.efo-tool__voorbeeld { margin: 0.6rem 0 0; font-size: 0.875rem; color: var(--wp--preset--color--grijs); }
.efo-tool__voorbeeld button { font: inherit; font-weight: 700; color: var(--wp--preset--color--wijnrood); background: none; border: 0; padding: 0 0.15rem; text-decoration: underline; text-underline-offset: 2px; cursor: pointer; }
.efo-tool__voorbeeld button:disabled { opacity: 0.5; cursor: wait; }
.efo-xmlview__code { color: #2b3445; } .efo-xmlview__kop strong { font-family: inherit; }

/* ---------- Test: ben ik verplicht? ---------- */
.efo-verplicht { margin: var(--wp--preset--spacing--40) 0; }
.efo-verplicht__kaart { background: #fff; border: 1px solid var(--wp--preset--color--lijn); border-radius: 20px; padding: clamp(1.25rem, 4vw, 2.25rem); box-shadow: 0 24px 50px -36px rgba(13, 22, 40, 0.4); }
.efo-verplicht__stap { margin: 0 0 0.5rem; font-size: 0.8rem; font-weight: 800; letter-spacing: 0.12em; text-transform: uppercase; color: var(--efo-roze); }
.efo-verplicht__vraag { margin: 0 0 0.75rem; font-size: clamp(1.35rem, 3vw, 1.75rem); line-height: 1.25; color: var(--efo-navy); outline: none; }
.efo-verplicht__hulp { margin: 0 0 1.5rem; color: var(--wp--preset--color--grijs); }
.efo-verplicht__knoppen { display: flex; flex-wrap: wrap; gap: 0.75rem; }
.efo-verplicht__knoppen.is-lijst { flex-direction: column; align-items: stretch; }
.efo-verplicht__knop { font: inherit; font-weight: 700; font-size: 1.05rem; min-height: 52px; min-width: 120px; padding: 0.7rem 1.4rem; border-radius: 14px; border: 2px solid var(--wp--preset--color--lijn); background: #fff; color: var(--efo-navy); cursor: pointer; text-align: left; transition: border-color 0.15s ease, background 0.15s ease; }
.efo-verplicht__knop:hover, .efo-verplicht__knop:focus-visible { border-color: var(--efo-roze); background: #FFF5F8; }
.efo-verplicht__terug, .efo-verplicht__opnieuw { font: inherit; font-weight: 700; margin-top: 1.25rem; padding: 0.5rem 0; border: 0; background: none; color: var(--wp--preset--color--wijnrood); cursor: pointer; text-decoration: underline; text-underline-offset: 3px; }
.efo-verplicht__onder { display: flex; flex-wrap: wrap; gap: 1.5rem; }
.efo-verplicht__badge { margin: 0 0 1.25rem; padding: 0.7rem 1rem; border-radius: 12px; background: #FBE3EA; color: var(--wp--preset--color--wijnrood); font-weight: 700; font-size: 0.95rem; }
.efo-verplicht__uitkomst { padding: 1.25rem 1.4rem; border-radius: 16px; border: 2px solid; }
.efo-verplicht__uitkomst.is-groen { background: #E4F2E8; border-color: #2F6B3B; }
.efo-verplicht__uitkomst.is-actie { background: #FFF6E2; border-color: #B7791F; }
.efo-verplicht__uitkomst p { margin: 0; }
.efo-verplicht__sub { margin: 1.5rem 0 0.5rem; font-size: 1.1rem; color: var(--efo-navy); }
.efo-verplicht__acties { margin: 0; padding-left: 1.2rem; }
.efo-verplicht__acties li { margin: 0.35rem 0; }
.efo-verplicht__acties a { font-weight: 700; }
.efo-verplicht__boek { margin-top: 1.5rem; padding: 1rem 1.2rem; border-radius: 12px; background: var(--efo-creme); font-size: 0.95rem; }
.efo-verplicht__boek p { margin: 0.2rem 0; }
.efo-verplicht__bron { margin-top: 0.75rem; font-size: 0.85rem; color: var(--wp--preset--color--grijs); }
/* Inkijk-knop naast de bestelknop: secundair, niet tweemaal dezelfde roze knop. */
.efo-inkijk-knop .wp-block-button__link { background: transparent !important; color: inherit !important; border: 2px solid currentColor !important; box-shadow: none !important; }
/* FAQ-themapagina's */
.efo-faq-boek { margin: 2rem 0 1.5rem; padding: 1.1rem 1.3rem; border-radius: 12px; background: var(--efo-creme); font-size: 0.95rem; }
.efo-faq-boek p { margin: 0.3rem 0; }
.efo-faq-boek ul { margin: 0.4rem 0 0.6rem; padding-left: 1.2rem; }
.efo-faq-boek__kop { font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em; font-size: 0.8rem; }
.efo-faq-tools { list-style: none; padding: 0; display: flex; flex-wrap: wrap; gap: 0.5rem; }
.efo-faq-tools a { display: inline-block; padding: 0.45rem 0.9rem; border: 2px solid currentColor; border-radius: 999px; text-decoration: none; font-size: 0.92rem; }
.efo-faq-bron { font-size: 0.85rem; color: var(--wp--preset--color--grijs); }
/* Validator D: keuze met knoppen (Automatisch, landen, Geavanceerd) en herkend document */
.efo-val-keuze { margin-bottom: 1rem; }
.efo-val-keuze__label { font-weight: 800; color: var(--efo-navy); margin: 0 0 0.5rem; }
.efo-val-landen { display: flex; flex-wrap: wrap; gap: 0.5rem; }
.efo-val-land, .efo-val-adv { display: inline-flex; align-items: center; gap: 0.4rem; padding: 0.55rem 0.95rem; border: 2px solid #DCD5C9; border-radius: 999px; background: var(--wp--preset--color--wit); color: var(--efo-navy); font: inherit; font-size: 0.95rem; font-weight: 600; cursor: pointer; line-height: 1.2; }
.efo-val-land:hover, .efo-val-adv:hover { border-color: var(--efo-navy); }
.efo-val-land:focus-visible, .efo-val-adv:focus-visible { outline: 3px solid rgba(224, 103, 138, 0.45); outline-offset: 2px; }
.efo-val-land.is-actief { background: var(--efo-navy); border-color: var(--efo-navy); color: #fff; }
.efo-val-adv { margin-left: auto; border-style: dashed; }
.efo-val-adv::after { content: "▾"; font-size: 0.8em; }
.efo-val-adv.is-actief { border-style: solid; border-color: var(--efo-navy); }
.efo-val-adv.is-actief::after { content: "▴"; }
.efo-val-vlag { display: inline-block; flex: none; overflow: hidden; width: 24px; height: 16px; border-radius: 3px; box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.12); vertical-align: -0.15em; }
.efo-val-land.is-actief .efo-val-vlag { box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.5); }
.efo-val-code { display: inline-block; min-width: 1.9em; padding: 0.05em 0.3em; border-radius: 4px; background: rgba(0, 0, 0, 0.08); font-size: 0.72em; font-weight: 800; letter-spacing: 0.04em; text-align: center; }
.efo-val-land.is-actief .efo-val-code { background: rgba(255, 255, 255, 0.2); }
.efo-val-auto { color: var(--wp--preset--color--roze); }
.efo-val-land.is-actief .efo-val-auto { color: inherit; }
.efo-val-keuze__uitleg { margin: 0.6rem 0 0.2rem; font-size: 0.92rem; color: var(--wp--preset--color--grijs); }
.efo-val-keuze__warn { display: inline-flex; gap: 0.4rem; align-items: center; font-size: 0.92rem; }
.efo-val-herkend { margin: 1rem 0; padding: 1rem 1.2rem; border-radius: 14px; background: var(--efo-creme); border: 1px solid #E8E1D6; }
.efo-val-herkend__kop { margin: 0 0 0.5rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.06em; font-size: 0.78rem; color: var(--efo-navy); }
.efo-val-herkend dl { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 0.5rem 1.25rem; margin: 0; }
.efo-val-herkend dl div { min-width: 0; }
.efo-val-herkend dt { font-size: 0.8rem; color: var(--wp--preset--color--grijs); }
.efo-val-herkend dd { margin: 0; font-weight: 600; overflow-wrap: anywhere; }
.efo-val-herkend code { font-size: 0.8rem; font-weight: 400; white-space: normal; overflow-wrap: anywhere; word-break: break-all; }
.efo-val-herkend__noot { margin: 0.6rem 0 0; font-size: 0.9rem; }
@media (max-width: 600px) { .efo-val-landen { gap: 0.35rem; } .efo-val-land, .efo-val-adv { padding: 0.4rem 0.65rem; font-size: 0.86rem; gap: 0.3rem; } .efo-val-adv { margin-left: 0; } }
.efo-tool__meldingen code { overflow-wrap: anywhere; word-break: break-word; white-space: normal; }

/* Blogintro onder de berichtenlijst (berichtenpagina-inhoud) */
.efo-blog-intro { max-width: 760px; margin: var(--wp--preset--spacing--70) auto 0; }
.efo-blog-intro h2 { margin-top: 2rem; }

/* Structuurcontrole (XSD) en businessregels: twee blokken in het resultaat (v2.9.0) */
.efo-xsd { margin: 1rem 0; padding: 0.9rem 1.2rem; border-radius: 14px; background: #fff; border: 1px solid #E8E1D6; border-left: 5px solid #B26A00; }
.efo-xsd--geldig { border-left-color: #2E7D4F; }
.efo-xsd--fouten, .efo-xsd--geen-xml, .efo-xsd--technische-fout { border-left-color: var(--wp--preset--color--wijnrood); }
.efo-xsd__titel { margin: 0 0 0.2rem; font-size: 1.05rem; }
.efo-xsd__kop { margin: 0; font-weight: 600; }
.efo-xsd__meta { margin: 0.25rem 0 0; font-size: 0.875rem; color: #5A6478; }
.efo-xsd__fouten { margin: 0.6rem 0 0; padding-left: 1.25rem; }
.efo-xsd__fouten li { margin: 0.4rem 0; overflow-wrap: anywhere; }
.efo-xsd__regel { display: inline-block; font-size: 0.75rem; padding: 0 0.4rem; border-radius: 4px; background: var(--efo-creme); font-variant-numeric: tabular-nums; }
.efo-xsd details { font-size: 0.8rem; color: #5A6478; }
.efo-xsd code { white-space: pre-wrap; word-break: break-word; font-family: var(--efo-mono); }
.efo-sch .efo-tool__kop { font-size: 0.95rem; margin: 1rem 0 0.4rem; }
.efo-sch .efo-tool__meldingen { margin-bottom: 0; }
.efo-tool__disclaimer { margin-top: 1rem; }

/* Landen en formaten: tabel uit de regelrelease */
.efo-landen-wrap { overflow-x: auto; }
.efo-landen { width: 100%; border-collapse: collapse; font-size: 0.92rem; }
.efo-landen th, .efo-landen td { text-align: left; vertical-align: top; padding: 0.55rem 0.65rem; border-bottom: 1px solid #E8E1D6; }
.efo-landen thead th { font-size: 0.8rem; text-transform: uppercase; letter-spacing: 0.04em; color: #5A6478; }
.efo-landen td small { display: block; color: #5A6478; margin-top: 0.15rem; }
.efo-landen__code { display: inline-block; min-width: 2.2em; font-size: 0.75rem; font-weight: 700; letter-spacing: 0.03em; padding: 0.05rem 0.35rem; border-radius: 4px; background: var(--efo-creme); text-align: center; }
.efo-landen__status { font-weight: 600; white-space: nowrap; }
.efo-landen__status--ja { color: #2E7D4F; }
.efo-landen__status--deels { color: #B26A00; }
.efo-landen__status--nee { color: #8A93A3; }
.efo-landen__niet { font-size: 0.875rem; color: #5A6478; }
@media (max-width: 640px) {
	.efo-landen thead { display: none; }
	.efo-landen tr, .efo-landen td, .efo-landen th { display: block; border: 0; padding: 0.2rem 0; }
	.efo-landen tbody th { padding-top: 0.9rem; border-top: 1px solid #E8E1D6; }
}

/* Validator: alle landen als keuze, AI-sterretjes bij Automatisch, testfacturen (v2.9.2) */
.efo-val-keuze__kop { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 0.4rem 1rem; }
.efo-val-keuze__sub { font-weight: 600; color: #5A6478; text-transform: none; letter-spacing: 0; }
.efo-val-keuze__link { font-size: 0.9rem; font-weight: 700; }
.efo-val-ster { color: var(--wp--preset--color--roze); flex: none; }
.efo-val-land--auto { font-weight: 800; }
.efo-val-land.is-actief .efo-val-ster { color: #FBE3EA; }
.efo-val-landen .efo-val-land { font-size: 0.9rem; padding: 0.45rem 0.8rem; }
.efo-val-test { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 0.6rem 0.9rem; margin-top: 1rem; }
.efo-val-test__veld { display: flex; flex-direction: column; gap: 0.35rem; flex: 1 1 320px; }
.efo-val-test__veld label { font-size: 0.92rem; font-weight: 700; color: var(--efo-navy); }
.efo-val-test select { min-height: 44px; padding: 0 0.75rem; border-radius: 10px; border: 1px solid #C9CFD8; background: #fff; font: inherit; font-size: 0.92rem; color: var(--efo-navy); }
.efo-val-test .wp-element-button { min-height: 44px; }
.efo-val-test__link { min-height: 44px; display: inline-flex; align-items: center; font-size: 0.9rem; font-weight: 700; }
.efo-landen th .efo-val-vlag { width: 24px; height: 16px; vertical-align: -3px; margin-right: 0.35rem; border-radius: 2px; box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.14); }

/* Pagina Testfacturen */
.efo-tf-filters { display: flex; flex-wrap: wrap; gap: 0.5rem; margin: 0 0 1.25rem; }
.efo-tf-filter { min-height: 44px; padding: 0 1rem; border-radius: 999px; border: 1px solid #DCD5CA; background: #fff; color: var(--efo-navy); font: inherit; font-size: 0.92rem; font-weight: 700; cursor: pointer; }
.efo-tf-filter.is-actief { background: var(--efo-navy); border-color: var(--efo-navy); color: #fff; }
.efo-tf-lijst { display: grid; grid-template-columns: repeat(auto-fill, minmax(290px, 1fr)); gap: 1rem; }
.efo-tf-kaart { background: #fff; border-radius: 18px; padding: 1.3rem; display: flex; flex-direction: column; gap: 0.7rem; box-shadow: 0 20px 40px -32px rgba(13, 22, 40, 0.4); border: 1px solid #EEE7DC; }
.efo-tf-kaart[hidden] { display: none; }
.efo-tf-kaart h3 { margin: 0; font-size: 1.15rem; line-height: 1.3; }
.efo-tf-kaart p { margin: 0; font-size: 0.93rem; line-height: 1.55; }
.efo-tf-kaart__kop { display: flex; align-items: center; justify-content: space-between; gap: 0.5rem; }
.efo-tf-kaart__formaat { display: inline-flex; align-items: center; gap: 0.45rem; font-size: 0.75rem; font-weight: 800; letter-spacing: 0.04em; text-transform: uppercase; color: var(--efo-navy); }
.efo-tf-kaart__formaat .efo-val-vlag { width: 22px; height: 15px; border-radius: 2px; box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.14); }
.efo-tf-badge { padding: 0.15rem 0.6rem; border-radius: 999px; font-size: 0.75rem; font-weight: 800; white-space: nowrap; }
.efo-tf-badge--geldig { background: #E3F2E8; color: #1E5E3A; }
.efo-tf-badge--struct { background: #FDF0DC; color: #7A4A00; }
.efo-tf-badge--regels { background: #FBE3EA; color: #952A46; }
.efo-tf-badge--ander { background: #ECEFF4; color: var(--efo-navy); }
.efo-tf-verwacht { padding: 0.6rem 0.75rem; border-radius: 10px; background: #F3F5F8; font-size: 0.85rem !important; }
.efo-tf-acties { margin-top: auto; display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem 0.9rem; padding-top: 0.3rem; }
.efo-tf-test { display: inline-flex; align-items: center; min-height: 44px; padding: 0 1.1rem; border-radius: 999px; background: var(--wp--preset--color--roze); color: var(--efo-diep) !important; font-weight: 800; font-size: 0.9rem; text-decoration: none; }
.efo-tf-test:hover { filter: brightness(1.05); }
.efo-tf-dl { font-size: 0.85rem; font-weight: 700; overflow-wrap: anywhere; }
.efo-tf-dl code { font-size: 0.78rem; font-weight: 500; }
.efo-val-meer { display: inline-flex; align-items: center; gap: 0.4rem; padding: 0.45rem 0.9rem; border: 2px dashed #B8BFCA; border-radius: 999px; background: #fff; color: var(--efo-navy); font: inherit; font-size: 0.9rem; font-weight: 700; cursor: pointer; }
.efo-val-meer:hover { border-color: var(--efo-navy); }
.efo-val-meer::after { content: ""; width: 0.45rem; height: 0.45rem; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: translateY(-2px) rotate(45deg); }
.efo-val-meer[aria-expanded="true"]::after { transform: translateY(2px) rotate(225deg); }
.efo-val-land[hidden] { display: none; }

/* Footer per onderwerp (v2.9.6) */
.efo-footer__grid.wp-block-columns { display: grid !important; grid-template-columns: minmax(240px, 1.4fr) repeat(4, minmax(140px, 1fr)); gap: 2.5rem 2rem !important; }
.efo-footer__grid > .wp-block-column { flex-basis: auto !important; min-width: 0; margin: 0 !important; }
.efo-footer__kop { color: var(--wp--preset--color--roze) !important; margin-bottom: 0.75rem !important; font-size: 0.75rem !important; letter-spacing: 0.14em !important; }
.efo-footer__lijst a { min-height: 32px; font-size: 0.92rem; }
.efo-footer__lijst li { display: flex; flex-wrap: wrap; align-items: center; gap: 0.4rem; }
.efo-footer__lijst strong { font-weight: 800; color: #fff; }
.efo-footer__badge { padding: 0.05rem 0.45rem; border-radius: 999px; background: #1F3150; color: var(--efo-hemel); font-size: 0.7rem; font-weight: 700; white-space: nowrap; }
.efo-footer__lijst a[href^="mailto"] { overflow-wrap: anywhere; font-size: 0.85rem; }
.efo-footer__merk .efo-footer__zacht { font-size: 0.92rem; }
.efo-footer__bestel .wp-block-button__link { min-height: 44px; padding: 0.6rem 1.25rem; font-weight: 800; }
.efo-footer__talen { display: flex; gap: 0.4rem; margin-top: 1rem !important; }
.efo-footer__talen a { min-width: 40px; min-height: 32px; display: inline-flex; align-items: center; justify-content: center; border-radius: 999px; border: 1px solid #2B3B57; color: var(--efo-creme); font-size: 0.75rem; font-weight: 800; text-decoration: none; }
.efo-footer__talen a[aria-current="page"] { background: var(--wp--preset--color--roze); border-color: var(--wp--preset--color--roze); color: var(--efo-diep); }
.efo-footer__talen a:hover { border-color: var(--wp--preset--color--roze); }
.efo-footer__sociaal { margin-top: 1rem !important; }
.efo-footer__voet { gap: 0.5rem 1.5rem; }
.efo-footer__juridisch { display: flex; flex-wrap: wrap; gap: 0.4rem 1.25rem; }
.efo-footer__juridisch a { color: var(--efo-hemel); text-decoration: none; }
.efo-footer__juridisch a:hover { color: #fff; text-decoration: underline; }
@media (max-width: 1080px) { .efo-footer__grid.wp-block-columns { grid-template-columns: repeat(2, minmax(0, 1fr)); } .efo-footer__merk { grid-column: 1 / -1; } }
@media (max-width: 520px) { .efo-footer__grid.wp-block-columns { grid-template-columns: 1fr; gap: 2rem !important; } }

/* Mobiel: header past binnen het scherm, testfactuur-keuzelijst binnen de kaart (v2.9.7) */
@media (max-width: 520px) {
	.efo-header .efo-wordmark { font-size: 0.78rem; white-space: nowrap; max-width: none; letter-spacing: 0.04em; }
	.efo-header .efo-wordmark span { display: block; }
	.efo-header__rechts { gap: 0.35rem !important; min-width: 0; }
	.efo-header .wp-block-navigation__responsive-container-open { width: 40px; height: 40px; }
	.efo-header-cta .wp-block-button__link { padding: 0.4rem 0.75rem; min-height: 40px; font-size: 0.8125rem; }
	.efo-header .wc-block-mini-cart__button { padding: 0.25rem !important; }
}
@media (max-width: 400px) {
	.efo-header .wc-block-mini-cart { display: none; }
}
.efo-val-test, .efo-val-test__veld { min-width: 0; max-width: 100%; }
.efo-val-test select { width: 100%; max-width: 100%; box-sizing: border-box; }
@media (max-width: 600px) {
	.efo-val-test__veld { flex: 1 1 100%; }
	.efo-val-test .wp-element-button { width: 100%; justify-content: center; }
}

/* Foutcodes-overzicht: groepen met tussenkop (2.10.7) */
.efo-fc-groep { margin: 2.25rem 0 0.35rem; }
.efo-fc-groep__uitleg { margin: 0 0 1rem; }

/* Auteursregel en auteurspagina (2.10.9) */
.efo-byline { font-size: 0.9rem; color: #5A6472; margin: 0 0 1.5rem; }
.efo-byline a { color: inherit; }
.efo-auteurfoto { width: 120px; height: 160px; object-fit: cover; border-radius: 6px; float: left; margin: 0.25rem 1.25rem 0.75rem 0; }
.efo-auteurblok::after { content: ""; display: block; clear: both; }

/* Validator, compacte regelkeuze (2.10.18): Automatisch en België in de rij, de rest in "Meer landen". */
.efo-val-adv { margin-left: 0; }
.efo-val-meer { border-style: solid; border-color: #DCD5C9; border-width: 2px; }
.efo-val-meer.is-open { border-color: var(--efo-navy); background: #EEF1F6; }
.efo-val-land--gekozen .efo-val-land__x { margin-left: 0.15rem; font-weight: 800; opacity: 0.8; }
.efo-val-paneel { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(190px, 100%), 1fr)); gap: 0.5rem; margin-top: 0.75rem; padding: 0.9rem; border: 1px solid #E6E2DF; border-radius: 16px; background: #fff; }
.efo-val-paneel[hidden] { display: none; }
.efo-val-paneel .efo-val-land { width: 100%; min-width: 0; max-width: 100%; overflow: hidden; white-space: normal; justify-content: flex-start; text-align: left; border-radius: 12px; padding: 0.5rem 0.75rem; min-height: 48px; border-width: 1px; }
.efo-val-land__tekst { display: flex; flex-direction: column; line-height: 1.25; min-width: 0; }
.efo-val-land__naam { font-weight: 700; }
.efo-val-land__sub { font-size: 0.78rem; font-weight: 500; opacity: 0.75; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.efo-tool__drop .efo-val-keuze__uitleg { margin: 0.35rem 0 0; font-size: 0.85rem; font-weight: 600; color: var(--efo-navy); }
.efo-tool__drop .efo-val-keuze__uitleg[hidden] { display: none; }
@media (max-width: 600px) {
	.efo-val-paneel { grid-template-columns: minmax(0, 1fr); padding: 0.6rem; }
	.efo-val-land__sub { white-space: normal; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
}
/* iOS vergroot tekst in brede blokken anders automatisch */
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }

/* Testfacturen: landenfilter (2.10.19). */
.efo-tf-filters--land { align-items: center; margin-top: -0.5rem; }
.efo-tf-filters__kop { font-size: 0.9rem; font-weight: 800; color: var(--efo-navy); margin-right: 0.25rem; }
.efo-tf-filter { display: inline-flex; align-items: center; gap: 0.45rem; }
.efo-tf-filter .efo-val-vlag { width: 22px; height: 15px; border-radius: 2px; box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.14); }
.efo-tf-filter.is-actief .efo-val-vlag { box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.5); }
.efo-tf-filter__n { font-weight: 600; opacity: 0.7; }
.efo-tf-leeg { margin: 0.5rem 0 1rem; color: var(--wp--preset--color--grijs); }
.efo-tf-kaart[hidden] { display: none; }

/* Validator: aangekondigde regels (nog niet verplicht) en vergelijking met de regels van vandaag */
.efo-val-aangekondigd { margin-top: 0.75rem; padding: 0.75rem 0.9rem; border: 1px dashed #C9A227; border-radius: 12px; background: #FFF8E1; color: #4A3B00; }
.efo-val-aangekondigd p { margin: 0 0 0.6rem; }
.efo-val-aangekondigd .efo-val-vergelijk { font-size: 0.9rem; padding: 0.45rem 0.9rem; }
.efo-val-vergelijk__uit:empty { display: none; }
.efo-val-vergelijk__uit { margin-top: 0.6rem; color: #1B2230; }
.efo-val-vergelijk__uit .efo-tool__meldingen li.is-fout { border-left: 3px solid #C0392B; padding-left: 0.5rem; }
.efo-val-vergelijk__uit .efo-tool__meldingen li.is-waarschuwing { border-left: 3px solid #C9A227; padding-left: 0.5rem; }
.efo-val-vergelijk__uit em { font-style: normal; font-size: 0.78rem; font-weight: 700; text-transform: uppercase; opacity: 0.7; margin-right: 0.25rem; }
.efo-val-bel { display: inline-block; vertical-align: -3px; margin-right: 0.4rem; color: #A07800; }

/* Peppol-checker: dienstverlener en technische details (2.10.32) */
.efo-pc__ap { margin-top: 0.9rem; display: flex; align-items: center; gap: 1rem; background: #fff; border: 1px solid #BFDCC9; border-radius: 12px; padding: 1rem 1.25rem; }
.efo-pc__ap-icoon { width: 48px; height: 48px; border-radius: 12px; background: #12182B; color: #F07A95; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.efo-pc__ap-tekst { display: flex; flex-direction: column; gap: 0.15rem; min-width: 0; }
.efo-pc__kicker { font-size: 0.75rem; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: #2E7D4F; }
.efo-pc__ap-naam { font-size: 1.45rem; font-weight: 800; line-height: 1.2; overflow-wrap: anywhere; }
.efo-pc__ap-meta { font-size: 0.875rem; color: #5b5752; }
.efo-pc__platform { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem; margin-top: 0.5rem; }
.efo-pc__platform .efo-pc__kicker { color: #5b5752; }
.efo-pc__pil { background: #F3EEE7; border-radius: 999px; padding: 0.15rem 0.75rem; font-weight: 700; }
.efo-pc__waarschuwing { margin-top: 0.9rem; background: #FFF4E5; border: 1px solid #F0C98A; border-radius: 12px; padding: 0.9rem 1.2rem; }
.efo-pc__waarschuwing p { margin: 0.2rem 0; }
.efo-pc__mini { margin: 0.6rem 0 0.2rem; background: #F7F1E9; border-radius: 8px; padding: 0.6rem 0.75rem; display: grid; grid-template-columns: 6.5rem minmax(0, 1fr); gap: 0.2rem 0.6rem; font-size: 0.9rem; }
.efo-pc__mini dt { color: #5b5752; }
.efo-pc__mini dd { margin: 0; overflow-wrap: anywhere; }
.efo-pc__zacht { color: #5b5752; font-size: 0.875rem; }
.efo-pc__afwijking { color: #6B3F00; font-weight: 600; font-size: 0.875rem; margin: 0.4rem 0 0; }
.efo-tool__kaart.is-afwijkend { border: 2px solid #F0C98A; }
.efo-pc__toggle { font: inherit; width: 100%; margin-top: 1rem; text-align: left; display: flex; align-items: center; gap: 0.9rem; padding: 1rem 1.4rem; border: 1px dashed #B9AE9F; border-radius: 12px; background: #FBF8F4; color: #1B2033; cursor: pointer; }
.efo-pc__toggle:hover { border-color: #12182B; }
.efo-pc__toggle-tekst { display: flex; flex-direction: column; gap: 0.1rem; flex-grow: 1; }
.efo-pc__toggle-titel { font-weight: 700; }
.efo-pc__toggle-sub { font-size: 0.875rem; color: #5b5752; }
.efo-pc__toggle.is-open { background: #12182B; color: #fff; border: 1px solid #12182B; border-radius: 12px 12px 0 0; }
.efo-pc__toggle.is-open .efo-pc__toggle-sub { color: #C9CDDA; }
.efo-pc__toggle.is-open .efo-pc__pijl { transform: rotate(180deg); }
.efo-pc__paneel { border: 1px solid #12182B; border-top: 0; border-radius: 0 0 12px 12px; padding: 1.5rem; background: #fff; }
.efo-pc__details { display: flex; flex-direction: column; gap: 1.75rem; }
.efo-pc__blok h3 { margin: 0 0 0.6rem; font-size: 1.2rem; }
.efo-pc__blok p { margin: 0.3rem 0; }
.efo-pc__twee .efo-pc__blok, .efo-pc__details > .efo-pc__blok:nth-child(n+3) { border: 1px solid #E4DCD0; border-radius: 12px; padding: 1rem 1.25rem; }
.efo-pc__twee { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 20rem), 1fr)); gap: 1rem; }
.efo-pc__stappen { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 14rem), 1fr)); gap: 0.75rem; margin-bottom: 0.9rem; }
.efo-pc__stappen > div { background: #F7F1E9; border-radius: 10px; padding: 0.8rem 1rem; display: flex; flex-direction: column; gap: 0.3rem; }
.efo-pc__stappen .efo-pc__kicker { color: #5b5752; }
.efo-pc__dl { display: grid; grid-template-columns: minmax(8rem, 13rem) minmax(0, 1fr); gap: 0.35rem 1.2rem; margin: 0.4rem 0; font-size: 0.95rem; }
.efo-pc__dl dt { color: #5b5752; overflow-wrap: anywhere; }
.efo-pc__dl dd { margin: 0; overflow-wrap: anywhere; }
.efo-pc__dl code, .efo-pc__mini code, .efo-pc__ap code, .efo-pc__dienst code, .efo-pc__paneel code { font-size: 0.8rem; white-space: normal; word-break: break-all; }
.efo-pc__paneel, .efo-pc__paneel * { min-width: 0; }
.efo-pc__twee .efo-pc__dl { grid-template-columns: 6.5rem minmax(0, 1fr); }
.efo-pc__dl--klein { font-size: 0.85rem; padding: 0.4rem 0 0.6rem; }
.efo-pc__tabs { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem; margin-bottom: 0.75rem; }
.efo-pc__tabs [role="tab"] { font: inherit; font-size: 0.875rem; font-weight: 600; min-height: 40px; padding: 0.4rem 0.9rem; border-radius: 999px; border: 1px solid #D9CFC2; background: #fff; color: #1B2033; cursor: pointer; }
.efo-pc__tabs [role="tab"][aria-selected="true"] { background: #12182B; border-color: #12182B; color: #fff; }
.efo-pc__tabel { border: 1px solid #E4DCD0; border-radius: 10px; overflow: hidden; }
.efo-pc__kop, .efo-pc__dienst > summary { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1.2fr) minmax(0, 1fr) minmax(0, 1.6fr); gap: 0.75rem; padding: 0.7rem 1rem; }
.efo-pc__kop { background: #F7F1E9; font-size: 0.75rem; font-weight: 700; letter-spacing: 0.04em; text-transform: uppercase; color: #5b5752; }
.efo-pc__dienst { border-top: 1px solid #EEE7DD; }
.efo-pc__dienst > summary { cursor: pointer; list-style: none; font-size: 0.9rem; }
.efo-pc__dienst > summary::-webkit-details-marker { display: none; }
.efo-pc__dienst[open] { background: #FBF8F4; }
.efo-pc__dienst > .efo-pc__dl { padding: 0 1rem 0.8rem; margin: 0; }
.efo-pc__d-naam { font-weight: 700; }
.efo-pc__dienst > summary > span { overflow-wrap: anywhere; min-width: 0; }
.efo-pc__tabel > .efo-pc__afwijking, .efo-pc__tabel > .efo-pc__zacht { padding: 0.5rem 1rem; }
.efo-pc__acties { display: flex; flex-wrap: wrap; align-items: center; gap: 0.75rem 1.25rem; }
.efo-pc__json { font: inherit; font-weight: 700; min-height: 44px; padding: 0.5rem 1.2rem; border: 0; border-radius: 999px; background: #E86A88; color: #2A0D16; cursor: pointer; }
@media (max-width: 640px) {
	.efo-pc__ap { align-items: flex-start; padding: 0.9rem 1rem; }
	.efo-pc__ap-icoon { width: 40px; height: 40px; }
	.efo-pc__ap-naam { font-size: 1.2rem; }
	.efo-pc__paneel { padding: 1rem; }
	.efo-pc__kop { display: none; }
	.efo-pc__dienst > summary { grid-template-columns: minmax(0, 1fr) auto; }
	.efo-pc__dienst > summary > span:nth-child(2), .efo-pc__dienst > summary > .efo-pc__d-url { display: none; }
	.efo-pc__dl { grid-template-columns: minmax(0, 1fr); gap: 0.1rem; }
	.efo-pc__dl dd { margin-bottom: 0.5rem; }
}

/* Zoeken op naam via Nummo (2.10.37) */
.efo-nm__rij > input { min-width: 0; }
.efo-tool__rij.efo-nm__rij { position: relative; }
.efo-nm__lijst { position: absolute; z-index: 20; left: 0; right: 0; top: calc(100% + 4px); margin: 0; padding: 0.3rem 0; list-style: none; background: #fff; border: 2px solid #12182B; border-radius: 10px; box-shadow: 0 12px 28px rgba(18, 24, 43, 0.14); max-height: 24rem; overflow-y: auto; }
.efo-nm__lijst [role="option"] { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 0.1rem 1rem; padding: 0.6rem 1rem; cursor: pointer; }
.efo-nm__lijst [role="option"] + [role="option"] { border-top: 1px solid #F1ECE4; }
.efo-nm__lijst [role="option"][aria-selected="true"], .efo-nm__lijst [role="option"]:hover { background: #FBF1F4; }
.efo-nm__lijst .is-stop .efo-nm__naam { color: #5b5752; }
.efo-nm__naam { font-weight: 700; overflow-wrap: anywhere; }
.efo-nm__naam mark { background: #FCE6EC; color: inherit; padding: 0; }
.efo-nm__nr { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 0.85rem; }
.efo-nm__sub { grid-column: 1 / -1; font-size: 0.82rem; color: #5b5752; }
.efo-nm__voet { padding: 0.5rem 1rem 0.3rem; border-top: 1px solid #F1ECE4; font-size: 0.78rem; color: #5b5752; display: flex; flex-wrap: wrap; align-items: center; gap: 0.35rem; }
.efo-nm__merk { display: inline-flex; align-items: center; gap: 0.25rem; font-weight: 600; color: #0b0b0c; letter-spacing: -0.05em; }
.efo-nm__credit a { text-decoration: none; }
.efo-nm__credit a:hover .efo-nm__merk { text-decoration: underline; }
.efo-nm__kaart { margin: 1rem 0; display: flex; align-items: center; gap: 1rem; flex-wrap: wrap; border: 1px solid #CFE6DD; background: #F3FAF7; border-radius: 12px; padding: 1rem 1.25rem; }
.efo-nm__groot { display: flex; flex-shrink: 0; }
.efo-nm__tekst { display: flex; flex-direction: column; gap: 0.2rem; flex: 1 1 16rem; min-width: 0; }
.efo-nm__kicker { font-size: 0.75rem; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: #0a7c5c; }
a.efo-nm__knop { font-weight: 700; padding: 0.6rem 1.1rem; border-radius: 999px; background: #0a7c5c; color: #fff; text-decoration: none; white-space: nowrap; }
a.efo-nm__knop:hover { background: #086149; color: #fff; }

/* Peppol-ID uitleggen (2.10.37) */
.efo-pid__vb { display: flex; flex-wrap: wrap; align-items: center; gap: 0.4rem; margin: 0.6rem 0 0; font-size: 0.85rem; }
.efo-pid__vb button { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 0.78rem; min-height: 36px; padding: 0 0.6rem; border-radius: 6px; border: 1px solid #D9CFC2; background: #fff; color: #1B2033; cursor: pointer; max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.efo-pid__vb button:hover { border-color: #12182B; }
.efo-pid__uit { display: flex; flex-direction: column; gap: 1rem; margin-top: 1.25rem; }
.efo-pid__kaart { border: 1px solid #E4DCD0; border-radius: 14px; padding: 1.1rem 1.4rem; background: #fff; min-width: 0; }
.efo-pid__kaart h2 { margin: 0 0 0.6rem; font-size: 1.2rem; }
.efo-pid__kaart--fout { border-color: #F0C98A; background: #FFF4E5; }
.efo-pid__kicker { margin: 0 0 0.8rem; font-size: 0.75rem; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: #5b5752; }
.efo-pid__opbouw { display: flex; flex-wrap: wrap; gap: 0.4rem 0; }
.efo-pid__deel { display: flex; flex-direction: column; gap: 0.35rem; min-width: 0; }
.efo-pid__deel code { display: block; font-size: 1.15rem; padding: 0.35rem 0.6rem; border: 2px solid; background: #fff; word-break: break-all; }
.efo-pid__deel span { font-size: 0.78rem; color: #5b5752; padding: 0 0.3rem; max-width: 14rem; }
.efo-pid__deel--a code { border-color: #E86A88; background: #FCE6EC; border-radius: 8px 0 0 8px; }
.efo-pid__deel--b code { border-color: #3B6FD8; background: #E6EEFB; border-left: 0; }
.efo-pid__deel--c code { border-color: #D9CFC2; border-left: 0; border-right: 0; }
.efo-pid__deel--d code { border-color: #2E7D4F; background: #E7F2EB; border-radius: 0 8px 8px 0; }
.efo-pid__deel--d:only-child code, .efo-pid__opbouw .efo-pid__deel--d:first-child code { border-radius: 8px; }
.efo-pid__noot { margin: 0.8rem 0 0; font-size: 0.9rem; color: #5b5752; }
.efo-pid__twee { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 20rem), 1fr)); gap: 1rem; }
.efo-pid__dl { display: grid; grid-template-columns: 7rem minmax(0, 1fr); gap: 0.35rem 1rem; margin: 0 0 0.6rem; font-size: 0.95rem; }
.efo-pid__dl dt { color: #5b5752; }
.efo-pid__dl dd { margin: 0; overflow-wrap: anywhere; }
.efo-pid__zacht { color: #5b5752; font-size: 0.875rem; }
.efo-pid__pil { display: inline-block; border-radius: 999px; padding: 0.15rem 0.7rem; font-weight: 700; font-size: 0.85rem; }
.efo-pid__pil--ok { background: #E7F2EB; color: #1F5C39; }
.efo-pid__pil--let { background: #FFF4E5; color: #6B3F00; }
.efo-pid__pil--nee { background: #FCE6EC; color: #8A1F3A; }
.efo-pid__reken { margin: 0.6rem 0; padding: 0.7rem 0.9rem; background: #F7F1E9; border-radius: 10px; font-size: 0.85rem; white-space: pre-wrap; }
.efo-pid__meer summary { cursor: pointer; font-weight: 600; font-size: 0.9rem; }
.efo-pid__tabel { border: 1px solid #EEE7DD; border-radius: 10px; overflow: hidden; }
.efo-pid__rij { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 2fr) minmax(0, 1.4fr); gap: 0.75rem; padding: 0.65rem 1rem; font-size: 0.95rem; }
.efo-pid__rij + .efo-pid__rij { border-top: 1px solid #EEE7DD; }
.efo-pid__rij code { word-break: break-all; font-size: 0.85rem; }
.efo-pid__ja { color: #1F5C39; font-weight: 600; font-size: 0.9rem; }
.efo-pid__acties { display: flex; flex-wrap: wrap; align-items: center; gap: 0.6rem 1rem; margin: 1rem 0 0; }
@media (max-width: 640px) {
	.efo-pid__rij { grid-template-columns: minmax(0, 1fr); gap: 0.2rem; }
	.efo-pid__deel code { font-size: 0.95rem; }
	.efo-pid__dl { grid-template-columns: minmax(0, 1fr); gap: 0.1rem; }
	.efo-pid__dl dd { margin-bottom: 0.4rem; }
}

/* Peppol-codelijsten (2.10.37) */
.efo-cl__versie { font-size: 0.9rem; color: #5b5752; }
.efo-cl__nav { display: flex; flex-wrap: wrap; gap: 0.5rem; margin: 1rem 0; }
.efo-cl__nav a { display: inline-flex; align-items: center; gap: 0.4rem; min-height: 44px; padding: 0 1rem; border-radius: 999px; border: 1px solid #D9CFC2; color: #1B2033; text-decoration: none; font-weight: 600; }
.efo-cl__nav a:hover { border-color: #12182B; }
.efo-cl__nav a span { font-size: 0.8rem; background: #F3EEE7; border-radius: 999px; padding: 0.05rem 0.5rem; }
.efo-cl__filters { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 0.75rem 1rem; margin: 0 0 1.5rem; padding: 1rem 1.25rem; background: #F7F1E9; border-radius: 14px; }
@media (min-width: 900px) { .efo-cl__filters { position: sticky; top: 0; z-index: 5; } }
.efo-cl__filters > div { display: flex; flex-direction: column; gap: 0.3rem; flex: 1 1 14rem; }
.efo-cl__filters label { font-weight: 700; font-size: 0.9rem; }
.efo-cl__filters input[type="search"], .efo-cl__filters select { font: inherit; min-height: 44px; padding: 0 0.8rem; border: 1px solid #D9CFC2; border-radius: 10px; background: #fff; }
.efo-cl__filters .efo-cl__oud { display: flex; align-items: center; gap: 0.4rem; font-weight: 400; min-height: 44px; }
.efo-cl:not(.is-js) .efo-cl__filters { display: none; }
.efo-cl__lijst { margin: 0 0 2rem; scroll-margin-top: 7rem; }
.efo-cl__scroll { overflow-x: auto; border: 1px solid #E4DCD0; border-radius: 12px; }
.efo-cl__tabel { width: 100%; border-collapse: collapse; font-size: 0.92rem; margin: 0; }
.efo-cl__tabel th, .efo-cl__tabel td { text-align: left; vertical-align: top; padding: 0.65rem 0.85rem; border-top: 1px solid #EEE7DD; }
.efo-cl__tabel thead th { background: #F7F1E9; border-top: 0; font-size: 0.75rem; letter-spacing: 0.04em; text-transform: uppercase; color: #5b5752; white-space: nowrap; }
.efo-cl__tabel tbody th { font-weight: 600; }
.efo-cl__tabel tbody th small { display: block; font-weight: 400; color: #5b5752; font-size: 0.78rem; }
.efo-cl__anker { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 1rem; font-weight: 700; color: #12182B; text-decoration: none; }
.efo-cl__anker:hover { text-decoration: underline; }
.efo-cl__tabel tr { scroll-margin-top: 9rem; }
.efo-cl__tabel tr.is-be { background: #F3FAF5; }
.efo-cl__tabel tr.is-doel { outline: 3px solid #E86A88; outline-offset: -3px; }
.efo-cl__tabel tr.is-oud { color: #5b5752; }
.efo-cl__tabel code { font-size: 0.8rem; word-break: break-all; }
.efo-cl__lang { display: block; max-width: 38rem; }
.efo-cl__zacht { color: #5b5752; font-size: 0.85rem; }
.efo-cl__test { font-size: 0.82rem; white-space: nowrap; }
.efo-cl__st { display: inline-block; border-radius: 999px; padding: 0.05rem 0.55rem; font-size: 0.75rem; font-weight: 700; }
.efo-cl__st--active { background: #E7F2EB; color: #1F5C39; }
.efo-cl__st--deprecated { background: #FFF4E5; color: #6B3F00; }
.efo-cl__st--removed { background: #F3EEE7; color: #5b5752; }
.efo-cl__geen { color: #5b5752; }

/* Peppol-checker: eenvoudiger resultaat (2.10.42, feedback Wouter) */
.efo-pc__status { display: flex; align-items: flex-start; gap: 0.7rem; margin: 0 0 1rem; font-size: 1.05rem; line-height: 1.45; }
.efo-pc__bol { width: 1.6rem; height: 1.6rem; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; color: #fff; font-weight: 800; font-size: 0.95rem; background: #2E7D4F; margin-top: 0.05rem; }
.efo-pc__status.is-let .efo-pc__bol { background: #B86E00; }
.efo-pc__status.is-nee .efo-pc__bol { background: #A8324F; }
.efo-tool__kaart .efo-pc__kaartkop { display: flex; justify-content: space-between; align-items: baseline; gap: 0.6rem; flex-wrap: wrap; }
.efo-tool__kaart .efo-pc__kaartkop .efo-tool__label { margin: 0; font-weight: 700; font-size: 1.05rem; }
.efo-tool__kaart .efo-pc__kaartkop .efo-tool__status { margin: 0; }
.efo-tool__kaart.is-nee { border-style: dashed; }
.efo-tool__kaart.is-nee .efo-tool__status { color: #5b5752; }
.efo-tool__kaart .efo-tool__id code { color: #5b5752; }
.efo-pc__via { margin: 0.7rem 0 0.5rem; background: #F3FAF5; border-radius: 10px; padding: 0.7rem 0.9rem; display: flex; flex-direction: column; gap: 0.1rem; }
.efo-tool__kaart.is-afwijkend .efo-pc__via { background: #FFF4E5; }
.efo-tool__kaart.is-afwijkend .efo-pc__via .efo-pc__kicker { color: #6B3F00; }
.efo-pc__via-naam { font-size: 1.2rem; font-weight: 800; line-height: 1.25; overflow-wrap: anywhere; }
.efo-pc__via-meta { font-size: 0.85rem; color: #5b5752; }
.efo-pc__via-meta code { font-size: 0.8rem; }
.efo-pc__docs { font-size: 0.92rem; }
.efo-pc__docs summary { cursor: pointer; font-weight: 600; }
.efo-pc__docs ul { margin: 0.4rem 0 0; padding-left: 1.1rem; }
.efo-tool__directory { display: flex; flex-wrap: wrap; align-items: center; gap: 0.3rem 1.4rem; margin: 1rem 0; padding: 0.8rem 1.2rem; font-size: 0.92rem; }
.efo-tool__directory .efo-pc__kicker { color: #5b5752; }
.efo-pc__toggle { margin-top: 0.5rem; padding: 0.8rem 1.2rem; }
/* Kaartkop: status als kopje boven het label, zodat beide kaartjes gelijk lopen (2.10.45). */
.efo-tool__kaart .efo-pc__kaartkop { display: block; }
.efo-tool__kaart .efo-pc__kaartkop .efo-tool__status { margin: 0 0 0.2rem; }
.efo-tool__kaart .efo-pc__kaartkop .efo-tool__label { margin: 0; }
.efo-tool__kaart .efo-tool__id { margin-top: 0.35rem; }
/* Kaartjes: twee exact gelijke kolommen, even hoog, met het vak "Ontvangt via" en de documentlijn op dezelfde hoogte (2.10.46). */
.efo-tool__resultaat .efo-tool__kaarten { grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: stretch; }
.efo-tool__resultaat .efo-tool__kaarten > .efo-tool__kaart:only-child { grid-column: 1 / -1; }
.efo-tool__resultaat .efo-tool__kaart { display: flex; flex-direction: column; min-width: 0; }
.efo-tool__resultaat .efo-pc__via { flex: 1 0 auto; justify-content: center; }
.efo-tool__resultaat .efo-pc__docs { margin-top: auto; }
@media (max-width: 640px) { .efo-tool__resultaat .efo-tool__kaarten { grid-template-columns: minmax(0, 1fr); } }
