/* BouwSupport theme */
@import url('https://fonts.googleapis.com/css2?family=Archivo:wght@600;700;800&family=Public+Sans:wght@400;500;600&display=swap');

:root {
	--bs-accent: #f4b71f;
	--bs-accent-hover: #ffc93c;
	--bs-accent-dark: #e0a512;
	--bs-ink: #1b2833;
}

body{margin:0;background:#F2F4F4;color:var(--bs-ink);font-family:'Public Sans',system-ui,sans-serif;font-size:17px;line-height:1.6}
a{color:var(--bs-ink)}
.wrap{max-width:1200px;margin:0 auto;padding:0 24px;box-sizing:border-box}
.ph{display:block;width:100%;height:100%;object-fit:cover}
.btn{display:inline-block;padding:15px 26px;font-family:'Archivo',system-ui,sans-serif;font-weight:700;font-size:17px;text-decoration:none;border-radius:4px;min-height:44px;box-sizing:border-box}
.btn-y{background:var(--bs-accent);color:#fff}
.btn-y:hover{background:var(--bs-accent-hover);color:#fff}
.bouwsupport-page a.btn-y,
.bouwsupport-page a.btn-y:link,
.bouwsupport-page a.btn-y:visited,
.bouwsupport-page a.btn-y:hover{color:#fff !important}
.btn-d{background:var(--bs-ink);color:#fff}
.btn-d:hover{background:#2B3C4A}
.btn-o{border:2px solid var(--bs-ink);background:var(--bs-ink);color:#fff;padding:13px 24px}
.btn-o:hover{background:#2b3c4a;border-color:#2b3c4a;color:#fff}
.bouwsupport-page a.btn-o,
.bouwsupport-page a.btn-o:link,
.bouwsupport-page a.btn-o:visited,
.bouwsupport-page a.btn-o:hover{background:var(--bs-ink) !important;border-color:var(--bs-ink) !important;color:#fff !important}
.bouwsupport-page a.btn-o:hover{background:#2b3c4a !important;border-color:#2b3c4a !important}
.btn:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--bs-ink);outline-offset:3px}
.nav a{color:var(--bs-ink);text-decoration:none;font-weight:500;padding:10px 4px}
.nav a:hover{text-decoration:underline;text-decoration-color:var(--bs-ink);text-decoration-thickness:3px;text-underline-offset:6px}
/* Elementor overschrijft linkkleuren — header expliciet zwart */
.bouwsupport-page header .site-header-link,
.bouwsupport-page header .site-header-link:link,
.bouwsupport-page header .site-header-link:visited,
.bouwsupport-page header .site-header-phone,
.bouwsupport-page header .site-header-phone:link,
.bouwsupport-page header .site-header-phone:visited,
.bouwsupport-page header .nav a,
.bouwsupport-page header .nav a:link,
.bouwsupport-page header .nav a:visited{color:#1b2833 !important}
.bouwsupport-page header .site-header-link:hover,
.bouwsupport-page header .nav a:hover{color:#1b2833 !important;text-decoration:underline;text-decoration-color:#1b2833;text-decoration-thickness:3px;text-underline-offset:6px}

/* Site header + mobiel menu */
.site-header{background:#fff}
.site-header__bar{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:16px 32px;
	padding-top:14px;
	padding-bottom:14px;
}
.site-header__logo{display:block;height:60px;flex:none}
.site-header__logo img{height:60px;width:auto;display:block}
.site-header__panel{
	display:flex;
	flex:1;
	align-items:center;
	justify-content:flex-end;
	gap:20px 28px;
	flex-wrap:wrap;
}
.site-header-nav{display:flex;flex-wrap:wrap;gap:8px 28px;align-items:center}
.site-header-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px}
.site-header-phone{
	font-family:'Archivo',system-ui,sans-serif;
	font-weight:700;
	text-decoration:none;
	font-size:18px;
	color:#1b2833;
}
.site-header-cta{padding:11px 20px}
.site-header__toggle{
	display:none;
	align-items:center;
	justify-content:center;
	width:48px;
	height:48px;
	padding:0;
	margin:0;
	border:2px solid var(--bs-ink);
	border-radius:4px;
	background:#fff;
	cursor:pointer;
	flex:none;
}
.site-header__toggle-label{
	position:absolute;
	width:1px;
	height:1px;
	padding:0;
	margin:-1px;
	overflow:hidden;
	clip:rect(0,0,0,0);
	white-space:nowrap;
	border:0;
}
.site-header__toggle-icon{
	display:block;
	width:22px;
	height:2px;
	background:var(--bs-ink);
	border-radius:1px;
	position:relative;
	transition:background .15s ease;
}
.site-header__toggle-icon::before,
.site-header__toggle-icon::after{
	content:"";
	position:absolute;
	left:0;
	width:22px;
	height:2px;
	background:var(--bs-ink);
	border-radius:1px;
	transition:transform .2s ease, top .2s ease;
}
.site-header__toggle-icon::before{top:-7px}
.site-header__toggle-icon::after{top:7px}
.site-header__toggle[aria-expanded="true"] .site-header__toggle-icon{background:transparent}
.site-header__toggle[aria-expanded="true"] .site-header__toggle-icon::before{top:0;transform:rotate(45deg)}
.site-header__toggle[aria-expanded="true"] .site-header__toggle-icon::after{top:0;transform:rotate(-45deg)}
body.site-header-menu-open{overflow:hidden}

@media (max-width:991px){
	.site-header__bar{flex-wrap:wrap}
	.site-header__toggle{display:flex}
	.site-header__panel{
		display:none;
		flex-basis:100%;
		flex-direction:column;
		align-items:stretch;
		justify-content:flex-start;
		gap:0;
		padding:8px 0 16px;
		border-top:1px solid #d4dbe1;
		margin-top:4px;
		max-height:calc(100vh - 88px);
		overflow-y:auto;
	}
	.site-header__panel.is-open{display:flex}
	.site-header-nav{
		flex-direction:column;
		align-items:stretch;
		gap:0;
	}
	.site-header-nav a{
		display:block;
		padding:14px 4px;
		font-size:18px;
		border-bottom:1px solid #eef1f3;
	}
	.site-header-actions{
		flex-direction:column;
		align-items:stretch;
		gap:16px;
		padding-top:20px;
	}
	.site-header-phone{font-size:20px;text-align:center}
	.site-header-cta{text-align:center;width:100%;box-sizing:border-box}
}

.accent-link{color:var(--bs-ink)}
.accent-link:hover{color:var(--bs-ink);opacity:0.85}
.text-accent{color:var(--bs-ink)}
.mark-accent{background:linear-gradient(transparent 60%,var(--bs-accent) 60%)}
.section-accent{background:var(--bs-accent);color:var(--bs-ink)}
.section-accent .btn-o{background:var(--bs-ink);border-color:var(--bs-ink);color:#fff}
.section-accent .btn-o:hover{background:#2b3c4a;border-color:#2b3c4a;color:#fff}
.card-featured{background:var(--bs-accent);color:var(--bs-ink)}
.text-on-dark{color:#fff}
details{border-top:2px solid var(--bs-ink)}
details:last-of-type{border-bottom:2px solid var(--bs-ink)}
summary{cursor:pointer;list-style:none;padding:22px 0;font-family:'Archivo',system-ui,sans-serif;font-weight:700;font-size:21px;display:flex;justify-content:space-between;gap:24px;align-items:center}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";font-size:30px;font-weight:600;line-height:1;flex:none}
details[open] summary::after{content:"\2212"}

/* Formidable — contactformulier */
.bouwsupport-formidable-wrap .frm_forms,
.bouwsupport-formidable-wrap .frm_forms *{box-sizing:border-box}
.bouwsupport-formidable-wrap .frm_forms{font-family:'Public Sans',system-ui,sans-serif;color:var(--bs-ink)}
.bouwsupport-formidable-wrap .frm_primary_label{
	display:block;
	margin:0 0 8px;
	font-family:'Archivo',system-ui,sans-serif;
	font-weight:700;
	font-size:15px;
	color:var(--bs-ink);
}
.bouwsupport-formidable-wrap .frm_form_field{margin-bottom:14px;max-width:480px}
.bouwsupport-formidable-wrap .frm_required{color:var(--bs-ink);font-weight:700}
.bouwsupport-formidable-wrap input[type="text"],
.bouwsupport-formidable-wrap input[type="email"],
.bouwsupport-formidable-wrap input[type="tel"],
.bouwsupport-formidable-wrap input[type="url"],
.bouwsupport-formidable-wrap input[type="number"],
.bouwsupport-formidable-wrap select,
.bouwsupport-formidable-wrap textarea{
	width:100%;
	max-width:480px;
	padding:8px 11px;
	font-family:'Public Sans',system-ui,sans-serif;
	font-size:15px;
	line-height:1.35;
	color:var(--bs-ink);
	background:#eef1f3;
	border:1px solid #d4dbe1;
	border-radius:4px;
	transition:border-color .15s ease, background .15s ease, box-shadow .15s ease;
}
.bouwsupport-formidable-wrap textarea{min-height:100px;max-width:480px;resize:vertical}
.bouwsupport-formidable-wrap select{
	appearance:none;
	background-color:#eef1f3;
	background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%231B2833' d='M1 1l5 5 5-5'/%3E%3C/svg%3E");
	background-repeat:no-repeat;
	background-position:right 12px center;
	padding-right:36px;
}
.bouwsupport-formidable-wrap input:focus,
.bouwsupport-formidable-wrap select:focus,
.bouwsupport-formidable-wrap textarea:focus{
	background:#e8ecef;
}
.bouwsupport-formidable-wrap input:focus,
.bouwsupport-formidable-wrap select:focus,
.bouwsupport-formidable-wrap textarea:focus{
	outline:none;
	border-color:var(--bs-ink);
	box-shadow:0 0 0 3px rgba(27,40,51,.12);
}
.bouwsupport-formidable-wrap .frm_submit{
	margin-top:8px;
	padding:0;
}
.bouwsupport-formidable-wrap .frm_button_submit,
.bouwsupport-formidable-wrap .frm_forms input[type="submit"],
.bouwsupport-formidable-wrap .frm_forms button[type="submit"]{
	display:inline-block;
	padding:15px 28px !important;
	font-family:'Archivo',system-ui,sans-serif !important;
	font-weight:700 !important;
	font-size:17px !important;
	line-height:1.2 !important;
	color:#fff !important;
	background:var(--bs-ink) !important;
	border:2px solid var(--bs-ink) !important;
	border-radius:4px !important;
	min-height:44px;
	cursor:pointer;
	width:auto !important;
	height:auto !important;
	box-shadow:none !important;
	transition:background .15s ease, border-color .15s ease;
}
.bouwsupport-formidable-wrap .frm_button_submit:hover,
.bouwsupport-formidable-wrap .frm_forms input[type="submit"]:hover,
.bouwsupport-formidable-wrap .frm_forms button[type="submit"]:hover{
	background:#2b3c4a !important;
	border-color:#2b3c4a !important;
	color:#fff !important;
}
.bouwsupport-formidable-wrap .frm_error_style,
.bouwsupport-formidable-wrap .frm_error{
	color:#8b1e1e;
	font-size:15px;
}
.bouwsupport-formidable-wrap .frm_message,
.bouwsupport-formidable-wrap .frm_success_style{
	padding:14px 16px;
	border-radius:4px;
	border:2px solid var(--bs-ink);
	background:#fff;
}
