/*
 * VTVAP: stijl "Moestuinkrant".
 * Kleuren en letters komen uit theme.json; hier staan de onderdelen.
 * Volgorde: basis, kop, inhoudsblokken, overzichten, formulier, voet, smal scherm.
 */

:root {
	--vtv-papier: var(--wp--preset--color--papier, #FBF7EC);
	--vtv-zand: var(--wp--preset--color--zand, #F3ECD8);
	--vtv-lijn: var(--wp--preset--color--lijn, #D9D1BC);
	--vtv-lijn-licht: #E6DFCB;
	--vtv-wit: #FFFFFF;
	--vtv-bos: var(--wp--preset--color--bos, #173F2C);
	--vtv-bos-donker: #0E2A1D;
	--vtv-bos-zacht: var(--wp--preset--color--bos-zacht, #2C4A3B);
	--vtv-aarde: var(--wp--preset--color--aarde, #5E5644);
	--vtv-geel: var(--wp--preset--color--geel, #EFBB00);
	--vtv-geel-licht: #F7E6A6;
	--vtv-groen: var(--wp--preset--color--groen, #3FAF7D);
	--vtv-munt: var(--wp--preset--color--munt, #DDEFE5);
	--vtv-rood: #A3241B;
	--vtv-op-donker: #D8E3DC;
	--vtv-serif: var(--wp--preset--font-family--newsreader, Georgia, serif);
	--vtv-sans: var(--wp--preset--font-family--public-sans, system-ui, sans-serif);
	--vtv-rand: 4px;
}

/* ---------- Basis ---------- */

html { scroll-padding-top: 1rem; }
@media (prefers-reduced-motion: no-preference) {
	html { scroll-behavior: smooth; }
}
body { text-rendering: optimizeLegibility; -webkit-font-smoothing: antialiased; }
img { max-width: 100%; height: auto; }
h1, h2, h3, h4 { text-wrap: balance; }
p, li { text-wrap: pretty; }
::selection { background: var(--vtv-geel); color: var(--vtv-bos); }

:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
	outline: 3px solid var(--vtv-bos);
	outline-offset: 3px;
	border-radius: 2px;
}
:where(.vtv-voet, .vtv-maand, .vtv-zijblok--donker, .vtv-oproep) :focus-visible { outline-color: var(--vtv-geel); }

.screen-reader-text {
	border: 0; clip-path: inset(50%); height: 1px; margin: -1px; overflow: hidden;
	padding: 0; position: absolute !important; width: 1px; word-wrap: normal !important;
}

.vtv-label {
	font-size: 0.875rem; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase;
	color: var(--vtv-aarde); margin: 0;
}
.vtv-label--geel { color: var(--vtv-geel); }
.vtv-mark {
	background: linear-gradient(transparent 58%, var(--vtv-geel) 58%, var(--vtv-geel) 90%, transparent 90%);
	padding: 0 0.04em;
	-webkit-box-decoration-break: clone; box-decoration-break: clone;
}
.vtv-intro { font-size: 1.25rem; line-height: 1.55; max-width: 46ch; color: var(--vtv-bos-zacht); }
.vtv-intro strong { font-weight: 700; color: var(--vtv-bos); }

/* Knoppen */
.vtv-knop,
.wp-block-button__link {
	display: inline-flex; align-items: center; justify-content: center; gap: 0.6rem;
	font: inherit; font-weight: 700; font-size: 1.0625rem; line-height: 1.3;
	background: var(--vtv-bos); color: var(--vtv-papier);
	border: 2px solid var(--vtv-bos); border-radius: var(--vtv-rand);
	padding: calc(0.85rem - 2px) calc(1.4rem - 2px);
	text-decoration: none; cursor: pointer; min-height: 44px;
}
.vtv-knop:hover, .vtv-knop:focus-visible { background: var(--vtv-bos-donker); border-color: var(--vtv-bos-donker); color: var(--vtv-papier); }
.vtv-knop--geel,
.wp-block-button.is-style-geel .wp-block-button__link { background: var(--vtv-geel); border-color: var(--vtv-geel); color: var(--vtv-bos); }
.vtv-knop--geel:hover, .vtv-knop--geel:focus-visible,
.wp-block-button.is-style-geel .wp-block-button__link:hover { background: #D9A900; border-color: #D9A900; color: var(--vtv-bos); }
.vtv-knop--rand,
.wp-block-button.is-style-outline .wp-block-button__link { background: transparent; color: var(--vtv-bos); border-color: var(--vtv-bos); }
.vtv-knop--rand:hover, .vtv-knop--rand:focus-visible,
.wp-block-button.is-style-outline .wp-block-button__link:hover { background: var(--vtv-bos); color: var(--vtv-papier); }
.vtv-knoppen { display: flex; flex-wrap: wrap; gap: 0.75rem 1.25rem; align-items: center; }
.vtv-bestand { font-weight: 400; font-size: 0.875em; white-space: nowrap; color: var(--vtv-aarde); text-decoration: none; display: inline-block; margin-left: 0.15em; }
.vtv-knop .vtv-bestand, .wp-block-button__link .vtv-bestand { color: inherit; opacity: 0.85; margin-left: 0; }
.vtv-voet .vtv-bestand { color: #B9CBBF; }
.vtv-tekstlink { font-weight: 600; }

/* ---------- Kop ---------- */

.vtv-datumregel { border-bottom: 1px solid var(--vtv-lijn); font-size: 0.875rem; color: var(--vtv-aarde); }
.vtv-datumregel__binnen { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 0.25rem 1.5rem; padding: 0.5rem 0; }
.vtv-datumregel a { color: var(--vtv-aarde); }
.vtv-datumregel__binnen { align-items: center; }
a.vtv-datumregel__social { display: inline-grid; place-items: center; width: 26px; height: 26px; margin-block: -3px; border-radius: var(--vtv-rand); background: var(--vtv-bos); color: var(--vtv-papier); transition: background-color 0.2s ease; }
a.vtv-datumregel__social:hover, a.vtv-datumregel__social:focus-visible { background: var(--vtv-bos-donker); color: var(--vtv-geel); }
.vtv-datumregel__social svg { width: 15px; height: 15px; fill: none; stroke: currentColor; stroke-width: 2.25; stroke-linecap: round; stroke-linejoin: round; }
.vtv-kop__binnen { padding-block: 1.25rem; gap: 1rem 2rem; }
.vtv-kop .wp-block-site-logo img { height: 88px; width: auto; }
.vtv-menu { font-weight: 600; font-size: 1.0625rem; }
.vtv-menu .wp-block-navigation__container { gap: 0.25rem 1.6rem; align-items: center; }
.vtv-menu .wp-block-navigation-item__content { text-decoration: none; padding: 0.6rem 0; }
.vtv-menu .wp-block-navigation-item__content { transition: box-shadow 0.15s ease; }
.vtv-menu .wp-block-navigation-item__content:hover { text-decoration: none; box-shadow: inset 0 -3px 0 var(--vtv-geel); }
.vtv-menu .current-menu-item > .wp-block-navigation-item__content,
.vtv-menu .current-menu-ancestor > .wp-block-navigation-item__content { box-shadow: inset 0 -3px 0 var(--vtv-geel); }
.vtv-menu .vtv-menu__knop > .wp-block-navigation-item__content {
	background: var(--vtv-bos); color: var(--vtv-papier); padding: 0.7rem 1.2rem; border-radius: var(--vtv-rand); box-shadow: none;
}
.vtv-menu .vtv-menu__knop > .wp-block-navigation-item__content:hover { background: var(--vtv-bos-donker); text-decoration: none; }
.vtv-menu .wp-block-navigation__responsive-container-open,
.vtv-menu .wp-block-navigation__responsive-container-close { min-width: 44px; min-height: 44px; align-items: center; justify-content: center; }
.vtv-menu .wp-block-navigation__responsive-container.is-menu-open { padding: 1.5rem; }
.vtv-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content { padding-top: 3rem; }
.vtv-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { gap: 0.75rem; font-size: 1.375rem; }

/* ---------- Paginakop en kruimelpad ---------- */

.vtv-paginakop { border-top: 3px double var(--vtv-bos); padding: 1.5rem 0 2.25rem; }
.vtv-paginakop .wp-block-post-title,
.vtv-paginakop h1 { margin: 1rem 0 0; }
.vtv-paginakop .vtv-intro { margin-top: 1rem; }
.vtv-kruimelpad ol { list-style: none; display: flex; flex-wrap: wrap; gap: 0.25rem 0.5rem; margin: 0; padding: 0; font-size: 0.9375rem; color: var(--vtv-aarde); }
.vtv-kruimelpad li + li::before { content: "/"; margin-right: 0.5rem; color: var(--vtv-aarde); }
.vtv-kruimelpad a { color: var(--vtv-aarde); }

/* ---------- Homepage: hero ---------- */

body .vtv-hero {
	display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.3fr); gap: 3rem; align-items: center;
	border-top: 3px double var(--vtv-bos); padding: 2.5rem 0 3.5rem;
}
body .vtv-hero > * { margin-block: 0; }
.vtv-hero__tekst > * + * { margin-block-start: 1.4rem; }
.vtv-hero__titel { font-size: clamp(2.625rem, 5.4vw, 4.75rem); line-height: 1.02; letter-spacing: -0.02em; }
.vtv-hero__tekst .vtv-intro { max-width: 34ch; }
.vtv-hero__beeld { margin: 0; }
.vtv-hero__beeld img { width: 100%; height: clamp(300px, 38vw, 520px); object-fit: cover; border-radius: 2px; display: block; }
.vtv-hero__beeld figcaption { margin-top: 0.5rem; }

/* Feitenstrook */
.vtv-feiten { border-top: 1px solid var(--vtv-bos); border-bottom: 1px solid var(--vtv-bos); }
body .vtv-feiten__rij { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
body .vtv-feiten__rij > * { margin-block: 0; }
.vtv-feit { padding: 1.25rem 1.5rem; border-right: 1px solid var(--vtv-lijn); }
.vtv-feit:first-child { padding-left: 0; }
.vtv-feit:last-child { border-right: 0; }
body .vtv-feit > * { margin: 0; }
.vtv-feit__getal { font-family: var(--vtv-serif); font-size: 2.5rem; font-weight: 600; line-height: 1.1; }
.vtv-feit__tekst { font-size: 0.9375rem; color: var(--vtv-aarde); }

/* Sectiekop met link */
body .vtv-sectiekop {
	display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: 0.5rem 1rem;
	border-bottom: 3px solid var(--vtv-bos); padding-bottom: 0.5rem; margin-bottom: 1.75rem;
}
body .vtv-sectiekop > * { margin: 0; }
.vtv-sectiekop p { font-size: 1rem; color: var(--vtv-aarde); }
.vtv-sectiekop a { font-weight: 600; }
.vtv-sectie { padding-block: clamp(3rem, 6vw, 4.5rem); }
body .vtv-sectie > :first-child { margin-top: 0; }

/* Nieuws met nieuwsbrieven ernaast */
body .vtv-nieuwsblok { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 3rem; align-items: start; }
body .vtv-nieuwsblok > * { margin-block: 0; }

.vtv-meta,
.vtv-meta .wp-block-post-date,
.vtv-meta .wp-block-post-terms {
	font-size: 0.875rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--vtv-aarde);
}
.vtv-meta { margin: 0 0 0.4rem; gap: 0 !important; }
.vtv-meta__cat::before,
.vtv-meta .wp-block-post-terms::before { content: "\00b7"; margin: 0 0.5em; }
.vtv-meta .wp-block-post-terms a { color: inherit; text-decoration: none; }
.vtv-meta .wp-block-post-terms a:hover { text-decoration: underline; }
.vtv-meta > * { margin: 0 !important; }

.vtv-uitgelicht { display: grid; grid-template-columns: 280px minmax(0, 1fr); gap: 1.75rem; padding-bottom: 1.75rem; border-bottom: 1px solid var(--vtv-lijn); }
.vtv-uitgelicht__beeld img { width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; display: block; border-radius: 2px; }
.vtv-uitgelicht__titel { font-size: clamp(1.75rem, 3vw, 2.125rem); margin: 0 0 0.5rem; }
.vtv-uitgelicht__titel a, .vtv-kort__titel a { text-decoration: none; }
.vtv-uitgelicht__titel a:hover, .vtv-kort__titel a:hover { text-decoration: underline; }
.vtv-uitgelicht p:not(.vtv-meta), .vtv-kort p:not(.vtv-meta) { color: var(--vtv-bos-zacht); margin: 0; }
.vtv-vlak {
	background: var(--vtv-geel); color: var(--vtv-bos); display: flex; align-items: flex-end;
	padding: 1rem; min-height: 210px; box-sizing: border-box; border-radius: 2px;
}
.vtv-vlak span { font-family: var(--vtv-serif); font-size: 1.75rem; font-weight: 600; line-height: 1; }
.vtv-nieuws__rij { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.vtv-kort { padding: 1.5rem 1.5rem 1.5rem 0; }
.vtv-kort + .vtv-kort { padding: 1.5rem 0 1.5rem 1.5rem; border-left: 1px solid var(--vtv-lijn); }
.vtv-kort__titel { font-size: 1.625rem; line-height: 1.2; margin: 0 0 0.5rem; }
.vtv-kort p:not(.vtv-meta) { font-size: 1.0625rem; }
/* Meer nieuws onder een bericht: een rustige lijst in dezelfde leeskolom als het artikel */
.vtv-nieuws--meer .vtv-nieuws__rij { grid-template-columns: minmax(0, 1fr); gap: 0; }
.vtv-nieuws--meer .vtv-kort, .vtv-nieuws--meer .vtv-kort + .vtv-kort { padding: 1.25rem 0; border: 0; border-bottom: 1px solid var(--vtv-lijn); }
.vtv-nieuws--meer .vtv-kort:first-child { padding-top: 0.25rem; }
.vtv-nieuws--meer .vtv-kort:last-child { border-bottom: 0; padding-bottom: 0; }
.vtv-nieuws--meer .vtv-kort__titel { font-size: 1.5rem; }

/* Zijblokken */
.vtv-zij > * + *, .vtv-met-zijkant__zij > * + * { margin-top: 2rem; }
.vtv-zijblok { background: var(--vtv-wit); border: 1px solid var(--vtv-lijn); padding: 1.75rem; }
.vtv-zijblok--geel { background: var(--vtv-zand); border: 0; border-top: 6px solid var(--vtv-geel); }
.vtv-zijblok--donker { background: var(--vtv-bos); color: var(--vtv-papier); border: 0; }
.vtv-zijblok__kop { font-size: 1.75rem; margin: 0 0 0.25rem; }
.vtv-zijblok--donker .vtv-zijblok__kop { color: var(--vtv-papier); }
.vtv-zijblok__tekst { font-size: 1rem; color: var(--vtv-aarde); margin: 0 0 1rem; }
.vtv-zijblok--donker .vtv-zijblok__tekst { color: var(--vtv-op-donker); }
.vtv-zijblok__link { margin: 0.75rem 0 0; font-weight: 600; font-size: 1rem; }
.vtv-zijblok--donker a { color: var(--vtv-geel); }

.vtv-bestandenlijst { list-style: none; margin: 0; padding: 0; }
.vtv-bestandenlijst li { border-top: 1px solid var(--vtv-lijn); padding: 0.7rem 0; display: flex; align-items: center; gap: 0.5rem; }
.vtv-bestandenlijst a { flex: 1; display: flex; justify-content: space-between; align-items: baseline; gap: 1rem; font-weight: 600; text-decoration: none; }
.vtv-bestandenlijst a:hover { text-decoration: underline; }
.vtv-bestandenlijst .vtv-bestand { color: var(--vtv-aarde); }
.vtv-label-klein { font-size: 0.75rem; font-weight: 700; background: var(--vtv-geel-licht); padding: 0.1rem 0.5rem; border-radius: 99px; white-space: nowrap; }

/* Tuinagenda */
.vtv-maand {
	background: var(--vtv-bos); color: var(--vtv-papier);
	padding: clamp(1.75rem, 4vw, 3rem);
	display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); gap: 2.5rem;
	scroll-margin-top: 1rem;
}
.vtv-maand__intro p { color: var(--vtv-op-donker); margin: 0 0 1.5rem; }
.vtv-maand__intro .vtv-label { margin-bottom: 0.5rem; }
.vtv-maand__kop { color: var(--vtv-papier); font-size: clamp(2.125rem, 4vw, 3.25rem); line-height: 1.08; margin: 0 0 1rem; }
.vtv-maand__kop em { font-weight: 400; }
.vtv-maand .vtv-tekstlink { color: var(--vtv-papier); }
.vtv-maand__inhoud {
	display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); grid-template-rows: auto 1fr;
	grid-auto-flow: column; column-gap: 2rem;
}
.vtv-maand__inhoud > * { margin: 0; }
.vtv-maand__inhoud h3 { color: var(--vtv-papier); font-size: 1.625rem; border-top: 2px solid var(--vtv-geel); padding-top: 1rem; margin-bottom: 0.75rem; }
.vtv-maand__inhoud ul { padding-left: 1.25rem; font-size: 1.0625rem; }
.vtv-maand__inhoud li + li { margin-top: 0.5rem; }
.vtv-maand__inhoud li::marker { color: var(--vtv-geel); }
.vtv-maand__inhoud p { color: var(--vtv-op-donker); }

.vtv-maanden ul, .vtv-filter ul { list-style: none; display: flex; flex-wrap: wrap; gap: 0.5rem; margin: 0 0 1.5rem; padding: 0; }
.vtv-maanden a, .vtv-filter a {
	display: inline-flex; align-items: center; justify-content: center; min-height: 44px; min-width: 44px; box-sizing: border-box;
	padding: 0.4rem 1rem; border: 1px solid #C9BFA6; border-radius: 99px; background: var(--vtv-wit);
	color: var(--vtv-bos); font-weight: 600; font-size: 1rem; text-decoration: none;
}
.vtv-maanden a:hover, .vtv-filter a:hover { border-color: var(--vtv-bos); }
.vtv-maanden a[aria-current] { background: var(--vtv-geel); border-color: var(--vtv-geel); }
.vtv-filter a[aria-current] { background: var(--vtv-bos); border-color: var(--vtv-bos); color: var(--vtv-papier); }

/* Prikbord */
.vtv-prikbord { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 1.5rem; }
.vtv-prikbriefje { background: var(--vtv-wit); border: 1px solid var(--vtv-lijn); padding: 1.5rem; display: flex; flex-direction: column; gap: 0.6rem; }
.vtv-prikbriefje__titel { font-size: 1.625rem; line-height: 1.2; margin: 0; }
.vtv-prikbriefje__tekst { font-size: 1.0625rem; color: var(--vtv-bos-zacht); }
.vtv-prikbriefje__tekst > * { margin: 0 0 0.6em; }
.vtv-prikbriefje__beeld img { width: 100%; height: 200px; object-fit: cover; display: block; }
.vtv-prikbord--home .vtv-prikbriefje__beeld img { height: 160px; }
.vtv-prikbord--home { grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); }
.vtv-prikbord--home > :only-child { max-width: 420px; }
/* Kaartjes op de homepage zijn helemaal aanklikbaar en openen het bericht op de prikbordpagina */
.vtv-prikbord--home .vtv-prikbriefje { position: relative; }
.vtv-prikbriefje__link { color: inherit; text-decoration: none; }
.vtv-prikbriefje__link::after { content: ""; position: absolute; inset: 0; }
.vtv-prikbriefje__link:focus-visible { outline: none; }
.vtv-prikbord--home .vtv-prikbriefje:has(.vtv-prikbriefje__link:focus-visible) { outline: 3px solid var(--vtv-geel); outline-offset: 3px; }
.vtv-prikbriefje__voet { margin: auto 0 0; font-size: 0.875rem; color: var(--vtv-aarde); }
.vtv-soort { align-self: flex-start; margin: 0; font-size: 0.875rem; font-weight: 700; padding: 0.2rem 0.75rem; border-radius: 99px; background: #E9E2CF; color: var(--vtv-bos); }
.vtv-soort--gratis { background: var(--vtv-munt); }
.vtv-soort--te-koop { background: var(--vtv-geel-licht); }
.vtv-leeg { background: var(--vtv-wit); border: 1px solid var(--vtv-lijn); border-top: 6px solid var(--vtv-geel); padding: clamp(1.5rem, 3vw, 2.25rem); max-width: 760px; }
.vtv-leeg > * { margin: 0 0 1rem; }
.vtv-leeg > :last-child { margin-bottom: 0; }
.vtv-leeg__titel { font-family: var(--vtv-serif); font-size: 1.75rem; font-weight: 600; line-height: 1.2; }

/* Band met achtergrond */
.vtv-band { background: var(--vtv-zand); border-top: 1px solid var(--vtv-lijn); border-bottom: 1px solid var(--vtv-lijn); padding-block: clamp(3rem, 6vw, 4.5rem); }
/* Een band direct boven de footer sluit daar naadloos op aan */
.wp-site-blocks > .vtv-band + footer.wp-block-template-part { margin-block-start: 0; }
.wp-site-blocks > .vtv-band:has(+ footer.wp-block-template-part) { border-bottom: 0; }
body .vtv-split { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(2rem, 5vw, 3.5rem); align-items: center; }
body .vtv-split > * { margin-block: 0; }
.vtv-split .wp-block-image { margin: 0; }
.vtv-split .wp-block-image img { width: 100%; height: clamp(280px, 34vw, 440px); object-fit: cover; display: block; border-radius: 2px; }
.vtv-split h2 { margin-top: 0; }

.vtv-tijdlijn { list-style: none; margin: 0; padding: 0; border-left: 2px solid var(--vtv-groen); }
.vtv-tijdlijn li { padding: 0 0 0.9rem 1.25rem; }
.vtv-tijdlijn li:last-child { padding-bottom: 0; }
.vtv-tijdlijn strong { font-family: var(--vtv-serif); font-size: 1.375rem; margin-right: 0.35rem; }

/* Keuzeknoppen naar het contactformulier */
.vtv-chips { gap: 0.75rem; }
.vtv-chips .wp-block-button__link { background: var(--vtv-wit); color: var(--vtv-bos); border: 1px solid var(--vtv-bos); font-weight: 600; padding: 0.8rem 1.2rem; }
.vtv-chips .wp-block-button__link:hover { background: var(--vtv-bos); color: var(--vtv-papier); }

/* Sponsors */
.vtv-sponsors { border-top: 1px solid var(--vtv-lijn); padding-block: 3rem 4rem; }
.vtv-sponsors h2 { font-size: 1.75rem; margin: 0 0 0.25rem; }
.vtv-sponsors > p { margin-top: 0; font-size: 1rem; color: var(--vtv-aarde); }
body .vtv-sponsorlogos { display: flex; flex-wrap: wrap; gap: 1.25rem; align-items: center; }
body .vtv-sponsorlogos > * { margin: 0; }
.vtv-sponsorlogos img { height: 112px; width: auto; background: var(--vtv-wit); padding: 0.75rem 1rem; border: 1px solid var(--vtv-lijn-licht); display: block; }

/* ---------- Overzicht nieuws ---------- */

body .vtv-met-zijkant { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 3.5rem; align-items: start; padding-bottom: 5rem; }
body .vtv-met-zijkant > * { margin-block: 0; }
.vtv-berichtenlijst .wp-block-post-template { border-top: 3px solid var(--vtv-bos); }
.vtv-berichtenlijst .wp-block-post-template > li { margin: 0; }
body .vtv-bericht-rij { display: grid; grid-template-columns: 200px minmax(0, 1fr); gap: 1.5rem; padding: 1.75rem 0; border-bottom: 1px solid var(--vtv-lijn); }
body .vtv-bericht-rij > * { margin: 0; }
.vtv-bericht-rij:not(:has(.wp-block-post-featured-image)) { grid-template-columns: minmax(0, 1fr); }
.vtv-bericht-rij .wp-block-post-featured-image img { width: 200px; height: 140px; object-fit: cover; display: block; border-radius: 2px; }
.vtv-bericht-rij .wp-block-post-title { font-size: 1.75rem; line-height: 1.2; margin: 0 0 0.4rem; }
.vtv-bericht-rij .wp-block-post-title a { text-decoration: none; }
.vtv-bericht-rij .wp-block-post-title a:hover { text-decoration: underline; }
.vtv-bericht-rij .wp-block-post-excerpt { margin: 0; }
.vtv-bericht-rij .wp-block-post-excerpt__excerpt { margin: 0; color: var(--vtv-bos-zacht); font-size: 1.0625rem; }
.vtv-bericht-rij__tekst > * + * { margin-top: 0; }

.wp-block-query-pagination { margin-top: 2rem; gap: 0.5rem; font-weight: 600; }
.wp-block-query-pagination a,
.wp-block-query-pagination .page-numbers {
	display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; box-sizing: border-box;
	padding: 0 0.9rem; border: 1px solid #C9BFA6; border-radius: var(--vtv-rand); background: var(--vtv-wit); text-decoration: none; margin: 0 0.25rem 0.25rem 0;
}
.wp-block-query-pagination .page-numbers.current { background: var(--vtv-bos); border-color: var(--vtv-bos); color: var(--vtv-papier); }
.wp-block-query-pagination .page-numbers.dots { border: 0; background: none; min-width: auto; }

/* ---------- Bericht ---------- */

.vtv-artikel__kop { border-top: 3px double var(--vtv-bos); padding: 1.5rem 0 2.25rem; }
.vtv-artikel__kop .vtv-meta { margin-top: 2rem; }
.vtv-artikel__kop .wp-block-post-title { font-size: clamp(2.5rem, 5vw, 4.5rem); line-height: 1.04; margin: 0.75rem 0 0; }
.vtv-artikel__beeld img { width: 100%; max-height: 520px; object-fit: cover; display: block; border-radius: 2px; }
.vtv-artikel__inhoud { font-size: 1.1875rem; line-height: 1.7; padding-block: 2.5rem 0.5rem; }
.vtv-artikel__inhoud h2 { font-size: 2rem; margin-top: 2.5rem; }
.vtv-artikel__inhoud h3 { font-size: 1.5rem; margin-top: 2rem; }
.vtv-artikel__voet { border-top: 1px solid var(--vtv-lijn); padding-top: 1.25rem; margin-top: 2.5rem; font-size: 1rem; }

/* Bestandsblok (pdf's) */
.wp-block-file {
	display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 0.75rem 1rem;
	background: var(--vtv-zand); border-top: 6px solid var(--vtv-geel); padding: 1.25rem 1.5rem; font-size: 1.0625rem;
}
.wp-block-file > a:first-child, .wp-block-file > a:not(.wp-block-file__button) { font-weight: 600; }
.wp-block-file .wp-block-file__button {
	background: var(--vtv-bos); color: var(--vtv-papier); border-radius: var(--vtv-rand);
	padding: 0.65rem 1.1rem; font-weight: 700; font-size: 1rem; text-decoration: none; margin: 0; min-height: 44px; display: inline-flex; align-items: center;
}
.wp-block-file .wp-block-file__button:hover { background: var(--vtv-bos-donker); color: var(--vtv-papier); }
.wp-block-file + .wp-block-file { margin-top: 0.75rem; }

/* ---------- Nieuwsbrievenarchief ---------- */

.vtv-nb-nieuwste { display: grid; grid-template-columns: 220px minmax(0, 1fr); background: var(--vtv-wit); border: 1px solid var(--vtv-lijn); margin: 0 0 3rem; max-width: 780px; }
.vtv-nb-nieuwste__omslag { background: var(--vtv-geel); color: var(--vtv-bos); padding: 1.5rem; display: flex; flex-direction: column; justify-content: flex-end; gap: 0.25rem; min-height: 220px; }
.vtv-nb-nieuwste__label { font-size: 0.8125rem; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; }
.vtv-nb-nieuwste__maand { font-family: var(--vtv-serif); font-size: 2.25rem; font-weight: 600; line-height: 1; }
.vtv-nb-nieuwste__tekst { padding: 1.75rem; display: flex; flex-direction: column; justify-content: center; gap: 0.75rem; }
.vtv-nb-nieuwste__tekst .vtv-meta { display: flex; flex-wrap: wrap; }
.vtv-nb-nieuwste__tekst .vtv-meta time::before { content: "\00b7"; margin: 0 0.5em; }
.vtv-nb-nieuwste__titel { font-size: 2rem; margin: 0; }
.vtv-jarenfilter ul { margin-bottom: 0.5rem; }
.vtv-jaar { display: grid; grid-template-columns: 200px minmax(0, 640px); gap: 1rem 3rem; padding: 2.5rem 0; border-bottom: 1px solid var(--vtv-lijn); scroll-margin-top: 2rem; }
.vtv-jaar:last-child { border-bottom: 0; }
.vtv-jaar__kop { font-size: clamp(2.5rem, 5vw, 3.5rem); line-height: 1; margin: 0; position: sticky; top: calc(var(--vtv-kop-zicht, 0px) + 1.25rem); align-self: start; transition: top 0.25s ease; }
.vtv-bestandenlijst--kolommen { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); column-gap: 2rem; }

/* ---------- Inhoudspagina's ---------- */

.vtv-pagina-inhoud { padding-bottom: clamp(3rem, 6vw, 5rem); }
.vtv-pagina-inhoud > h2 { margin-top: 3rem; }
.vtv-pagina-inhoud > .alignwide > h2:first-child { margin-top: 0; }

.vtv-tabel table { border-collapse: collapse; width: 100%; background: var(--vtv-wit); font-size: 1.0625rem; border: 1px solid var(--vtv-lijn); }
.vtv-tabel th, .vtv-tabel td { padding: 0.9rem 1rem; border: 0; border-bottom: 1px solid var(--vtv-lijn); text-align: left; }
.vtv-tabel thead th { background: var(--vtv-bos); color: var(--vtv-papier); font-weight: 700; }
.vtv-tabel td:last-child, .vtv-tabel th:last-child { text-align: right; }
.vtv-tabel td:last-child { font-weight: 700; }
.vtv-tabel figcaption { text-align: left; }

.vtv-stappen { list-style: none; counter-reset: stap; padding: 0; margin: 0; }
.vtv-stappen li { counter-increment: stap; position: relative; padding: 0.35rem 0 1.25rem 3.5rem; }
.vtv-stappen li::before {
	content: counter(stap); position: absolute; left: 0; top: 0;
	width: 2.4rem; height: 2.4rem; border-radius: 99px; background: var(--vtv-geel); color: var(--vtv-bos);
	display: flex; align-items: center; justify-content: center; font-family: var(--vtv-serif); font-weight: 700; font-size: 1.25rem;
	/* Cijfers van Newsreader staan iets hoog in hun regel: optisch naar het midden */
	box-sizing: border-box; line-height: 1; padding-top: 0.175em; font-variant-numeric: lining-nums tabular-nums;
}

body .vtv-bestuur { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2.5rem 3rem; }
.vtv-persoon { display: flex; flex-direction: column; }
body .vtv-bestuur > * { margin: 0; }
.vtv-persoon { border-top: 3px solid var(--vtv-bos); padding-top: 1rem; }
body .vtv-persoon > * { margin: 0; }
.vtv-persoon .vtv-rol { font-size: 0.875rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--vtv-aarde); }
.vtv-persoon .vtv-naam { font-family: var(--vtv-serif); font-size: 1.625rem; font-weight: 600; line-height: 1.2; margin: 0.25rem 0 0.5rem; }
.vtv-persoon a { font-weight: 600; font-size: 1rem; }

.vtv-linklijst { list-style: none; padding: 0; margin: 0; }
.vtv-linklijst li { border-top: 1px solid var(--vtv-lijn); padding: 0.65rem 0; }
.vtv-linklijst li:last-child { border-bottom: 1px solid var(--vtv-lijn); }
.vtv-linklijst a { font-weight: 600; }

body .vtv-oproep { background: var(--vtv-bos); color: var(--vtv-papier); padding: clamp(1.75rem, 4vw, 2.5rem); display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem 2rem; }
body .vtv-oproep > * { margin: 0; }
.vtv-oproep h2, .vtv-oproep h3 { color: var(--vtv-papier); margin: 0 0 0.25rem; }
.vtv-oproep p { color: var(--vtv-op-donker); margin: 0; }
.vtv-oproep a:not(.wp-block-button__link) { color: var(--vtv-geel); }

body .vtv-twee { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); gap: clamp(2rem, 5vw, 3.5rem); align-items: start; }
body .vtv-twee > * { margin-block: 0; }
body .vtv-kolommen-3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2rem; }
body .vtv-kolommen-3 > * { margin-block: 0; }
.vtv-kader { background: var(--vtv-wit); border: 1px solid var(--vtv-lijn); padding: 1.75rem; }
.vtv-kader > :first-child { margin-top: 0; }
.vtv-kader h2, .vtv-kader h3 { font-size: 1.75rem; }

/* ---------- Formulier ---------- */

.vtv-formulier { scroll-margin-top: 1.5rem; }
.vtv-formulier__form { background: var(--vtv-wit); border: 1px solid var(--vtv-lijn); padding: clamp(1.25rem, 3vw, 2.5rem); display: grid; gap: 1.75rem; }
.vtv-keuzes { border: 0; margin: 0; padding: 0; min-width: 0; }
.vtv-keuzes legend { font-weight: 700; font-size: 1.125rem; margin-bottom: 0.75rem; padding: 0; }
.vtv-keuzes__lijst { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 0.5rem; }
.vtv-keuze {
	display: flex; align-items: center; gap: 0.65rem; min-height: 44px; box-sizing: border-box;
	border: 1px solid #8E8670; border-radius: var(--vtv-rand); padding: 0.7rem 0.9rem; background: var(--vtv-papier); cursor: pointer; font-size: 1rem; line-height: 1.3;
}
.vtv-keuze:hover { border-color: var(--vtv-bos); }
.vtv-keuze:has(input:checked) { border-color: var(--vtv-bos); background: var(--vtv-munt); box-shadow: inset 0 0 0 1px var(--vtv-bos); font-weight: 600; }
.vtv-keuze:has(input:focus-visible) { outline: 3px solid var(--vtv-bos); outline-offset: 2px; }
.vtv-keuze input { width: 1.15rem; height: 1.15rem; margin: 0; flex: none; accent-color: var(--vtv-bos); }
.vtv-keuze input:focus-visible { outline: none; }
.vtv-velden { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem 1.5rem; }
.vtv-veld { margin: 0; display: flex; flex-direction: column; gap: 0.35rem; }
.vtv-veld--breed { grid-column: 1 / -1; }
.vtv-veld label { font-weight: 700; font-size: 1rem; }
.vtv-veld input, .vtv-veld textarea {
	font: inherit; font-size: 1.0625rem; color: var(--vtv-bos); background: var(--vtv-wit);
	border: 1px solid #8E8670; border-radius: var(--vtv-rand); padding: 0.75rem 0.85rem; width: 100%; box-sizing: border-box;
}
.vtv-veld input:focus-visible, .vtv-veld textarea:focus-visible { outline: 3px solid var(--vtv-bos); outline-offset: 1px; border-color: var(--vtv-bos); }
.vtv-veld [aria-invalid="true"] { border: 2px solid var(--vtv-rood); }
.vtv-veld__fout, .vtv-keuzes .vtv-veld__fout { display: block; color: var(--vtv-rood); font-weight: 600; font-size: 0.9375rem; margin-bottom: 0.25rem; }
.vtv-verplicht, .vtv-optioneel { font-weight: 400; color: var(--vtv-aarde); font-size: 0.9375rem; }
.vtv-honing { position: absolute !important; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.vtv-formulier__voet { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 1rem; }
.vtv-klein { font-size: 0.875rem; color: var(--vtv-aarde); max-width: 52ch; margin: 0; }
.vtv-melding { padding: 1.25rem 1.5rem; margin-bottom: 1.5rem; border-top: 6px solid var(--vtv-bos); background: var(--vtv-munt); }
.vtv-melding p { margin: 0; }
.vtv-melding__titel { font-weight: 700; font-size: 1.125rem; margin-bottom: 0.25rem !important; }
.vtv-melding--fout { border-top-color: var(--vtv-rood); background: #FBE9E7; }

/* ---------- Voet ---------- */

.vtv-voet { background: var(--vtv-bos); color: #E8EFE9; margin-top: 0; }
.vtv-voet a { color: var(--vtv-papier); }
.vtv-voet a:hover { color: var(--vtv-geel); }
body .vtv-voet__kolommen { display: grid; grid-template-columns: 1.3fr repeat(3, minmax(0, 1fr)); gap: 2.5rem; padding-block: 3.5rem 2rem; }
body .vtv-voet__kolommen > * { margin: 0; }
.vtv-voet h2 { font-family: var(--vtv-sans); font-size: 1rem; font-weight: 700; letter-spacing: 0; color: var(--vtv-geel); margin: 0 0 0.5rem; }
.vtv-voet p, .vtv-voet ul { font-size: 1rem; margin: 0; }
.vtv-voet ul { list-style: none; padding: 0; }
.vtv-voet li + li { margin-top: 0.35rem; }
.vtv-voet__logo { margin: 0; }
.vtv-voet__logo img { height: 72px; width: auto; display: block; }
.vtv-voet__onder { border-top: 1px solid #2F5A45; padding-block: 1.25rem 2rem; font-size: 0.875rem; color: #B9CBBF; }
body .vtv-voet__onder { padding-right: 76px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 0.5rem 2rem; }
body .vtv-voet__onder > * { margin: 0; }
.vtv-voet__onder p { font-size: 0.875rem; }
.vtv-voet__credits { display: flex; flex-wrap: wrap; gap: 0.25rem 1.5rem; }
.vtv-voet__onder a { color: #E8EFE9; }

/* Knop naar de Facebook-groep */
a.vtv-social { display: inline-grid; place-items: center; width: 44px; height: 44px; margin-top: 0.75rem; border-radius: var(--vtv-rand); background: var(--vtv-bos); color: var(--vtv-papier); transition: background-color 0.2s ease; }
a.vtv-social:hover, a.vtv-social:focus-visible { background: var(--vtv-bos-donker); color: var(--vtv-papier); }
a.vtv-social svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.vtv-voet a.vtv-social { background: var(--vtv-geel); color: var(--vtv-bos); }
.vtv-voet a.vtv-social:hover, .vtv-voet a.vtv-social:focus-visible { background: #D9A900; color: var(--vtv-bos); }

/* Prikbord op de homepage */
body .vtv-prikbord__voet { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem; margin-top: 1.5rem; padding-top: 1.25rem; border-top: 1px solid var(--vtv-lijn); }
.vtv-prikbord__voet p { margin: 0; color: var(--vtv-aarde); }

/* ---------- Smaller scherm ---------- */

@media (max-width: 1000px) {
	body .vtv-nieuwsblok, body .vtv-met-zijkant { grid-template-columns: minmax(0, 1fr); }
	body .vtv-voet__kolommen { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.vtv-maand { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 860px) {
	body .vtv-hero, body .vtv-split, body .vtv-twee { grid-template-columns: minmax(0, 1fr); }
	body .vtv-hero { padding-top: 1.75rem; gap: 2rem; }
	body .vtv-feiten__rij { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.vtv-feit:nth-child(2) { border-right: 0; }
	.vtv-feit:nth-child(3) { padding-left: 0; }
	.vtv-feit:nth-child(n+3) { border-top: 1px solid var(--vtv-lijn); }
	/* Feiten op mobiel: twee gelijke kolommen, zelfde ruimte links en rechts van de lijn */
	.vtv-feit { padding: 1rem 0; }
	.vtv-feit:nth-child(odd) { padding-right: 1rem; }
	.vtv-feit:nth-child(even) { padding-left: 1rem; }
	.vtv-feit__getal { font-size: 2.125rem; }
	.vtv-feit__tekst { font-size: 0.875rem; line-height: 1.35; margin-top: 0.15rem !important; text-wrap: balance; }
	.vtv-uitgelicht { grid-template-columns: minmax(0, 1fr); }
	.vtv-nieuws--meer .vtv-nieuws__rij, body .vtv-kolommen-3 { grid-template-columns: minmax(0, 1fr); }
	.vtv-maand__inhoud { grid-template-columns: minmax(0, 1fr); grid-template-rows: none; grid-auto-flow: row; }
	.vtv-maand__inhoud h3 { margin-top: 1.5rem; }
	/* Jaren op smal scherm: het jaartal is een balk die bovenaan blijft staan */
	.vtv-jaar { grid-template-columns: minmax(0, 1fr); gap: 0; padding: 0 0 1.25rem; border-bottom: 0; scroll-margin-top: 0; }
	.vtv-jaar__kop { top: var(--vtv-kop-zicht, 0px); z-index: 2; margin: 0; padding: 0.85rem 0 0.6rem; font-size: 2.25rem; background: var(--vtv-papier); border-bottom: 2px solid var(--vtv-bos); box-shadow: 0 -2px 0 var(--vtv-papier); }
	.vtv-jaar .vtv-bestandenlijst { margin-top: 0; }
	.vtv-jaar .vtv-bestandenlijst > li:first-child { border-top: 0; }
	body .vtv-bestuur { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
	.vtv-nieuws__rij { grid-template-columns: minmax(0, 1fr); }
	.vtv-kort, .vtv-kort + .vtv-kort { padding: 1.25rem 0; border-left: 0; border-top: 1px solid var(--vtv-lijn); }
	body .vtv-bericht-rij { grid-template-columns: minmax(0, 1fr); }
	.vtv-bericht-rij .wp-block-post-featured-image img { width: 100%; height: auto; aspect-ratio: 3 / 2; }
	.vtv-velden { grid-template-columns: minmax(0, 1fr); }
	/* Nieuwste nieuwsbrief op mobiel: gele kopstrook, daaronder titel en twee even brede knoppen */
	.vtv-nb-nieuwste { grid-template-columns: minmax(0, 1fr); margin-bottom: 2rem; }
	.vtv-nb-nieuwste__omslag { min-height: 0; flex-direction: row; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 0.25rem 1rem; padding: 0.85rem 1.25rem; }
	.vtv-nb-nieuwste__maand { font-size: 1.375rem; }
	.vtv-nb-nieuwste__maand br { display: none; }
	.vtv-nb-nieuwste__tekst { padding: 1.25rem; gap: 0.6rem; }
	.vtv-nb-nieuwste__tekst .vtv-meta time { display: none; }
	.vtv-nb-nieuwste__titel { font-size: 1.625rem; line-height: 1.15; }
	.vtv-nb-nieuwste .vtv-knoppen { display: grid; grid-template-columns: minmax(0, 1fr); gap: 0.6rem; margin-top: 0.4rem; }
	.vtv-nb-nieuwste .vtv-knop { width: 100%; box-sizing: border-box; min-height: 52px; padding-block: 0.6rem; }
	/* Footer op mobiel: krantenstijl, kop links en inhoud rechts */
	body .vtv-voet__kolommen { grid-template-columns: minmax(0, 1fr); gap: 0; padding-block: 2rem 0.5rem; }
	.vtv-voet__logo { padding-bottom: 1.5rem; }
	.vtv-voet__logo img { height: 60px; }
	body .vtv-voet__kolommen > .wp-block-group { display: grid; grid-template-columns: 6.75rem minmax(0, 1fr); column-gap: 0.75rem; align-items: start; padding-block: 1.25rem; border-top: 1px solid #2F5A45; }
	body .vtv-voet__kolommen > .wp-block-group > * { grid-column: 2; margin: 0; }
	body .vtv-voet__kolommen > .wp-block-group > h2 { grid-column: 1; grid-row: 1 / span 4; margin: 0; font-size: 0.8125rem; letter-spacing: 0.05em; text-transform: uppercase; line-height: 1.9; }
	.vtv-voet li + li { margin-top: 0.15rem; }
	.vtv-voet a.vtv-social { margin-top: 0.75rem; }
	body .vtv-voet__onder { flex-direction: column; align-items: flex-start; gap: 0.35rem; padding: 1.25rem 0 5rem; }
	.vtv-voet__credits { gap: 0.25rem 1.25rem; }
	.vtv-kop .wp-block-site-logo img { height: 84px; }
	/* Filters op mobiel: dezelfde pillen als op desktop, netjes in een raster */
	.vtv-maanden ul { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 8px; }
	.vtv-maanden a { width: 100%; min-width: 0; padding: 0.4rem 0; }
	.vtv-filter ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
	.vtv-filter a { width: 100%; min-width: 0; padding: 0.4rem 0.75rem; text-align: center; }
	.vtv-jarenfilter ul { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.vtv-chips { display: grid !important; grid-template-columns: minmax(0, 1fr); gap: 8px; }
	.vtv-chips .wp-block-button, .vtv-chips .wp-block-button__link { width: 100%; }
	.vtv-prikbord__voet .vtv-knoppen { display: grid; grid-template-columns: minmax(0, 1fr); width: 100%; gap: 0.6rem; }
	.vtv-prikbord__voet .vtv-knop { width: 100%; box-sizing: border-box; }
	/* Tabel tuin huren */
	.vtv-tabel th, .vtv-tabel td { padding: 0.75rem 0.5rem; font-size: 0.9375rem; }
	.vtv-tabel th:first-child, .vtv-tabel td:first-child { padding-left: 0.75rem; }
	.vtv-tabel th:last-child, .vtv-tabel td:last-child { padding-right: 0.75rem; }
	.vtv-tabel thead th { font-size: 0.8125rem; }
	/* Overige */
	body .vtv-bestuur { grid-template-columns: minmax(0, 1fr); gap: 2rem; }
	body .vtv-sponsorlogos { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.75rem; }
	.vtv-sponsorlogos > :last-child:nth-child(odd) { grid-column: 1 / -1; justify-self: center; width: calc(50% - 0.375rem); }
	.vtv-sponsorlogos img { width: 100%; height: auto; aspect-ratio: 630 / 275; object-fit: contain; box-sizing: border-box; }
	.vtv-kop__binnen { padding-block: 1rem; }
	.vtv-datumregel { display: none; }
}

/* Plakkende kopbalk: weg bij naar beneden scrollen, terug bij omhoog scrollen */
.wp-block-template-part:has(> .vtv-kop),
.vtv-kopbalk { position: sticky; top: var(--wp-admin--admin-bar--height, 0px); z-index: 50; background: var(--vtv-papier); }
.vtv-kopbalk { transition: transform 0.25s ease, box-shadow 0.25s ease; }
.vtv-kopbalk.is-gescrold { transform: translateY(calc(-1 * var(--vtv-datum-h, 0px))); box-shadow: 0 1px 0 var(--vtv-lijn), 0 8px 18px rgba(23, 63, 44, 0.08); }
.vtv-kopbalk.is-gescrold.is-verborgen { transform: translateY(calc(-100% - var(--wp-admin--admin-bar--height, 0px))); box-shadow: none; }
html.has-modal-open .vtv-kopbalk,
.vtv-kopbalk:has(.is-menu-open) { transform: none !important; }
@media (prefers-reduced-motion: reduce) { .vtv-kopbalk { transition: none; } }

/* Home staat alleen in het mobiele menu */
.vtv-menu .vtv-menu__home { display: none; }
.vtv-menu .wp-block-navigation__responsive-container.is-menu-open .vtv-menu__home { display: flex; }

/* Knop terug naar boven, met leesvoortgang */
.vtv-naarboven {
	position: fixed; right: max(1.25rem, env(safe-area-inset-right)); bottom: max(1.25rem, env(safe-area-inset-bottom)); z-index: 60;
	width: 52px; height: 52px; padding: 0; border: 0; border-radius: var(--vtv-rand);
	display: grid; place-items: center; cursor: pointer;
	background: var(--vtv-bos); color: var(--vtv-papier);
	box-shadow: 0 10px 24px rgba(14, 42, 29, 0.3), 0 2px 6px rgba(14, 42, 29, 0.2);
	opacity: 0; visibility: hidden; transform: translateY(16px) scale(0.9);
	transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s, background-color 0.2s ease;
}
.vtv-naarboven.is-zichtbaar { opacity: 1; visibility: visible; transform: none; }
.vtv-naarboven.is-zichtbaar:hover { background: var(--vtv-bos-donker); transform: translateY(-3px); }
.vtv-naarboven:focus-visible { outline: 3px solid var(--vtv-geel); outline-offset: 3px; }
.vtv-naarboven svg { grid-area: 1 / 1; }
.vtv-naarboven__ring { width: 100%; height: 100%; }
.vtv-naarboven__baan { fill: none; stroke: rgba(251, 247, 236, 0.2); stroke-width: 4; }
.vtv-naarboven__voortgang { fill: none; stroke: var(--vtv-geel); stroke-width: 4; stroke-linecap: round; stroke-dasharray: 100; stroke-dashoffset: 100; transition: stroke-dashoffset 0.12s linear; }
.vtv-naarboven__pijl { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 2.75; stroke-linecap: round; stroke-linejoin: round; transition: transform 0.2s ease; }
.vtv-naarboven:hover .vtv-naarboven__pijl { transform: translateY(-2px); }
html.has-modal-open .vtv-naarboven { display: none; }
@media (max-width: 640px) { .vtv-naarboven { width: 48px; height: 48px; right: max(1rem, env(safe-area-inset-right)); bottom: max(1rem, env(safe-area-inset-bottom)); } }
@media (prefers-reduced-motion: reduce) { .vtv-naarboven, .vtv-naarboven__voortgang, .vtv-naarboven__pijl { transition: none; } }

/* Mobiel menu */
.vtv-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content,
.vtv-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { align-items: flex-start; }
.vtv-menu .wp-block-navigation__responsive-container.is-menu-open .vtv-menu__knop > .wp-block-navigation-item__content { padding: 0.7rem 1.2rem; margin-top: 0.75rem; }
.vtv-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { padding-block: 0.35rem; }

/* ---------- Fotostrook ---------- */

.vtv-strook { --vtv-pad: clamp(1rem, 3vw, 1.5rem); --vtv-start: max(var(--vtv-pad), calc((100% - 1240px) / 2)); padding-block: clamp(3rem, 6vw, 4.5rem) clamp(2rem, 4vw, 3rem); }
.vtv-strook__kop {
	box-sizing: border-box; max-width: calc(1240px + 2 * var(--vtv-pad)); margin: 0 auto 1.75rem; padding: 1.5rem var(--vtv-pad) 0;
	display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 1rem 2rem; position: relative;
}
.vtv-strook__kop::before { content: ""; position: absolute; top: 0; left: var(--vtv-pad); right: var(--vtv-pad); border-top: 3px double var(--vtv-bos); }
.vtv-strook__titels h2 { margin: 0 0 0.35rem; }
.vtv-strook__titels p { margin: 0; color: var(--vtv-bos-zacht); max-width: 52ch; }
.vtv-strook__knoppen { display: flex; gap: 0.5rem; }
.vtv-strook__knop { width: 48px; height: 48px; display: grid; place-items: center; padding: 0; border: 0; border-radius: var(--vtv-rand); background: var(--vtv-bos); color: var(--vtv-papier); cursor: pointer; transition: background-color 0.2s ease, opacity 0.2s ease; }
.vtv-strook__knop:hover { background: var(--vtv-bos-donker); }
.vtv-strook__knop[disabled] { opacity: 0.3; cursor: default; }
.vtv-strook__knop svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 2.25; stroke-linecap: round; stroke-linejoin: round; }
.vtv-strook__lijst {
	list-style: none; margin: 0; display: flex; align-items: flex-start; gap: 1.5rem;
	overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; scroll-padding-inline: var(--vtv-start);
	padding: 0.25rem var(--vtv-pad) 0.5rem var(--vtv-start);
	scrollbar-width: none;
}
.vtv-strook__lijst::-webkit-scrollbar { display: none; }
.vtv-strook__voortgang { position: relative; box-sizing: border-box; max-width: calc(1240px + 2 * var(--vtv-pad)); margin: 1.5rem auto 0; padding: 0 var(--vtv-pad); }
.vtv-strook__voortgang::before { content: ""; display: block; height: 2px; background: var(--vtv-lijn); }
.vtv-strook__voortgang span { position: absolute; top: 0; left: var(--vtv-pad); height: 2px; width: 30%; background: var(--vtv-bos); transform-origin: left; transition: transform 0.15s linear; }
.vtv-strook__lijst:focus-visible { outline: 3px solid var(--vtv-bos); outline-offset: -3px; }
.vtv-strook__item { flex: none; width: 380px; margin: 0; scroll-snap-align: start; }
.vtv-strook__item .vtv-foto { position: relative; display: block; overflow: hidden; border-radius: 2px; background: var(--vtv-zand); }
.vtv-strook__item img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; transition: transform 0.5s ease; }
.vtv-strook__item .vtv-foto:hover img { transform: scale(1.04); }
.vtv-strook__item .vtv-foto:focus-visible { outline: 3px solid var(--vtv-bos); outline-offset: 3px; }
.vtv-strook__label { margin: 0.75rem 0 0.1rem; font-size: 0.8125rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: var(--vtv-aarde); }
.vtv-strook__bijschrift { margin: 0; font-family: var(--vtv-serif); font-style: italic; font-size: 1.1875rem; line-height: 1.3; }
.vtv-strook__item--slot { width: 300px; height: 330px; box-sizing: border-box; padding: 1.75rem; display: flex; flex-direction: column; justify-content: flex-end; gap: 0.75rem; background: var(--vtv-bos); color: var(--vtv-op-donker); border-radius: 2px; }
.vtv-strook__item--slot p { margin: 0; }
.vtv-strook__slottitel { font-family: var(--vtv-serif); font-size: 1.75rem; font-weight: 600; line-height: 1.1; color: var(--vtv-papier); }
.vtv-strook__item--slot .vtv-knop { align-self: flex-start; margin-top: 0.5rem; }
@media (prefers-reduced-motion: no-preference) { .vtv-strook__lijst { scroll-behavior: smooth; } }
/* Doorlopende strook op desktop: over de volle breedte, staat stil bij aanwijzen */
.vtv-strook.is-loop { overflow: hidden; }
.vtv-strook.is-loop .vtv-strook__lijst { width: max-content; overflow: visible; padding: 0.25rem 1.5rem 0.5rem 0; gap: 1.5rem; scroll-snap-type: none; animation: vtv-strook-loop var(--vtv-strook-duur, 60s) linear infinite; }
.vtv-strook.is-loop .vtv-strook__venster { -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 6%, #000 94%, transparent 100%); mask-image: linear-gradient(90deg, transparent 0, #000 6%, #000 94%, transparent 100%); }
.vtv-strook.is-loop .vtv-strook__voortgang, .vtv-strook.is-loop .vtv-strook__knop[data-richting] { display: none; }
.vtv-strook.is-loop .vtv-strook__item { width: 360px; }
.vtv-strook.is-loop:hover .vtv-strook__lijst, .vtv-strook.is-loop:focus-within .vtv-strook__lijst, .vtv-strook.is-loop.is-uit .vtv-strook__lijst { animation-play-state: paused; }
@keyframes vtv-strook-loop { to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) { .vtv-strook__item img { transition: none; } }
@media (max-width: 640px) {
	.vtv-strook__knoppen { display: none; }
	.vtv-strook__item { width: 80vw; }
	.vtv-strook__lijst { gap: 1rem; }
	.vtv-strook__item--slot { width: 70vw; height: 260px; }
}

/* ---------- Venster voor pdf's en foto's ---------- */

.vtv-modal {
	box-sizing: border-box; width: min(1100px, calc(100vw - 2rem)); height: min(92vh, 1100px); max-width: none; max-height: none;
	margin: auto; padding: 0; border: 0; border-radius: var(--vtv-rand); overflow: hidden;
	background: var(--vtv-papier); color: var(--vtv-bos); box-shadow: 0 30px 80px rgba(0, 0, 0, 0.35);
}
.vtv-modal[open] { display: flex; flex-direction: column; }
.vtv-modal::backdrop { background: rgba(14, 42, 29, 0.8); }
html:has(.vtv-modal[open]) { overflow: hidden; }
.vtv-modal__kop { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 0.75rem 1rem; padding: 0.75rem 0.75rem 0.75rem 1.25rem; background: var(--vtv-wit); border-bottom: 1px solid var(--vtv-lijn); }
.vtv-modal__titel { margin: 0; font-size: 1.375rem; line-height: 1.2; }
.vtv-modal__acties { display: flex; flex-wrap: wrap; gap: 0.5rem; align-items: center; }
.vtv-modal__acties .vtv-knop { box-sizing: border-box; min-height: 44px; padding: 0.5rem 0.9rem; font-size: 0.9375rem; }
.vtv-modal__acties .vtv-knop svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.vtv-modal__sluit { width: 44px; height: 44px; display: grid; place-items: center; padding: 0; border: 0; border-radius: var(--vtv-rand); background: var(--vtv-bos); color: var(--vtv-papier); cursor: pointer; }
.vtv-modal__sluit:hover { background: var(--vtv-bos-donker); }
.vtv-modal__sluit svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 2.5; stroke-linecap: round; }
.vtv-modal__inhoud { flex: 1; min-height: 0; display: flex; background: #3C4A42; }
.vtv-modal__inhoud iframe { flex: 1; width: 100%; height: 100%; border: 0; }
.vtv-modal__inhoud.is-pdfjs { display: block; overflow-y: auto; overscroll-behavior: contain; padding: 12px; }
.vtv-pdfblad { position: relative; width: 100%; max-width: 900px; margin: 0 auto 12px; background: #FFFFFF; box-shadow: 0 2px 10px rgba(0, 0, 0, 0.35); }
.vtv-pdfblad canvas { display: block; width: 100%; height: 100%; }
.vtv-modal__voet { padding: 0.6rem 1.25rem; background: var(--vtv-wit); border-top: 1px solid var(--vtv-lijn); }
.vtv-modal__voet .vtv-delen { gap: 0.5rem 1rem; }
.vtv-modal__voet .vtv-delen__knop { width: 40px; height: 40px; }
.vtv-modal.is-foto .vtv-modal__voet { display: none; }
.vtv-modal__melding { margin: 0; padding: 3rem 1.5rem; text-align: center; color: var(--vtv-papier); }
.vtv-modal__melding a { color: var(--vtv-geel); }
.vtv-modal.is-foto { width: fit-content; height: fit-content; max-width: min(1200px, calc(100vw - 2rem)); max-height: 92vh; }
.vtv-modal.is-foto .vtv-modal__inhoud { background: var(--vtv-bos-donker); justify-content: center; }
.vtv-modal.is-foto img { display: block; max-width: 100%; max-height: calc(92vh - 76px); width: auto; height: auto; }
@media (max-width: 640px) {
	.vtv-modal { width: 100vw; max-width: 100vw; height: 100vh; height: 100dvh; border-radius: 0; }
	.vtv-modal__kop { flex-wrap: nowrap; padding: 0.5rem 0.5rem 0.5rem 1rem; }
	.vtv-modal__titel { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
	.vtv-modal__open { display: none !important; }
	.vtv-modal__inhoud.is-pdfjs { padding: 8px; }
	.vtv-modal__voet { padding: 0.5rem 1rem calc(0.5rem + env(safe-area-inset-bottom)); }
	.vtv-modal__voet .vtv-delen__kop { flex-basis: 100%; }
	.vtv-pdfblad { margin-bottom: 8px; }
	.vtv-modal.is-foto { max-width: 100vw; }
	.vtv-modal__titel { font-size: 1.125rem; }
}

.vtv-berichtenlijst { transition: opacity 0.2s ease; }
.vtv-berichtenlijst.is-laden { opacity: 0.45; pointer-events: none; }
[data-vtv-ajax] .vtv-prikbord, [data-vtv-ajax] .vtv-maand { transition: opacity 0.2s ease; }
[data-vtv-ajax].is-laden .vtv-prikbord, [data-vtv-ajax].is-laden .vtv-maand, [data-vtv-ajax].is-laden .vtv-leeg { opacity: 0.45; pointer-events: none; }

.vtv-tabel--cookies td:first-child { font-size: 0.875em; color: var(--vtv-aarde); }
.vtv-tabel--cookies td:first-child code { display: inline-block; margin-bottom: 0.2rem; font-family: inherit; font-size: 1.05em; font-weight: 600; color: var(--vtv-bos); overflow-wrap: anywhere; }
.vtv-tabel--cookies td:last-child { white-space: nowrap; }

/* ---------- Lange tekstpagina's met inhoudsopgave ---------- */

body .vtv-met-inhoud { display: grid; grid-template-columns: minmax(0, 760px) 280px; grid-template-areas: "tekst inhoud"; justify-content: space-between; column-gap: 4rem; align-items: start; }
.vtv-met-inhoud__tekst { grid-area: tekst; min-width: 0; }
.vtv-met-inhoud__tekst > .wp-block-post-content > .vtv-intro, .vtv-met-inhoud .vtv-intro { max-width: none; }
.vtv-inhoud { grid-area: inhoud; position: sticky; top: calc(var(--vtv-kop-zicht, 0px) + 1.5rem); max-height: calc(100vh - var(--vtv-kop-zicht, 0px) - 3rem); overflow-y: auto; padding: 1.25rem 1.25rem 1rem; background: var(--vtv-wit); border: 1px solid var(--vtv-lijn); border-top: 3px solid var(--vtv-bos); transition: top 0.25s ease; }
.vtv-inhoud__kop { margin: 0 0 0.6rem; font-size: 0.8125rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: var(--vtv-aarde); list-style: none; cursor: default; }
.vtv-inhoud__kop::-webkit-details-marker { display: none; }
.vtv-inhoud ol { list-style: none; margin: 0; padding: 0; counter-reset: inhoud; }
.vtv-inhoud li { counter-increment: inhoud; border-top: 1px solid var(--vtv-lijn-licht); }
.vtv-inhoud li:first-child { border-top: 0; }
.vtv-inhoud a { display: flex; gap: 0.6rem; padding: 0.45rem 0; font-size: 0.9375rem; line-height: 1.35; text-decoration: none; color: var(--vtv-bos); }
.vtv-inhoud a::before { content: counter(inhoud); flex: none; min-width: 1.4em; font-family: var(--vtv-serif); font-weight: 600; color: var(--vtv-aarde); }
.vtv-inhoud a:hover { text-decoration: underline; }
.vtv-inhoud a[aria-current] { font-weight: 700; }
.vtv-inhoud a[aria-current]::before { color: var(--vtv-bos); }
.vtv-met-inhoud__tekst h2 { scroll-margin-top: calc(var(--vtv-kop-zicht, 0px) + 1.5rem); }
@media (max-width: 1000px) {
	body .vtv-met-inhoud { grid-template-columns: minmax(0, 1fr); grid-template-areas: "inhoud" "tekst"; row-gap: 2rem; }
	.vtv-inhoud { position: static; max-height: none; overflow: visible; }
	.vtv-inhoud__kop { margin: 0; cursor: pointer; display: flex; justify-content: space-between; align-items: center; }
	.vtv-inhoud__kop::after { content: "+"; font-size: 1.25rem; line-height: 1; color: var(--vtv-bos); }
	.vtv-inhoud[open] .vtv-inhoud__kop { margin-bottom: 0.6rem; }
	.vtv-inhoud[open] .vtv-inhoud__kop::after { content: "\2212"; }
}

/* ---------- Cookiebanner ---------- */

.vtv-cookies { position: fixed; z-index: 90; left: 1rem; right: 1rem; bottom: 1rem; display: flex; justify-content: center; pointer-events: none; }
.vtv-cookies[hidden] { display: none; }
.vtv-cookies__binnen { pointer-events: auto; box-sizing: border-box; width: min(100%, 980px); display: flex; align-items: center; gap: 1.25rem 2rem; padding: 1.25rem 1.5rem; background: var(--vtv-papier); color: var(--vtv-bos); border: 2px solid var(--vtv-bos); border-radius: var(--vtv-rand); box-shadow: 0 18px 50px rgba(14, 42, 29, 0.28); }
.vtv-cookies__tekst { flex: 1; min-width: 0; }
.vtv-cookies__tekst .vtv-cookies__kop { margin: 0 0 0.3rem; font-family: var(--vtv-serif); font-size: 1.25rem; font-weight: 600; line-height: 1.25; }
.vtv-cookies__tekst p { margin: 0; font-size: 0.9375rem; line-height: 1.5; }
.vtv-cookies__knoppen { flex: none; display: flex; gap: 0.6rem; }
.vtv-cookies__knoppen .vtv-knop { min-width: 8.5rem; }
.vtv-tekstknop { padding: 0; border: 0; background: none; font: inherit; color: inherit; text-decoration: underline; cursor: pointer; }
.vtv-voet .vtv-tekstknop { color: #E8EFE9; }
.vtv-voet .vtv-tekstknop:hover { color: var(--vtv-geel); }
@media (max-width: 760px) {
	.vtv-cookies { left: 0.5rem; right: 0.5rem; bottom: 0.5rem; }
	.vtv-cookies__binnen { flex-direction: column; align-items: stretch; padding: 1rem; gap: 0.9rem; }
	.vtv-cookies__knoppen { display: grid; grid-template-columns: 1fr 1fr; }
	.vtv-cookies__knoppen .vtv-knop { min-width: 0; width: 100%; }
}

@media print {
	.vtv-datumregel, .vtv-menu, .vtv-voet, .vtv-filter, .vtv-naarboven, .vtv-cookies, .vtv-inhoud, .vtv-strook__knoppen, .vtv-maanden, .wp-block-query-pagination { display: none !important; }
	body { background: #fff; }
}

/* Delen: vierkante knoppen in de stijl van de site, zonder scripts van derden */
.vtv-delen { display: flex; flex-wrap: wrap; align-items: center; gap: 0.75rem 1rem; position: relative; }
.vtv-artikel .vtv-delen { border-top: 1px solid var(--vtv-lijn); padding-top: 1.5rem; margin-top: 2.5rem; }
.vtv-delen__kop { margin: 0; font-size: 0.8125rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--vtv-aarde); }
.vtv-delen__lijst { display: flex; flex-wrap: wrap; gap: 0.5rem; margin: 0; padding: 0; list-style: none; }
.vtv-delen__lijst li { margin: 0; }
.vtv-delen__knop { display: grid; place-items: center; width: 44px; height: 44px; box-sizing: border-box; padding: 0; border: 2px solid var(--vtv-bos); border-radius: var(--vtv-rand); background: transparent; color: var(--vtv-bos); cursor: pointer; text-decoration: none; transition: background-color 0.2s ease, color 0.2s ease; }
.vtv-delen__knop:hover, .vtv-delen__knop:focus-visible { background: var(--vtv-bos); color: var(--vtv-papier); }
.vtv-delen__knop svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.vtv-delen__status { margin: 0; font-size: 0.9375rem; font-weight: 600; color: var(--vtv-bos); }
.vtv-delen__status:empty { display: none; }
.vtv-delen--klein { gap: 0.5rem 0.75rem; padding-top: 0.75rem; border-top: 1px dashed var(--vtv-lijn); }
.vtv-delen--klein .vtv-delen__kop { font-size: 0.75rem; }
.vtv-delen--klein .vtv-delen__knop { width: 40px; height: 40px; border-width: 1.5px; }
.vtv-delen--klein .vtv-delen__knop svg { width: 18px; height: 18px; }
.vtv-delen--klein .vtv-delen__status { flex-basis: 100%; font-size: 0.875rem; }
.vtv-prikbriefje { scroll-margin-top: 1.5rem; }
.vtv-prikbriefje:target { outline: 3px solid var(--vtv-geel); outline-offset: 3px; }

/* Nieuwsoverzicht: meer laden in plaats van paginanummers */
.vtv-meerladen { margin-top: 2rem; }
.vtv-berichtenlijst .wp-block-query-pagination[hidden] { display: none !important; }
.vtv-meerladen .vtv-knop[aria-busy] { opacity: 0.7; cursor: progress; }
.vtv-meerladen__klaar { margin: 0; color: var(--vtv-aarde); font-size: 1rem; }
@media print { .vtv-delen, .vtv-meerladen { display: none !important; } }
/* Randknop op donkere oproepbalk */
.vtv-oproep .wp-block-buttons { gap: 0.75rem; }
.vtv-oproep .wp-block-button.is-style-outline .wp-block-button__link { color: var(--vtv-papier); border-color: var(--vtv-papier); }
.vtv-oproep .wp-block-button.is-style-outline .wp-block-button__link:hover, .vtv-oproep .wp-block-button.is-style-outline .wp-block-button__link:focus-visible { background: var(--vtv-papier); border-color: var(--vtv-papier); color: var(--vtv-bos); }

/* Uitleg 'zo zet je iets op het prikbord': als kaartje naast de berichten, of breed als er niets hangt */
.vtv-stappen--klein li { padding: 0.15rem 0 0.85rem 2.6rem; font-size: 1rem; color: var(--vtv-bos-zacht); }
.vtv-stappen--klein li::before { width: 1.85rem; height: 1.85rem; font-size: 1rem; }
.vtv-stappen--klein li:last-child { padding-bottom: 0.25rem; }
.vtv-prikbriefje--tip { background: var(--vtv-zand); border-style: dashed; border-color: var(--vtv-aarde); }
.vtv-soort--tip { background: var(--vtv-wit); }
.vtv-prikbriefje--tip .vtv-prikbriefje__voet { margin-top: auto; }
.vtv-prikbriefje--tip .vtv-knop { width: 100%; box-sizing: border-box; text-align: center; }
.vtv-leeg--prikbord { max-width: none; }
.vtv-leeg--prikbord .vtv-stappen--klein { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0 1.5rem; margin-bottom: 1.75rem; }
.vtv-leeg--prikbord .vtv-stappen--klein li { padding: 2.6rem 0 0; }
.vtv-leeg--prikbord .vtv-stappen--klein li:last-child { padding-bottom: 0; }
@media (max-width: 760px) {
	.vtv-leeg--prikbord .vtv-stappen--klein { grid-template-columns: minmax(0, 1fr); }
	.vtv-leeg--prikbord .vtv-stappen--klein li { padding: 0.15rem 0 0.85rem 2.6rem; }
}

/* Foto meesturen met het contactformulier */
.vtv-veld__hulp { font-size: 0.9375rem; color: var(--vtv-aarde); }
.vtv-veld input[type="file"] { padding: 0.6rem; background: var(--vtv-wit); cursor: pointer; }
.vtv-veld input[type="file"]::file-selector-button { font: inherit; font-weight: 700; color: var(--vtv-papier); background: var(--vtv-bos); border: 0; border-radius: var(--vtv-rand); padding: 0.55rem 1rem; margin-right: 0.9rem; cursor: pointer; }
.vtv-veld input[type="file"]::file-selector-button:hover { background: var(--vtv-bos-donker); }
/* Soort en akkoord verschijnen alleen als 'Iets op het prikbord zetten' is gekozen; een foto kan bij elk onderwerp */
.vtv-formulier__form:not(:has(input[name="vtvap_onderwerp"][value="prikbord"]:checked)) :is(.vtv-veld--soort, .vtv-veld--tuinnummer, .vtv-veld--akkoord) { display: none; }
/* Tuinnummer: verplicht bij het prikbord, anders niet */
.vtv-formulier__form:not(:has(input[name="vtvap_onderwerp"][value="prikbord"]:checked)) .vtv-alleen-prikbord,
.vtv-formulier__form:has(input[name="vtvap_onderwerp"][value="prikbord"]:checked) .vtv-niet-prikbord { display: none; }

/* Samenvatting in nieuwsoverzichten: alinea's van het bericht blijven zichtbaar */
.vtv-samenvatting p { margin: 0; }
.vtv-samenvatting p + p { margin-top: 0.4em; }
.vtv-keuzes__lijst--soort { grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); }
