/* ==========================================================================
   VOS Stellendam – opmaak bovenop Astra
   Kleuren volgens de style guide: oranje #EF7C00, licht oranje #FAC18A, antraciet #3C3C3B.
   Koppen: Exo 2 (vrij alternatief voor Sansa Pro). Tekst: Roboto. Beide lokaal, geen Google Fonts.
   ========================================================================== */

@font-face { font-family: "Exo 2"; font-style: normal; font-weight: 600; font-display: swap; src: url("../fonts/exo-2-latin-600-normal.woff2") format("woff2"); }
@font-face { font-family: "Exo 2"; font-style: normal; font-weight: 700; font-display: swap; src: url("../fonts/exo-2-latin-700-normal.woff2") format("woff2"); }
@font-face { font-family: "Exo 2"; font-style: normal; font-weight: 800; font-display: swap; src: url("../fonts/exo-2-latin-800-normal.woff2") format("woff2"); }
@font-face { font-family: "Roboto"; font-style: normal; font-weight: 400; font-display: swap; src: url("../fonts/roboto-latin-400-normal.woff2") format("woff2"); }
@font-face { font-family: "Roboto"; font-style: italic; font-weight: 400; font-display: swap; src: url("../fonts/roboto-latin-400-italic.woff2") format("woff2"); }
@font-face { font-family: "Roboto"; font-style: normal; font-weight: 500; font-display: swap; src: url("../fonts/roboto-latin-500-normal.woff2") format("woff2"); }
@font-face { font-family: "Roboto"; font-style: normal; font-weight: 700; font-display: swap; src: url("../fonts/roboto-latin-700-normal.woff2") format("woff2"); }

:root {
	--vos-oranje: #EF7C00;          /* hoofdkleur */
	--vos-oranje-tekst: #C86400;    /* oranje voor grote tekst op wit (voldoende contrast) */
	--vos-licht: #FAC18A;           /* licht oranje */
	--vos-tint: #FEF1E3;            /* heel licht oranje vlak */
	--vos-antraciet: #3C3C3B;
	--vos-link: #A85400;
	--vos-grijs: #6B6B69;
	--vos-lijn: #EDE4D9;
	--vos-wit: #FFFFFF;
	--vos-rond: 20px;
	--vos-breed: 1180px;
	--vos-kolom: 780px;
	--vos-gutter: clamp(16px, 4vw, 40px);
	--vos-kop: "Exo 2", "Trebuchet MS", system-ui, sans-serif;
	--vos-body: "Roboto", system-ui, -apple-system, "Segoe UI", sans-serif;
}

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

html { scroll-padding-top: 100px; }
#page { overflow-x: clip; }

body.vos-thema,
.vos-thema button,
.vos-thema input,
.vos-thema select,
.vos-thema textarea { font-family: var(--vos-body); }

body.vos-thema {
	color: var(--vos-antraciet);
	font-size: 1.0625rem;
	line-height: 1.65;
	background: var(--vos-wit);
}

.vos-thema h1, .vos-thema h2, .vos-thema h3, .vos-thema h4,
.vos-thema .entry-content :where(h1, h2, h3, h4),
.vos-thema .entry-title {
	font-family: var(--vos-kop);
	color: var(--vos-antraciet);
	font-weight: 700;
	letter-spacing: 0;
	line-height: 1.12;
}
.vos-thema h1, .vos-thema .entry-content h1, .vos-thema .entry-title { font-size: clamp(2.1rem, 1.5rem + 2.4vw, 3.2rem); font-weight: 800; }
.vos-thema h2, .vos-thema .entry-content h2 { font-size: clamp(1.6rem, 1.3rem + 1vw, 2.2rem); margin: 2em 0 .55em; }
.vos-thema h3, .vos-thema .entry-content h3 { font-size: 1.3rem; margin: 1.5em 0 .35em; }
.vos-thema .entry-content > :first-child { margin-top: 0; }

.vos-thema .entry-content a:where(:not(.wp-block-button__link, .vos-knop)),
.vos-thema .vos-overzicht-kop a {
	color: var(--vos-link);
	text-decoration: underline;
	text-decoration-thickness: 2px;
	text-underline-offset: 3px;
}
.vos-thema .entry-content a:where(:not(.wp-block-button__link, .vos-knop)):hover { color: var(--vos-antraciet); text-decoration-color: var(--vos-oranje); }

.vos-thema :focus-visible { outline: 3px solid var(--vos-antraciet); outline-offset: 3px; border-radius: 4px; }
.vos-thema .entry-content ul.wp-block-list li::marker { color: var(--vos-oranje); }
.vos-thema .entry-content strong { font-weight: 700; }

