/**
 * Vos & Nos Design v1.5.28
 * Klachten — shared-system alignment
 *
 * This page intentionally does NOT invent a separate type system.
 * Typography, general text sizing and WordPress page width inherit from
 * the existing Vos & Nos / Frameprothese design layer.
 */

.vn-klachten-page-active .vn-klachten,
.vn-klachten-page-active .vn-klachten *{
	box-sizing:border-box;
}

.vn-klachten-page-active .vn-klachten{
	--vn-klachten-dark:#00291f;
	--vn-klachten-mint:#70bb9a;
	--vn-klachten-soft:#eef8f3;
	--vn-klachten-cream:#f7f4ec;
	--vn-klachten-border:rgba(0,41,31,.16);
	color:inherit;
	font:inherit;
	line-height:inherit;
}

/* Follow the existing WordPress/theme content line. No second inner gutter. */
.vn-klachten-page-active .vn-klachten__container{
	width:100%;
	max-width:none;
	margin:0;
	padding:0;
}

.vn-klachten-page-active .vn-klachten__narrow{
	width:100%;
	max-width:84rem;
}

/* Shared vertical rhythm: same scale used across product/location pages. */
.vn-klachten-page-active .vn-klachten__section{
	padding:4rem 0;
}

.vn-klachten-page-active .vn-klachten__section:first-child{
	padding-top:1.4rem;
}

.vn-klachten-page-active .vn-klachten__section + .vn-klachten__section{
	border-top:1px solid rgba(0,41,31,.08);
}

.vn-klachten-page-active .vn-klachten__section--soft,
.vn-klachten-page-active .vn-klachten__section--cream{
	position:relative;
	background:transparent;
}

.vn-klachten-page-active .vn-klachten__section--soft > .vn-klachten__container,
.vn-klachten-page-active .vn-klachten__section--cream > .vn-klachten__container{
	padding:3rem;
	border:1px solid rgba(112,187,154,.32);
	border-radius:1.4rem;
	background:var(--vn-klachten-soft);
}

.vn-klachten-page-active .vn-klachten__section--cream > .vn-klachten__container{
	background:var(--vn-klachten-cream);
	border-color:rgba(0,41,31,.10);
}

/* Do not override global heading typeface or radically resize headings. */
.vn-klachten-page-active .vn-klachten h2,
.vn-klachten-page-active .vn-klachten h3{
	color:var(--vn-klachten-dark);
	font-family:inherit;
	letter-spacing:normal;
}

.vn-klachten-page-active .vn-klachten h2{
	margin:0 0 1.2rem;
}

.vn-klachten-page-active .vn-klachten h3{
	margin:0 0 .8rem;
}

/* Eyebrows use the same small-label scale found on other Vos & Nos pages. */
.vn-klachten-page-active .vn-klachten__eyebrow{
	margin:0 0 .8rem;
	color:var(--vn-klachten-dark);
	font-size:1.2rem;
	font-weight:800;
	letter-spacing:.08em;
	line-height:1.35;
	text-transform:uppercase;
}

.vn-klachten-page-active .vn-klachten p{
	margin-top:0;
}

.vn-klachten-page-active .vn-klachten__lead{
	max-width:76rem;
	margin-bottom:0;
	font-size:inherit;
	line-height:inherit;
}

/* Buttons follow the established rounded Vos & Nos CTA proportions. */
.vn-klachten-page-active .vn-klachten__actions{
	display:flex;
	flex-wrap:wrap;
	gap:1.2rem;
	margin-top:2rem;
}

.vn-klachten-page-active .vn-klachten__button{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	min-height:4.6rem;
	padding:1.1rem 2.2rem;
	border:1px solid var(--vn-klachten-dark);
	border-radius:999px;
	background:var(--vn-klachten-dark);
	color:#fff !important;
	font:inherit;
	font-weight:700;
	line-height:1.2;
	text-decoration:none !important;
	box-shadow:none;
	transition:background-color .18s ease,color .18s ease,border-color .18s ease,transform .18s ease;
}

.vn-klachten-page-active .vn-klachten__button:hover,
.vn-klachten-page-active .vn-klachten__button:focus-visible{
	background:var(--vn-klachten-mint);
	border-color:var(--vn-klachten-mint);
	color:var(--vn-klachten-dark) !important;
	transform:translateY(-1px);
}

/* Three complaint steps use the same calm card language as the rest of the site. */
.vn-klachten-page-active .vn-klachten__grid{
	display:grid;
	grid-template-columns:repeat(3,minmax(0,1fr));
	gap:1.6rem;
	margin-top:2.6rem;
}

