/* Verrassend Vitaal: opmaak, 1-op-1 nagemeten op de Elementor-site (desktop 1440, tablet tot 1024, mobiel 375). */

/* ---------- Lettertypen (lokaal, latin) ---------- */
@font-face { font-family: "Gotu"; font-style: normal; font-weight: 400; font-display: swap; src: url(../fonts/gotu-400.woff2) format("woff2"); }
@font-face { font-family: "Archivo"; font-style: normal; font-weight: 100 900; font-display: swap; src: url(../fonts/archivo.woff2) format("woff2"); }
@font-face { font-family: "League Script"; font-style: normal; font-weight: 400; font-display: swap; src: url(../fonts/leaguescript-400.woff2) format("woff2"); }
@font-face { font-family: "Allan"; font-style: normal; font-weight: 400; font-display: swap; src: url(../fonts/allan-400.woff2) format("woff2"); }
@font-face { font-family: "Allan"; font-style: normal; font-weight: 700; font-display: swap; src: url(../fonts/allan-700.woff2) format("woff2"); }

:root {
	--vv-oranje: #d45700;
	--vv-groen: #344033;
	--vv-perzik: #ffdfcd;
	--vv-zand: #f2e9e3;
	--vv-licht: #faf9f7;
	--vv-grijs: #c1bab5;
	--vv-wit: #fff;
	--vv-kop: "Gotu", Georgia, serif;
	--vv-tekst: "Archivo", -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
	--vv-breed: 1260px;
	--vv-rand: 30px;
}

/* ---------- Basis ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
	margin: 0;
	background: var(--vv-wit);
	color: var(--vv-groen);
	font-family: var(--vv-tekst);
	font-size: 16px;
	font-weight: 400;
	line-height: 1.4;
	letter-spacing: .3px;
	-webkit-font-smoothing: antialiased;
}
h1, h2, h3, h4, h5, h6, p, figure, ul, ol { margin: 0; }
h1, h2, h3, h4, h5, h6 { font-family: var(--vv-kop); font-weight: 400; color: var(--vv-groen); }
img, video { max-width: 100%; }
img { height: auto; vertical-align: middle; }
a { color: inherit; }
picture { display: block; }
picture > img { width: 100%; height: 100%; object-fit: inherit; object-position: inherit; }
.vv-skip { position: absolute; left: -9999px; top: 0; z-index: 1000; padding: 10px 16px; background: var(--vv-wit); }
.vv-skip:focus { left: 10px; top: 10px; }
.pencil-richtext p { margin: 0 0 16px; }
.pencil-richtext > :last-child { margin-bottom: 0; }

/* ---------- Knop (ster vooraan) ---------- */
.vv-knop {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	padding: 15px 30px;
	border: 0;
	border-radius: 30px;
	background: var(--vv-perzik);
	color: var(--vv-oranje);
	font-family: var(--vv-tekst);
	font-size: 14px;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: .3px;
	text-decoration: none;
	cursor: pointer;
	transition: background-color .3s, color .3s;
}
.vv-knop:hover, .vv-knop:focus-visible { background: var(--vv-oranje); color: var(--vv-wit); }
.vv-knop--wit { background: var(--vv-wit); color: var(--vv-groen); }
.vv-knop__ster {
	flex: none;
	width: 14px;
	height: 14px;
	margin-right: 4px;
	background: currentColor;
	-webkit-mask: url(../icons/ster.svg) center / contain no-repeat;
	mask: url(../icons/ster.svg) center / contain no-repeat;
}
.vv-knop__ster + .pencil-button__text, .vv-knop__ster + span { display: inline-block; }

