/**
 * Premium footer newsletter + social block.
 * Scoped to Elementor Footer #1968 — keeps existing structure, refines look.
 * Desktop: .elementor-element-df0a7eb | Mobile: .elementor-element-1b18397
 */

.elementor-1968 {
	--fn-ink: #002b44;
	--fn-accent: #5de8c0;
	--fn-accent-deep: #00a4b4;
	--fn-muted: #5a6b75;
	--fn-line: #dce6ea;
	--fn-soft: #eef4f6;
	--fn-white: #ffffff;
}

/* Newsletter columns (desktop + mobile duplicates) */
.elementor-1968 .elementor-element-df0a7eb,
.elementor-1968 .elementor-element-1b18397 {
	padding: 8px 4px 4px !important;
	gap: 14px !important;
}

/*
 * Mobile newsletter title is incorrectly set to hidden-tablet/mobile
 * while living inside the mobile-only column — force it visible there.
 */
@media (max-width: 1024px) {
	.elementor-1968 .elementor-element-1b18397 .elementor-element-7a0bb2e.elementor-hidden-tablet,
	.elementor-1968 .elementor-element-1b18397 .elementor-element-7a0bb2e.elementor-hidden-mobile {
		display: block !important;
	}
}

/* Reset Elementor negative margins that collapse the block */
.elementor-1968 .elementor-element-2a3054e > .elementor-widget-container,
.elementor-1968 .elementor-element-7a0bb2e > .elementor-widget-container,
.elementor-1968 .elementor-element-755310b > .elementor-widget-container,
.elementor-1968 .elementor-element-d81f3bd > .elementor-widget-container,
.elementor-1968 .elementor-element-49a3587 > .elementor-widget-container,
.elementor-1968 .elementor-element-3cd1efb > .elementor-widget-container,
.elementor-1968 .elementor-element-07909be > .elementor-widget-container,
.elementor-1968 .elementor-element-26ece5a > .elementor-widget-container {
	margin: 0 !important;
}

/* Headings — “Schrijf je in…” / “Volg ons” */
.elementor-1968 .elementor-element-2a3054e .elementor-heading-title,
.elementor-1968 .elementor-element-7a0bb2e .elementor-heading-title,
.elementor-1968 .elementor-element-755310b .elementor-heading-title,
.elementor-1968 .elementor-element-d81f3bd .elementor-heading-title {
	font-family: "filision-pro", Sans-serif !important;
	font-weight: 600 !important;
	font-size: 22px !important;
	line-height: 1.25 !important;
	color: var(--fn-ink) !important;
	letter-spacing: -0.01em;
	margin: 0 !important;
}

.elementor-1968 .elementor-element-2a3054e .elementor-heading-title a,
.elementor-1968 .elementor-element-7a0bb2e .elementor-heading-title a,
.elementor-1968 .elementor-element-755310b .elementor-heading-title a,
.elementor-1968 .elementor-element-d81f3bd .elementor-heading-title a {
	color: inherit !important;
	text-decoration: none !important;
	pointer-events: none;
	cursor: default;
}

.elementor-1968 .elementor-element-2a3054e .elementor-heading-title::after,
.elementor-1968 .elementor-element-7a0bb2e .elementor-heading-title::after {
	content: "";
	display: block;
	width: 36px;
	height: 3px;
	margin-top: 10px;
	background: linear-gradient(90deg, var(--fn-accent), var(--fn-accent-deep));
	border-radius: 2px;
}

.elementor-1968 .elementor-element-755310b,
.elementor-1968 .elementor-element-d81f3bd {
	margin-top: 8px !important;
}

/* Ninja Forms #3 — newsletter */
.elementor-1968 #nf-form-3-cont,
.elementor-1968 #nf-form-3_1-cont {
	font-family: "filision-pro", Sans-serif;
	color: var(--fn-ink);
	max-width: 100%;
}

.elementor-1968 #nf-form-3-cont .nf-form-layout,
.elementor-1968 #nf-form-3_1-cont .nf-form-layout {
	margin: 0;
	padding: 0;
}

.elementor-1968 #nf-form-3-cont .nf-before-form-content,
.elementor-1968 #nf-form-3_1-cont .nf-before-form-content {
	margin: 0 0 12px;
}

.elementor-1968 #nf-form-3-cont .nf-form-fields-required,
.elementor-1968 #nf-form-3_1-cont .nf-form-fields-required {
	font-size: 12px !important;
	line-height: 1.4 !important;
	color: var(--fn-muted) !important;
	margin: 0 0 14px !important;
	opacity: 1;
}

.elementor-1968 #nf-form-3-cont .ninja-forms-req-symbol,
.elementor-1968 #nf-form-3_1-cont .ninja-forms-req-symbol {
	color: var(--fn-accent-deep) !important;
}

