/*
 * Blok: Beleidstekst (template-parts/beleid.php), 9 oktober 2026. Inhoudsopgave (kaart, op brede schermen links)
 * naast de tekst op een kaart. Tekst 18px; links en het datumregeltje in #A34700 (5,7:1).
 */
.blok-beleid__raster { display: grid; grid-template-columns: minmax(0, 860px); gap: 32px; }
.blok-beleid__raster.heeft-inhoud { grid-template-columns: 300px minmax(0, 860px); }
.blok-beleid__inhoud { align-self: start; padding: 24px 22px; } /* Niet "sticky": met 16 onderdelen van 44px zou de lijst zelf moeten scrollen. */
.blok-beleid p.blok-beleid__inhoud-titel { margin: 0 0 8px; color: var(--swo-color-heading); font-size: 20px; font-weight: 800; line-height: 1.3; }
.blok-beleid__inhoud ol { margin: 0; padding: 0; list-style: none; counter-reset: beleid; }
.blok-beleid__inhoud li { counter-increment: beleid; margin: 0; font-size: 18px; }
.blok-beleid__inhoud a { display: flex; gap: 8px; min-height: 44px; align-items: center; padding: 6px 0; color: var(--swo-color-heading); font-size: 18px; font-weight: 700; line-height: 1.3; text-decoration: none; }
.blok-beleid__inhoud a span { text-decoration: underline; text-decoration-color: var(--blok-accent); text-decoration-thickness: 2px; text-underline-offset: 3px; }
.blok-beleid__inhoud a::before { flex: none; min-width: 1.6em; color: #A34700; content: counter(beleid) "."; }
.blok-beleid__inhoud a:hover { color: #A34700; }
.blok-beleid__inhoud a:focus-visible { outline: 3px solid var(--swo-color-focus); outline-offset: 2px; border-radius: 3px; }
.blok-beleid__tekst { min-width: 0; }
.blok-beleid p.blok-beleid__datum { display: flex; align-items: center; gap: 8px; margin: 0 0 18px; color: var(--blok-zacht, #5A544E); font-size: 18px; font-weight: 700; }
.blok-beleid__datum svg { flex: none; width: 22px; height: 22px; color: #A34700; }
.blok-beleid .blok-tekstopmaak h2 { margin-top: 1.6em; padding-top: 1.1em; border-top: 2px solid var(--blok-lijn, #E4DBD0); scroll-margin-top: 24px; }
.blok-beleid .blok-tekstopmaak > h2:first-child { margin-top: 0; padding-top: 0; border-top: 0; }
.blok-beleid__tabel { margin: 8px 0 22px; overflow-x: auto; background: var(--swo-color-white); border: 2px solid var(--blok-lijn, #E4DBD0); border-radius: 12px; }
.blok-beleid__tabel:focus-visible { outline: 3px solid var(--swo-color-focus); outline-offset: 2px; }
.blok-beleid__tabel table { width: 100%; min-width: 640px; border-collapse: collapse; font-size: 18px; line-height: 1.5; }
.blok-beleid__tabel th { padding: 14px 16px; color: var(--swo-color-heading); font-weight: 800; text-align: left; background: #F3EEE8; }
.blok-beleid__tabel td { padding: 14px 16px; color: var(--swo-color-text); vertical-align: top; border-top: 2px solid var(--blok-lijn, #E4DBD0); }
.blok-beleid__tabel td:first-child { color: var(--swo-color-heading); font-weight: 700; }

@media (max-width: 1024px) {
	.blok-beleid__raster.heeft-inhoud { grid-template-columns: minmax(0, 860px); }
	.blok-beleid__inhoud { position: static; max-height: none; }
}

@media (forced-colors: active) {
	.blok-beleid__tabel, .blok-beleid__tabel td { border-color: CanvasText; }
}
