/* ==========================================================================
   Gaivota — secties
   Kolombreedtes werken net als in Elementor: elke kolom krijgt een width in
   procenten en mag krimpen, waardoor twee kolommen van 100% en 80% samen met
   het gat van 10vw evenredig in de rij passen.
   ========================================================================== */

.gv-sectie {
	width: 100%;
	overflow-x: clip;
	/* Inhoud nooit breder dan --gv-breedte-inhoud; een band loopt wel door tot de rand. */
	padding-inline: max(var(--gv-padding-zij, var(--gv-marge-zij)), calc((100% - var(--gv-breedte-inhoud)) / 2));
	padding-block: var(--gv-padding-boven, 0) var(--gv-padding-onder, 0);
	margin-top: var(--gv-marge-boven, 0);
	margin-bottom: var(--gv-marge-onder, var(--gv-ritme));
}

/* --- Witruimte per sectie ------------------------------------------------ */

.gv-ruimte--standaard { margin-bottom: var(--gv-ritme); }
.gv-ruimte--compact   { margin-bottom: var(--gv-ritme-compact); }
.gv-ruimte--geen      { margin-bottom: 0; }

.gv-ruimte--kader,
.gv-ruimte--kader-klein,
.gv-ruimte--kop {
	margin-bottom: 0;
	padding-inline: max(var(--gv-marge-zij-smal), calc((100% - var(--gv-breedte-inhoud)) / 2));
}

.gv-ruimte--kader       { padding-block: var(--gv-blok) var(--gv-blok); }
.gv-ruimte--kader-klein { padding-block: var(--gv-blok-klein) var(--gv-blok-klein); }
.gv-ruimte--kop         { padding-block: var(--gv-kop-boven) var(--gv-kop-onder); }

.gv-sectie--eerste { margin-top: var(--gv-marge-boven, var(--gv-ritme-eerste)); }
.gv-sectie--eerste.gv-ruimte--kader,
.gv-sectie--eerste.gv-ruimte--kader-klein,
.gv-sectie--eerste.gv-ruimte--kop { margin-top: 0; }

.gv-rij {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	align-items: flex-start;
	gap: min(var(--gv-gat, var(--gv-kolom-gat)), 8rem);
	width: 100%;
}

.gv-kolom {
	width: var(--gv-kolom-breedte, 100%);
	min-width: 0;
}

/* Een beeld zonder eigen breedte vult wat er overblijft. */
.gv-kolom--vult {
	flex: 1 1 0;
	width: auto;
}

.gv-kolom > *,
.gv-koppen { max-width: 100%; }

/* De beeldkolom kan links of rechts staan, los van de volgorde in de code. */
.gv-rij--beeld-links .gv-kolom--beeld { order: -1; }
.gv-rij--beeld-rechts .gv-kolom--beeld { order: 1; }

.gv-kolom--plak {
	position: sticky;
	top: var(--gv-plak-offset);
}

.gv-kop-blok { width: 100%; }
.gv-kop-blok--midden { text-align: center; }
.gv-kop-blok--midden .gv-koppen { align-items: center; }

/* --- Hero met video ------------------------------------------------------ */

.gv-sectie--hero-video .gv-rij--hero { align-items: stretch; }

.gv-kolom--hero-tekst {
	--gv-kolom-breedte: 80%;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: space-between;
	gap: 1rem;
	padding: 40px 0;
	z-index: 100;
}

.gv-hero__titel {
	font-size: min(5.2vw, 5.6rem);
	margin-bottom: -5px;
}

.gv-hero__titel span { margin-left: 10%; }

.gv-kolom--hero-media { --gv-kolom-breedte: 100%; z-index: 10; }

.gv-video {
	position: relative;
	width: 100%;
	height: 100%;
	min-height: 420px;
	overflow: hidden;
	background: var(--gv-tekst);
}

.gv-video iframe {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 100vw;
	height: 56.25vw;
	min-height: 100%;
	min-width: 177.77vh;
	transform: translate(-50%, -50%);
	border: 0;
	pointer-events: none;
}

.gv-video img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.gv-video__waas {
	position: absolute;
	inset: 0;
	background: rgba(1, 4, 11, .4);
	pointer-events: none;
}

/* --- Hero met beeld ernaast ---------------------------------------------- */

.gv-sectie--hero-split .gv-rij { align-items: center; gap: 0; }
.gv-sectie--hero-split .gv-rij { justify-content: space-between; }

.gv-sectie--hero-split .gv-kolom--tekst {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 2rem;
}

/* --- Hero van een projectpagina ------------------------------------------ */

.gv-rij--hero-project {
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: space-between;
	row-gap: 3rem;
	column-gap: 0;
}

.gv-sectie--hero-project .gv-kolom--titel {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: space-between;
	gap: 1rem;
}

.gv-sectie--hero-project .gv-kolom--herobeeld { --gv-kolom-breedte: 100%; }
.gv-sectie--hero-project .gv-kolom--herobeeld .gv-beeld { width: 100%; }

/* --- Hero met kop boven -------------------------------------------------- */

.gv-sectie--hero-kop .gv-kop-blok { margin-bottom: 5rem; }
.gv-sectie--hero-kop .gv-rij { justify-content: space-between; align-items: flex-start; gap: var(--gv-kolom-gat); }

/* --- Beeld met tekst ----------------------------------------------------- */

.gv-sectie--beeld-tekst .gv-kolom--tekst,
.gv-sectie--usp .gv-kolom--usp,
.gv-sectie--faq .gv-kolom--faq {
	display: flex;
	flex-direction: column;
	gap: 5vh;
}

.gv-sectie--usp .gv-kolom--usp,
.gv-sectie--faq .gv-kolom--faq { gap: 3rem; padding-top: 5vh; }

.gv-sectie--faq-breed .gv-kolom--faq { padding-top: 0; }
.gv-sectie--faq-breed .gv-rij { align-items: flex-start; }

/* --- Projecten ----------------------------------------------------------- */

.gv-sectie--projecten .gv-rij { align-items: stretch; justify-content: space-between; }

.gv-kolom--projecten-intro {
	--gv-kolom-breedte: 80%;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}

.gv-kolom--projecten-intro .gv-koppen { margin-bottom: 2rem; }

.gv-kolom--projecten-lijst {
	--gv-kolom-breedte: 100%;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}

.gv-tegels { display: flex; flex-direction: column; }

.gv-tegel {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 2vh;
	padding: 20px;
	border-bottom: 1px solid var(--gv-taupe);
	transition: background-color .3s ease-in-out;
}

.gv-tegel:first-child { border-top: 1px solid var(--gv-taupe); }