/* Leesbreedte op gewone pagina's en berichten */
.vos-thema:not(.home) .site-content .ast-container { max-width: calc(var(--vos-kolom) + 2 * var(--vos-gutter)); padding-inline: var(--vos-gutter); }
.vos-thema.blog .site-content .ast-container,
.vos-thema.archive .site-content .ast-container,
.vos-thema.search .site-content .ast-container { max-width: calc(var(--vos-breed) + 2 * var(--vos-gutter)); }

/* Paginatitel met de oranje streep uit de style guide */
.vos-thema.single .entry-header .entry-title,
.vos-thema.page:not(.home) .entry-header .entry-title,
.vos-overzicht-kop__titel { position: relative; padding-bottom: .5em; margin-bottom: .5em; }
.vos-thema.single .entry-header .entry-title::after,
.vos-thema.page:not(.home) .entry-header .entry-title::after,
.vos-overzicht-kop__titel::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 96px;
	height: 6px;
	border-radius: 6px;
	background: var(--vos-oranje);
}
.vos-thema .site-content { padding-top: clamp(28px, 5vw, 56px); padding-bottom: clamp(48px, 6vw, 88px); }
.vos-thema.home .site-content { padding-top: 0; }
.vos-thema .ast-separate-container .ast-article-single,
.vos-thema .ast-separate-container .ast-article-post { background: transparent; padding: 0; }

.vos-thema .entry-content .wp-block-columns { margin-left: 0; margin-right: 0; padding-left: 0; padding-right: 0; }

/* Brede foto bovenaan een pagina */
.vos-thema .entry-content .vos-paginafoto { margin: 0 0 1.8em; }
.vos-thema .entry-content .vos-paginafoto img { width: 100%; max-height: 440px; object-fit: cover; border-radius: var(--vos-rond); background: var(--vos-tint); }

/* ----- Knoppen --------------------------------------------------------- */

.vos-thema .wp-block-button__link,
.vos-thema .vos-knop,
.vos-thema .ast-button,
.vos-thema .button,
.vos-thema input[type="submit"],
.vos-thema button[type="submit"],
.vos-thema .wpcf7-submit {
	display: inline-block;
	font-family: var(--vos-kop);
	font-weight: 700;
	font-size: 1.2rem;
	line-height: 1.15;
	color: var(--vos-antraciet);
	background: var(--vos-oranje);
	border: 2px solid var(--vos-oranje);
	border-radius: 999px;
	padding: .75em 1.45em;
	text-decoration: none !important;
	transition: background-color .15s ease, color .15s ease, border-color .15s ease;
	cursor: pointer;
}
.vos-thema .wp-block-button__link:hover,
.vos-thema .vos-knop:hover,
.vos-thema input[type="submit"]:hover,
.vos-thema .wpcf7-submit:hover {
	background: var(--vos-antraciet);
	border-color: var(--vos-antraciet);
	color: var(--vos-wit);
}
.vos-thema .wp-block-button.is-style-outline > .wp-block-button__link:not(.has-text-color),
.vos-thema .vos-knop--licht {
	background: transparent;
	color: var(--vos-antraciet);
	border-color: var(--vos-antraciet);
}
.vos-thema .wp-block-button.is-style-outline > .wp-block-button__link:not(.has-text-color):hover,
.vos-thema .vos-knop--licht:hover { background: var(--vos-antraciet); color: var(--vos-wit); }
.vos-thema .wp-block-buttons { gap: 12px; margin-top: 1.5em; }

/* ----- Kop en menu ----------------------------------------------------- */

.vos-thema .site-header .main-header-bar,
.vos-thema .site-header .ast-primary-header-bar,
.vos-thema #ast-mobile-header .ast-primary-header-bar { background: var(--vos-wit); border-bottom: 0; }
.vos-thema .site-header { border-bottom: 1px solid var(--vos-lijn); }
.vos-thema .site-title { font-family: var(--vos-kop); font-size: 1.45rem; line-height: 1.15; }
.vos-thema .site-title a { color: var(--vos-antraciet); }