.elementor-1968 #nf-form-3-cont .nf-field-container,
.elementor-1968 #nf-form-3_1-cont .nf-field-container {
	margin-bottom: 12px !important;
}

.elementor-1968 #nf-form-3-cont .one-half,
.elementor-1968 #nf-form-3_1-cont .one-half {
	width: 100% !important;
	float: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

/* Email field */
.elementor-1968 #nf-form-3-cont .nf-field-element input[type="email"],
.elementor-1968 #nf-form-3-cont .nf-field-element input[type="text"],
.elementor-1968 #nf-form-3_1-cont .nf-field-element input[type="email"],
.elementor-1968 #nf-form-3_1-cont .nf-field-element input[type="text"] {
	width: 100% !important;
	max-width: 100% !important;
	box-sizing: border-box !important;
	height: 48px !important;
	padding: 0 16px !important;
	border: 1px solid var(--fn-line) !important;
	border-radius: 4px !important;
	background: var(--fn-white) !important;
	color: var(--fn-ink) !important;
	font-family: "filision-pro", Sans-serif !important;
	font-size: 15px !important;
	font-weight: 500 !important;
	line-height: 48px !important;
	box-shadow: none !important;
	transition: border-color 0.15s ease, box-shadow 0.15s ease !important;
}

.elementor-1968 #nf-form-3-cont .nf-field-element input[type="email"]::placeholder,
.elementor-1968 #nf-form-3-cont .nf-field-element input[type="text"]::placeholder,
.elementor-1968 #nf-form-3_1-cont .nf-field-element input[type="email"]::placeholder,
.elementor-1968 #nf-form-3_1-cont .nf-field-element input[type="text"]::placeholder {
	color: #8a9aa3 !important;
	font-weight: 400 !important;
}

.elementor-1968 #nf-form-3-cont .nf-field-element input[type="email"]:focus,
.elementor-1968 #nf-form-3-cont .nf-field-element input[type="text"]:focus,
.elementor-1968 #nf-form-3_1-cont .nf-field-element input[type="email"]:focus,
.elementor-1968 #nf-form-3_1-cont .nf-field-element input[type="text"]:focus {
	outline: none !important;
	border-color: var(--fn-accent-deep) !important;
	box-shadow: 0 0 0 3px rgba(0, 164, 180, 0.12) !important;
}

/* Privacy checkbox */
.elementor-1968 #nf-form-3-cont .nf-field-label,
.elementor-1968 #nf-form-3_1-cont .nf-field-label {
	padding: 0 !important;
}

.elementor-1968 #nf-form-3-cont .nf-field-label label,
.elementor-1968 #nf-form-3_1-cont .nf-field-label label,
.elementor-1968 #nf-form-3-cont .nf-field-element label,
.elementor-1968 #nf-form-3_1-cont .nf-field-element label {
	font-family: "filision-pro", Sans-serif !important;
	font-size: 13px !important;
	font-weight: 500 !important;
	line-height: 1.45 !important;
	color: var(--fn-muted) !important;
}

.elementor-1968 #nf-form-3-cont .nf-field-element label a,
.elementor-1968 #nf-form-3_1-cont .nf-field-element label a,
.elementor-1968 #nf-form-3-cont .nf-field-label label a,
.elementor-1968 #nf-form-3_1-cont .nf-field-label label a {
	color: var(--fn-ink) !important;
	text-decoration: underline !important;
	text-underline-offset: 2px;
	font-weight: 600 !important;
}

.elementor-1968 #nf-form-3-cont .nf-field-element label a:hover,
.elementor-1968 #nf-form-3_1-cont .nf-field-element label a:hover {
	color: var(--fn-accent-deep) !important;
}

.elementor-1968 #nf-form-3-cont input[type="checkbox"],
.elementor-1968 #nf-form-3_1-cont input[type="checkbox"] {
	width: 16px !important;
	height: 16px !important;
	margin-top: 2px !important;
	accent-color: var(--fn-accent-deep);
}

/* Submit */
.elementor-1968 #nf-form-3-cont .submit-container,
.elementor-1968 #nf-form-3_1-cont .submit-container,
.elementor-1968 #nf-form-3-cont .nf-field-element input[type="button"],
.elementor-1968 #nf-form-3-cont .nf-field-element input[type="submit"],
.elementor-1968 #nf-form-3_1-cont .nf-field-element input[type="button"],
.elementor-1968 #nf-form-3_1-cont .nf-field-element input[type="submit"],
.elementor-1968 #nf-form-3-cont .nf-field-element button,
.elementor-1968 #nf-form-3_1-cont .nf-field-element button {
	margin-top: 4px !important;
}

