/* Campaign page /pseudo-eindheffing (ticket 13400657410). All rules scoped under .pse-page. */
.pse-page{
	--pse-yellow:#F2C142;
	--pse-text:#121212;
	--pse-dark:#171717;
	--pse-grey:#F5F5F5;
	--pse-line:#E4E4E4;
	--pse-muted:#5b5b5b;
	color:var(--pse-text);
}
.pse-page h1,
.pse-page h2{
	font-family:'LamaSansSemiBoldExpanded';
	font-weight:normal;
	line-height:1.15;
	color:inherit;
}
.pse-page h2{
	font-size:clamp(22px,2.4vw,30px);
	margin-bottom:18px;
}
.pse-page p{
	margin-bottom:0;
}
.pse-page p + p{
	margin-top:14px;
}
.pse-page.pse-block{
	padding:84px 0;
}
.pse-page.pse-grey{
	background:var(--pse-grey);
}

/* 1. banner (site banner markup, only the subtext needs a style) */
.pse-hero-sec .pse-hero-sub{
	max-width:620px;
	color:#fff;
	font-size:17px;
	margin-bottom:30px;
}
.pse-hero-sec .pse-hero-sub p{
	color:inherit;
	margin:0;
}

.pse-hero-sec .pse-hero-overlay{
	position:absolute;
	inset:0;
	z-index:0;
	background:linear-gradient(90deg,rgba(17,17,17,.82) 0%,rgba(17,17,17,.55) 48%,rgba(17,17,17,.1) 100%);
}
.pse-hero-sec .pse-hero-content{
	max-width:720px;
}
.pse-hero-sec .banner-content h1{
	color:#fff;
	font-size:clamp(28px,3.6vw,46px);
	line-height:1.15;
	text-transform:uppercase;
	margin-bottom:20px;
}

/* 2. USP bar (CMS content block 1, short description as ul/li) */
.pse-usp-sec .pse-usp{
	margin-top:28px;
	background:var(--pse-grey);
	border-radius:18px;
	padding:26px 40px;
	overflow-x:auto;
	scrollbar-width:none;
}
.pse-usp-sec .pse-usp::-webkit-scrollbar{
	display:none;
}
.pse-usp-sec .pse-usp ul{
	display:flex;
	align-items:center;
	gap:40px;
	list-style:none;
	margin:0;
	padding:0;
}
.pse-usp-sec .pse-usp li{
	display:flex;
	align-items:center;
	gap:12px;
	white-space:nowrap;
	font-family:'LamaSansMedium';
	font-size:16px;
	margin:0;
}
.pse-usp-sec .pse-usp li::before{
	content:"";
	flex:0 0 26px;
	height:26px;
	border-radius:50%;
	background:#F2C142 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23121212' stroke-width='3'%3E%3Cpath d='M5 12l5 5L19 7'/%3E%3C/svg%3E") center/14px no-repeat;
}
/* 3-6. text sections from CMS content blocks 2-5 (CKEditor HTML) */
.pse-page .pse-text p,
.pse-page .pse-notice p,
.pse-page .pse-urgent p{
	margin:0;
}
.pse-page .pse-text p + p{
	margin-top:14px;
}

/* 3. wat verandert er (block 2) */
.pse-narrow{
	max-width:820px;
	margin-left:auto;
	margin-right:auto;
}
.pse-notice{
	margin-top:22px;
	border-left:4px solid var(--pse-yellow);
	background:#fff;
	padding:16px 20px;
	border-radius:0 5px 5px 0;
	font-family:'LamaSansMedium';
}