/* ---------- Kop ---------- */
.vv-kop { position: relative; z-index: 100; padding: 0 var(--vv-rand); background: var(--vv-licht); }
.vv-kop__binnen {
	display: grid;
	grid-template-columns: 18% 1fr 18%;
	align-items: center;
	max-width: var(--vv-breed);
	height: 104px;
	margin: 0 auto;
}
.vv-kop__logo { display: block; width: 100px; }
.vv-kop__logo img { display: block; width: 100px; height: 64px; object-fit: contain; }
.vv-nav__lijst { display: flex; flex-wrap: wrap; align-items: center; margin: 0; padding: 0; list-style: none; }
.vv-nav__lijst > li { margin: 0 12.5px; }
.vv-nav__lijst > li:first-child { margin-left: 0; }
.vv-nav__lijst > li:last-child { margin-right: 0; }
.vv-nav__lijst a { display: block; color: #000; font-size: 20px; font-weight: 500; line-height: 30px; letter-spacing: .2px; text-decoration: none; transition: color .3s; }
.vv-nav__lijst a:hover, .vv-nav__lijst a:focus-visible { color: var(--vv-oranje); }
.vv-kop__knop { display: flex; justify-content: flex-end; }
.vv-kop__knop .vv-knop { padding: 15px 25px; }
.vv-hamburger { display: none; }
.vv-mobielmenu[hidden] { display: none; }

/* ---------- Hero ---------- */
.vv-hero {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 80vh;
	overflow: hidden;
	color: var(--vv-licht);
}
.vv-hero__foto, .vv-hero__foto .pencil-managed-region { position: absolute; inset: 0; }
.vv-hero__foto img, .vv-hero__foto picture { width: 100%; height: 100% !important; aspect-ratio: auto !important; object-fit: cover; }
.vv-hero__inhoud { position: relative; display: flex; flex-direction: column; align-items: center; width: 1030px; max-width: 100%; text-align: center; }
.vv-hero__titel { color: var(--vv-licht); font-size: 110px; line-height: 1.1; letter-spacing: .8px; text-transform: lowercase; }
.vv-hero__regel { display: block; }
.vv-hero__sub { margin: 20px 0 10px; color: var(--vv-perzik); font-size: 12px; line-height: 1.3; }

/* ---------- Intro ---------- */
.vv-intro { width: 936px; max-width: calc(100% - 100px); margin: 130px auto 100px; }
.vv-intro__tekst { line-height: 32px; }

/* ---------- Pijlers ---------- */
.vv-pijlers { padding: 0 var(--vv-rand); }
.vv-sierkop {
	max-width: var(--vv-breed);
	margin: 0 auto 80px;
	color: var(--vv-oranje);
	font-family: "League Script", cursive;
	font-size: 80px;
	line-height: 1.3;
	text-align: center;
	text-transform: lowercase;
}
.vv-pijlers__titel { max-width: var(--vv-breed); margin: 0 auto 90px; font-size: 50px; line-height: 1.2; letter-spacing: .8px; text-align: center; }
.vv-pijlers__rij { display: flex; justify-content: space-between; max-width: 1140px; margin: 0 auto 140px; }
.vv-pijler { width: 289px; text-align: center; }
.vv-pijler__icoon { display: flex; align-items: center; justify-content: center; width: 85px; height: 85px; margin: 0 auto 11.6px; }
.vv-pijler__svg { width: 65px; height: 80px; }
.vv-pijler__titel { margin: 14.4px 0 15px; font-size: 24px; line-height: 1.3; }
.vv-pijler__tekst { line-height: 1.4; }

/* ---------- Voordelen ---------- */
.vv-voordelen { padding: 100px var(--vv-rand); background: var(--vv-licht); }
.vv-voordelen__binnen { max-width: var(--vv-breed); margin: 0 auto; padding-right: 50px; }
.vv-voordelen__titel { margin-bottom: 30px; font-size: 50px; line-height: 1.2; letter-spacing: .8px; }
.vv-voordelen__lijsten { display: flex; gap: 40px; }
.vv-voordelen__lijsten > * { flex: 1 1 0; }
.vv-vinklijst ul { margin: 0; padding: 0; list-style: none; }
.vv-vinklijst li { position: relative; padding-left: 29px; }
.vv-vinklijst li + li { margin-top: 17px; }
.vv-vinklijst li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 3px;
	width: 15px;
	height: 15px;
	background: var(--vv-oranje);
	-webkit-mask: url(../icons/vink.svg) center / contain no-repeat;
	mask: url(../icons/vink.svg) center / contain no-repeat;
}