.vos-thema .main-header-menu > .menu-item > .menu-link {
	font-family: var(--vos-kop);
	font-weight: 600;
	font-size: 1.08rem;
	color: var(--vos-antraciet);
	position: relative;
}
.vos-thema .main-header-menu > .menu-item > .menu-link::after {
	content: "";
	position: absolute;
	left: 1em;
	right: 1em;
	bottom: .5em;
	height: 4px;
	border-radius: 4px;
	background: var(--vos-oranje);
	transform: scaleX(0);
	transition: transform .15s ease;
}
.vos-thema .main-header-menu > .menu-item:hover > .menu-link::after,
.vos-thema .main-header-menu > .current-menu-item > .menu-link::after,
.vos-thema .main-header-menu > .current-menu-ancestor > .menu-link::after,
.vos-thema .main-header-menu > .current_page_parent > .menu-link::after { transform: scaleX(1); }
.vos-thema .main-header-menu .menu-item:hover > .menu-link,
.vos-thema .main-header-menu .current-menu-item > .menu-link,
.vos-thema .main-header-menu .current-menu-ancestor > .menu-link { color: var(--vos-antraciet); }

.vos-thema .main-header-menu .sub-menu {
	background: var(--vos-wit);
	border: 1px solid var(--vos-lijn);
	border-top: 4px solid var(--vos-oranje);
	border-radius: 0 0 14px 14px;
	padding: 8px;
	box-shadow: 0 12px 28px rgba(60, 60, 59, .12);
}
.vos-thema .main-header-menu .sub-menu .menu-link {
	font-family: var(--vos-body);
	font-weight: 500;
	color: var(--vos-antraciet);
	border: 0;
	border-radius: 8px;
	padding: .55em .9em;
}
.vos-thema .main-header-menu .sub-menu .menu-link:hover,
.vos-thema .main-header-menu .sub-menu .current-menu-item > .menu-link { background: var(--vos-tint); }

.vos-thema #ast-mobile-header .main-header-menu .menu-link { font-family: var(--vos-kop); color: var(--vos-antraciet); border-color: var(--vos-lijn); }
.vos-thema #ast-mobile-header .main-header-menu > .menu-item > .menu-link::after { display: none; }
.vos-thema .ast-mobile-header-content,
.vos-thema .ast-mobile-popup-drawer .ast-mobile-popup-inner { background: var(--vos-wit); }
.vos-thema .ast-mobile-menu-trigger-minimal,
.vos-thema .menu-toggle { color: var(--vos-antraciet); }

/* ----- Voorpagina ------------------------------------------------------ */

.vos-thema .entry-content > .alignfull {
	width: 100vw;
	max-width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
}
.vos-thema.home .site-content > .ast-container { max-width: 100%; padding: 0; }
.vos-thema.home .entry-content > .vos-sectie:not(.alignfull),
.vos-thema.home .entry-content > p { max-width: calc(var(--vos-breed) + 2 * var(--vos-gutter)); margin-inline: auto; padding-inline: var(--vos-gutter); }
.vos-thema.home .entry-content > .vos-sectie { padding-block: clamp(36px, 5vw, 64px); margin-block: 0; }
.vos-thema.home .entry-content > .vos-sectie > h2:first-child { margin-top: 0; }
.vos-thema.home .entry-content > .vos-sectie > * { max-width: none; }

