*, *::before, *::after { box-sizing: border-box; }

.screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

html {
	-webkit-text-size-adjust: 100%;
	scroll-behavior: smooth;
}

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
}

body {
	font-family: var(--mv-font-tekst);
	font-size: var(--mv-fs-body);
	font-weight: var(--mv-gewicht-tekst);
	line-height: var(--mv-lh-body);
	color: var(--mv-body-kleur);
	background-color: var(--mv-bg);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	overflow-wrap: break-word;
}

h1, h2, h3, h4, h5, h6,
.entry-title,
.mv-kop {
	font-family: var(--mv-font-kop);
	font-weight: var(--mv-gewicht-kop);
	line-height: var(--mv-lh-kop);
	letter-spacing: var(--mv-ls-kop);
	color: var(--mv-kop-kleur);
	margin: 0 0 var(--mv-ruimte-4);
	text-wrap: balance;
}

h1, .entry-title { font-size: var(--mv-fs-h1); }
h2 { font-size: var(--mv-fs-h2); margin-top: var(--mv-ruimte-7); }
h3 { font-size: var(--mv-fs-h3); margin-top: var(--mv-ruimte-6); }
h4 { font-size: var(--mv-fs-h4); margin-top: var(--mv-ruimte-5); }
h5, h6 { font-size: var(--mv-fs-body); margin-top: var(--mv-ruimte-5); }

h1:first-child, h2:first-child, h3:first-child, h4:first-child { margin-top: 0; }

.mv-lead {
	font-size: var(--mv-fs-lead);
	line-height: 1.6;
	color: var(--mv-body-kleur);
}

p { margin: 0 0 var(--mv-ruimte-4); }
p:last-child { margin-bottom: 0; }

strong, b { font-weight: var(--mv-gewicht-sterk); color: var(--mv-kop-kleur); }

small { font-size: var(--mv-fs-klein); }

a {
	color: var(--mv-accent);
	text-decoration-thickness: 1px;
	text-underline-offset: 0.18em;
	transition: color var(--mv-overgang);
}

a:hover,
a:focus { color: var(--mv-accent-hover); }

:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
	outline: 3px solid var(--mv-accent);
	outline-offset: 2px;
	border-radius: var(--mv-radius-klein);
}

::selection {
	background: var(--mv-accent);
	color: var(--mv-accent-contrast);
}

ul, ol { margin: 0 0 var(--mv-ruimte-4); padding-left: 1.25rem; }
li { margin-bottom: var(--mv-ruimte-2); }
li:last-child { margin-bottom: 0; }

ul li::marker { color: var(--mv-accent); }

img, svg, video, iframe {
	max-width: 100%;
	height: auto;
	display: block;
}

figure { margin: 0 0 var(--mv-ruimte-5); }

figcaption {
	font-size: var(--mv-fs-klein);
	color: var(--mv-tekst-zacht);
	margin-top: var(--mv-ruimte-2);
}

blockquote {
	margin: var(--mv-ruimte-6) 0;
	padding: var(--mv-ruimte-4) var(--mv-ruimte-5);
	border-left: 3px solid var(--mv-accent);
	background: var(--mv-bg-zacht);
	border-radius: 0 var(--mv-radius-vlak) var(--mv-radius-vlak) 0;
	font-size: var(--mv-fs-lead);
	color: var(--mv-kop-kleur);
}

blockquote cite {
	display: block;
	margin-top: var(--mv-ruimte-3);
	font-size: var(--mv-fs-klein);
	font-style: normal;
	color: var(--mv-tekst-zacht);
}

hr {
	border: 0;
	height: 1px;
	background: var(--mv-rand);
	margin: var(--mv-sectie) 0;
}

table {
	width: 100%;
	border-collapse: collapse;
	margin-bottom: var(--mv-ruimte-5);
	font-size: var(--mv-fs-body);
}

th, td {
	padding: var(--mv-ruimte-3) var(--mv-ruimte-4);
	border-bottom: 1px solid var(--mv-rand);
	text-align: left;
	vertical-align: top;
}

th {
	font-family: var(--mv-font-kop);
	font-weight: var(--mv-gewicht-kop);
	color: var(--mv-kop-kleur);
	background: var(--mv-bg-zacht);
}

.mv-tabel-scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; }

code, kbd, pre {
	font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	font-size: 0.9em;
}

code {
	background: var(--mv-bg-vlak);
	padding: 0.15em 0.4em;
	border-radius: var(--mv-radius-klein);
	color: var(--mv-kop-kleur);
}

.mv-visueel-verborgen {
	position: absolute !important;
	width: 1px; height: 1px;
	padding: 0; margin: -1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
	border: 0;
}

.mv-tekst-accent { color: var(--mv-accent); }
.mv-tekst-donker { color: var(--mv-kop-kleur); }