/* ---------- Marianne (home) ---------- */
.vv-marianne {
	position: relative;
	display: flex;
	align-items: center;
	min-height: 35vw;
	margin-bottom: 140px;
	padding: 0 50px;
	overflow: hidden;
	background: var(--vv-zand);
}
.vv-marianne__foto { position: absolute; top: 50%; right: 0; width: 55vw; transform: translateY(-50%); }
.vv-marianne__foto img { display: block; width: 100%; }
.vv-marianne__inhoud { position: relative; width: 590px; margin-left: max(0px, calc((100% - var(--vv-breed)) / 2)); padding: 68px 75.6px 68px 0; background: var(--vv-zand); }
.vv-marianne__naam { margin-bottom: 10.4px; font-size: 36px; line-height: 1.1; }
.vv-marianne__rol { display: flex; gap: 10px; font-family: var(--vv-kop); font-size: 18px; line-height: 1.4; letter-spacing: normal; }
.vv-marianne__functie { color: var(--vv-oranje); }
.vv-marianne__tekst { line-height: 1.6; }
.vv-marianne__tekst p { margin-bottom: 16px; }
.vv-marianne__tekst > :last-child { margin-bottom: 16px; }

/* ---------- Titelbalk (Over mij, Recensies, Contact) ---------- */
.vv-titelbalk { padding: 50px var(--vv-rand); background: var(--vv-licht); }
.vv-titelbalk--over { padding-bottom: 70px; }
.vv-paginatitel { max-width: var(--vv-breed); margin: 0 auto; font-size: 76px; line-height: 1.1; letter-spacing: .3px; text-align: center; text-transform: capitalize; }