.elementor-1968 #nf-form-3-cont input[type="button"],
.elementor-1968 #nf-form-3-cont input[type="submit"],
.elementor-1968 #nf-form-3_1-cont input[type="button"],
.elementor-1968 #nf-form-3_1-cont input[type="submit"],
.elementor-1968 #nf-form-3-cont .nf-field-element button,
.elementor-1968 #nf-form-3_1-cont .nf-field-element button {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-height: 46px !important;
	padding: 0 22px !important;
	border: none !important;
	border-radius: 4px !important;
	background: var(--fn-ink) !important;
	color: #fff !important;
	font-family: "filision-pro", Sans-serif !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	letter-spacing: 0.02em !important;
	cursor: pointer !important;
	box-shadow: none !important;
	transition: background 0.15s ease, transform 0.15s ease !important;
	width: auto !important;
}

.elementor-1968 #nf-form-3-cont input[type="button"]:hover,
.elementor-1968 #nf-form-3-cont input[type="submit"]:hover,
.elementor-1968 #nf-form-3_1-cont input[type="button"]:hover,
.elementor-1968 #nf-form-3_1-cont input[type="submit"]:hover,
.elementor-1968 #nf-form-3-cont .nf-field-element button:hover,
.elementor-1968 #nf-form-3_1-cont .nf-field-element button:hover {
	background: var(--fn-accent-deep) !important;
	color: #fff !important;
}

/* Social — Volg ons */
.elementor-1968 .elementor-element-49a3587 .elementor-social-icon,
.elementor-1968 .elementor-element-3cd1efb .elementor-social-icon {
	background: var(--fn-white) !important;
	border: 1px solid var(--fn-line) !important;
	border-radius: 50% !important;
	width: 44px !important;
	height: 44px !important;
	transition: border-color 0.15s ease, background 0.15s ease, transform 0.15s ease !important;
}

.elementor-1968 .elementor-element-49a3587 .elementor-social-icon svg,
.elementor-1968 .elementor-element-3cd1efb .elementor-social-icon svg {
	width: 20px !important;
	height: 20px !important;
}

.elementor-1968 .elementor-element-49a3587 .elementor-social-icon:hover,
.elementor-1968 .elementor-element-3cd1efb .elementor-social-icon:hover {
	background: var(--fn-ink) !important;
	border-color: var(--fn-ink) !important;
	transform: translateY(-2px);
}

.elementor-1968 .elementor-element-49a3587 .elementor-social-icons-wrapper,
.elementor-1968 .elementor-element-3cd1efb .elementor-social-icons-wrapper {
	gap: 10px !important;
}

/* Tone down oversized gray SVG rects inside custom social icons */
.elementor-1968 .elementor-element-49a3587 .elementor-social-icon svg rect[fill="#E1E1E1"],
.elementor-1968 .elementor-element-3cd1efb .elementor-social-icon svg rect[fill="#E1E1E1"] {
	fill: transparent !important;
}

.elementor-1968 .elementor-element-49a3587 .elementor-social-icon:hover svg path,
.elementor-1968 .elementor-element-3cd1efb .elementor-social-icon:hover svg path {
	fill: #fff !important;
}

/* Recaptcha quieter spacing — avoid scale overflow */
.elementor-1968 #nf-form-3-cont .nf-field-container.recaptcha-container,
.elementor-1968 #nf-form-3_1-cont .nf-field-container.recaptcha-container {
	margin-bottom: 10px !important;
	max-width: 100%;
	overflow: hidden;
}

/* -------------------------------------------------------------------------- */
/* Footer width lock — kill horizontal scroll on tablet/mobile                */
/* Do NOT set overflow-x on the footer root: mixed overflow axes force        */
/* overflow-y to clip as well, which cuts the footlogo (-70px pull-up).       */
/* -------------------------------------------------------------------------- */
.site-footer,
.elementor-location-footer,
.elementor-1968 {
	max-width: 100% !important;
	box-sizing: border-box !important;
}

.elementor-1968 .e-con,
.elementor-1968 .e-con-boxed,
.elementor-1968 .e-con-full,
.elementor-1968 .e-con-inner {
	max-width: 100% !important;
	box-sizing: border-box !important;
}

/* Contain wide newsletter / grid children only — keep footer root visible. */
.elementor-1968 .elementor-element-df0a7eb,
.elementor-1968 .elementor-element-3bcb99b,
.elementor-1968 .elementor-element-d924b5c {
	overflow-x: hidden !important;
	max-width: 100% !important;
}

/* Footlogo: theme CSS sets .hfe-site-logo-img { z-index:999999999 } which
 * paints this footer logo over the open mobile menu. Keep footer above the
 * page seam (so -70px pull-up is not covered by the last content section),
 * but well below the compact header (z-index 99999999). */
.ehf-footer,
.site-footer,
.elementor-location-footer {
	position: relative;
	z-index: 5;
}