.vn-klachten-page-active .vn-klachten__card{
	height:100%;
	padding:2rem;
	border:1px solid var(--vn-klachten-border);
	border-radius:1.4rem;
	background:#fff;
	box-shadow:none;
}

.vn-klachten-page-active .vn-klachten__step{
	display:grid;
	place-items:center;
	width:3rem;
	height:3rem;
	margin-bottom:1.2rem;
	border-radius:50%;
	background:var(--vn-klachten-dark);
	color:#fff;
	font-size:1.4rem;
	font-weight:700;
	line-height:1;
}

/* ONT information block: same dark-green information treatment used elsewhere. */
.vn-klachten-page-active .vn-klachten__notice{
	margin-top:2rem;
	padding:1.8rem 2rem;
	border-left:.4rem solid var(--vn-klachten-mint);
	border-radius:.4rem 1.2rem 1.2rem .4rem;
	background:var(--vn-klachten-dark);
	color:#fff;
}

.vn-klachten-page-active .vn-klachten__notice h3,
.vn-klachten-page-active .vn-klachten__notice p,
.vn-klachten-page-active .vn-klachten__notice a{
	color:#fff;
}

.vn-klachten-page-active .vn-klachten__notice a{
	text-decoration-color:var(--vn-klachten-mint);
}

/* Contact locations: shared restrained card treatment, no oversized bespoke spacing. */
.vn-klachten-page-active .vn-klachten__locations{
	display:grid;
	grid-template-columns:repeat(2,minmax(0,1fr));
	gap:1.4rem;
	margin-top:2.4rem;
}

.vn-klachten-page-active .vn-klachten__location{
	padding:1.8rem 2rem;
	border:1px solid var(--vn-klachten-border);
	border-radius:1.2rem;
	background:#fff;
}

.vn-klachten-page-active .vn-klachten__location address{
	margin:0;
	font-style:normal;
}

.vn-klachten-page-active .vn-klachten__location a{
	overflow-wrap:anywhere;
}

/* Final CTA is one familiar dark green strip, not a separate design language. */
.vn-klachten-page-active .vn-klachten__closing{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:2rem;
	margin-top:4rem;
	padding:2.2rem 2.4rem;
	border-radius:1.4rem;
	background:var(--vn-klachten-dark);
	color:#fff;
}

.vn-klachten-page-active .vn-klachten__closing h2,
.vn-klachten-page-active .vn-klachten__closing h3,
.vn-klachten-page-active .vn-klachten__closing p{
	color:#fff;
}

.vn-klachten-page-active .vn-klachten__closing .vn-klachten__actions{
	flex:0 0 auto;
	margin-top:0;
}

.vn-klachten-page-active .vn-klachten__closing .vn-klachten__button{
	background:#fff;
	border-color:#fff;
	color:var(--vn-klachten-dark) !important;
}

.vn-klachten-page-active .vn-klachten__closing .vn-klachten__button:hover,
.vn-klachten-page-active .vn-klachten__closing .vn-klachten__button:focus-visible{
	background:var(--vn-klachten-mint);
	border-color:var(--vn-klachten-mint);
}

/* Keep link behavior consistent without introducing a page-only font treatment. */
.vn-klachten-page-active .vn-klachten a:not(.vn-klachten__button){
	color:var(--vn-klachten-dark);
	font-weight:700;
	text-underline-offset:.18em;
	text-decoration-color:var(--vn-klachten-mint);
}

@media(max-width:991.98px){
	.vn-klachten-page-active .vn-klachten__grid{
		grid-template-columns:1fr;
	}
}

@media(max-width:767.98px){
	.vn-klachten-page-active .vn-klachten__section{
		padding:3rem 0;
	}

	.vn-klachten-page-active .vn-klachten__section:first-child{
		padding-top:.6rem;
	}

	.vn-klachten-page-active .vn-klachten__section--soft > .vn-klachten__container,
	.vn-klachten-page-active .vn-klachten__section--cream > .vn-klachten__container{
		padding:2rem;
	}

	.vn-klachten-page-active .vn-klachten__locations{
		grid-template-columns:1fr;
	}

	.vn-klachten-page-active .vn-klachten__closing{
		display:block;
		padding:2rem;
	}

	.vn-klachten-page-active .vn-klachten__closing .vn-klachten__actions{
		margin-top:1.8rem;
	}
}