/* Een tegel zonder link is een opsomming: geen hover, geen pijl. */
div.gv-tegel:hover { background-color: transparent; }
div.gv-tegel:hover .gv-tegel__titel { color: var(--gv-navy); }
div.gv-tegel:hover .gv-tegel__tekst { color: var(--gv-navy); }
.gv-tegel:hover { background-color: var(--gv-taupe); }
.gv-tegel:hover .gv-tegel__titel,
.gv-tegel:hover .gv-tegel__tekst { color: #fff; }
.gv-tegel:hover .gv-tegel__pijl svg g { stroke: #fff; }
.gv-tegel:hover .gv-tegel__pijl svg { transform: translateX(5px); }

.gv-tegel__titel { margin: 0; }

.gv-tegel__tekst {
	width: 75%;
	margin: 0;
	color: var(--gv-navy);
	transition: color .3s ease-in-out;
}

.gv-tegel__pijl {
	position: absolute;
	top: 50%;
	right: 20px;
	transform: translateY(-50%);
	display: inline-flex;
}

.gv-tegel__pijl svg { width: 20px; height: 20px; transition: transform .3s ease-in; }
.gv-tegel__pijl svg g { transition: stroke .3s ease-in; }

/* --- Waarom Gaivota ------------------------------------------------------ */

.gv-usp-lijst { display: flex; flex-direction: column; gap: 3rem; }
.gv-usp { display: flex; flex-direction: column; gap: 2rem; }
.gv-usp__titel { margin: 0; }

/* --- Werkwijze in stappen ------------------------------------------------ */

.gv-sectie--stappen { display: flex; flex-direction: column; align-items: center; gap: 0; }
.gv-sectie--stappen .gv-kop-blok { margin-bottom: 5rem; }

.gv-stappen {
	display: grid;
	grid-template-columns: var(--gv-stappen-kolommen, repeat(3, minmax(0, 1fr)));
	column-gap: 48px;
	row-gap: 32px;
	width: 100%;
}

.gv-stappen__intro {
	max-width: 720px;
	margin: 2rem auto 0;
}

/* Meer dan vier stappen: rijen van drie. */
.gv-stappen--rijen { row-gap: 4.5rem; }

/* 17-9-2026: het nummer staat boven de titel in plaats van erachter; met koppen op
   gewicht 100 liep het watermerk door de titel heen. */
.gv-stap {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
}

.gv-stap__tekst {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.gv-stap__titel { margin: 0; }

.gv-stap__nummer {
	order: -1;
	display: block;
	margin-bottom: 1.25rem;
	padding-bottom: 1.25rem;
	border-bottom: 1px solid var(--gv-taupe);
	font-family: var(--gv-font-kop);
	font-size: 3rem;
	font-weight: var(--gv-kop-gewicht);
	line-height: 1;
	color: var(--gv-taupe);
	pointer-events: none;
}

/* --- Referenties --------------------------------------------------------- */

.gv-sectie--referenties {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 2rem;
}

.gv-referenties__titel { text-align: center; }

.gv-carrousel {
	position: relative;
	width: 100%;
	max-width: 1080px;
	overflow: hidden;
}

.gv-carrousel__spoor {
	display: flex;
	transition: transform .6s cubic-bezier(.65, 0, .35, 1);
}

.gv-carrousel__slide {
	flex: 0 0 100%;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0;
	margin: 0;
	padding: 0 1rem;
	text-align: center;
}

.gv-carrousel__teken,
.gv-citaat__teken {
	display: block;
	font-family: var(--gv-font-tekst);
	font-size: 4rem;
	line-height: .6;
	color: var(--gv-taupe);
}

.gv-carrousel blockquote,
.gv-citaat blockquote {
	font-family: var(--gv-font-tekst);
	font-size: clamp(1.3rem, 1.9vw, 1.7rem);
	font-weight: 400;
	line-height: 1.4;
	color: var(--gv-tekst);
}

.gv-carrousel figcaption,
.gv-citaat figcaption {
	font-family: var(--gv-font-kop);
	font-size: var(--gv-body);
	text-transform: uppercase;
	color: var(--gv-taupe);
}

.gv-carrousel__knoppen {
	display: flex;
	justify-content: center;
	gap: 1rem;
	margin-top: 1rem;
}

.gv-carrousel__knop {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	padding: 0;
	border: 1.5px solid var(--gv-accent);
	border-radius: 50px;
	background: none;
	cursor: pointer;
	transition: background-color .3s ease-in-out;
}

.gv-carrousel__knop svg { width: 1rem; height: 1rem; }
.gv-carrousel__knop:hover { background: var(--gv-taupe); }
.gv-carrousel__knop:hover svg g { stroke: #fff; }
.gv-pijl--terug { transform: rotate(180deg); }

/* --- Citaat met beeld ---------------------------------------------------- */

.gv-sectie--citaat .gv-rij { align-items: flex-end; }

.gv-citaat {
	display: flex;
	flex-direction: column;
	gap: 1rem;
	margin: 0;
}

/* --- FAQ ----------------------------------------------------------------- */

.gv-accordeon { display: flex; flex-direction: column; }

.gv-accordeon__item { border-bottom: 1px solid var(--gv-taupe); }

.gv-accordeon__vraag {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	padding: 16px;
	font-family: var(--gv-font-kop);
	font-size: 1rem;
	font-weight: 200;
	line-height: 1.4;
	text-transform: uppercase;
	color: var(--gv-navy);
	cursor: pointer;
	list-style: none;
}

.gv-accordeon__vraag::-webkit-details-marker { display: none; }

.gv-accordeon__teken {
	position: relative;
	flex: none;
	width: 14px;
	height: 14px;
}

.gv-accordeon__teken::before,
.gv-accordeon__teken::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	width: 14px;
	height: 1px;
	background: var(--gv-navy);
	transition: transform .3s ease;
}

.gv-accordeon__teken::after { transform: rotate(90deg); }
.gv-accordeon__item[open] .gv-accordeon__teken::after { transform: rotate(0deg); }

.gv-accordeon__antwoord { padding: 0 16px 1.5rem; }

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

.gv-sectie--contact .gv-kop-blok { margin-bottom: 5rem; }
.gv-sectie--contact .gv-kop-blok h1 { width: var(--gv-titel-breedte, 100%); }

.gv-sectie--formulier .gv-rij--formulier,
.gv-sectie--contact .gv-rij--contact { align-items: flex-start; }

.gv-kolom--formulier-tekst { --gv-kolom-breedte: 50%; }

/* Kop en tekst in een oproep of formulierblok niet tegen elkaar aan. */
.gv-kolom--cta-tekst,
.gv-kolom--formulier-tekst {
	display: flex;
	flex-direction: column;
	gap: 2rem;
}

.gv-kolom--cta-tekst .gv-knoppen { padding-top: 0; }
.gv-kolom--formulier { --gv-kolom-breedte: 50%; }
.gv-kolom--contact-formulier { --gv-kolom-breedte: 65%; }
.gv-kolom--contact-gegevens { --gv-kolom-breedte: 30%; }

.gv-formulier {
	display: flex;
	flex-wrap: wrap;
	column-gap: 2rem;
	row-gap: 3rem;
}

.gv-formulier__veld { display: flex; flex-direction: column; gap: .5rem; }
.gv-formulier__veld--vol { flex: 0 0 100%; }
.gv-formulier__veld--half { flex: 1 1 calc(50% - 1rem); min-width: 220px; }
.gv-formulier__veld--verborgen { position: absolute; left: -9999px; }

.gv-formulier label {
	font-family: var(--gv-font-tekst);
	font-size: var(--gv-body);
	line-height: 1.6;
	color: var(--gv-tekst);
}

/* 21-9-2026: één veldstijl voor alle formulieren, ongeacht de band waarop ze staan.
   Geldt voor het eigen formulier en voor Gravity Forms (beide staan in .gv-formulier). */
.gv-formulier input:not([type="submit"]):not([type="button"]),
.gv-formulier select,
.gv-formulier textarea {
	width: 100%;
	padding: .9rem 1rem;
	border: 1px solid var(--gv-lijn-licht);
	border-radius: 2px;
	background: var(--gv-wit);
	font-family: var(--gv-font-tekst);
	font-size: var(--gv-body);
	line-height: 1.6;
	color: var(--gv-tekst);
}

.gv-formulier input:not([type="submit"]):not([type="button"]),
.gv-formulier select { height: 56px; }
.gv-formulier textarea { min-height: 140px; resize: vertical; }

.gv-formulier input:focus,
.gv-formulier select:focus,
.gv-formulier textarea:focus {
	outline: none;
	border-color: var(--gv-taupe);
}

.gv-formulier ::placeholder { color: rgba(4, 23, 59, .55); }

.gv-formulier__knop { flex: 0 0 100%; }

.gv-knop--verzend {
	border-width: 2px;
	padding: 12px 25px;
	letter-spacing: .05em;
}

.gv-formulier__melding {
	flex: 0 0 100%;
	padding: 1rem;
	border: 1px solid var(--gv-taupe);
	font-size: var(--gv-body);
}

.gv-formulier__melding--fout { border-color: #a3312f; color: #a3312f; }

.gv-formulier__onderschrift {
	margin-top: 1rem;
	font-size: var(--gv-body);
	color: var(--gv-tekst);
}

/* --- Contactgegevens ----------------------------------------------------- */

.gv-kolom--contact-gegevens {
	display: flex;
	flex-direction: column;
	gap: 2rem;
	padding: 2rem;
	background: var(--gv-navy);
	color: var(--gv-wit);
}

.gv-kolom--contact-gegevens .gv-gegevens__titel,
.gv-kolom--contact-gegevens .gv-gegevens__subtitel,
.gv-kolom--contact-gegevens .gv-tekst { color: var(--gv-wit); }
.gv-kolom--contact-gegevens .gv-tekst a { text-decoration: none; }
.gv-kolom--contact-gegevens .gv-tekst a:hover { color: var(--gv-taupe); }

.gv-gegevens { display: flex; flex-direction: column; gap: .25rem; }
.gv-gegevens__titel { margin: 0; font-size: var(--gv-h3); }

.gv-gegevens__subtitel {
	margin: 0;
	font-family: var(--gv-font-tekst);
	font-size: var(--gv-body);
	color: var(--gv-tekst);
}

/* --- Uitspraak ----------------------------------------------------------- */

.gv-sectie--statement .gv-statement {
	display: flex;
	flex-direction: column;
	gap: 2rem;
	max-width: 1080px;
}

.gv-sectie--midden .gv-statement { margin-inline: auto; text-align: center; }
.gv-sectie--midden .gv-koppen { align-items: center; }

/* --- Breed beeld --------------------------------------------------------- */

.gv-breed-kop {
	display: flex;
	flex-direction: row;
	align-items: flex-end;
	justify-content: space-between;
	gap: var(--gv-kolom-gat);
	margin-bottom: 5rem;
}

.gv-breed-kop .gv-tekst { width: 56%; }
.gv-beeld--breed { width: 100%; height: var(--gv-beeld-hoogte, auto); }
.gv-beeld--breed img { height: 100%; }

/* --- Titel links, tekst rechts ------------------------------------------- */

.gv-rij--titel-tekst { align-items: flex-end; justify-content: space-between; gap: var(--gv-gat, 2rem); }
.gv-rij--titel-tekst.gv-rij--boven { align-items: flex-start; }

.gv-kolom--titel-regels h1,
.gv-kolom--titel-regels h2 {
	font-size: var(--gv-h2);
	line-height: 1;
}

.gv-kolom--zijtekst {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.gv-kolom--zijtekst .gv-knoppen { padding-top: 1rem; }
.gv-zijbeeld { margin-bottom: .5rem; }

.gv-zijbeeld img {
	width: auto;
	max-width: min(200px, 100%);
	height: auto;
}

/* --- Rij met beelden ----------------------------------------------------- */

.gv-beeldenrij {
	display: flex;
	flex-direction: row;
	align-items: flex-start;
	gap: var(--gv-gat, var(--gv-kolom-gat));
}

.gv-beeldenrij--onder  { align-items: flex-end; }
.gv-beeldenrij--midden { align-items: center; }

.gv-beeldenrij__item {
	width: var(--gv-kolom-breedte, 100%);
	min-width: 0;
}

/* --- Tekstblok ----------------------------------------------------------- */

.gv-sectie--tekst .gv-tekst--vrij { max-width: 900px; font-size: 1rem; line-height: 2; }
.gv-sectie--tekst .gv-tekst--kolommen-2 { max-width: none; columns: 2; column-gap: 10%; }

.gv-tekst-blok__titel {
	margin-bottom: 2rem;
	font-size: var(--gv-h2);
	font-weight: 300;
	line-height: 1;
}

@media (max-width: 1024px) {
	.gv-tekst-blok__titel { font-size: 2.4rem; }
}

@media (max-width: 767px) {
	.gv-tekst-blok__titel { font-size: 1.85rem; }
}

.gv-tekst--vrij h2 { margin: 2.5rem 0 1rem; }
.gv-tekst--vrij h3 { margin: 2rem 0 .75rem; }
.gv-tekst--vrij table { width: 100%; border-collapse: collapse; margin-bottom: 1.5rem; }
.gv-tekst--vrij th,
.gv-tekst--vrij td { padding: .5rem .75rem; border: 1px solid var(--gv-taupe); text-align: left; vertical-align: top; }

/* --- Tablet -------------------------------------------------------------- */

@media (max-width: 1024px) {
	.gv-hero__titel { font-size: 3.2rem; }

	.gv-kolom--titel-regels h1,
	.gv-kolom--titel-regels h2 { font-size: 2.4rem; }
	.gv-stappen { column-gap: 32px; }
	.gv-stap__nummer { font-size: 2.5rem; }
	.gv-carrousel blockquote, .gv-citaat blockquote { font-size: 1.4rem; }
}

/* --- Mobiel -------------------------------------------------------------- */

@media (max-width: 767px) {
	.gv-hero__titel { font-size: 2.6rem; }

	.gv-kolom--titel-regels h1,
	.gv-kolom--titel-regels h2 { font-size: 1.85rem; line-height: 1.05; }

	.gv-sectie {
		padding-inline: var(--gv-padding-zij-mobiel, var(--gv-marge-zij-mobiel));
		padding-block: var(--gv-padding-boven-mobiel, var(--gv-padding-boven, 0)) var(--gv-padding-onder-mobiel, var(--gv-padding-onder, 0));
		margin-top: var(--gv-marge-boven-mobiel, 0);
		margin-bottom: var(--gv-marge-onder-mobiel, var(--gv-ritme-mobiel));
	}

	.gv-ruimte--standaard { margin-bottom: var(--gv-ritme-mobiel); }
	.gv-ruimte--compact   { margin-bottom: var(--gv-ritme-compact-mobiel); }

	.gv-ruimte--kader,
	.gv-ruimte--kader-klein,
	.gv-ruimte--kop { padding-inline: var(--gv-marge-zij-mobiel); }

	.gv-ruimte--kader,
	.gv-ruimte--kader-klein { padding-block: var(--gv-blok-mobiel-boven) var(--gv-blok-mobiel-onder); }
	.gv-ruimte--kop { padding-block: var(--gv-kop-mobiel-boven) var(--gv-kop-mobiel-onder); }

	.gv-sectie--eerste { margin-top: var(--gv-marge-boven-mobiel, var(--gv-ritme-eerste-mobiel)); }
	.gv-sectie--eerste.gv-ruimte--kader,
	.gv-sectie--eerste.gv-ruimte--kader-klein,
	.gv-sectie--eerste.gv-ruimte--kop { margin-top: 0; }

	.gv-rij,
	.gv-rij--beeld-rechts,
	.gv-rij--titel-tekst {
		flex-direction: var(--gv-richting-mobiel, column);
		flex-wrap: wrap;
		gap: var(--gv-gat-mobiel, 3rem);
	}

	.gv-kolom { width: var(--gv-tekst-mobiel, 100%); }
	.gv-kolom--beeld,
	.gv-kolom--herobeeld { width: var(--gv-beeld-mobiel, 100%); }

	.gv-kolom--plak { position: static; }

	.gv-rij--hero-project { row-gap: 2rem; }

	/* Op desktop staat het gat op 0; op mobiel geldt het ingestelde gat. */
	.gv-sectie--hero-split .gv-rij { gap: var(--gv-gat-mobiel, 2rem); }
	.gv-sectie--hero-video .gv-rij--hero { flex-direction: row; gap: 3rem; }
	.gv-kolom--hero-tekst { width: 100% !important; padding: 0; }
	.gv-kolom--hero-media { width: 70% !important; }
	.gv-video { min-height: 420px; }

	.gv-rij--beeld-links .gv-kolom--beeld,
	.gv-rij--beeld-rechts .gv-kolom--beeld { order: 0; }

	.gv-tegel { padding: 20px 10px; gap: 1rem; }
	.gv-tegel__tekst { width: 90%; }
	.gv-tegel__pijl { right: 10px; }

	.gv-stappen { grid-template-columns: 1fr; row-gap: 80px; }
	.gv-stap__nummer { font-size: 2.5rem; }

	.gv-sectie--referenties { gap: 1rem; }
	.gv-beeld--breed { height: var(--gv-beeld-hoogte-mobiel, auto); }
	.gv-carrousel blockquote, .gv-citaat blockquote { font-size: 1.25rem; }

	.gv-breed-kop { flex-direction: column; align-items: flex-start; gap: 2rem; margin-bottom: 2rem; }
	.gv-breed-kop .gv-tekst { width: 100%; }

	.gv-beeldenrij { gap: var(--gv-gat-mobiel, 1rem); }

	.gv-sectie--tekst .gv-tekst--kolommen-2 { columns: 1; }

	.gv-formulier__veld--half { flex: 0 0 100%; }


}

/* ==========================================================================
   Nieuwe opzet (lite-site, juni 2026) in de huisstijl van het thema
   Opbouw en interactie uit de lite-site; letters, knoppen, kleuren en
   beeldanimaties uit het thema. Toegevoegd 17-9-2026.
   ========================================================================== */

/* --- Gekleurde banden ---------------------------------------------------- */

.gv-sectie.gv-band {
	margin-bottom: 0;
	padding-block: var(--gv-band);
}

.gv-band--papier { background: var(--gv-papier); }

.gv-band--navy {
	background: var(--gv-navy);
	color: var(--gv-wit);
}

.gv-band--navy h1,
.gv-band--navy h2,
.gv-band--navy h3 { color: var(--gv-wit); }

.gv-band--navy .gv-subtitel,
.gv-band--navy .gv-accent { color: var(--gv-taupe-zacht); }

.gv-band--navy .gv-tekst { color: rgba(255, 255, 255, .8); }

/* Witte secties rond een band: compacter ritme, zoals in de nieuwe opzet. */
.gv-sectie:not(.gv-band):not(.gv-sectie--hero-beeld):has(+ .gv-band) { margin-bottom: var(--gv-ritme-compact); }
.gv-band + .gv-sectie:not(.gv-band),
.gv-sectie--hero-beeld + .gv-sectie:not(.gv-band) { margin-top: var(--gv-ritme-compact); }

/* --- Kop in het midden --------------------------------------------------- */

.gv-sectiekop {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 1.5rem;
	max-width: 820px;
	margin: 0 auto 4rem;
	text-align: center;
}

.gv-sectiekop .gv-koppen { align-items: center; }
.gv-sectiekop h2 { font-size: var(--gv-h2); }
.gv-sectiekop .gv-tekst { max-width: 60ch; }

/* --- Raster -------------------------------------------------------------- */

.gv-raster {
	display: grid;
	grid-template-columns: repeat(var(--gv-kolommen, 3), minmax(0, 1fr));
	gap: 1.25rem;
}

.gv-raster--1 { --gv-kolommen: 1; }
.gv-raster--2 { --gv-kolommen: 2; }
.gv-raster--3 { --gv-kolommen: 3; }
.gv-raster--4 { --gv-kolommen: 4; }

/* Gestaffeld verschijnen; na afloop reageert hover direct. */
.gv-reveal.is-zichtbaar:not(.is-klaar) { transition-delay: var(--gv-vertraging, 0ms); }

/* --- Hero over de volle breedte ------------------------------------------ */

.gv-sectie.gv-sectie--hero-beeld {
	margin: 0;
	padding: 0;
}

.gv-hero-beeld {
	position: relative;
	display: flex;
	align-items: center;
	min-height: clamp(560px, calc(100svh - var(--gv-h-header)), 880px);
	overflow: hidden;
	background: var(--gv-navy-diep);
	color: var(--gv-wit);
}

.gv-hero-beeld__media {
	position: absolute;
	inset: 0;
}

.gv-hero-beeld__foto {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.gv-hero-beeld__video {
	position: absolute;
	top: 50%;
	left: 50%;
	width: max(100%, calc(100svh * 16 / 9));
	height: max(100%, 56.25vw);
	transform: translate(-50%, -50%);
	border: 0;
	pointer-events: none;
}

.gv-hero-beeld__waas {
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, rgba(0, 22, 66, .86) 0%, rgba(0, 22, 66, .55) 45%, rgba(0, 22, 66, .25) 100%);
}

.gv-hero-beeld__inhoud {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 2rem;
	width: 100%;
	padding: 5rem max(var(--gv-marge-zij), calc((100% - var(--gv-breedte-inhoud)) / 2));
	animation: gv-omhoog 1.1s cubic-bezier(.22, 1, .36, 1) .15s both;
}

.gv-hero-beeld__inhoud > * { max-width: 780px; }

.gv-hero-beeld h1 {
	font-size: var(--gv-h1);
	line-height: 1;
	color: var(--gv-wit);
}

.gv-hero-beeld .gv-subtitel {
	font-size: var(--gv-subtitel);
	letter-spacing: .12em;
	color: var(--gv-taupe-zacht);
}

.gv-hero-beeld .gv-accent { color: var(--gv-taupe-zacht); }

.gv-hero-beeld .gv-tekst {
	max-width: 50ch;
	color: rgba(255, 255, 255, .88);
}

.gv-hero-beeld .gv-knoppen { padding-top: .5rem; }

@keyframes gv-omhoog {
	from { opacity: 0; transform: translateY(28px); }
	to { opacity: 1; transform: none; }
}

/* --- Keuzekaarten -------------------------------------------------------- */

.gv-keuzekaart {
	display: flex;
	flex-direction: column;
	gap: 1rem;
	padding: 2.5rem 2.25rem;
	border: 1px solid var(--gv-lijn-licht);
	border-radius: var(--gv-radius);
	background: var(--gv-wit);
	transition: opacity .9s cubic-bezier(.22, 1, .36, 1), transform .35s ease, background-color .3s ease, border-color .3s ease;
}

.gv-band--navy .gv-keuzekaart {
	border-color: var(--gv-lijn-navy);
	background: rgba(255, 255, 255, .03);
}

a.gv-keuzekaart:hover,
a.gv-keuzekaart:focus-visible {
	transform: translateY(-4px);
	border-color: var(--gv-taupe);
}

.gv-band--navy a.gv-keuzekaart:hover,
.gv-band--navy a.gv-keuzekaart:focus-visible { background: rgba(255, 255, 255, .08); }

.gv-keuzekaart__nummer {
	font-family: var(--gv-font-kop);
	font-size: 1rem;
	font-weight: 200;
	letter-spacing: .12em;
	color: var(--gv-taupe);
}

.gv-band--navy .gv-keuzekaart__nummer,
.gv-band--navy .gv-keuzekaart__verder { color: var(--gv-taupe-zacht); }

.gv-keuzekaart__titel { font-size: var(--gv-h3); }

.gv-keuzekaart__tekst {
	flex: 1;
	margin: 0;
	font-size: var(--gv-body);
	line-height: 1.8;
	color: var(--gv-tekst-zacht);
}

.gv-band--navy .gv-keuzekaart__tekst { color: rgba(255, 255, 255, .72); }

.gv-keuzekaart__verder {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	font-family: var(--gv-font-kop);
	font-size: .9rem;
	font-weight: 200;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--gv-taupe);
}

/* Optioneel beeld: loopt tot de rand van de kaart, boven het nummer. */
.gv-keuzekaart:has(.gv-keuzekaart__beeld) { overflow: hidden; }

.gv-keuzekaart__beeld {
	display: block;
	margin: -2.5rem -2.25rem .75rem;
	aspect-ratio: 3 / 2;
	overflow: hidden;
}

.gv-keuzekaart__beeld img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .7s cubic-bezier(.22, 1, .36, 1);
}

a.gv-keuzekaart:hover .gv-keuzekaart__beeld img,
a.gv-keuzekaart:focus-visible .gv-keuzekaart__beeld img { transform: scale(1.04); }

.gv-keuzekaart__verder svg { width: 12px; height: auto; transition: transform .3s ease; }
.gv-keuzekaart__verder svg g { stroke: currentColor; }
a.gv-keuzekaart:hover .gv-keuzekaart__verder svg { transform: translateX(4px); }

/* --- Introductie met citaat ---------------------------------------------- */

.gv-intro-citaat {
	display: grid;
	grid-template-columns: 1.1fr .9fr;
	gap: min(7vw, 7rem);
	align-items: center;
}

.gv-intro-citaat--beeld-links .gv-intro-citaat__beeld { order: -1; }

.gv-intro-citaat__tekst {
	display: flex;
	flex-direction: column;
	gap: 2rem;
}

.gv-intro-citaat__tekst h1,
.gv-intro-citaat__tekst h2 { font-size: var(--gv-h2); }

.gv-intro-citaat__citaat {
	padding-left: 1.5rem;
	border-left: 2px solid var(--gv-taupe);
	font-family: var(--gv-font-tekst);
	font-size: clamp(1.2rem, 1.6vw, 1.45rem);
	font-style: normal;
	line-height: 1.4;
	color: var(--gv-navy);
}

.gv-band--navy .gv-intro-citaat__citaat { color: var(--gv-wit); }

.gv-intro-citaat__tekst .gv-knoppen { padding-top: 0; }

.gv-intro-citaat__beeld .gv-beeld {
	aspect-ratio: 4 / 5;
	border-radius: var(--gv-radius);
}

/* --- Fotokaarten --------------------------------------------------------- */

.gv-fotokaart {
	position: relative;
	display: block;
	aspect-ratio: 16 / 10;
	overflow: hidden;
	border-radius: var(--gv-radius);
	background: var(--gv-navy);
}

.gv-raster--3 .gv-fotokaart { aspect-ratio: 4 / 5; }

.gv-fotokaart__beeld {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	opacity: .9;
	transition: transform .7s cubic-bezier(.22, 1, .36, 1), opacity .35s ease;
}

a.gv-fotokaart:hover .gv-fotokaart__beeld,
a.gv-fotokaart:focus-visible .gv-fotokaart__beeld {
	transform: scale(1.05);
	opacity: .75;
}

.gv-fotokaart__bijschrift {
	position: absolute;
	inset: 0;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	gap: .35rem;
	padding: 2rem;
	background: linear-gradient(0deg, rgba(0, 22, 66, .85) 0%, rgba(0, 22, 66, 0) 65%);
	color: var(--gv-wit);
}

.gv-fotokaart__titel {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	font-family: var(--gv-font-kop);
	font-size: clamp(1.05rem, 1.3vw, 1.25rem);
	font-weight: 200;
	line-height: 1.2;
	text-transform: uppercase;
}

.gv-fotokaart__titel svg { width: 14px; height: auto; transition: transform .3s ease; }
.gv-fotokaart__titel svg g { stroke: #fff; }
a.gv-fotokaart:hover .gv-fotokaart__titel svg { transform: translateX(5px); }

.gv-fotokaart__tekst {
	font-family: var(--gv-font-tekst);
	font-size: .98rem;
	line-height: 1.6;
	color: rgba(255, 255, 255, .85);
}

/* --- Punten in een raster ------------------------------------------------ */

.gv-punten { gap: 3rem 2.5rem; }

.gv-punt {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.gv-punt__streep {
	display: block;
	width: 40px;
	height: 1.5px;
	margin-bottom: .5rem;
	background: var(--gv-taupe);
}

.gv-punt__titel {
	font-size: clamp(1rem, 1.15vw, 1.15rem);
	line-height: 1.25;
}

.gv-punt__tekst {
	margin: 0;
	font-size: var(--gv-body);
	line-height: 1.8;
	color: var(--gv-tekst-zacht);
}

.gv-band--navy .gv-punt__tekst { color: rgba(255, 255, 255, .72); }

/* --- Merken met beeld ---------------------------------------------------- */

.gv-merkenband {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: min(6vw, 6rem);
	align-items: center;
}

.gv-merkenband--beeld-links .gv-merkenband__beeld { order: -1; }

.gv-merkenband__tekst {
	display: flex;
	flex-direction: column;
	gap: 2rem;
}

.gv-merkenband__tekst h2 { font-size: var(--gv-h2); }
.gv-merkenband__tekst .gv-knoppen { padding-top: 0; }

.gv-merkenband__beeld .gv-beeld {
	aspect-ratio: 3 / 2;
	border-radius: var(--gv-radius);
}

.gv-labels {
	display: flex;
	flex-wrap: wrap;
	gap: .6rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.gv-label {
	display: inline-block;
	padding: .5rem 1.1rem;
	border: 1px solid var(--gv-lijn-licht);
	border-radius: 50px;
	font-family: var(--gv-font-kop);
	font-size: .85rem;
	font-weight: 200;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--gv-navy);
	transition: background-color .3s ease, border-color .3s ease, color .3s ease;
}

.gv-band--navy .gv-label {
	border-color: var(--gv-lijn-navy);
	color: var(--gv-taupe-zacht);
}

a.gv-label:hover,
a.gv-label:focus-visible {
	background: var(--gv-taupe);
	border-color: var(--gv-taupe);
	color: var(--gv-navy);
}

/* --- Nieuwe opzet: tablet en mobiel -------------------------------------- */

@media (max-width: 1024px) {
	.gv-raster--4 { --gv-kolommen: 2; }
	.gv-raster--3 { --gv-kolommen: 2; }
	.gv-intro-citaat,
	.gv-merkenband { gap: 4rem; }
}

@media (max-width: 767px) {
	.gv-raster--2,
	.gv-raster--3 { --gv-kolommen: 1; }
	.gv-raster--4 { --gv-kolommen: 1; }

	.gv-sectiekop { margin-bottom: 2.5rem; gap: 1rem; }

	.gv-intro-citaat,
	.gv-merkenband {
		grid-template-columns: 1fr;
		gap: 3rem;
	}

	.gv-intro-citaat--beeld-links .gv-intro-citaat__beeld,
	.gv-merkenband--beeld-links .gv-merkenband__beeld { order: 0; }

	.gv-hero-beeld { min-height: 78svh; }
	.gv-hero-beeld__inhoud { padding: 4rem var(--gv-marge-zij-mobiel); gap: 1.5rem; }
	.gv-hero-beeld h1 { font-size: var(--gv-h1); }
	.gv-hero-beeld__waas { background: linear-gradient(0deg, rgba(0, 22, 66, .9) 0%, rgba(0, 22, 66, .45) 100%); }
	.gv-hero-beeld .gv-knoppen .gv-knop { width: 100%; justify-content: center; }

	.gv-keuzekaart { padding: 2rem 1.5rem; }
	.gv-keuzekaart__beeld { margin: -2rem -1.5rem .5rem; }
	.gv-fotokaart,
	.gv-raster--3 .gv-fotokaart { aspect-ratio: 4 / 3; }
	.gv-fotokaart__bijschrift { padding: 1.5rem; }
	.gv-punten { gap: 2.5rem; }
}

@media (prefers-reduced-motion: reduce) {
	.gv-hero-beeld__inhoud { animation: none; }
	.gv-fotokaart__beeld,
	.gv-keuzekaart,
	.gv-keuzekaart__beeld img { transition: none; }
}

/* --- Kruimelpad ---------------------------------------------------------- */
/* Eigen strook in warm papier onder de header: goed vindbaar, rustig van toon. */

.gv-kruimelpad {
	padding: .95rem max(var(--gv-marge-zij), calc((100% - var(--gv-breedte-inhoud)) / 2));
	background: var(--gv-papier);
	border-bottom: 1px solid var(--gv-lijn-licht);
}

.gv-kruimelpad ol {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: .35rem .75rem;
	margin: 0;
	padding: 0;
	list-style: none;
	font-family: var(--gv-font-kop);
	font-size: .75rem;
	font-weight: 400;
	letter-spacing: .16em;
	line-height: 1.5;
	text-transform: uppercase;
	color: var(--gv-tekst-zacht);
}

.gv-kruimelpad li { display: inline-flex; align-items: center; gap: .75rem; }
.gv-kruimelpad li + li::before {
	content: "";
	width: 5px;
	height: 5px;
	border-top: 1px solid var(--gv-taupe);
	border-right: 1px solid var(--gv-taupe);
	transform: rotate(45deg);
}

.gv-kruimelpad a {
	color: var(--gv-tekst-zacht);
	text-decoration: underline;
	text-decoration-color: transparent;
	text-underline-offset: 4px;
	transition: color .25s ease, text-decoration-color .25s ease;
}

.gv-kruimelpad a:hover,
.gv-kruimelpad a:focus-visible { color: var(--gv-navy); text-decoration-color: var(--gv-taupe); }

.gv-kruimelpad [aria-current] { color: var(--gv-navy); }

/* Onder het kruimelpad hoeft de eerste sectie minder ruimte. */
.gv-kruimelpad + script + .gv-sectie--eerste,
.gv-kruimelpad + .gv-sectie--eerste { margin-top: var(--gv-ritme-eerste); }

@media (max-width: 767px) {
	.gv-kruimelpad { padding: .75rem var(--gv-marge-zij-mobiel); }
	.gv-kruimelpad ol { font-size: .75rem; letter-spacing: .1em; gap: .25rem .5rem; }
	.gv-kruimelpad li { gap: .5rem; }
}

/* --- Producten uit de webshop -------------------------------------------- */

.gv-productkop {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: space-between;
	gap: 2rem;
	margin-bottom: 3.5rem;
}

.gv-productkop h2 { font-size: var(--gv-h2); }

.gv-producten {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 2.5rem 1.5rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.gv-product__link {
	display: flex;
	flex-direction: column;
	gap: .5rem;
}

.gv-product__beeld {
	display: block;
	aspect-ratio: 4 / 5;
	margin-bottom: .75rem;
	overflow: hidden;
	border-radius: var(--gv-radius);
	background: var(--gv-papier);
}

.gv-band--papier .gv-product__beeld { background: var(--gv-wit); }

.gv-product__beeld img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .7s cubic-bezier(.22, 1, .36, 1);
}

a.gv-product__link:hover .gv-product__beeld img,
a.gv-product__link:focus-visible .gv-product__beeld img { transform: scale(1.04); }

.gv-product__collectie {
	font-family: var(--gv-font-kop);
	font-size: .8rem;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--gv-taupe);
}

.gv-product__naam {
	font-family: var(--gv-font-tekst);
	font-size: 1rem;
	line-height: 1.5;
	color: var(--gv-navy);
}

a.gv-product__link:hover .gv-product__naam { text-decoration: underline; text-underline-offset: 3px; }

/* Lijstjes in lopende tekst: taupe streepje in plaats van een bolletje. */
.gv-sectie .gv-tekst ul:not([class]) {
	margin: 1.25rem 0 0;
	padding: 0;
	list-style: none;
}

.gv-sectie .gv-tekst ul:not([class]) li {
	position: relative;
	padding: .35rem 0 .35rem 1.75rem;
}

.gv-sectie .gv-tekst ul:not([class]) li::before {
	content: "";
	position: absolute;
	top: 1.15em;
	left: 0;
	width: 1rem;
	height: 1px;
	background: var(--gv-taupe);
}

@media (max-width: 1024px) {
	.gv-producten { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 767px) {
	.gv-productkop { margin-bottom: 2rem; }
	.gv-producten { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2rem 1rem; }
	.gv-product__naam { font-size: .95rem; }
}

/* ==========================================================================
   Vast raster (17-9-2026)
   Elke tweekoloms sectie gebruikt twee gelijke kolommen met hetzelfde gat, zodat
   linker- en rechterkolom op de hele site op dezelfde lijnen beginnen. Breedtes
   uit de oude Elementor-data (tekst_breedte, beeld_breedte, kolom_gat) tellen op
   desktop niet meer mee.
   ========================================================================== */

@media (min-width: 768px) {
	.gv-rij:not(.gv-rij--hero-project):not(.gv-rij--hero),
	.gv-intro-citaat,
	.gv-merkenband {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 0 var(--gv-raster-gat);
		align-items: center;
	}

	.gv-rij:not(.gv-rij--hero-project):not(.gv-rij--hero) > .gv-kolom {
		width: auto;
		min-width: 0;
	}

	.gv-rij > .gv-kolom:only-child { grid-column: 1 / -1; }

	/* Kop links en tekst rechts: beide bovenaan, zodat de eerste regels gelijk lopen. */
	.gv-rij--titel-tekst,
	.gv-sectie--faq .gv-rij,
	.gv-sectie--formulier .gv-rij,
	.gv-sectie--contact .gv-rij,
	.gv-sectie--projecten .gv-rij { align-items: start; }

	/* Lopende tekst op een prettige regellengte, links op de kolomlijn. */
	.gv-rij .gv-kolom > .gv-tekst,
	.gv-rij .gv-kolom > .gv-koppen + .gv-tekst,
	.gv-intro-citaat__tekst > .gv-tekst,
	.gv-merkenband__tekst > .gv-tekst { max-width: var(--gv-leesbreedte); }

	/* Beelden vullen hun kolom en hebben een vaste verhouding. */
	.gv-rij .gv-kolom--beeld .gv-beeld,
	.gv-intro-citaat__beeld .gv-beeld {
		width: 100%;
		aspect-ratio: 4 / 5;
		max-height: 80vh;
	}

	.gv-sectie--hero-kop .gv-kolom--beeld .gv-beeld,
	.gv-merkenband__beeld .gv-beeld,
	.gv-sectie--cta .gv-kolom--beeld .gv-beeld { aspect-ratio: 4 / 3; }

	.gv-rij .gv-kolom--beeld .gv-beeld img { height: 100%; }

	/* De hero met kop boven: kop over de volle breedte, daaronder hetzelfde raster. */
	.gv-sectie--hero-kop .gv-rij { align-items: start; }
}

/* Mobiel: alles onder elkaar en over de volle breedte, beeld en tekst gelijk uitgelijnd. */
@media (max-width: 767px) {
	.gv-rij,
	.gv-rij--beeld-rechts,
	.gv-rij--titel-tekst {
		flex-direction: column;
		flex-wrap: nowrap;
		align-items: stretch;
		gap: 2rem;
	}

	.gv-rij > .gv-kolom,
	.gv-rij > .gv-kolom--beeld,
	.gv-rij > .gv-kolom--herobeeld { width: 100%; }

	.gv-sectie--hero-video .gv-rij--hero { flex-direction: row; }
}

/* Zijmarges: één lijn voor alle secties, ook kaders en secties met oude eigen marges. */
.gv-sectie.gv-sectie:not(.gv-sectie--hero-beeld) {
	padding-inline: max(var(--gv-marge-zij), calc((100% - var(--gv-breedte-inhoud)) / 2));
}

@media (max-width: 767px) {
	.gv-sectie.gv-sectie:not(.gv-sectie--hero-beeld) { padding-inline: var(--gv-marge-zij-mobiel); }
}

/* --- Merken per categorie ------------------------------------------------ */

.gv-merkgroepen {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 3.5rem var(--gv-raster-gat);
}

.gv-merkgroep {
	padding-top: 1.5rem;
	border-top: 1px solid var(--gv-taupe);
}

.gv-merkgroep__titel {
	margin-bottom: 1.25rem;
	font-size: .82rem;
	font-weight: 400;
	letter-spacing: .2em;
	color: var(--gv-taupe);
}

.gv-merkgroep__titel a:hover { color: var(--gv-navy); }

.gv-merkgroep__lijst {
	display: flex;
	flex-direction: column;
	margin: 0;
	padding: 0;
	list-style: none;
}

.gv-merk {
	display: flex;
	align-items: center;
	gap: 1rem;
	padding: .6rem 0;
	border-bottom: 1px solid var(--gv-lijn-licht);
	font-family: var(--gv-font-tekst);
	font-size: 1rem;
	line-height: 1.35;
	color: var(--gv-tekst-zacht);
}

.gv-merk__beeld {
	flex: none;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	object-fit: cover;
	background: var(--gv-wit);
}

.gv-merk__beeld--letters {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 1px solid var(--gv-lijn-licht);
	font-family: var(--gv-font-kop);
	font-size: .72rem;
	letter-spacing: .08em;
	color: var(--gv-taupe);
}

.gv-merk__naam { flex: 1; }

a.gv-merk { color: var(--gv-navy); }

a.gv-merk::after {
	content: "";
	width: 6px;
	height: 6px;
	border-top: 1px solid var(--gv-taupe);
	border-right: 1px solid var(--gv-taupe);
	transform: rotate(45deg);
	transition: transform .25s ease;
}

a.gv-merk:hover .gv-merk__naam { color: var(--gv-taupe); }
a.gv-merk:hover::after { transform: translateX(3px) rotate(45deg); }
a.gv-merk .gv-merk__beeld { transition: transform .35s ease; }
a.gv-merk:hover .gv-merk__beeld { transform: scale(1.06); }

@media (max-width: 1024px) {
	.gv-merkgroepen { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 767px) {
	.gv-merkgroepen { grid-template-columns: 1fr; gap: 2.5rem; }
}

/* ==========================================================================
   Stijlcombinatie live en nieuwe opzet, voor alle pagina's (17-9-2026)
   Live: wit, ruime Oskar-koppen, tegels en lijnen. Nieuw: warm papier en navy
   als banden, taupe streepjes, kaarten. De sectie bepaalt de band (helpers.php).
   ========================================================================== */

/* Punten (Waarom Gaivota) met het taupe streepje uit de nieuwe opzet. */
.gv-usp__titel::before {
	content: "";
	display: block;
	width: 40px;
	height: 1.5px;
	margin-bottom: 1rem;
	background: var(--gv-taupe);
}

.gv-usp { gap: 1rem; }
.gv-usp-lijst { gap: 2.5rem; }

/* Werkwijze in een navy band. */
.gv-band--navy .gv-stap__nummer { color: var(--gv-taupe-zacht); border-bottom-color: var(--gv-lijn-navy); }
.gv-band--navy .gv-stap__titel { color: var(--gv-wit); }

/* Knoppen op navy. */
.gv-band--navy .gv-knop { border-color: rgba(255, 255, 255, .7); color: var(--gv-wit); }
.gv-band--navy .gv-knop svg g { stroke: #fff; }
.gv-band--navy .gv-knop:hover,
.gv-band--navy .gv-knop:focus-visible { background: var(--gv-wit); border-color: var(--gv-wit); color: var(--gv-navy); }
.gv-band--navy .gv-knop:hover svg g { stroke: #001C55; }

/* Referenties en citaten op papier. */
.gv-band--papier .gv-carrousel__knop { background: transparent; }

/* Tegels (live) met de hover uit de nieuwe opzet: zachte achtergrond in plaats van vol taupe. */
a.gv-tegel:hover { background-color: var(--gv-papier); }
a.gv-tegel:hover .gv-tegel__titel { color: var(--gv-navy); }
a.gv-tegel:hover .gv-tegel__tekst { color: var(--gv-tekst-zacht); }
a.gv-tegel:hover .gv-tegel__pijl svg g { stroke: #BAA68D; }

/* --- Galerij (masonry) --------------------------------------------------- */

.gv-galerij {
	columns: var(--gv-galerij-kolommen, 3);
	column-gap: 1.25rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.gv-galerij--2 { --gv-galerij-kolommen: 2; }
.gv-galerij--3 { --gv-galerij-kolommen: 3; }
.gv-galerij--4 { --gv-galerij-kolommen: 4; }

.gv-galerij__item {
	break-inside: avoid;
	margin-bottom: 1.25rem;
}

.gv-galerij__knop {
	display: block;
	width: 100%;
	padding: 0;
	overflow: hidden;
	border: 0;
	border-radius: 0; /* beelden zijn overal recht */
	background: var(--gv-papier);
	cursor: zoom-in;
}

.gv-band--papier .gv-galerij__knop { background: var(--gv-wit); }

.gv-galerij__knop img {
	display: block;
	width: 100%;
	height: auto;
	transition: transform .7s cubic-bezier(.22, 1, .36, 1), opacity .3s ease;
}

.gv-galerij__knop:hover img,
.gv-galerij__knop:focus-visible img { transform: scale(1.03); opacity: .92; }

/* Bijschrift gelijk aan de productnaam in het productraster. */
.gv-galerij__tekst {
	display: block;
	padding-top: .75rem;
	font-family: var(--gv-font-tekst);
	font-size: 1rem;
	line-height: 1.5;
	color: var(--gv-navy);
}

.gv-band--navy .gv-galerij__tekst { color: rgba(255, 255, 255, .8); }

/* Vergroting */
.gv-lightbox {
	width: 100vw;
	max-width: none;
	height: 100vh;
	max-height: none;
	margin: 0;
	padding: 4rem 5rem;
	border: 0;
	background: rgba(1, 4, 11, .92);
	color: var(--gv-wit);
}

.gv-lightbox[open] { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 1rem; }
.gv-lightbox::backdrop { background: transparent; }

.gv-lightbox img {
	max-width: 100%;
	max-height: calc(100vh - 10rem);
	object-fit: contain;
}

.gv-lightbox__tekst { font-family: var(--gv-font-tekst); font-size: .95rem; color: rgba(255, 255, 255, .8); }

.gv-lightbox button {
	position: absolute;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	padding: 0;
	border: 1px solid rgba(255, 255, 255, .5);
	border-radius: 50%;
	background: transparent;
	color: var(--gv-wit);
	font-size: 1.4rem;
	line-height: 1;
	cursor: pointer;
}

.gv-lightbox button:hover,
.gv-lightbox button:focus-visible { background: var(--gv-wit); color: var(--gv-navy); }

.gv-lightbox__sluit { top: 1.5rem; right: 1.5rem; }
.gv-lightbox__vorige { left: 1.5rem; top: 50%; transform: translateY(-50%); }
.gv-lightbox__volgende { right: 1.5rem; top: 50%; transform: translateY(-50%); }

@media (max-width: 1024px) {
	.gv-galerij--4 { --gv-galerij-kolommen: 3; }
}

@media (max-width: 767px) {
	.gv-galerij { --gv-galerij-kolommen: 2; column-gap: .75rem; }
	.gv-galerij__item { margin-bottom: .75rem; }
	.gv-lightbox { padding: 4rem 1rem; }
	.gv-lightbox__vorige,
	.gv-lightbox__volgende { top: auto; bottom: 1.5rem; transform: none; }
}


/* --- Gravity Forms in de huisstijl (21-9-2026) --------------------------- */
/* De plugin levert eigen opmaak; hieronder krijgt die dezelfde velden, knop en
   meldingen als het eigen formulier van het thema. */

.gv-formulier--gf .gform_wrapper { margin: 0; }

/* De CSS van de plugin staat uit (Formulieren > Instellingen). Dus verbergen we hier
   zelf wat verborgen hoort te blijven: honeypot, verborgen velden en de spinner. */
.gv-formulier--gf .gform_validation_container,
.gv-formulier--gf .gfield--type-honeypot,
.gv-formulier--gf .gform_hidden,
.gv-formulier--gf .gfield_visibility_hidden,
.gv-formulier--gf .screen-reader-text { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }

.gv-formulier .gform_required_legend { display: none; }

.gv-formulier--gf .gform_ajax_spinner { width: 18px; height: 18px; margin-left: .75rem; vertical-align: middle; }
.gv-formulier--gf .gform_wrapper form { margin: 0; }

.gv-formulier--gf .gform_fields {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1.75rem 2rem;
}

.gv-formulier--gf .gfield { grid-column: span 2; }
.gv-formulier--gf .gfield--width-half { grid-column: span 1; }

.gv-formulier .gfield_label,
.gv-formulier legend.gfield_label {
	display: block;
	margin-bottom: .5rem;
	font-family: var(--gv-font-tekst);
	font-size: var(--gv-body);
	font-weight: 400;
	line-height: 1.6;
	color: var(--gv-tekst);
}

.gv-formulier--gf .gfield_required { color: var(--gv-taupe); }

.gv-formulier--gf ::placeholder { color: rgba(4, 23, 59, .55); }

.gv-formulier--gf .gform_footer { margin: 2rem 0 0; padding: 0; }

.gv-formulier .gform_button {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 12px 25px;
	border: 2px solid var(--gv-accent);
	border-radius: 50px;
	background: transparent;
	color: var(--gv-navy);
	font-family: var(--gv-font-kop);
	font-size: var(--gv-knop);
	font-weight: 200;
	letter-spacing: .05em;
	line-height: 1;
	text-transform: uppercase;
	cursor: pointer;
	transition: background-color .3s ease-in-out, color .3s ease-in-out;
}

.gv-formulier .gform_button:hover,
.gv-formulier .gform_button:focus-visible { background: var(--gv-navy); border-color: var(--gv-navy); color: var(--gv-wit); }

/* Meldingen en fouten */
.gv-formulier--gf .gform_confirmation_message,
.gv-formulier--gf .gform_submission_error,
.gv-formulier--gf .validation_error {
	padding: 1rem;
	border: 1px solid var(--gv-taupe);
	background: transparent;
	font-family: var(--gv-font-tekst);
	font-size: var(--gv-body);
	color: var(--gv-tekst);
}

.gv-formulier--gf .gform_submission_error,
.gv-formulier--gf .validation_error { border-color: #a3312f; color: #a3312f; }

.gv-formulier--gf .gfield_validation_message,
.gv-formulier--gf .gfield_description.validation_message {
	margin-top: .4rem;
	padding: 0;
	border: 0;
	background: transparent;
	font-family: var(--gv-font-tekst);
	font-size: .9rem;
	color: #a3312f;
}

.gv-formulier .gfield_error input,
.gv-formulier .gfield_error select,
.gv-formulier .gfield_error textarea { border-color: #a3312f; }

/* Op een navy band: witte labels en een witte knoprand, velden blijven wit. */
.gv-band--navy .gv-formulier label,
.gv-band--navy .gv-formulier .gfield_label,
.gv-band--navy .gv-formulier .gform_confirmation_message { color: var(--gv-wit); }

.gv-band--navy .gv-formulier .gform_button,
.gv-band--navy .gv-formulier .gv-knop--verzend { border-color: var(--gv-wit); color: var(--gv-wit); }
.gv-band--navy .gv-formulier .gform_button:hover,
.gv-band--navy .gv-formulier .gv-knop--verzend:hover { background: var(--gv-wit); color: var(--gv-navy); }

@media (max-width: 767px) {
	.gv-formulier--gf .gform_fields { grid-template-columns: 1fr; gap: 1.5rem; }
	/* Ook de volle velden terug naar één kolom, anders maakt de browser een tweede kolom bij. */
	.gv-formulier--gf .gfield,
	.gv-formulier--gf .gfield--width-half { grid-column: span 1; }
}

/* Merkenfoto (staand) in de liggende merkenband: uitsnede op gordijnband, schaal en kussens. */
.gv-merkenband__beeld img[src*="Merken_stoffen_kussens_goud"] { object-position: center 82%; }

/* Eigen MP4 (hero-reel): vult het vlak; verschijnt zacht zodra hij speelt, tot dan staat het posterbeeld er. */
.gv-hero-beeld__mp4 {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	opacity: 0;
	transition: opacity .8s ease;
}

.gv-hero-beeld__mp4.is-spelend { opacity: 1; }
.gv-hero-beeld:has(.gv-hero-beeld__mp4) .gv-hero-beeld__inhoud { z-index: 1; }
/* Bij de hero-reel een lichtere waas, zodat de beelden voelbaar blijven; tekst blijft leesbaar. */
.gv-hero-beeld:has(.gv-hero-beeld__mp4) .gv-hero-beeld__waas {
	background: linear-gradient(90deg, rgba(0, 22, 66, .72) 0%, rgba(0, 22, 66, .38) 42%, rgba(0, 22, 66, .08) 75%, rgba(0, 22, 66, 0) 100%);
}

@media (max-width: 767px) {
	.gv-hero-beeld:has(.gv-hero-beeld__mp4) .gv-hero-beeld__waas {
		background: linear-gradient(180deg, rgba(0, 22, 66, .25) 0%, rgba(0, 22, 66, .58) 32%, rgba(0, 22, 66, .58) 72%, rgba(0, 22, 66, .3) 100%);
	}
}

/* Home v2 (presentatie): uitspraak in een smalle, rustige kolom. */
.page-id-5494 .gv-sectie--statement .gv-tekst { max-width: 40rem; margin-inline: auto; }
/* Mobiel: knoppen en merklabels in de inhoud minstens 44 px hoog (makkelijk te tikken). */
@media (max-width: 767px) {
	main .gv-knop,
	main .gv-label { min-height: 44px; display: inline-flex; align-items: center; }
}

/* Hero met beeld ernaast: een tussenkop (h2) in de tekst als rustige tweede kop. */
.gv-sectie--hero-split .gv-tekst h2 { font-size: clamp(1.2rem, 1rem + 0.8vw, 1.6rem); line-height: 1.25; margin: 1.5rem 0 1rem; }
.gv-sectie--hero-split .gv-tekst h2:first-child { margin-top: 0.5rem; }


/* Regio-regel boven de footer: links naar de werkgebiedpagina's, bewust rustig (21-10-2026). */
.gv-regio { border-top: 1px solid var(--gv-lijn-licht); padding: 2.5rem var(--gv-marge-zij); }
.gv-regio__binnen { max-width: 72rem; margin-inline: auto; display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: .25rem 1.5rem; }
.gv-regio__kop { font-family: var(--gv-font-kop); font-size: .85rem; letter-spacing: .16em; text-transform: uppercase; color: var(--gv-taupe); margin-right: .5rem; }
.gv-regio__lijst { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; justify-content: center; gap: 0 1.25rem; }
.gv-regio__lijst a { font-family: var(--gv-font-tekst); font-size: 1rem; color: var(--gv-tekst-zacht); text-decoration: none; display: inline-flex; align-items: center; min-height: 44px; }
.gv-regio__lijst a:hover, .gv-regio__lijst a:focus-visible { color: var(--gv-navy); text-decoration: underline; text-underline-offset: .25em; }
@media (max-width: 767px) {
	.gv-regio { padding: 2rem var(--gv-marge-zij-mobiel); }
	.gv-regio__kop { flex-basis: 100%; text-align: center; margin: 0 0 .25rem; }
	.gv-regio__lijst { gap: 0 1rem; }
}
/* Hero met beeld (eerste sectie): schermvullend, ook op mobiel (24-10-2026).
   100lvh = de volle schermhoogte, ook achter de doorzichtige balken van Safari; met 100svh liep de volgende
   (navy) sectie daar zichtbaar onderdoor ("blauwe rand"). Het scrollteken staat net boven de balk. */
@media (max-width: 767px) {
	.gv-sectie--eerste .gv-hero-beeld,
	.gv-header--transparant ~ main .gv-sectie--eerste .gv-hero-beeld { min-height: 100vh; min-height: 100lvh; }
	.gv-sectie--eerste .gv-hero-beeld__inhoud { padding-bottom: calc(4rem + (100lvh - 100svh)); }
}
.gv-sectie--eerste .gv-hero-beeld::after {
	content: ""; position: absolute; left: 50%; bottom: calc(1.25rem + (100lvh - 100svh)); z-index: 2; width: 1px; height: 2.75rem;
	background: linear-gradient(to bottom, rgba(255, 255, 255, 0), rgba(255, 255, 255, .85));
	transform-origin: top; animation: gv-scrollteken 2.4s ease-in-out infinite; pointer-events: none;
}
@keyframes gv-scrollteken { 0% { transform: scaleY(0); opacity: 0; } 40% { opacity: 1; } 100% { transform: scaleY(1); opacity: 0; } }
@media (prefers-reduced-motion: reduce) { .gv-sectie--eerste .gv-hero-beeld::after { animation: none; opacity: .7; } }


/* Kijk binnen (24-10-2026): fotokaart als knop die de ruimtes van een woning opent. */
button.gv-fotokaart { border: 0; padding: 0; margin: 0; background: none; color: inherit; font: inherit; text-align: left; cursor: pointer; width: 100%; display: block; }
button.gv-fotokaart:focus-visible { outline: 2px solid var(--gv-taupe); outline-offset: 4px; }
.gv-fotokaart__kijk { display: block; margin-top: .45rem; font-size: .78rem; letter-spacing: .14em; text-transform: uppercase; color: var(--gv-taupe-zacht); }
/* Leesbaarheid (24-10-2026): de huisstijltaupe #BAA68D haalt als tekst op wit maar 2,35 : 1.
   Voor tekst op lichte achtergronden een donkerdere taupe (5,5 : 1 op wit, 5,1 : 1 op papier);
   de lichte taupe blijft voor lijnen, knoppen en voor tekst op navy en over beeld. */
:root { --gv-taupe-tekst: #7A6548; }
.gv-subtitel, .gv-accent, .gv-stap__nummer, .gv-product__collectie, .gv-merkgroep__titel, .gv-merk__beeld--letters, .gv-regio__kop,
.gv-hoofdnav__groepkop, .gv-hoofdnav__vmeer, .gv-hoofdnav__tab small, .gv-citaat figcaption { color: var(--gv-taupe-tekst); }
.gv-hoofdnav__sub a.is-voorbeeld, .gv-hoofdnav__sub .is-actief > a, .gv-menu .current-menu-item > a,
.gv-menu .sub-menu > .menu-item-has-children > a[href="#"] { color: var(--gv-taupe-tekst); }
.gv-band--navy :is(.gv-subtitel, .gv-accent, .gv-stap__nummer, .gv-citaat figcaption, .gv-product__collectie, .gv-merkgroep__titel),
.gv-footer :is(.gv-subtitel, .gv-accent), .gv-hero-beeld :is(.gv-subtitel, .gv-accent), .gv-hero-video :is(.gv-subtitel, .gv-accent),
.gv-sectie--cta-beeld :is(.gv-subtitel, .gv-accent), .gv-cta-beeld :is(.gv-subtitel, .gv-accent) { color: var(--gv-taupe-zacht); }

/* Menu leesbaar (24-10-2026): oskar 400 in plaats van 200, niet-actieve items donkergrijs (± 10 : 1) en iets minder letterafstand. */
.gv-hoofdnav__knop, .gv-hoofdnav__link, .gv-header__tel, .gv-hoofdnav__tab, .gv-hoofdnav__sub a, .gv-hoofdnav__vmeer, .gv-hoofdnav__groepkop { font-weight: 400; }
.gv-hoofdnav__tab { color: #3E4656; }
.gv-hoofdnav__knop, .gv-hoofdnav__link { color: var(--gv-navy); }
.gv-hoofdnav__tab.is-actief, .gv-hoofdnav__tab[aria-selected="true"] { color: var(--gv-navy); }
.gv-hoofdnav__tab { letter-spacing: .12em; }
.gv-hoofdnav__voorbeeld p, .gv-hoofdnav__voorbeeld-tekst { color: var(--gv-tekst); }

/* Hero met beeld ernaast, mobiel: de foto staat bovenaan, van rand tot rand, zodat foto en titel samen in het eerste scherm vallen. */
@media (max-width: 767px) {
	.gv-sectie--hero-split .gv-rij > .gv-kolom--beeld {
		order: -1;
		width: auto;
		align-self: stretch; /* rij staat op align-items:center; zonder stretch krimpt de kolom tot 0 px */
		margin-inline: calc(-1 * var(--gv-padding-zij-mobiel, var(--gv-marge-zij-mobiel)));
	}
	.gv-sectie--hero-split .gv-kolom--beeld .gv-beeld {
		width: 100%;
		aspect-ratio: 4 / 3;
		max-height: 52svh;
		border-radius: 0;
	}
	.gv-sectie--hero-split .gv-kolom--beeld .gv-beeld img { width: 100%; height: 100%; object-fit: cover; }
	.gv-sectie--hero-split .gv-rij { gap: 1.75rem; }
	/* Foto sluit direct aan op de kruimelbalk. */
	.gv-inhoud > .gv-sectie--hero-split.gv-sectie--eerste { margin-top: 0; }
}

/* Hero met kop boven en Contact, mobiel: ook hier de foto bovenaan, van rand tot rand. */
.gv-contact__beeld { display: none; }
@media (max-width: 767px) {
	.gv-sectie--hero-kop { display: flex; flex-direction: column; gap: 1.75rem; }
	.gv-sectie--hero-kop .gv-kop-blok { margin-bottom: 0; }
	.gv-sectie--hero-kop .gv-rij--kop { display: contents; }
	.gv-sectie--hero-kop .gv-rij--kop > .gv-kolom--beeld { order: -1; }
	.gv-sectie--hero-kop .gv-rij--kop > .gv-kolom--tekst { order: 1; }
	.gv-sectie--hero-kop .gv-rij--kop > .gv-kolom--beeld,
	.gv-contact__beeld {
		display: block;
		width: auto;
		margin-inline: calc(-1 * var(--gv-padding-zij-mobiel, var(--gv-marge-zij-mobiel)));
	}
	.gv-contact__beeld { margin-bottom: 1.75rem; }
	.gv-sectie--hero-kop .gv-kolom--beeld .gv-beeld,
	.gv-contact__beeld .gv-beeld { width: 100%; aspect-ratio: 4 / 3; max-height: 52svh; border-radius: 0; }
	.gv-sectie--hero-kop .gv-kolom--beeld .gv-beeld img,
	.gv-contact__beeld .gv-beeld img { width: 100%; height: 100%; object-fit: cover; }
	.gv-inhoud > .gv-sectie--hero-kop.gv-sectie--eerste,
	.gv-inhoud > .gv-sectie--contact.gv-sectie--eerste { margin-top: 0; }
}

/* Mobiel: fotokaarten en producten als veegbare rij, zodat lange pagina's korter worden; de volgende kaart piept in beeld. */
@media (max-width: 767px) {
	.gv-fotokaarten.gv-raster:not(.gv-raster--1),
	.gv-producten {
		display: flex;
		gap: 12px;
		overflow-x: auto;
		overscroll-behavior-x: contain;
		scroll-snap-type: x mandatory;
		scrollbar-width: none;
		margin-inline: calc(-1 * var(--gv-padding-zij-mobiel, var(--gv-marge-zij-mobiel)));
		padding-inline: var(--gv-padding-zij-mobiel, var(--gv-marge-zij-mobiel));
		scroll-padding-inline: var(--gv-padding-zij-mobiel, var(--gv-marge-zij-mobiel));
	}
	.gv-fotokaarten.gv-raster::-webkit-scrollbar,
	.gv-producten::-webkit-scrollbar { display: none; }
	.gv-fotokaarten.gv-raster:not(.gv-raster--1) > .gv-fotokaart { flex: 0 0 82%; scroll-snap-align: start; }
	.gv-producten > .gv-product { flex: 0 0 44%; scroll-snap-align: start; }

	/* Het ronde cookieknopje valt op mobiel over tekst; daar staat Cookie-instellingen in de footer. */
	.gvc-wijzig { display: none !important; }
}

/* ==========================================================================
   Interieurstijl (25-10-2026)
   Beeld naast stijlnaam, ontwerpgedachte, tekst, vier iconlabels en knoppen.
   ========================================================================== */

.gv-sectie--stijl .gv-kolom--tekst {
	display: flex;
	flex-direction: column;
	gap: 2.25rem;
}

.gv-stijl__kop {
	display: flex;
	flex-direction: column;
	gap: .75rem;
}

.gv-stijl__gedachte {
	margin: 0;
	font-family: var(--gv-font-kop);
	font-weight: var(--gv-kop-gewicht);
	font-size: clamp(1.2rem, 1.7vw, 1.6rem);
	line-height: 1.35;
	color: var(--gv-taupe-tekst);
}

.gv-sectie--stijl .gv-tekst { max-width: var(--gv-leesbreedte); }

.gv-stijl__labels {
	list-style: none;
	margin: 0;
	padding: 1.75rem 0 0;
	border-top: 1px solid var(--gv-lijn-licht);
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 1.5rem 1rem;
	max-width: var(--gv-leesbreedte);
}

.gv-stijl__labels li {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: .8rem;
	text-align: center;
	font-family: var(--gv-font-kop);
	font-size: .8rem;
	letter-spacing: .12em;
	line-height: 1.45;
	text-transform: uppercase;
	color: var(--gv-tekst);
}

.gv-stijl__labels svg {
	width: 2.25rem;
	height: 2.25rem;
	color: var(--gv-taupe);
}

.gv-sectie--stijl .gv-knoppen { padding-top: 0; }

.gv-band--papier .gv-stijl__labels { border-top-color: var(--gv-lijn); }

@media (max-width: 767px) {
	.gv-sectie--stijl .gv-kolom--tekst { gap: 1.75rem; }
	.gv-stijl__labels { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem .75rem; }
}

/* Vaste belbalk: alleen mobiel. */
.gv-belbalk { display: none; }
@media (max-width: 767px) {
	.gv-belbalk {
		position: fixed;
		inset: auto 0 0 0;
		z-index: 800;
		display: flex;
		gap: 10px;
		padding: 10px 16px calc(10px + env(safe-area-inset-bottom));
		background: rgba(255, 255, 255, .97);
		border-top: 1px solid #E6E1D8;
		box-shadow: 0 -10px 24px -18px rgba(0, 22, 66, .45);
		transform: translateY(110%);
		transition: transform .35s ease;
	}
	.gv-belbalk.is-zichtbaar { transform: none; }
	.gv-belbalk a {
		flex: 1;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		gap: .5rem;
		min-height: 48px;
		border-radius: 999px;
		font-family: "oskar", "Marcellus", Georgia, serif;
		font-size: 13px;
		letter-spacing: .12em;
		text-transform: uppercase;
		text-decoration: none;
	}
	.gv-belbalk__bel { flex: 0 0 40%; border: 1px solid var(--gv-navy); color: var(--gv-navy); background: #fff; }
	.gv-belbalk__cta { background: var(--gv-navy); color: #fff; border: 1px solid var(--gv-navy); }
	.gv-belbalk--alleen-bel .gv-belbalk__bel { flex: 1; }
}
@media (max-width: 767px) and (prefers-reduced-motion: reduce) { .gv-belbalk { transition: none; } }

/* Contactformulier: keuzes als tikbare knoppen. */
.gv-formulier--gf .gv-keuzeknoppen .gfield_radio { display: flex; flex-wrap: wrap; gap: 10px; }
.gv-formulier--gf .gv-keuzeknoppen .gchoice { position: relative; margin: 0; }
.gv-formulier--gf .gv-keuzeknoppen .gchoice input { position: absolute; opacity: 0; inset: 0; margin: 0; cursor: pointer; }
.gv-formulier--gf .gv-keuzeknoppen .gchoice label {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	margin: 0;
	padding: 10px 18px;
	border: 1px solid #CDBFA6;
	border-radius: 999px;
	background: #fff;
	color: var(--gv-navy);
	font-size: 15px;
	line-height: 1.2;
	cursor: pointer;
	transition: background .2s ease, color .2s ease, border-color .2s ease;
}
.gv-formulier--gf .gv-keuzeknoppen .gchoice input:checked + label { background: var(--gv-navy); border-color: var(--gv-navy); color: #fff; }
.gv-formulier--gf .gv-keuzeknoppen .gchoice input:focus-visible + label { outline: 2px solid #BAA68D; outline-offset: 2px; }
.gv-formulier__belofte { margin: 0; font-size: 15px; color: var(--gv-taupe-tekst, #7A6548); }
.gv-formulier__belofte a { color: inherit; }
.gv-formulier--gf fieldset.gv-keuzeknoppen { border: 0; padding: 0; margin-inline: 0; min-width: 0; }
.gv-formulier--gf fieldset.gv-keuzeknoppen legend { padding: 0; margin-bottom: .75rem; }

/* Galerij in Safari (25-10-2026): WebKit tekent bij CSS-kolommen binnen een sectie met
   overflow: clip alleen de eerste kolom. De galerij is daarom een grid; de items tonen
   we direct, zonder verschijn-animatie. */
.gv-galerij {
	display: grid;
	grid-template-columns: repeat(var(--gv-galerij-kolommen, 3), minmax(0, 1fr));
	gap: 1.25rem;
	align-items: start;
	columns: auto;
}

.gv-galerij .gv-galerij__item {
	margin-bottom: 0;
}

.gv-galerij .gv-galerij__item.gv-reveal {
	opacity: 1;
	transform: none;
	transition: none;
}

/* Route en kaart op contact (25-10-2026) ------------------------------------ */
.gv-route { display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 2fr); gap: 4rem; align-items: center; margin-top: var(--gv-ritme-compact); }
.gv-route__kaart { position: relative; aspect-ratio: 16 / 10; overflow: hidden; background: var(--gv-papier); }
.gv-route__kaart img { width: 100%; height: 100%; object-fit: cover; display: block; }
.gv-route__kaart iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.gv-route__pin { position: absolute; left: 50%; top: 50%; width: 22px; height: 22px; margin: -11px 0 0 -11px; border-radius: 50%; background: var(--gv-navy); box-shadow: 0 0 0 8px rgba(0, 28, 85, .18); }
.gv-route__pin span { position: absolute; left: 50%; bottom: calc(100% + 14px); transform: translateX(-50%); padding: .45rem .9rem; background: var(--gv-navy); color: #fff; font-family: var(--gv-font-kop); font-size: .8rem; letter-spacing: .2em; text-transform: uppercase; white-space: nowrap; }
.gv-route__laden { position: absolute; right: 1rem; bottom: 1rem; min-height: 44px; padding: .6rem 1.2rem; border: 1px solid var(--gv-navy); background: #fff; color: var(--gv-navy); font-family: var(--gv-font-kop); font-size: .85rem; letter-spacing: .12em; text-transform: uppercase; cursor: pointer; transition: background-color .3s ease, color .3s ease; }
.gv-route__laden:hover, .gv-route__laden:focus-visible { background: var(--gv-navy); color: #fff; }
.gv-route__bron { position: absolute; left: .6rem; bottom: .4rem; font-size: .7rem; color: var(--gv-tekst-zacht); }
.gv-route__titel { font-size: var(--gv-h2); margin: .5rem 0 1.5rem; }
.gv-route__adres { font-size: var(--gv-body-groot); line-height: 1.6; margin-bottom: 2rem; }
.gv-route__knoppen { display: flex; flex-wrap: wrap; gap: 1rem; }
.gv-route__knoppen .gv-knop { min-height: 44px; }
.gv-route__noot { margin-top: 1.5rem; font-size: .9rem; color: var(--gv-tekst-zacht); }
@media (max-width: 1024px) { .gv-route { grid-template-columns: 1fr; gap: 2.5rem; } }
@media (max-width: 767px) {
	.gv-route__kaart { aspect-ratio: 4 / 3; margin: 0 -1rem; }
	.gv-route__knoppen .gv-knop { width: 100%; justify-content: center; }
	.gv-route__laden { left: 1rem; right: 1rem; }
	.gv-route__bron { top: .4rem; bottom: auto; }
}

/* Meubels: de fauteuil staat onderin de staande herofoto; op mobiel (4:3) het beeldpunt lager. */
@media (max-width: 767px) { .page-id-5014 .gv-sectie--hero-split .gv-kolom--beeld img { object-position: center 78%; } }

/* Productrij met vrijstaande productfoto's: het hele meubel tonen, op wit. */
#uitgesproken .gv-product__beeld { background: #fff; }
#uitgesproken .gv-product__beeld img { object-fit: contain; padding: 8%; }
@media (max-width: 767px) {
	.page-id-5983 .gv-sectie--hero-split .gv-kolom--beeld img { object-position: center 85%; }
	#uitgesproken .gv-product__beeld img { padding: 3%; }
}
@media (max-width: 767px) {
	/* Flamant verf: staande compositie (lamp + tafel); hier een hogere uitsnede. */
	.page-id-4998 .gv-sectie--hero-split .gv-kolom--beeld .gv-beeld { aspect-ratio: 4 / 5; max-height: none; }
	.page-id-4998 .gv-sectie--hero-split .gv-kolom--beeld img { object-position: center 45%; }
}
@media (max-width: 767px) { .page-id-239 .gv-sectie--hero-split .gv-kolom--beeld img { object-position: center 85%; } }
@media (max-width: 767px) { .page-id-4914 .gv-sectie--hero-split .gv-kolom--beeld .gv-beeld, .page-id-4914 .gv-sectie--hero-split .gv-kolom--beeld img { aspect-ratio: 4 / 5; max-height: none; height: auto; } .page-id-4914 .gv-sectie--hero-split .gv-kolom--beeld img { object-position: center 85%; } }
/* Beeld met tekst: foto in eigen verhouding (veld beeld_heel), niet bijsnijden. */
.gv-beeld.gv-beeld--heel { aspect-ratio: auto !important; height: auto !important; max-height: none !important; }
.gv-beeld.gv-beeld--heel img { height: auto !important; contain-intrinsic-size: none !important; contain: none !important; object-fit: contain; }
@media (max-width: 767px) { .page-id-4906 .gv-sectie--hero-split .gv-kolom--beeld img { object-position: 30% 80%; } }
@media (max-width: 767px) { .page-id-4908 .gv-sectie--hero-split .gv-kolom--beeld img, .page-id-4910 .gv-sectie--hero-split .gv-kolom--beeld img, .page-id-4912 .gv-sectie--hero-split .gv-kolom--beeld img { object-position: center 85%; } }
@media (max-width: 767px) { .gv-formulier__belofte, .gv-route__noot, .gv-afs__klein { font-size: 16px; } }
.page-id-275 .gv-sectie--hero-split .gv-kolom--beeld img { object-position: center 85%; }
@media (max-width: 767px) { .page-id-4922 .gv-sectie--hero-split .gv-kolom--beeld .gv-beeld, .page-id-4922 .gv-sectie--hero-split .gv-kolom--beeld img { aspect-ratio: 4 / 5; max-height: none; height: auto; } .page-id-4922 .gv-sectie--hero-split .gv-kolom--beeld img { object-position: center 88%; } }
@media (max-width: 767px) { .page-id-4916 .gv-sectie--hero-split .gv-kolom--beeld .gv-beeld, .page-id-4916 .gv-sectie--hero-split .gv-kolom--beeld img { aspect-ratio: 4 / 5; max-height: none; height: auto; } .page-id-4916 .gv-sectie--hero-split .gv-kolom--beeld img { object-position: center 75%; } }
@media (max-width: 767px) { .page-id-4920 .gv-sectie--hero-split .gv-kolom--beeld .gv-beeld, .page-id-4920 .gv-sectie--hero-split .gv-kolom--beeld img { aspect-ratio: 4 / 5; max-height: none; height: auto; } .page-id-4920 .gv-sectie--hero-split .gv-kolom--beeld img { object-position: center 75%; } }
@media (max-width: 767px) { .page-id-4918 .gv-sectie--hero-split .gv-kolom--beeld .gv-beeld, .page-id-4918 .gv-sectie--hero-split .gv-kolom--beeld img { aspect-ratio: 4 / 5; max-height: none; height: auto; } .page-id-4918 .gv-sectie--hero-split .gv-kolom--beeld img { object-position: center 75%; } }
@media (max-width: 767px) { .page-id-4480 .gv-sectie--hero-split .gv-kolom--beeld .gv-beeld, .page-id-4480 .gv-sectie--hero-split .gv-kolom--beeld img { aspect-ratio: 4 / 5; max-height: none; height: auto; } .page-id-4480 .gv-sectie--hero-split .gv-kolom--beeld img { object-position: center 75%; } }
.page-id-4480 .gv-beeld--breed img { object-position: 50% 60%; }
@media (max-width: 767px) { .page-id-4480 .gv-sectie--beeld-breed { padding-left: 0; padding-right: 0; } .page-id-4480 .gv-sectie--beeld-breed .gv-breed-beeld { margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw); } }
/* Breed beeld met video (27-10-2026): film over de poster heen, stil afspelend */
.gv-breed-beeld--video { position: relative; overflow: hidden; }
.gv-breed-beeld--video .gv-beeld--breed { aspect-ratio: 16 / 9; height: auto; }
.gv-breed-beeld--video .gv-beeld--breed img { width: 100%; height: 100%; object-fit: cover; }
.gv-breed-beeld__mp4 { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; transition: opacity .6s ease; }
.gv-breed-beeld__mp4.is-spelend { opacity: 1; }
@media (max-width: 767px) { .gv-breed-beeld--video-staand .gv-beeld--breed { aspect-ratio: 4 / 5; height: auto; } }
@media (max-width: 767px) { .page-id-4484 .gv-sectie--hero-split .gv-kolom--beeld .gv-beeld, .page-id-4484 .gv-sectie--hero-split .gv-kolom--beeld img { aspect-ratio: 4 / 5; max-height: none; height: auto; width: 100%; } .page-id-4484 .gv-sectie--hero-split .gv-kolom--beeld img { object-position: center 60%; } }
@media (max-width: 767px) { .page-id-4931 .gv-sectie--hero-split .gv-kolom--beeld .gv-beeld, .page-id-4931 .gv-sectie--hero-split .gv-kolom--beeld img { aspect-ratio: 4 / 5; max-height: none; height: auto; width: 100%; } .page-id-4931 .gv-sectie--hero-split .gv-kolom--beeld img { object-position: center 80%; } }

/* Mobiel: bijschrift onder de foto i.p.v. eroverheen, zodat de foto vrij te zien is (27-10). */
@media (max-width: 767px) {
	.gv-fotokaart,
	.gv-raster--3 .gv-fotokaart { aspect-ratio: auto; overflow: visible; background: none; border-radius: 0; display: flex; flex-direction: column; }
	.gv-fotokaart__beeld { position: relative; inset: auto; aspect-ratio: 4 / 3; height: auto; opacity: 1; border-radius: var(--gv-radius); }
	.gv-fotokaart > .gv-fotokaart__beeld { transform: none !important; }
	.gv-fotokaart__bijschrift { position: static; inset: auto; background: none; padding: 1rem 0 0; color: inherit; }
	.gv-fotokaart__titel { color: var(--gv-navy); font-size: 1.05rem; }
	.gv-fotokaart__titel svg g { stroke: currentColor; }
	.gv-fotokaart__tekst { color: var(--gv-tekst); font-size: 1rem; }
	.gv-band--navy .gv-fotokaart__titel, .gv-band--donker .gv-fotokaart__titel { color: var(--gv-wit); }
	.gv-band--navy .gv-fotokaart__tekst, .gv-band--donker .gv-fotokaart__tekst { color: rgba(255,255,255,.85); }
}
/* 28-10: hero mobiel staand (4:5), foto volledig in beeld, zoals volledige-woning en meerdere-ruimtes. */
@media (max-width: 767px) {
	.page-id-3140 .gv-sectie--hero-split .gv-kolom--beeld .gv-beeld, .page-id-3140 .gv-sectie--hero-split .gv-kolom--beeld img,
	.page-id-275 .gv-sectie--hero-split .gv-kolom--beeld .gv-beeld, .page-id-275 .gv-sectie--hero-split .gv-kolom--beeld img,
	.page-id-4933 .gv-sectie--hero-split .gv-kolom--beeld .gv-beeld, .page-id-4933 .gv-sectie--hero-split .gv-kolom--beeld img,
	.page-id-3205 .gv-sectie--hero-kop .gv-kolom--beeld .gv-beeld, .page-id-3205 .gv-sectie--hero-kop .gv-kolom--beeld img,
	.page-id-809 .gv-sectie--hero-kop .gv-kolom--beeld .gv-beeld, .page-id-809 .gv-sectie--hero-kop .gv-kolom--beeld img { aspect-ratio: 4 / 5; max-height: none; height: auto; width: 100%; }
	.page-id-3140 .gv-sectie--hero-split .gv-kolom--beeld img { object-position: 55% 60%; }
	.page-id-275 .gv-sectie--hero-split .gv-kolom--beeld img { object-position: center 60%; }
	.page-id-4933 .gv-sectie--hero-split .gv-kolom--beeld img { object-position: center 70%; }
	.page-id-3205 .gv-sectie--hero-kop .gv-kolom--beeld img { object-position: center 60%; }
	.page-id-809 .gv-sectie--hero-kop .gv-kolom--beeld img { object-position: 38% 50%; } /* Romo-fauteuil links van het midden (28-10) */
}

/* Galerij met gelijke vakken (28-10-2026): optie 'Opbouw' in het galerijblok. Alle beelden
   staand 4:5 met object-fit, zodat de rijen gelijk lopen en de bijschriften op één lijn staan.
   Focuspunt per beeld via de bijlage-meta gv_focus (--gv-focus). Eerst gebruikt op Interieuradvies (809). */
.gv-galerij--vast { align-items: start; }
.gv-galerij--vast .gv-galerij__knop { aspect-ratio: 4 / 5; }
.gv-galerij--vast .gv-galerij__knop img { height: 100%; object-fit: cover; object-position: var(--gv-focus, 50% 50%); }
.gv-galerij--vast .gv-galerij__tekst { padding-top: .85rem; font-size: .95rem; line-height: 1.45; }

@media (max-width: 767px) {
	.gv-galerij--vast .gv-galerij__tekst { padding-top: .6rem; font-size: .875rem; line-height: 1.4; }
}

@media (max-width: 767px) {
	/* Gelijke vakken, oneven aantal: het laatste beeld over de volle breedte, liggend 3:2, zodat er geen leeg vak overblijft. */
	.gv-galerij--vast > .gv-galerij__item:last-child:nth-child(odd) { grid-column: 1 / -1; }
	.gv-galerij--vast > .gv-galerij__item:last-child:nth-child(odd) .gv-galerij__knop { aspect-ratio: 3 / 2; }
}

/* Galerij als carrousel (28-10-2026): één rij staande vakken om door te schuiven, met pijlknoppen. */
.gv-galerij-schuif { position: relative; }
.gv-galerij.gv-galerij--carrousel {
	display: flex;
	gap: 1.25rem;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scroll-behavior: smooth;
	scrollbar-width: none;
	overscroll-behavior-x: contain;
	padding: 0;
	margin: 0;
	list-style: none;
}
.gv-galerij--carrousel::-webkit-scrollbar { display: none; }
.gv-galerij--carrousel .gv-galerij__item { flex: 0 0 calc((100% - 2 * 1.25rem) / 3.25); scroll-snap-align: start; margin: 0; }
.gv-galerij--carrousel .gv-galerij__knop { display: block; width: 100%; aspect-ratio: 4 / 5; overflow: hidden; }
.gv-galerij--carrousel .gv-galerij__knop img { width: 100%; height: 100%; object-fit: cover; object-position: var(--gv-focus, 50% 50%); }
.gv-galerij-schuif__knoppen { justify-content: flex-end; margin-top: 1.5rem; }
.gv-galerij-schuif__knoppen .gv-carrousel__knop:disabled { opacity: .35; cursor: default; background: none; }
@media (max-width: 767px) {
	.gv-galerij.gv-galerij--carrousel { gap: .75rem; margin-inline: calc(-1 * var(--gv-padding-zij-mobiel, var(--gv-marge-zij-mobiel))); padding-inline: var(--gv-padding-zij-mobiel, var(--gv-marge-zij-mobiel)); scroll-padding-inline: var(--gv-padding-zij-mobiel, var(--gv-marge-zij-mobiel)); }
	.gv-galerij--carrousel .gv-galerij__item { flex-basis: 78%; }
	.gv-galerij-schuif__knoppen { justify-content: center; }
}