.elementor-location-footer .hfe-site-logo-img,
.elementor-1968 .elementor-element-1f5c77f .hfe-site-logo-img,
.site-footer .hfe-site-logo-img {
	z-index: 6 !important;
	position: relative !important;
}

.elementor-1968 .elementor-element-a736dac,
.elementor-1968 .elementor-element-1f5c77f {
	overflow: visible !important;
}

/* Stop the footlogo sitting under the last content section.
 * Elementor had margin-top:-70px to straddle the seam; that gets covered
 * by the page layer. Keep it fully inside the footer with a little air. */
.elementor-1968 .elementor-element-1f5c77f > .elementor-widget-container {
	margin-top: 24px !important;
}

/* Page content stays under the footer seam / footlogo pull-up */
body #content.site-content,
.site-content {
	position: relative;
	z-index: 1;
}

/* Legacy Elementor custom CSS that pulls fields outside the viewport */
.elementor-1968 #nf-field-21 {
	margin-top: 0 !important;
	margin-right: 0 !important;
}

@media (max-width: 1024px) {
	/* Broken tablet rule: newsletter column set to 1600px */
	.elementor-1968 .elementor-element-df0a7eb {
		--width: 100% !important;
		width: 100% !important;
		max-width: 100% !important;
	}

	.elementor-1968 .elementor-element-3bcb99b {
		--width: 100% !important;
		width: 100% !important;
		max-width: 100% !important;
	}

	.elementor-1968 .elementor-element-88a9aff,
	.elementor-1968 .elementor-element-d924b5c {
		--width: 100% !important;
		width: 100% !important;
		max-width: 100% !important;
		--padding-left: 16px !important;
		--padding-right: 16px !important;
		overflow-x: hidden !important;
	}

	.elementor-1968 .elementor-element-1b18397,
	.elementor-1968 .elementor-element-3f5e5e9,
	.elementor-1968 .elementor-element-28cc59c,
	.elementor-1968 .elementor-element-a736dac,
	.elementor-1968 .elementor-element-cdbea3d {
		--width: 100% !important;
		width: 100% !important;
		max-width: 100% !important;
	}

	.elementor-1968 .elementor-element-1b18397 {
		padding: 4px 0 8px !important;
	}

	.elementor-1968 .elementor-element-7a0bb2e .elementor-heading-title,
	.elementor-1968 .elementor-element-d81f3bd .elementor-heading-title {
		font-size: 20px !important;
	}

	.elementor-1968 #nf-form-3-cont,
	.elementor-1968 #nf-form-3_1-cont {
		max-width: 100% !important;
		overflow: hidden;
	}

	.elementor-1968 #nf-form-3-cont .nf-field-element input[type="email"],
	.elementor-1968 #nf-form-3_1-cont .nf-field-element input[type="email"],
	.elementor-1968 #nf-form-3-cont .nf-field-element input[type="text"],
	.elementor-1968 #nf-form-3_1-cont .nf-field-element input[type="text"] {
		height: 46px !important;
		font-size: 16px !important; /* avoids iOS zoom */
		max-width: 100% !important;
		box-sizing: border-box !important;
	}

	.elementor-1968 #nf-form-3-cont input[type="button"],
	.elementor-1968 #nf-form-3-cont input[type="submit"],
	.elementor-1968 #nf-form-3_1-cont input[type="button"],
	.elementor-1968 #nf-form-3_1-cont input[type="submit"],
	.elementor-1968 #nf-form-3-cont .nf-field-element button,
	.elementor-1968 #nf-form-3_1-cont .nf-field-element button {
		width: 100% !important;
		min-height: 48px !important;
		max-width: 100% !important;
		box-sizing: border-box !important;
	}

	.elementor-1968 .elementor-element-3cd1efb {
		--icon-size: 40px !important;
		max-width: 100% !important;
	}

	.elementor-1968 .elementor-element-3cd1efb .elementor-social-icon {
		width: 40px !important;
		height: 40px !important;
	}

	.elementor-1968 .g-recaptcha,
	.elementor-1968 iframe[src*="recaptcha"] {
		max-width: 100% !important;
	}
}

@media (max-width: 767px) {
	.elementor-1968 .elementor-element-7a0bb2e .elementor-heading-title,
	.elementor-1968 .elementor-element-d81f3bd .elementor-heading-title {
		font-size: 19px !important;
	}

	.elementor-1968 .elementor-element-1b18397 {
		gap: 12px !important;
	}

	.elementor-1968 .elementor-element-88a9aff {
		--gap: 16px 16px !important;
		--padding-left: 16px !important;
		--padding-right: 16px !important;
	}

	.site-footer .e-flex.e-con-boxed {
		padding-left: 16px !important;
		padding-right: 16px !important;
		max-width: 100% !important;
		box-sizing: border-box !important;
	}
}