/* Openingsbanner: Koningsdag, met foto tot aan de rand */
.vos-thema.home .entry-content > .vos-hero {
	background: var(--vos-oranje);
	margin-top: 0;
	margin-bottom: 0;
	padding: 0 0 0 max(var(--vos-gutter), calc((100vw - var(--vos-breed)) / 2)) !important;
}
.vos-hero > .wp-block-columns { gap: 0 !important; margin: 0 !important; align-items: stretch !important; min-height: 520px; }
.vos-hero > .wp-block-columns > .wp-block-column:first-child {
	flex: 0 0 52% !important;
	padding: clamp(48px, 7vw, 84px) clamp(24px, 4vw, 56px) clamp(120px, 12vw, 150px) 0;
}
.vos-hero > .wp-block-columns > .wp-block-column:last-child { flex: 1 1 auto !important; position: relative; background: var(--vos-licht); }
.vos-hero .vos-hero__foto { position: absolute; inset: 0; margin: 0; height: 100%; }
.vos-hero .vos-hero__foto img { width: 100%; height: 100%; object-fit: cover; border-radius: 0 !important; display: block; }
.vos-thema .vos-hero .vos-hero__titel {
	color: var(--vos-wit);
	font-size: clamp(2.8rem, 1.8rem + 4vw, 4.7rem);
	font-weight: 800;
	line-height: .98;
	margin: 0;
}
.vos-thema .vos-hero .vos-hero__datum {
	font-family: var(--vos-kop);
	font-weight: 700;
	font-size: clamp(1.4rem, 1.1rem + 1.2vw, 2rem);
	line-height: 1.2;
	color: var(--vos-antraciet);
	margin: .4em 0 .9em;
}
.vos-hero p { font-size: 1.15rem; color: #2B2B2A; max-width: 32em; }
.vos-hero .vos-hero__aftellen { font-weight: 700; }
.vos-thema .vos-hero .wp-block-button:not(.is-style-outline) > .wp-block-button__link { background: var(--vos-antraciet); border-color: var(--vos-antraciet); color: var(--vos-wit); }
.vos-thema .vos-hero .wp-block-button:not(.is-style-outline) > .wp-block-button__link:hover { background: #222221; }
.vos-thema .vos-hero .wp-block-button.is-style-outline > .wp-block-button__link:not(.has-text-color) { background: var(--vos-wit); border-color: var(--vos-wit); color: var(--vos-antraciet); }
.vos-thema .vos-hero .wp-block-button.is-style-outline > .wp-block-button__link:not(.has-text-color):hover { background: var(--vos-tint); }

/* Agenda als witte kaart over de banner heen */
.vos-thema.home .entry-content > .vos-agenda-kaart {
	position: relative;
	z-index: 2;
	max-width: var(--vos-breed);
	margin: -88px auto 0;
	background: var(--vos-wit);
	border-radius: 24px;
	box-shadow: 0 18px 44px rgba(60, 60, 59, .14);
	padding: 14px clamp(20px, 3vw, 32px) 8px;
}
@media (max-width: 1260px) {
	.vos-thema.home .entry-content > .vos-agenda-kaart { margin-inline: var(--vos-gutter); }
}
.vos-agenda__kop { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; padding: 14px 0 10px; }
.vos-thema .entry-content .vos-agenda__kop h2 { margin: 0; font-size: 1.7rem; }
.vos-thema .entry-content .vos-agenda__kop a { font-family: var(--vos-kop); font-weight: 700; white-space: nowrap; }

.vos-agenda,
.vos-thema .entry-content ul.vos-agenda { list-style: none; margin: 0 0 1.4em; padding: 0; }
.vos-agenda-kaart .vos-agenda { margin-bottom: 0; }
.vos-agenda__item {
	display: grid;
	grid-template-columns: 116px 1fr auto;
	gap: 6px 20px;
	align-items: center;
	padding: 18px 0;
	border-top: 1px solid var(--vos-lijn);
	margin: 0 !important;
}
.vos-datum { font-family: var(--vos-kop); font-weight: 800; font-size: 1.75rem; line-height: 1; color: var(--vos-oranje-tekst); white-space: nowrap; }
.vos-datum__maand { font-size: 1rem; font-weight: 700; color: var(--vos-antraciet); margin-left: 6px; }
.vos-agenda__tekst { display: flex; flex-direction: column; gap: 2px; }
.vos-thema .entry-content .vos-agenda__titel,
.vos-agenda__titel { font-family: var(--vos-kop); font-weight: 700; font-size: 1.3rem; line-height: 1.2; color: var(--vos-antraciet); text-decoration: none; }
.vos-thema .entry-content .vos-agenda__titel:hover { text-decoration: underline; text-decoration-color: var(--vos-oranje); }
.vos-agenda__meta { color: var(--vos-grijs); font-size: .95rem; }
.vos-thema .entry-content .vos-agenda__meer { font-family: var(--vos-kop); font-weight: 700; white-space: nowrap; }
.vos-label { align-self: flex-start; margin-top: 4px; font-size: .8rem; font-weight: 700; padding: 2px 10px; border-radius: 999px; background: #FBE0DC; color: #8E1F12; }
.status-geannuleerd .vos-agenda__titel { text-decoration: line-through; }
.vos-agenda-leeg { background: var(--vos-tint); border-radius: var(--vos-rond); padding: 18px 22px; }
.vos-agenda-kaart .vos-agenda-leeg { margin: 0 0 18px; }

/* Wat we organiseren: Koningsdag groot, de rest eromheen */
.vos-thema .entry-content ul.vos-activiteiten {
	list-style: none;
	padding: 0;
	margin: 1.2em 0 0;
	display: grid;
	grid-template-columns: 2fr 1fr 1fr;
	grid-auto-rows: minmax(150px, auto);
	gap: 16px;
}
.vos-thema .entry-content ul.vos-activiteiten li { margin: 0; }
.vos-thema .entry-content ul.vos-activiteiten li:first-child { grid-row: span 3; }
.vos-thema .entry-content ul.vos-activiteiten a {
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	height: 100%;
	padding: 22px 24px;
	background: var(--vos-tint);
	border-radius: var(--vos-rond);
	color: var(--vos-grijs);
	text-decoration: none;
	overflow: hidden;
	transition: background-color .15s ease;
}
.vos-thema .entry-content ul.vos-activiteiten a:hover { background: #FDE5CA; }
.vos-thema .entry-content ul.vos-activiteiten li:first-child a { background: var(--vos-licht); color: var(--vos-antraciet); padding: 0; justify-content: flex-start; }
.vos-thema .entry-content ul.vos-activiteiten li:first-child img { width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; display: block; background: #F8B575; }
.vos-thema .entry-content ul.vos-activiteiten li:first-child strong,
.vos-thema .entry-content ul.vos-activiteiten li:first-child span { padding-inline: 26px; }
.vos-thema .entry-content ul.vos-activiteiten li:first-child strong { padding-top: 22px; font-size: 1.9rem; }
.vos-thema .entry-content ul.vos-activiteiten li:first-child span { padding-bottom: 26px; font-size: 1.05rem; }
.vos-thema .entry-content ul.vos-activiteiten strong {
	display: block;
	font-family: var(--vos-kop);
	font-weight: 700;
	font-size: 1.3rem;
	line-height: 1.15;
	color: var(--vos-antraciet);
	margin-bottom: 4px;
}
.vos-thema .entry-content ul.vos-activiteiten span { display: block; }

/* Nieuwskaarten */
.vos-nieuws,
.vos-thema .entry-content ul.vos-nieuws {
	list-style: none;
	margin: 1.2em 0 1.2em;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
	gap: 28px;
}
.vos-nieuws__item { display: flex; flex-direction: column; gap: 6px; margin: 0 !important; }
.vos-thema .entry-content .vos-nieuws__beeld { text-decoration: none; }
.vos-nieuws__beeld { display: block; aspect-ratio: 3 / 2; border-radius: var(--vos-rond); overflow: hidden; background: var(--vos-tint); margin-bottom: 8px; }
.vos-nieuws__beeld img { width: 100%; height: 100%; object-fit: cover; display: block; }
.vos-nieuws__geenbeeld { display: flex; width: 100%; height: 100%; align-items: center; justify-content: center; background: var(--vos-licht); font-family: var(--vos-kop); font-weight: 800; font-size: 2.6rem; color: var(--vos-wit); }
.vos-nieuws__datum { color: var(--vos-grijs); font-size: .9rem; font-weight: 500; }
.vos-thema .entry-content .vos-nieuws__titel,
.vos-nieuws__titel { font-family: var(--vos-kop); font-weight: 700; font-size: 1.25rem; line-height: 1.2; color: var(--vos-antraciet); text-decoration: none; }
.vos-thema .entry-content .vos-nieuws__titel:hover { text-decoration: underline; text-decoration-color: var(--vos-oranje); }

/* Lid worden / vrijwilliger */
.vos-tweeluik { gap: 24px !important; }
.vos-tweeluik > .wp-block-column { border-radius: 24px; padding: clamp(26px, 4vw, 40px); }
.vos-tweeluik > .wp-block-column:first-child { background: var(--vos-antraciet); color: #E2E2E0; }
.vos-thema .entry-content .vos-tweeluik > .wp-block-column:first-child h2 { color: var(--vos-wit); }
.vos-tweeluik > .wp-block-column:last-child { background: var(--vos-tint); }
.vos-thema .entry-content .vos-tweeluik h2 { margin-top: 0; font-size: 1.9rem; }
.vos-thema .vos-tweeluik > .wp-block-column:first-child .wp-block-button__link:hover { background: var(--vos-wit); color: var(--vos-antraciet); border-color: var(--vos-wit); }
.vos-sponsorregel { font-size: 1.1rem; }

/* ----- Blokken op gewone pagina's ------------------------------------- */

.vos-blok { background: var(--vos-tint); border-radius: 24px; padding: clamp(22px, 4vw, 36px); margin-block: 2.2em; }
.vos-blok--donker { background: var(--vos-antraciet); color: #E2E2E0; }
.vos-thema .entry-content .vos-blok--donker :where(h2, h3) { color: var(--vos-wit); }
.vos-blok > :first-child { margin-top: 0 !important; }
.vos-blok > :last-child { margin-bottom: 0; }
.vos-kleine-letters { color: var(--vos-grijs); font-size: .92rem; }

/* Jaarkalender */
.vos-thema .entry-content ul.vos-kalender { list-style: none; padding: 0; margin: 1em 0 1.6em; }
.vos-thema .entry-content ul.vos-kalender li { padding: 12px 0 12px 20px; border-bottom: 1px solid var(--vos-lijn); position: relative; margin: 0; }
.vos-thema .entry-content ul.vos-kalender li::before { content: ""; position: absolute; left: 0; top: 14px; bottom: 14px; width: 4px; border-radius: 4px; background: var(--vos-oranje); }
.vos-thema .entry-content ul.vos-kalender li > strong:first-child { display: block; font-family: var(--vos-kop); font-weight: 700; }
.vos-thema .entry-content ul.vos-kalender .vos-kalender__titel { font-weight: 700; }
.vos-thema .entry-content ul.vos-kalender .vos-kalender__details { display: block; color: var(--vos-grijs); font-size: .95rem; }
.vos-thema .entry-content ul.vos-kalender li.is-voorbij::before { background: var(--vos-licht); }
.vos-thema .entry-content ul.vos-kalender li.is-voorbij { color: var(--vos-grijs); }
.vos-thema .entry-content ul.vos-kalender li.is-geannuleerd::before { background: var(--vos-lijn); }
.vos-thema .entry-content ul.vos-kalender li.is-geannuleerd .vos-kalender__titel { text-decoration: line-through; color: var(--vos-grijs); }
.vos-thema .entry-content ul.vos-kalender em { font-style: normal; font-weight: 700; color: #8E1F12; }
.vos-thema .entry-content ul.vos-kalender--kort li > strong:first-child { display: inline; }
.vos-formulier-vervanger p { margin: 0; font-size: 1.05rem; }

/* Veelgestelde vragen */
.vos-thema .wp-block-details { border-bottom: 1px solid var(--vos-lijn); padding: 0; margin: 0; }
.vos-thema .wp-block-details summary {
	font-family: var(--vos-kop);
	font-weight: 700;
	font-size: 1.15rem;
	padding: 16px 44px 16px 0;
	cursor: pointer;
	list-style: none;
	position: relative;
}
.vos-thema .wp-block-details summary::-webkit-details-marker { display: none; }
.vos-thema .wp-block-details summary::after {
	content: "+";
	position: absolute;
	right: 4px;
	top: 50%;
	transform: translateY(-50%);
	width: 30px;
	height: 30px;
	border-radius: 50%;
	background: var(--vos-tint);
	color: var(--vos-link);
	text-align: center;
	line-height: 30px;
	font-size: 1.35rem;
	font-weight: 700;
}
.vos-thema .wp-block-details[open] summary::after { content: "–"; }
.vos-thema .wp-block-details > :not(summary) { margin-top: 0; padding-bottom: 8px; }

/* Bestuur */
.vos-bestuur { gap: 32px !important; margin-bottom: 1.5em; }
.vos-thema .entry-content .vos-portret { margin: 0 0 12px; }
.vos-thema .entry-content .vos-portret img { width: 140px; height: 140px; object-fit: cover; border-radius: 50% !important; border: 5px solid var(--vos-oranje); background: var(--vos-tint); }
.vos-thema .entry-content .vos-bestuur h3 { margin: 0; }
.vos-functie { font-weight: 700; color: var(--vos-link); margin: 2px 0 8px !important; }

/* Sponsors */
.vos-sponsors,
.vos-thema .entry-content ul.vos-sponsors {
	list-style: none;
	padding: 0;
	margin: 1.4em 0;
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
	gap: 14px;
}
.vos-sponsors li {
	margin: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	padding: 16px 12px 12px;
	background: var(--vos-wit);
	border: 1px solid var(--vos-lijn);
	border-radius: 16px;
	text-align: center;
}
.vos-sponsors img { max-height: 64px; max-width: 100%; width: auto; object-fit: contain; }
.vos-sponsors span { font-size: .82rem; font-weight: 500; color: var(--vos-grijs); line-height: 1.3; }

/* Contact */
.vos-contact { gap: 40px !important; }
.vos-contact > .wp-block-column:last-child { flex-basis: 38% !important; }
.vos-gegevens { margin: 0 0 1em; }
.vos-gegevens > div { padding: 10px 0; border-bottom: 1px solid var(--vos-lijn); }
.vos-gegevens dt { font-size: .85rem; font-weight: 700; color: var(--vos-grijs); }
.vos-gegevens dd { margin: 0; font-weight: 500; }

/* Formulieren */
.vos-thema input[type="text"],
.vos-thema input[type="email"],
.vos-thema input[type="tel"],
.vos-thema input[type="url"],
.vos-thema input[type="number"],
.vos-thema select,
.vos-thema textarea { border: 2px solid var(--vos-lijn); border-radius: 12px; padding: .7em .9em; background: var(--vos-wit); color: var(--vos-antraciet); width: 100%; max-width: 100%; }
.vos-thema input:focus,
.vos-thema select:focus,
.vos-thema textarea:focus { border-color: var(--vos-oranje); outline: none; box-shadow: 0 0 0 3px rgba(239, 124, 0, .25); }
.vos-thema .wpcf7 label { font-weight: 500; display: block; }
.vos-thema .wpcf7 p { margin-bottom: 1em; }
.vos-formulier { border: 0; width: 100%; min-height: 900px; border-radius: 16px; background: var(--vos-tint); }

.vos-thema .entry-content .wp-block-embed iframe,
.vos-thema .entry-content .wp-block-image img { border-radius: var(--vos-rond); }
.vos-thema .entry-content .wp-block-embed { margin-block: 1.4em 2em; }

/* ----- Berichten ------------------------------------------------------- */

.vos-infoblok { background: var(--vos-tint); border-radius: 20px; padding: 24px 28px; margin: 0 0 2em; border-left: 8px solid var(--vos-oranje); }
.vos-infoblok__lijst { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 14px 28px; margin: 0; }
.vos-infoblok__lijst dt { font-size: .85rem; font-weight: 700; color: var(--vos-grijs); }
.vos-infoblok__lijst dd { margin: 0; font-family: var(--vos-kop); font-weight: 700; font-size: 1.1rem; }
.vos-infoblok__status { display: inline-block; margin: 0 0 14px; padding: 4px 14px; border-radius: 999px; background: var(--vos-wit); font-weight: 700; font-size: .92rem; }
.vos-infoblok.status-geannuleerd { border-left-color: #B42318; }
.vos-infoblok.status-geannuleerd .vos-infoblok__status { background: #FBE0DC; color: #8E1F12; }
.vos-infoblok.is-voorbij { border-left-color: var(--vos-lijn); }
.vos-infoblok__acties { display: flex; flex-wrap: wrap; gap: 10px; margin: 20px 0 0; }
.vos-infoblok__acties .vos-knop { font-size: 1.05rem; padding: .6em 1.2em; }

.vos-thema.single-post .entry-meta,
.vos-thema.single-post .entry-meta a { color: var(--vos-grijs); font-size: .92rem; }
.vos-thema.single-post .post-thumb img,
.vos-thema.single-post .ast-single-post-featured-section img { border-radius: var(--vos-rond); }
.vos-thema .post-navigation a { color: var(--vos-link); font-weight: 500; }

.vos-thema .entry-content .vos-poster { margin: 0 0 2em; text-align: center; }
.vos-thema .entry-content .vos-poster img { max-height: 760px; width: auto; max-width: 100%; border-radius: 12px; box-shadow: 0 10px 30px rgba(60, 60, 59, .15); }

/* Nieuwsoverzicht */
.vos-thema .entry-meta a { color: var(--vos-grijs) !important; text-decoration: none; }
.vos-thema.blog .ast-row, .vos-thema.archive .ast-row { align-items: start; }
.vos-thema.blog .ast-blog-featured-section,
.vos-thema.archive .ast-blog-featured-section { margin: 0 !important; padding: 0 !important; }
.vos-thema.blog .read-more a,
.vos-thema.archive .read-more a { color: var(--vos-link); font-weight: 500; }
.vos-overzicht-kop { margin-bottom: 2em; max-width: var(--vos-kolom); }
.vos-overzicht-kop__intro p { font-size: 1.1rem; }
.vos-thema.blog .ast-row,
.vos-thema.archive .ast-row { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 28px; margin: 0; }
.vos-thema.blog .ast-row::before, .vos-thema.blog .ast-row::after,
.vos-thema.archive .ast-row::before, .vos-thema.archive .ast-row::after { display: none; }
.vos-thema.blog .ast-article-post,
.vos-thema.archive .ast-article-post { width: auto !important; max-width: none; margin: 0 !important; padding: 0 !important; background: var(--vos-wit); border: 1px solid var(--vos-lijn); border-radius: 22px; overflow: hidden; }
.vos-thema.blog .ast-article-post .ast-post-format-,
.vos-thema.archive .ast-article-post .ast-post-format- { padding: 0; }
.vos-thema.blog .post-thumb,
.vos-thema.archive .post-thumb { margin: 0; }
.vos-thema.blog .post-thumb img,
.vos-thema.archive .post-thumb img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; display: block; }
.vos-thema.blog .post-content,
.vos-thema.archive .post-content { padding: 18px 22px 22px; }
.vos-thema.blog .entry-title,
.vos-thema.archive .entry-title { font-size: 1.3rem; }
.vos-thema.blog .entry-title a,
.vos-thema.archive .entry-title a { color: var(--vos-antraciet); text-decoration: none; }
.vos-thema.blog .entry-title a:hover,
.vos-thema.archive .entry-title a:hover { text-decoration: underline; text-decoration-color: var(--vos-oranje); }
.vos-thema.blog .entry-meta,
.vos-thema.archive .entry-meta { color: var(--vos-grijs); font-size: .9rem; }
.vos-thema .ast-pagination { margin-top: 2.5em; }
.vos-thema .ast-pagination .page-numbers { border-radius: 999px; font-weight: 700; }
.vos-thema .ast-pagination .page-numbers.current { background: var(--vos-oranje); color: var(--vos-antraciet); }

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

.vos-footer { background: var(--vos-antraciet); color: #DDDDDB; padding-top: 56px; margin-top: 0; }
.vos-footer__binnen {
	max-width: var(--vos-breed);
	margin: 0 auto;
	padding: 0 var(--vos-gutter) 36px;
	display: grid;
	grid-template-columns: 1.6fr 1fr 1fr 1.2fr;
	gap: 36px;
	box-sizing: content-box;
}
.vos-footer p { margin: 0 0 .8em; }
.vos-footer a { color: var(--vos-wit); text-decoration: none; }
.vos-footer a:hover { text-decoration: underline; text-decoration-color: var(--vos-oranje); text-underline-offset: 3px; }
.vos-footer :focus-visible { outline-color: var(--vos-licht); }
.vos-footer__logo img { max-width: 170px; height: auto; margin-bottom: 14px; }
.vos-footer__naam { font-family: var(--vos-kop); font-weight: 700; font-size: 1.35rem; color: var(--vos-wit); line-height: 1.2; }
.vos-footer__kop { font-family: var(--vos-kop); font-weight: 700; color: var(--vos-licht); font-size: 1.1rem; }
.vos-footer ul { list-style: none; margin: 0; padding: 0; }
.vos-footer li { margin: 0 0 .45em; }
.vos-footer__social { display: flex; gap: 10px; }
.vos-footer__social a { display: inline-flex; width: 42px; height: 42px; align-items: center; justify-content: center; border-radius: 50%; background: rgba(255, 255, 255, .1); }
.vos-footer__social a:hover { background: var(--vos-oranje); color: var(--vos-antraciet); }
.vos-footer__onder {
	border-top: 1px solid rgba(255, 255, 255, .16);
	max-width: var(--vos-breed);
	margin: 0 auto;
	padding: 18px var(--vos-gutter) 28px;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 12px;
	font-size: .9rem;
	box-sizing: content-box;
}
.vos-footer__onder p { margin: 0; }
.vos-footer__menu { display: flex; flex-wrap: wrap; gap: 6px 20px; }
.vos-footer__menu li { margin: 0; }

/* ----- Responsief ------------------------------------------------------ */

@media (max-width: 921px) {
	.vos-footer__binnen { grid-template-columns: 1fr 1fr; }
	.vos-footer__over { grid-column: 1 / -1; }
	.vos-thema .entry-content ul.vos-activiteiten { grid-template-columns: 1fr 1fr; }
	.vos-thema .entry-content ul.vos-activiteiten li:first-child { grid-column: 1 / -1; grid-row: auto; }
}
@media (max-width: 781px) {
	.vos-thema.home .entry-content > .vos-hero { padding: 0 !important; }
	.vos-hero > .wp-block-columns { min-height: 0; flex-direction: column-reverse; }
	.vos-hero > .wp-block-columns > .wp-block-column:first-child { flex-basis: auto !important; padding: 32px var(--vos-gutter) 110px; }
	.vos-hero > .wp-block-columns > .wp-block-column:last-child { flex-basis: auto !important; height: 240px; }
	.vos-agenda__item { grid-template-columns: 1fr; gap: 4px; }
	.vos-agenda__meer { display: none; }
	.vos-contact > .wp-block-column:last-child { flex-basis: 100% !important; }
}
@media (max-width: 544px) {
	.vos-footer__binnen { grid-template-columns: 1fr; }
	.vos-thema .entry-content ul.vos-activiteiten { grid-template-columns: 1fr; }
	.vos-infoblok { padding: 20px; }
	.vos-agenda__kop { flex-direction: column; gap: 4px; }
}

@media (prefers-reduced-motion: reduce) {
	.vos-thema *, .vos-thema *::before, .vos-thema *::after { transition: none !important; animation: none !important; }
}

/* Oranjeboekje: pdf in de pagina */
.vos-thema .entry-content .vos-pdf {
	display: block;
	width: 100%;
	height: 900px;
	max-height: 85vh;
	margin: 1.5em 0;
	border: 1px solid #EDE4D9;
	border-radius: 12px;
	background: #FEF1E3;
}
@media (max-width: 700px) {
	.vos-thema .entry-content .vos-pdf { display: none; }
}