/* ---------- Over mij ---------- */
.vv-verhaal { padding: 50px var(--vv-rand); background: var(--vv-zand); }
.vv-verhaal__binnen { display: flex; gap: 120px; max-width: var(--vv-breed); margin: 0 auto; }
.vv-verhaal__tekst { flex: 0 0 542px; }
.vv-verhaal__naam { font-size: 50px; line-height: 1.2; letter-spacing: .8px; }
.vv-verhaal__lopend { margin-top: 10px; }
.vv-verhaal__lopend p { margin-bottom: 22.4px; }
.vv-verhaal__foto { flex: 1 1 auto; min-width: 0; }
.vv-verhaal__foto img { display: block; width: 100%; aspect-ratio: 3 / 2; object-fit: cover; }
.vv-galerij { padding: 100px var(--vv-rand); background: var(--vv-licht); }
.vv-galerij__raster { display: grid; grid-template-columns: repeat(3, 1fr); align-items: start; gap: 15px; max-width: var(--vv-breed); margin: 0 auto; }
.vv-galerij__foto img { display: block; width: 100%; height: auto; }
.vv-videos { padding: 100px var(--vv-rand); background: var(--vv-wit); }
.vv-videos__kop { max-width: 800px; margin: 0 auto 40px; text-align: center; }
.vv-videos__titel { font-size: 50px; line-height: 1.2; letter-spacing: .8px; }
.vv-videos__tekst p { margin-bottom: 16px; }
.vv-videos__tekst > :last-child { margin-bottom: 16px; }
.vv-videos__rij { display: flex; flex-wrap: wrap; gap: 20px; max-width: var(--vv-breed); margin: 0 auto; }
.vv-videos__video { flex: 1 1 0; min-width: 0; }
.vv-videos__video video { display: block; width: 100%; aspect-ratio: 16 / 9; background: #000; }

/* ---------- Recensies ---------- */
.vv-recensies { padding: 50px 50px 100px; background: var(--vv-licht); }
.vv-recensies__raster { display: grid; grid-template-columns: repeat(2, 1fr); align-items: start; gap: 29px 30px; max-width: var(--vv-breed); margin: 0 auto; }
.vv-recensie { display: flex; min-height: 370px; background: var(--vv-wit); box-shadow: 0 3px 5px rgba(0, 0, 0, .21); }
.vv-recensie__tekst { flex: 0 0 68%; padding: 30px 25px 30px 30px; }
.vv-recensie__kant { display: flex; flex: 0 0 32%; flex-direction: column; justify-content: space-between; padding: 20px 30px 50px 0; }
.vv-recensie__logo { align-self: flex-end; width: 100px; }
.vv-recensie__logo img { display: block; width: 100px; height: 74px; object-fit: contain !important; }
.vv-recensie__lijnen { position: relative; display: flex; flex-direction: column; gap: 40px; }
.vv-recensie__lijn { display: block; border-top: 1px solid #000; }
.vv-recensie__naam { position: absolute; left: 0; top: -23px; max-width: 100%; font-size: 21px; line-height: 1.2; letter-spacing: .8px; text-align: center; }
.vv-sterren { display: flex; gap: .5px; margin-bottom: 20px; }
.vv-sterren__ster { display: block; width: 24px; height: 24px; color: #ebebeb; }
.vv-sterren__ster.is-aan { color: var(--vv-oranje); }
.vv-sterren__ster svg { display: block; width: 100%; height: 100%; fill: currentColor; }
.vv-recensie__inhoud { font-family: "Allan", cursive; font-size: 18px; font-weight: 400; line-height: 1.4; }
.vv-recensie__inhoud p, .vv-recensie__inhoud div { margin: 0 0 18px; }
.vv-recensie__inhoud > :last-child { margin-bottom: 0; }

/* ---------- Contact ---------- */
.vv-contact { width: 600px; max-width: calc(100% - 40px); margin: 0 auto; padding: 80px 0 100px; }
.vv-contact__titel { font-size: 36px; line-height: 1.1; letter-spacing: .8px; }
.vv-contact__tekst { margin: 9px 0 10px; }
.vv-contact__tekst p { margin-bottom: 16px; }
.vv-contact__tekst > :last-child { margin-bottom: 0; }
.vv-form__veld { margin-bottom: 26px; }
.vv-form__veld label { display: block; padding-bottom: 4px; font-family: Helvetica, Arial, sans-serif; font-size: 16px; line-height: 24px; }
.vv-form__verplicht { margin-left: 8px; color: #d00; }
.vv-form__veld input, .vv-form__veld textarea {
	display: block;
	width: 100%;
	min-height: 47px;
	padding: 6px 16px;
	border: 1px solid var(--vv-grijs);
	border-radius: 30px;
	background: var(--vv-wit);
	color: var(--vv-groen);
	font: 400 16px/1.4 var(--vv-tekst);
	letter-spacing: .3px;
}
.vv-form__veld textarea { height: 148px; resize: vertical; }
.vv-form__veld input:focus, .vv-form__veld textarea:focus { outline: none; border-color: var(--vv-groen); }
.vv-form__veld.is-fout input, .vv-form__veld.is-fout textarea { border-color: #d00; }
.vv-form__hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.vv-form__verstuur { display: flex; justify-content: center; margin-top: 28px; }
.vv-form__verstuur .vv-knop { gap: 16px; letter-spacing: normal; }
.vv-form__verstuur .vv-knop__ster { margin-right: 0; }
.vv-form__melding { margin-top: 20px; text-align: center; }
.vv-form__melding--fout { color: #d00; }

/* ---------- Gewone pagina en 404 ---------- */
.vv-tekstpagina { max-width: 800px; margin: 0 auto; padding: 60px 20px 100px; }
.vv-tekstpagina--midden { text-align: center; }
.vv-tekstpagina--midden .vv-knop { margin-top: 30px; }
.vv-tekstpagina__inhoud p, .vv-tekstpagina__inhoud ul, .vv-tekstpagina__inhoud ol { margin-bottom: 16px; }
.vv-tekstpagina__inhoud h2 { margin: 32px 0 12px; font-size: 28px; line-height: 1.3; }

/* ---------- Binnenkort (Tijdelijk) ---------- */
.vv-binnenkort { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px; min-height: 100vh; text-align: center; }
.vv-binnenkort__titel { font-size: 50px; line-height: 1.2; letter-spacing: .8px; }
.vv-binnenkort__tekst { font-family: var(--vv-kop); font-size: 22px; line-height: 1.2; letter-spacing: .8px; }

/* ---------- Footer ---------- */
.vv-footer { background: var(--vv-licht); }
.vv-footer__boven { padding: 50px var(--vv-rand) 60px; text-align: center; }
.vv-footer__naam { margin-bottom: 11px; font-size: 28px; line-height: 1.3; }
.vv-footer__adres { line-height: 1; }
.vv-footer__knop { display: flex; justify-content: center; padding: 0 var(--vv-rand) 60px; }
.vv-footer__menu, .vv-footer__onder { max-width: calc(var(--vv-breed) + 2 * var(--vv-rand)); margin: 0 auto; padding: 0 var(--vv-rand); }
.vv-footer__menu { padding-bottom: 40px; }
.vv-footer__lijst { display: flex; flex-wrap: wrap; gap: 0 40px; margin: 0; padding: 0; list-style: none; }
.vv-footer__lijst a { color: var(--vv-groen); font-size: 14px; font-weight: 500; line-height: 1.5; letter-spacing: .2px; text-decoration: none; transition: color .3s; }
.vv-footer__lijst a:hover { color: var(--vv-oranje); }
.vv-footer__onder { padding-bottom: 40px; }
.vv-footer__copy { padding-top: 40px; border-top: 1px solid var(--vv-grijs); font-size: 12px; line-height: 1.1; text-align: right; }
.vv-footer__copy::after { content: ""; display: block; height: 12px; }

/* ---------- Cookiebanner ---------- */
.vv-cookies { position: fixed; left: 24px; bottom: 24px; z-index: 350; width: min(440px, calc(100vw - 48px)); }
.vv-cookies__kaart {
	max-height: calc(100vh - 48px);
	overflow-y: auto;
	padding: 26px 26px 20px;
	border-radius: 12px;
	background: var(--vv-wit);
	box-shadow: 0 10px 40px rgba(0, 0, 0, .18);
	opacity: 0;
	transform: translateY(16px);
	transition: opacity .3s ease, transform .3s cubic-bezier(.22, .61, .36, 1);
}
.vv-cookies.is-open .vv-cookies__kaart { opacity: 1; transform: none; }
.vv-cookies__titel { margin-bottom: 6px; font-family: var(--vv-kop); font-size: 20px; line-height: 1.3; }
.vv-cookies__tekst { font-size: 14px; line-height: 22px; }
.vv-cookies__tekst p { margin: 0; }
.vv-cookies__voorkeuren { display: flex; flex-direction: column; gap: 12px; margin-top: 16px; padding-top: 16px; border-top: 1px solid var(--vv-zand); }
.vv-cookies__voorkeuren[hidden] { display: none; }
.vv-cookies__optie { display: flex; align-items: flex-start; gap: 12px; font-size: 14px; line-height: 21px; cursor: pointer; }
.vv-cookies__optie input { flex: none; width: 18px; height: 18px; margin: 2px 0 0; accent-color: var(--vv-oranje); }
.vv-cookies__optie strong { display: block; }
.vv-cookies__knoppen { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 18px; }
.vv-cookies__knoppen .vv-knop { flex: 1 1 auto; justify-content: center; padding: 10px 18px; }
.vv-cookies__knoppen .vv-knop--wit { box-shadow: inset 0 0 0 1px var(--vv-grijs); }
.vv-cookies__knoppen [hidden] { display: none; }
.vv-cookies__links { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 6px 16px; margin-top: 14px; font-size: 13px; line-height: 20px; }
.vv-cookies__link { padding: 0; border: 0; background: none; color: var(--vv-groen); font: inherit; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.vv-cookies__link:hover { color: var(--vv-oranje); }

/* ---------- Pencilino: beheerde gebieden laten de opmaak heel ---------- */
.vv-hero__foto > .pencil-managed-region, .vv-marianne__foto > .pencil-managed-region { width: 100%; height: 100%; }
.vv-voordelen__lijsten > .pencil-managed-region { flex: 1 1 0; }
.vv-recensie__lijnen > .pencil-managed-region { position: absolute; left: 0; top: -23px; max-width: 100%; }
.vv-recensie__lijnen > .pencil-managed-region .vv-recensie__naam { position: static; }

/* ---------- Tablet (tot 1024) ---------- */
@media (max-width: 1024px) {
	.vv-kop { padding: 10px 20px; background: var(--vv-wit); }
	.vv-kop__binnen { display: flex; justify-content: space-between; gap: 20px; height: 64px; }
	.vv-nav { display: none; }
	.vv-kop__knop { margin-left: auto; }
	.vv-hamburger {
		display: flex;
		flex-direction: column;
		justify-content: center;
		gap: 5px;
		width: 42px;
		height: 42px;
		padding: 7px;
		border: 0;
		background: none;
		color: var(--vv-groen);
		cursor: pointer;
	}
	.vv-hamburger__streep { display: block; height: 3px; border-radius: 1px; background: currentColor; transition: transform .3s, opacity .3s; }
	.vv-hamburger[aria-expanded="true"] .vv-hamburger__streep:nth-child(1) { transform: translateY(8px) rotate(45deg); }
	.vv-hamburger[aria-expanded="true"] .vv-hamburger__streep:nth-child(2) { opacity: 0; }
	.vv-hamburger[aria-expanded="true"] .vv-hamburger__streep:nth-child(3) { transform: translateY(-8px) rotate(-45deg); }
	.vv-mobielmenu { position: absolute; left: 0; right: 0; top: 100%; padding: 25px 0; background: var(--vv-zand); }
	.vv-mobielmenu__lijst { margin: 0; padding: 0; list-style: none; }
	.vv-mobielmenu__lijst a { display: block; padding: 10px 30px; color: var(--vv-groen); font-size: 14px; font-weight: 500; line-height: 1.5; letter-spacing: .2px; text-decoration: none; }
	.vv-mobielmenu__lijst a:hover { color: var(--vv-oranje); }

	.vv-hero__titel { font-size: 80px; }
	.vv-sierkop { font-size: 70px; }
	.vv-pijlers__titel, .vv-voordelen__titel, .vv-verhaal__naam, .vv-videos__titel { font-size: 36px; }
	.vv-pijlers__rij { gap: 30px; }
	.vv-paginatitel { font-size: 60px; }

	.vv-marianne { flex-direction: column-reverse; align-items: stretch; min-height: 0; margin-bottom: 80px; padding: 0 0 40px; }
	.vv-marianne__foto { position: static; width: 100%; margin-bottom: 30px; transform: none; }
	.vv-marianne__foto img { aspect-ratio: 3 / 2; object-fit: cover; }
	.vv-marianne__inhoud { width: auto; margin: 0; padding: 0 20px; }

	.vv-recensies__raster { grid-template-columns: 1fr; }
}

/* ---------- Mobiel (tot 767) ---------- */
@media (max-width: 767px) {
	:root { --vv-rand: 20px; }
	.vv-kop__knop { display: none; }
	.vv-mobielmenu__lijst a { padding: 10px 20px; }

	.vv-hero { min-height: 75vh; padding: 0 20px; }
	.vv-hero__titel { font-size: 48px; line-height: 1; }
	.vv-hero__sub { margin-bottom: 10px; }

	.vv-intro { max-width: calc(100% - 40px); margin: 70px auto 100px; }

	.vv-sierkop { max-width: 310px; margin: 0 0 50px 25px; font-size: 60px; line-height: 1; text-align: left; }
	.vv-pijlers__titel { margin-bottom: 60px; font-size: 35px; line-height: 1.2; text-align: left; }
	.vv-pijlers__rij { flex-direction: column; gap: 40px; margin-bottom: 80px; }
	.vv-pijler { width: auto; text-align: left; }
	.vv-pijler__icoon { margin-left: 0; }
	.vv-pijler__titel { margin: 12px 0 15px; font-size: 20px; }

	.vv-voordelen { padding: 50px 20px 80px; }
	.vv-voordelen__binnen { padding-right: 0; }
	.vv-voordelen__titel { font-size: 35px; }
	.vv-voordelen__lijsten { flex-direction: column; gap: 17px; }

	.vv-marianne__naam { font-size: 32px; }

	.vv-titelbalk { padding: 40px 20px; }
	.vv-titelbalk--over { padding: 50px 20px 40px; }
	.vv-paginatitel { font-size: 48px; line-height: 1; }

	.vv-verhaal { padding: 40px 20px; }
	.vv-verhaal__binnen { flex-direction: column; gap: 30px; }
	.vv-verhaal__tekst { flex: none; }
	.vv-verhaal__naam { font-size: 35px; }
	.vv-galerij { padding: 50px 20px 40px; }
	.vv-galerij__raster { grid-template-columns: 1fr; }
	.vv-videos { padding: 40px 20px; }
	.vv-videos__titel { font-size: 35px; }
	.vv-videos__video { flex: 0 0 33%; }

	.vv-recensies { padding: 0 20px 50px; }
	.vv-sterren__ster { width: 18px; height: 18px; }

	.vv-contact { max-width: calc(100% - 40px); padding: 50px 0 80px; }
	.vv-contact__titel { font-size: 32px; }

	.vv-footer__boven { padding: 20px 20px 40px; text-align: left; }
	.vv-footer__naam { text-align: center; }
	.vv-footer__adres { line-height: 1.4; }
	.vv-footer__knop { justify-content: flex-start; padding-bottom: 40px; }
	.vv-footer__lijst { flex-direction: column; gap: 30px; }
	.vv-footer__copy { text-align: left; }

	.vv-cookies { left: 12px; right: 12px; bottom: 12px; width: auto; }
	.vv-cookies__kaart { padding: 22px 20px 18px; }
	.vv-cookies__knoppen .vv-knop { flex-basis: 100%; }
}

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