/* 4. rekenvoorbeeld (block 3) */
.pse-split{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:56px;
	align-items:center;
}
.pse-split.pse-split-noimg{
	grid-template-columns:1fr;
	max-width:820px;
}
.pse-split .pse-split-img{
	width:100%;
	aspect-ratio:4/3;
	object-fit:cover;
	border-radius:18px;
}
.pse-calc ul{
	margin:26px 0 0;
	padding:0;
	list-style:none;
	display:grid;
	grid-template-columns:repeat(3,1fr);
	gap:12px;
}
.pse-calc li{
	background:#fff;
	border-radius:10px;
	padding:16px;
	font-size:13px;
	color:var(--pse-muted);
	margin:0;
}
.pse-calc li b,
.pse-calc li strong{
	display:block;
	font-family:'LamaSansSemiBoldExpanded';
	font-weight:normal;
	font-size:22px;
	color:var(--pse-text);
}

/* 5. waarom bij Schouten (gallery Pseudo-Waarom: one card per image) */
.pse-cards3,
.pse-steps ol{
	display:grid;
	grid-template-columns:repeat(3,1fr);
	gap:24px;
	margin:10px 0 0;
	padding:0;
	list-style:none;
}
.pse-card{
	background:#fff;
	border:1px solid var(--pse-line);
	border-radius:12px;
	padding:30px;
}
.pse-card .pse-card-icon{
	display:block;
	width:46px;
	height:46px;
	object-fit:contain;
}
.pse-page .pse-card .pse-card-title{
	font-family:'LamaSansSemiBoldExpanded';
	font-size:18px;
	color:var(--pse-text);
	margin:16px 0 10px;
}
.pse-card .pse-card-text p{
	margin:0;
}

/* 6. zo werkt het (block 5) */
.pse-steps ol{
	counter-reset:pse-s;
}
.pse-steps li{
	counter-increment:pse-s;
	background:#fff;
	border-radius:12px;
	padding:28px;
	font-family:'LamaSansMedium';
	margin:0;
}
.pse-steps li::before{
	content:counter(pse-s);
	display:grid;
	place-items:center;
	width:44px;
	height:44px;
	border-radius:50%;
	background:var(--pse-dark);
	color:var(--pse-yellow);
	font-family:'LamaSansBold';
	font-size:18px;
	margin-bottom:16px;
}
.pse-urgent{
	margin-top:26px;
	font-family:'LamaSansSemiBold';
}

/* 7. featured stock (site car card, titles as p instead of h5) */
.pse-stock-head{
	display:flex;
	justify-content:space-between;
	align-items:flex-end;
	flex-wrap:wrap;
	gap:20px;
	margin-bottom:26px;
}
.pse-page .pse-stock-head h2{
	margin:0;
}
.pse-stock .each-product p.pse-car-title{
	font-family:'LamaSansBold';
	color:#121212;
	height:auto;
	margin:2rem 0 .5rem;
}
.pse-stock .each-product .price p.pse-car-price{
	font-family:'LamaSansBold';
	color:#121212;
}

/* 8. form */
.pse-page.pse-form-sec{
	background:var(--pse-dark);
	color:#fff;
}
.pse-form-grid{
	display:grid;
	grid-template-columns:5fr 7fr;
	gap:56px;
	align-items:start;
}
.pse-form-sec h2{
	color:#fff;
}
.pse-form-sec .pse-intro{
	color:rgba(255,255,255,.75);
}
.pse-form-sec .pse-intro p{
	color:inherit;
	margin:0;
}
.pse-contactline{
	margin-top:26px;
	display:grid;
	gap:8px;
	font-size:15px;
	color:rgba(255,255,255,.85);
}
.pse-page .pse-contactline p{
	color:inherit;
	margin:0;
}
.pse-contactline a{
	color:inherit;
	text-decoration:underline;
}
.pse-form-box{
	background:#fff;
	color:var(--pse-text);
	border-radius:18px;
	padding:34px;
}
.pse-fields{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:16px;
}
.pse-field{
	display:flex;
	flex-direction:column;
	gap:6px;
}
.pse-field.pse-full{
	grid-column:1/-1;
}
.pse-field > label,
.pse-field .pse-label{
	font-family:'LamaSansSemiBold';
	font-size:13px;
	margin:0;
}
.pse-opt{
	font-family:'LamaSansRegular';
	color:var(--pse-muted);
}
.pse-form-box .form-control{
	font-family:'LamaSansRegular';
	font-size:15px;
	color:#121212;
	background:#fff;
	border:1px solid #cfcfcf;
	border-radius:5px;
	padding:13px 14px;
	min-height:52px;
	margin:0;
	box-shadow:none;
}
.pse-form-box .form-control:focus{
	outline:2px solid var(--pse-yellow);
	border-color:var(--pse-yellow);
	box-shadow:none;
}
.pse-form-box textarea.form-control{
	min-height:110px;
	resize:vertical;
}
.pse-form-box .akker_btn_cls{
	min-height:52px;
}
.pse-radios{
	display:flex;
	flex-wrap:wrap;
	gap:10px;
}
.pse-radios label{
	display:flex;
	align-items:center;
	gap:8px;
	margin:0;
	border:1px solid #cfcfcf;
	border-radius:5px;
	padding:11px 14px;
	cursor:pointer;
	font-size:14px;
}
.pse-radios input{
	accent-color:var(--pse-text);
	margin:0;
}

