/* ==========================================================================
   DocSWISS – vormgevingslaag
   Stijlt WordPress-kernblokken en de klassen die in de bestaande inhoud
   van doc.swiss voorkomen. Geen afhankelijkheden van andere thema's.
   ========================================================================== */

:root {
	--ds-bg: var(--wp--preset--color--background, #07090d);
	--ds-surface: #10141b;
	--ds-surface-2: #151a23;
	--ds-line: #252b36;
	--ds-line-soft: rgba(255, 255, 255, .06);
	--ds-text: var(--wp--preset--color--body-text, #bac0cb);
	--ds-head: var(--wp--preset--color--foreground, #f4f6f9);
	--ds-red: #e20102;
	--ds-red-hi: #ff3b30;
	--ds-green: #41a507;
	--ds-radius: 14px;
	--ds-radius-lg: 22px;
	--ds-wide: 1180px;
	--ds-content: 760px;
	--ds-gutter: clamp(16px, 4vw, 32px);
	--ds-head-font: "Space Grotesk", "Inter", system-ui, sans-serif;
	--ds-body-font: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;
	--ds-ease: cubic-bezier(.2, .7, .2, 1);
}

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

html { scroll-behavior: smooth; }

body {
	background:
		radial-gradient(1200px 600px at 85% -10%, rgba(226, 1, 2, .10), transparent 60%),
		radial-gradient(900px 500px at -10% 20%, rgba(65, 165, 7, .06), transparent 60%),
		var(--ds-bg);
	background-attachment: fixed;
	color: var(--ds-text);
	font-family: var(--ds-body-font);
	font-size: clamp(16px, 1.05vw + 10px, 18px);
	line-height: 1.7;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}

body h1, body h2, body h3, body h4, body h5, body h6 {
	color: var(--ds-head);
	font-family: var(--ds-head-font);
	font-weight: 600;
	letter-spacing: -.015em;
	text-wrap: balance;
}

body p { text-wrap: pretty; }
body strong { color: var(--ds-head); font-weight: 600; }

body a { text-underline-offset: .2em; text-decoration-thickness: 1px; }

::selection { background: var(--ds-red); color: #fff; }

/* Duidelijke focus voor toetsenbordgebruikers (toegankelijkheid). */
body :focus-visible {
	outline: 3px solid var(--ds-red-hi);
	outline-offset: 3px;
	border-radius: 6px;
}

/* Lege paragrafen worden in de content als "spacer" gebruikt; ze geven
   onvoorspelbare gaten. Visueel verbergen, structuur blijft. */
body .wp-site-blocks p.wp-block-paragraph:empty { display: none; }

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

body header.wp-block-template-part {
	position: sticky;
	top: 0;
	z-index: 50;
	background: rgba(7, 9, 13, .72);
	-webkit-backdrop-filter: saturate(140%) blur(14px);
	backdrop-filter: saturate(140%) blur(14px);
	border-bottom: 1px solid var(--ds-line-soft);
}
body.admin-bar header.wp-block-template-part { top: 32px; }
@media (max-width: 782px) { body.admin-bar header.wp-block-template-part { top: 0; position: relative; } }

body .wp-block-main-header-container {
	max-width: var(--ds-wide);
	margin-inline: auto;
	padding: 10px var(--ds-gutter) !important;
	gap: 16px 28px;
	align-items: center;
	flex-wrap: wrap;
}

body .site-identity { gap: 14px; align-items: center; }
body .site-identity .wp-block-site-logo img { width: auto; height: 72px; max-height: none; }
body .site-identity .wp-block-site-title { margin: 0; font-size: 1.15rem; line-height: 1.2; letter-spacing: -.01em; }
body .site-identity .wp-block-site-title a { color: var(--ds-head); text-decoration: none; }
body .site-identity .wp-block-site-tagline {
	margin: 2px 0 0;
	font-size: .78rem;
	color: var(--wp--preset--color--meta, #8a919e);
	letter-spacing: .01em;
}

/* "About Us" (losse paragraaf met link in de header) als nette navigatie-pil */
body .wp-block-main-header-container > p.wp-block-paragraph { margin: 0 0 0 auto; }
body .wp-block-main-header-container > p.wp-block-paragraph a {
	display: inline-block;
	padding: 8px 18px;
	border: 1px solid var(--ds-line);
	border-radius: 999px;
	color: var(--ds-head);
	font-size: .9rem;
	text-decoration: none;
	transition: border-color .2s, background-color .2s;
}
body .wp-block-main-header-container > p.wp-block-paragraph a:hover {
	border-color: var(--ds-red);
	background: rgba(226, 1, 2, .08);
}

body .wp-block-social-links .wp-block-social-link-anchor {
	display: grid;
	place-items: center;
	width: 38px;
	height: 38px;
	border-radius: 50%;
	color: var(--ds-text);
	transition: color .2s, background-color .2s;
}
body .wp-block-social-links .wp-block-social-link-anchor:hover { color: #fff; background: var(--ds-surface-2); }
body .wp-block-social-links svg { width: 20px; height: 20px; }

@media (max-width: 600px) {
	body .site-identity .wp-block-site-tagline { display: none; }
	body .wp-block-main-header-container > p.wp-block-paragraph { margin-left: 0; }
}

/* ---------- Hoofdinhoud (home) -------------------------------------------- */

body .wp-block-header-media-no-image {
	min-height: 0 !important;
	padding: clamp(40px, 7vw, 96px) var(--ds-gutter) clamp(32px, 5vw, 64px);
	background: transparent;
	overflow: visible;
}
body .wp-block-header-media-no-image > .wp-block-cover__background { opacity: 0 !important; }
body .wp-block-header-media-no-image > .wp-block-cover__inner-container {
	max-width: var(--ds-wide);
	margin-inline: auto;
	color: var(--ds-text);
}

/* Hero-titels */
body .header-animate-wrap { text-align: center; max-width: 900px; margin-inline: auto; }
body .header-animate-wrap h1 {
	margin: 0 0 .15em;
	font-size: clamp(48px, 9vw, 112px);
	line-height: .95;
	letter-spacing: -.04em;
	font-weight: 700;
	text-align: center;
	background: linear-gradient(180deg, #fff 30%, #c9ced8 100%);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}
body .header-animate-wrap h3 {
	margin: 0 auto;
	max-width: 30ch;
	font-family: var(--ds-body-font);
	font-weight: 500;
	font-size: clamp(18px, 2.2vw, 26px);
	line-height: 1.35;
	letter-spacing: -.01em;
	color: var(--ds-text);
}
body .header-animate-wrap .wp-block-separator {
	width: 64px;
	margin: 32px auto 0;
	border: 0;
	height: 3px;
	border-radius: 3px;
	background: linear-gradient(90deg, var(--ds-red), var(--ds-green));
	opacity: 1;
}

/* Hero-inhoud: video + intro naast elkaar */
body .wp-block-header-media-no-image .wp-block-cover__inner-container > .wp-block-group:first-child {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 32px;
	margin-bottom: clamp(48px, 7vw, 96px);
}
body .wp-block-header-media-no-image .header-title-wrapper { padding-bottom: clamp(16px, 3vw, 32px); }

body figure.wp-block-video.alignleft {
	float: none;
	margin: 0 auto;
	width: 100%;
	max-width: 420px;
	border-radius: var(--ds-radius-lg);
	overflow: hidden;
	border: 1px solid var(--ds-line);
	box-shadow: 0 30px 80px -30px rgba(0, 0, 0, .8), 0 0 0 1px rgba(255, 255, 255, .02) inset;
	background: #000;
}
body figure.wp-block-video video { display: block; width: 100%; height: auto; }

body .wp-block-header-media-no-image .header-title-wrapper ~ p.has-text-align-center {
	text-align: left !important;
	align-self: center;
	margin: 0;
	font-size: clamp(17px, 1.25vw + 8px, 21px);
	line-height: 1.65;
	color: var(--ds-text);
	max-width: 58ch;
}

@media (min-width: 900px) {
	body .wp-block-header-media-no-image .wp-block-cover__inner-container > .wp-block-group:first-child {
		grid-template-columns: minmax(280px, 400px) minmax(0, 1fr);
		column-gap: clamp(40px, 5vw, 80px);
	}
	body .wp-block-header-media-no-image .header-title-wrapper { grid-column: 1 / -1; }
	body figure.wp-block-video.alignleft { margin: 0; }
}

/* Spacer + scheidingslijnen tussen secties */
body .wp-block-header-media-no-image .wp-block-spacer { height: 0 !important; }
body .wp-block-cover__inner-container > .wp-block-group > .wp-block-separator,
body .wp-block-cover__inner-container > .wp-block-separator {
	border: 0;
	height: 1px;
	max-width: var(--ds-wide);
	margin: clamp(40px, 6vw, 72px) auto;
	background: linear-gradient(90deg, transparent, var(--ds-line), transparent);
	opacity: 1;
}

/* ---------- Pullquote = "kernbanner" -------------------------------------- */

body .wp-block-pullquote {
	margin: 0 auto 28px;
	max-width: var(--ds-wide);
	padding: clamp(24px, 4vw, 40px) clamp(20px, 4vw, 48px);
	border: 1px solid var(--ds-line);
	border-radius: var(--ds-radius-lg);
	background:
		linear-gradient(135deg, rgba(226, 1, 2, .10), transparent 45%),
		linear-gradient(315deg, rgba(65, 165, 7, .08), transparent 45%),
		var(--ds-surface);
	text-align: center;
	position: relative;
}
body .wp-block-pullquote::before {
	content: "";
	position: absolute;
	top: -1px; left: 50%;
	width: 120px; height: 2px;
	transform: translateX(-50%);
	background: linear-gradient(90deg, var(--ds-red), var(--ds-green));
	border-radius: 2px;
}
body .wp-block-pullquote blockquote { margin: 0; padding: 0; border: 0; }
body .wp-block-pullquote p {
	margin: 0;
	font-family: var(--ds-head-font);
	font-size: clamp(17px, 1.3vw + 8px, 22px);
	line-height: 1.55;
	letter-spacing: -.005em;
}
body .wp-block-pullquote p strong { font-weight: 500; }

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

body .wp-block-buttons {
	gap: 12px;
	margin-top: 20px !important;
	margin-bottom: 8px;
	max-width: var(--ds-wide);
	margin-inline: auto;
}
body .wp-block-buttons.alignfull { max-width: var(--ds-wide); }

body .wp-block-button__link,
body .wp-element-button {
	display: inline-flex;
	align-items: center;
	gap: .5em;
	padding: 14px 24px;
	border-radius: 999px;
	border: 1px solid var(--ds-line);
	background: var(--ds-surface-2) !important;
	background-image: none !important;
	color: var(--ds-head) !important;
	font-family: var(--ds-body-font);
	font-size: .95rem;
	font-weight: 600;
	letter-spacing: 0;
	text-transform: none;
	text-decoration: none;
	line-height: 1.2;
	box-shadow: none;
	transition: transform .2s var(--ds-ease), border-color .2s, background-color .2s, box-shadow .2s;
}
body .wp-block-button__link::after {
	content: "→";
	font-weight: 400;
	transition: transform .2s var(--ds-ease);
}
body .wp-block-button__link:hover {
	border-color: rgba(226, 1, 2, .7);
	background: #1b212c !important;
	transform: translateY(-1px);
}
body .wp-block-button__link:hover::after { transform: translateX(3px); }

/* Eerste knop van elke rij = primair (Swiss rood) */
body .wp-block-buttons > .wp-block-button:first-child .wp-block-button__link,
body .wp-block-buttons > .wp-block-button:only-child .wp-block-button__link {
	background: var(--ds-red) !important;
	border-color: var(--ds-red);
	color: #fff !important;
	box-shadow: 0 10px 30px -12px rgba(226, 1, 2, .7);
}
body .wp-block-buttons > .wp-block-button:first-child .wp-block-button__link:hover {
	background: #f01410 !important;
	border-color: #f01410;
}

/* Contact-knop (enige knop in zijn rij) extra groot */
body .wp-block-buttons > .wp-block-button:only-child .wp-block-button__link {
	padding: 18px 34px;
	font-size: 1.05rem;
}

@media (max-width: 600px) {
	body .wp-block-buttons { flex-direction: column; align-items: stretch; }
	body .wp-block-buttons .wp-block-button { width: 100%; }
	body .wp-block-button__link { width: 100%; justify-content: center; }
}

/* ---------- Sectiekoppen (h4 centraal) ------------------------------------ */

body .wp-block-cover__inner-container > h4.wp-block-heading.has-text-align-center,
body .wp-block-cover__inner-container > h2.wp-block-heading.has-text-align-center {
	margin: clamp(56px, 8vw, 96px) auto 20px;
	max-width: var(--ds-content);
}
body .wp-block-cover__inner-container > h4.wp-block-heading.has-text-align-center {
	font-size: clamp(26px, 3vw, 38px);
	line-height: 1.15;
}
body .wp-block-cover__inner-container > h4.wp-block-heading.has-text-align-center::before {
	content: "";
	display: block;
	width: 28px;
	height: 3px;
	margin: 0 auto 18px;
	border-radius: 3px;
	background: var(--ds-red);
}
/* De eerste "Partner with us" kop staat direct onder de knoppen: compacter */
body .wp-block-buttons + h4.wp-block-heading.has-text-align-center,
body .wp-block-buttons + p:empty + h4.wp-block-heading.has-text-align-center {
	margin-top: clamp(40px, 6vw, 64px);
}

/* Lopende tekst in de secties op leesbare breedte */
body .wp-block-header-media-no-image .wp-block-cover__inner-container > p.wp-block-paragraph:not(.has-text-align-center) {
	max-width: var(--ds-content);
	margin-inline: auto;
	font-size: clamp(16px, .6vw + 13px, 19px);
}
body .wp-block-header-media-no-image .wp-block-cover__inner-container > p.has-text-align-center {
	max-width: var(--ds-content);
	margin-inline: auto;
}

/* ---------- Kenmerken / trust-blok ----------------------------------------- */

/* Regel met technische kenmerken boven de logo's */
body .wp-block-cover__inner-container > .wp-block-group > p.has-text-align-center {
	max-width: 880px;
	margin: clamp(48px, 7vw, 80px) auto 28px;
	font-family: var(--ds-head-font);
	font-size: clamp(15px, .5vw + 12px, 18px);
	color: var(--ds-head);
	letter-spacing: .01em;
	line-height: 1.8;
}

/* Logo-tabel → nette logostrip */
body .main-front-page .wp-block-table.alignwide {
	margin: 0 auto;
	max-width: var(--ds-wide);
	overflow: visible;
	border: 0;
}
body .main-front-page .wp-block-table table,
body .main-front-page .wp-block-table table.has-fixed-layout {
	display: block;
	width: 100%;
	border: 0;
	table-layout: auto;
}
body .main-front-page .wp-block-table tbody { display: block; }
body .main-front-page .wp-block-table tr {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 16px;
	border: 0;
	background: none !important;
}
body .main-front-page .wp-block-table td { border: 0; padding: 0; background: none; }
body .main-front-page .wp-block-table td:empty,
body .main-front-page .wp-block-table tr:not(:has(img)) { display: none; }
body .main-front-page .wp-block-table td:has(img) {
	display: grid;
	place-items: center;
	width: 180px;
	height: 104px;
	padding: 14px 18px;
	border-radius: var(--ds-radius);
	background: #fff;
	box-shadow: 0 12px 30px -18px rgba(0, 0, 0, .9);
	transition: transform .2s var(--ds-ease);
}
body .main-front-page .wp-block-table td:has(img):hover { transform: translateY(-2px); }
body .main-front-page .wp-block-table td img {
	width: auto !important;
	max-width: 100%;
	max-height: 72px;
	object-fit: contain;
}
@media (max-width: 480px) {
	body .main-front-page .wp-block-table td:has(img) { width: calc(50% - 8px); height: 88px; }
}

/* Disclaimer onder de logo's */
body .main-front-page .wp-block-table + p.wp-block-paragraph {
	margin: 14px auto 28px;
	text-align: center;
	font-size: .82rem;
	color: var(--wp--preset--color--meta, #8a919e);
}
body .main-front-page .wp-block-table + p.wp-block-paragraph sub { vertical-align: baseline; font-size: inherit; }

/* Status-lijst onder de logo's → chips */
body .main-front-page .wp-block-table ~ ul.wp-block-list {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 10px;
	max-width: 980px;
	margin: 0 auto;
	padding: 0;
	list-style: none;
}
body .main-front-page .wp-block-table ~ ul.wp-block-list li {
	margin: 0;
	padding: 8px 16px 8px 34px;
	border: 1px solid var(--ds-line);
	border-radius: 999px;
	background: var(--ds-surface);
	font-size: .9rem;
	line-height: 1.4;
	color: var(--ds-head);
	position: relative;
}
body .main-front-page .wp-block-table ~ ul.wp-block-list li::before {
	content: "";
	position: absolute;
	left: 14px;
	top: 50%;
	width: 8px;
	height: 8px;
	margin-top: -4px;
	border-radius: 50%;
	background: var(--ds-green);
	box-shadow: 0 0 0 4px rgba(65, 165, 7, .15);
}

/* ---------- Sector-lijst → kaarten ---------------------------------------- */

body .wp-block-cover__inner-container > ul.wp-block-list {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr));
	gap: 16px;
	max-width: var(--ds-wide);
	margin: 24px auto 0;
	padding: 0;
	list-style: none;
	counter-reset: ds-sector;
}
body .wp-block-cover__inner-container > ul.wp-block-list li {
	counter-increment: ds-sector;
	margin: 0;
	padding: 24px 24px 26px;
	border: 1px solid var(--ds-line);
	border-radius: var(--ds-radius);
	background: linear-gradient(180deg, var(--ds-surface-2), var(--ds-surface));
	font-size: .97rem;
	line-height: 1.6;
	transition: border-color .2s, transform .2s var(--ds-ease);
}
body .wp-block-cover__inner-container > ul.wp-block-list li:hover {
	border-color: rgba(226, 1, 2, .5);
	transform: translateY(-2px);
}
body .wp-block-cover__inner-container > ul.wp-block-list li::before {
	content: counter(ds-sector, decimal-leading-zero);
	display: block;
	margin-bottom: 14px;
	font-family: var(--ds-head-font);
	font-size: .8rem;
	font-weight: 600;
	letter-spacing: .08em;
	color: var(--ds-red-hi);
}
body .wp-block-cover__inner-container > ul.wp-block-list li strong:first-child {
	display: block;
	margin-bottom: 6px;
	font-family: var(--ds-head-font);
	font-size: 1.12rem;
	font-weight: 600;
}

/* ---------- Afsluitende call-to-action ------------------------------------ */

body .wp-block-cover__inner-container > h2.wp-block-heading.has-text-align-center {
	font-size: clamp(30px, 4.4vw, 54px);
	line-height: 1.08;
	letter-spacing: -.03em;
	max-width: 18ch;
}
body .wp-block-cover__inner-container > h2.wp-block-heading > br:first-child { display: none; }
body .wp-block-cover__inner-container > h2.wp-block-heading + p.has-text-align-center {
	max-width: 640px;
	line-height: 1.9;
}

/* ---------- Footer (promotional-contact cover) ---------------------------- */

body .wp-block-promotional-contact {
	min-height: 0 !important;
	padding: 48px var(--ds-gutter) 40px;
	margin-top: clamp(48px, 7vw, 96px);
	border-top: 1px solid var(--ds-line-soft);
	background: var(--ds-bg);
}
body .wp-block-promotional-contact > .wp-block-cover__image-background { display: none; }
body .wp-block-promotional-contact > .wp-block-cover__background { background: #05070a !important; opacity: 1 !important; }
body .wp-block-promotional-contact .wp-block-group-heading {
	display: flex;
	flex-direction: column-reverse;
	align-items: center;
	gap: 18px;
}
body .wp-block-promotional-contact h2.wp-block-heading {
	margin: 0;
	max-width: 900px;
	font-family: var(--ds-body-font) !important;
	font-size: .78rem !important;
	font-weight: 500 !important;
	line-height: 1.9 !important;
	letter-spacing: .08em;
	color: var(--wp--preset--color--footer-text, #9ca3af) !important;
}
body .wp-block-promotional-contact .wp-block-site-logo img { width: 96px; height: auto; }

/* ---------- Gewone pagina's (patroonklassen in bestaande inhoud) --------------------------- */

body .wp-block-post-content {
	color: var(--ds-text);
}
body main.wp-block-group:not(.main-front-page) {
	padding-inline: var(--ds-gutter);
}
body .wp-block-post-content > h1,
body .wp-block-post-content > h2,
body .wp-block-post-content > h3 { margin-top: 1.6em; }

body .wp-block-post-content > ul.wp-block-list li::marker { color: var(--ds-red-hi); }

body .wp-block-feature-content .wp-block-group-heading { margin-bottom: 32px; }
body .wp-block-feature-content .wp-block-columns { gap: 20px; }
body .wp-block-post-group,
body .wp-block-feature-content .wp-block-column > .wp-block-group {
	height: 100%;
	padding: 24px;
	border: 1px solid var(--ds-line);
	border-radius: var(--ds-radius);
	background: var(--ds-surface);
}
body .wp-block-post-group .wp-block-image img,
body .wp-block-post-content .wp-block-image img { border-radius: 10px; }
body .wp-block-entry-content { color: var(--ds-text); }

body .wp-block-post-content .wp-block-video video { border-radius: var(--ds-radius); }

/* ---------- Beweging ------------------------------------------------------- */

@media (prefers-reduced-motion: no-preference) {
	body .header-animate-wrap > * {
		animation: ds-rise .9s var(--ds-ease) both;
	}
	body .header-animate-wrap > *:nth-child(2) { animation-delay: .08s; }
	body .header-animate-wrap > *:nth-child(3) { animation-delay: .16s; }
}
@keyframes ds-rise {
	from { opacity: 0; transform: translateY(14px); }
	to   { opacity: 1; transform: none; }
}

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	body *, body *::before, body *::after { transition: none !important; animation: none !important; }
}

/* ---------- Aanvullingen ---------------------------------------------------- */

/* Core cover-blok zet koppen op "inherit"; hier weer helder wit. */
body .wp-block-cover :is(h1, h2, h3, h4, h5, h6):not(.has-text-color) { color: var(--ds-head); }

/* Minder lege ruimte boven de footer */
body .wp-block-header-media-no-image { padding-bottom: 0; }
body .wp-block-promotional-contact { margin-top: 0; }

@media (max-width: 600px) {
	body .wp-block-main-header-container { flex-wrap: nowrap; gap: 8px; }
	body .site-identity { min-width: 0; gap: 10px; }
	body .site-identity .wp-block-site-logo img { height: 52px; }
	body .wp-block-main-header-container > p.wp-block-paragraph { margin-left: auto; }
	body .wp-block-main-header-container > p.wp-block-paragraph a { padding: 6px 14px; font-size: .85rem; }
	body .wp-block-social-search-container { gap: 0; }
	body .wp-block-social-links { gap: 0; }
	body .wp-block-social-links .wp-block-social-link-anchor { width: 34px; height: 34px; }
	body figure.wp-block-video.alignleft { max-width: 300px; }
}
body .wp-block-social-links.is-style-logos-only .wp-social-link { background: none; color: var(--ds-text); }
body .wp-block-social-links.is-style-logos-only .wp-social-link:hover { color: #fff; }
body .site-identity { flex-wrap: nowrap; }
body .wp-block-main-header-container > p.wp-block-paragraph a { white-space: nowrap; }
body .wp-block-social-links { flex-wrap: nowrap; }
@media (max-width: 600px) {
	body .site-identity .wp-block-site-logo img { height: 46px; }
	body .site-identity .wp-block-site-title { font-size: 1rem; }
}
@media (max-width: 400px) {
	body .site-identity .wp-block-site-title { display: none; }
}

/* ---------- Merknaam: Doc groen, SWISS rood ------------------------------- */

body .ds-brand { white-space: nowrap; }
body .ds-brand .ds-doc {
	color: var(--ds-green) !important;
	-webkit-text-fill-color: var(--ds-green);
}
body .ds-brand .ds-swiss {
	color: var(--ds-red) !important;
	-webkit-text-fill-color: var(--ds-red);
}
/* Op knoppen met rode achtergrond blijft de tekst wit leesbaar */
body .wp-block-button__link .ds-brand .ds-doc,
body .wp-block-button__link .ds-brand .ds-swiss {
	color: inherit !important;
	-webkit-text-fill-color: currentColor;
}

/* Logo: vaste hoogte in de header, breedte volgt (vector, altijd scherp) */
body .site-identity .wp-block-site-logo img[src] { height: 64px; width: auto; max-width: none; }
body .site-identity .wp-block-site-logo { flex-shrink: 0; }
@media (max-width: 600px) {
	body .site-identity .wp-block-site-logo img[src] { height: 46px; }
}
body .ds-footer .wp-block-site-logo img[src],
body .wp-block-promotional-contact .wp-block-site-logo img[src] { width: 110px; height: auto; }

/* ---------- Eigen header / footer / paginalayout -------------------------- */

body .ds-header { padding-inline: 0; }
body .ds-header-actions { gap: 8px 20px; align-items: center; }

body .wp-block-navigation { font-size: .92rem; font-weight: 500; gap: 6px; }
body .wp-block-navigation .wp-block-navigation-item__content {
	padding: 8px 14px;
	border-radius: 999px;
	color: var(--ds-head);
	text-decoration: none;
	transition: background-color .2s;
}
body .wp-block-navigation .wp-block-navigation-item__content:hover,
body .wp-block-navigation .current-menu-item > .wp-block-navigation-item__content {
	background: var(--ds-surface-2);
}
body .wp-block-navigation__responsive-container.is-menu-open {
	background: var(--ds-bg) !important;
	color: var(--ds-head) !important;
	padding: 24px var(--ds-gutter);
}
body .wp-block-navigation__responsive-container-open,
body .wp-block-navigation__responsive-container-close { color: var(--ds-head); }

body .ds-main {
	padding-top: clamp(40px, 6vw, 80px);
	padding-bottom: clamp(48px, 7vw, 96px);
	min-height: 50vh;
}
body .ds-page-title {
	margin-bottom: .6em;
	font-size: clamp(34px, 5vw, 56px);
	line-height: 1.08;
	letter-spacing: -.03em;
}
body .ds-page-title::after {
	content: "";
	display: block;
	width: 48px;
	height: 3px;
	margin-top: 20px;
	border-radius: 3px;
	background: linear-gradient(90deg, var(--ds-green), var(--ds-red));
}
body .ds-meta { color: var(--wp--preset--color--meta, #8a919e); font-size: .9rem; }

body .wp-block-post-content > * + * { margin-block-start: 1.1em; }
body .wp-block-post-content a { color: var(--ds-head); text-decoration-color: var(--ds-red); }
body .wp-block-post-content img { border-radius: 10px; }

body .ds-card {
	height: 100%;
	padding: 20px;
	border: 1px solid var(--ds-line);
	border-radius: var(--ds-radius);
	background: var(--ds-surface);
}
body .ds-card .wp-block-post-title a { color: var(--ds-head); text-decoration: none; }
body .ds-card .wp-block-post-featured-image img { border-radius: 10px; }

body .wp-block-search__input {
	background: var(--ds-surface);
	border: 1px solid var(--ds-line);
	border-radius: 999px;
	color: var(--ds-head);
	padding: 12px 18px;
}
body .wp-block-search__button { border-radius: 999px; }

body footer.wp-block-template-part,
body .ds-footer {
	border-top: 1px solid var(--ds-line-soft);
	background: #05070a;
}
body .ds-footer-inner { padding-block: 40px; gap: 16px; }
body .ds-footer .wp-block-site-logo img { width: 110px; height: auto; }
body .ds-footer-text {
	margin: 0;
	max-width: 760px;
	font-size: .8rem;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--wp--preset--color--footer-text, #9ca3af);
	line-height: 1.9;
}

/* Overgenomen achtergrondafbeelding in de onderste homepage-band: verborgen
   (de band is een rustig donker vlak). */
body .wp-block-promotional-contact > .wp-block-cover__image-background { display: none; }

/* Header: menu en iconen naast elkaar op één regel */
body .wp-block-main-header-container { flex-wrap: nowrap; }
body .ds-header-actions { flex-wrap: nowrap; margin-left: auto; }
body .ds-header .wp-block-navigation__container { flex-wrap: nowrap; }
@media (max-width: 900px) {
	body .site-identity .wp-block-site-title, body .site-identity .wp-block-site-tagline { display: none; }
}