/* 9. FAQ */
.pse-faq{
	max-width:900px;
	margin-left:auto;
	margin-right:auto;
}
.pse-faq .accordion-item{
	border:0;
	border-bottom:1px solid var(--pse-line);
	border-radius:0;
	background:transparent;
}
.pse-faq .accordion-item:first-of-type{
	border-top:1px solid var(--pse-line);
}
.pse-faq .accordion-button{
	padding:22px 48px 22px 0;
	font-family:'LamaSansSemiBold';
	font-size:17px;
	color:var(--pse-text);
	background:transparent;
	box-shadow:none;
}
.pse-faq .accordion-button:focus{
	box-shadow:none;
	outline:2px solid var(--pse-yellow);
}
.pse-faq .accordion-button::after{
	content:"+";
	background:var(--pse-yellow);
	background-image:none;
	width:32px;
	height:32px;
	border-radius:50%;
	display:grid;
	place-items:center;
	font-size:20px;
	line-height:1;
	transform:none;
	position:absolute;
	right:6px;
}
.pse-faq .accordion-button:not(.collapsed)::after{
	content:"\2013";
	background-image:none;
	transform:none;
}
.pse-faq .accordion-body{
	padding:0 48px 22px 0;
	color:#333;
}

/* tablet */
@media (max-width:991px){
	.pse-page.pse-block{
		padding:60px 0;
	}
	.pse-split{
		grid-template-columns:1fr;
		gap:32px;
	}
	.pse-cards3,
	.pse-steps ol{
		grid-template-columns:1fr;
		gap:16px;
	}
	.pse-form-grid{
		grid-template-columns:1fr;
		gap:32px;
	}
}

/* mobile */
@media (max-width:575px){
	.pse-page.pse-block{
		padding:44px 0;
	}
	/* banner grows with its content on phones, photo becomes the background */
	.pse-hero-sec.home-banner{
		height:auto;
	}
	.pse-hero-sec .position-relative{
		min-height:440px;
	}
	.pse-hero-sec .position-relative > img{
		position:absolute;
		inset:0;
		width:100%;
		height:100%;
		object-fit:cover;
	}
	.pse-hero-sec .banner-content{
		position:relative;
		top:auto;
		transform:none;
		padding:40px 0 32px;
	}
	.pse-hero-sec .pse-hero-overlay{
		background:rgba(17,17,17,.65);
	}
	.pse-hero-sec .banner-content h1{
		font-size:26px;
	}
	.pse-hero-sec .pse-hero-sub{
		font-size:15px;
		margin-bottom:20px;
	}
	.pse-usp-sec .pse-usp{
		padding:20px;
		border-radius:12px;
	}
	.pse-usp-sec .pse-usp ul{
		gap:24px;
	}
	.pse-calc ul{
		grid-template-columns:1fr;
	}
	.pse-fields{
		grid-template-columns:1fr;
	}
	.pse-form-box{
		padding:22px;
		border-radius:12px;
	}
	.pse-card,
	.pse-steps li{
		padding:22px;
	}
}
