
/* =========================================================
   GHZ Elementor Footer v2.0
   Volledige-breedte editorcanvas + frontendfooter
   ========================================================= */

.ghz-elementor-footer-active .footer-cta,
.ghz-elementor-footer-active .site-footer {
	display: none !important;
}

.ghz-elementor-footer-output,
.ghz-elementor-footer-output .elementor,
.ghz-elementor-footer-output .elementor-element,
#ghz-footer-editor-main,
#ghz-footer-editor-main > .elementor,
body.ghz-footer-editor-canvas,
body.ghz-footer-editor-canvas .elementor {
	box-sizing: border-box;
	width: 100% !important;
	max-width: none !important;
}

html:has(body.ghz-footer-editor-canvas),
body.ghz-footer-editor-canvas {
	margin: 0 !important;
	padding: 0 !important;
	overflow-x: hidden !important;
	background: #080e11 !important;
}

body.ghz-footer-editor-canvas #ghz-footer-editor-main {
	display: block !important;
	width: 100vw !important;
	max-width: 100vw !important;
	margin: 0 !important;
	padding: 0 !important;
}

.ghz-ef-root,
.elementor-element.ghz-ef-root {
	position: relative !important;
	display: flex !important;
	width: 100% !important;
	min-width: 100% !important;
	max-width: none !important;
	flex: 0 0 100% !important;
	align-self: stretch !important;
	margin: 0 !important;
	padding-right: 0 !important;
	padding-left: 0 !important;
}

.ghz-ef-root > .e-con-inner {
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

.ghz-ef-inner,
.elementor-element.ghz-ef-inner {
	width: calc(100% - 96px) !important;
	max-width: none !important;
	min-width: 0 !important;
	margin-right: auto !important;
	margin-left: auto !important;
}

/*
 * Elementor plaatst binnen containers soms nog een .e-con-inner met de
 * algemene sitebreedte (meestal circa 1140 px). Die verborgen begrenzing
 * maakte de footer zichtbaar te smal.
 */
.ghz-ef-inner > .e-con-inner,
.elementor-element.ghz-ef-inner > .e-con-inner,
.ghz-ef-cta-inner > .e-con-inner,
.ghz-ef-grid > .e-con-inner,
.ghz-ef-bottom > .e-con-inner {
	width: 100% !important;
	max-width: none !important;
	min-width: 0 !important;
	margin: 0 !important;
	padding-right: 0 !important;
	padding-left: 0 !important;
}

/* Ook algemene Elementor containerlimieten binnen de footer uitschakelen. */
#ghz-elementor-footer .e-con,
#ghz-elementor-footer .e-con-inner,
#ghz-footer-editor-main .e-con,
#ghz-footer-editor-main .e-con-inner {
	--container-max-width: none !important;
}

#ghz-elementor-footer .ghz-ef-root > .e-con-inner,
#ghz-footer-editor-main .ghz-ef-root > .e-con-inner {
	width: 100% !important;
	max-width: none !important;
}

/* CTA */
.ghz-ef-cta {
	padding: 48px 0 !important;
	background: #161f23 !important;
	color: #fff !important;
}

.ghz-ef-cta-inner,
.elementor-element.ghz-ef-cta-inner {
	display: flex !important;
	flex-direction: row !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 45px !important;
}

.ghz-ef-cta-copy,
.elementor-element.ghz-ef-cta-copy {
	display: flex !important;
	width: auto !important;
	min-width: 0 !important;
	flex: 1 1 auto !important;
	flex-direction: column !important;
	align-items: flex-start !important;
}

.ghz-ef-eyebrow,
.ghz-ef-eyebrow p {
	margin: 0 0 9px !important;
	color: #f31930 !important;
	font-family: "Barlow Condensed", Arial, sans-serif !important;
	font-size: 16px !important;
	font-weight: 800 !important;
	line-height: 1 !important;
	letter-spacing: .07em !important;
	text-transform: uppercase !important;
}

.ghz-ef-cta-title,
.ghz-ef-cta-title .elementor-widget-container,
.ghz-ef-cta-title .elementor-heading-title {
	width: auto !important;
	max-width: 100% !important;
	min-width: 0 !important;
	word-break: normal !important;
	overflow-wrap: normal !important;
	white-space: normal !important;
}

.ghz-ef-cta-title .elementor-heading-title {
	margin: 0 !important;
	color: #fff !important;
	font-family: "Barlow Condensed", Arial, sans-serif !important;
	font-size: clamp(2rem, 3.4vw, 3.65rem) !important;
	font-weight: 800 !important;
	line-height: .96 !important;
	letter-spacing: .01em !important;
	text-transform: uppercase !important;
}

.ghz-ef-button,
.elementor-element.ghz-ef-button {
	width: auto !important;
	min-width: max-content !important;
	max-width: none !important;
	flex: 0 0 auto !important;
}

.ghz-ef-button a,
.ghz-ef-button button,
.ghz-ef-button .elementor-button {
	display: inline-flex !important;
	min-width: 190px !important;
	min-height: 54px !important;
	align-items: center !important;
	justify-content: center !important;
	padding: 14px 25px !important;
	border: 1px solid #f31930 !important;
	border-radius: 4px !important;
	background-color: #f31930 !important;
	background-image: none !important;
	color: #fff !important;
	font-family: "Barlow Condensed", Arial, sans-serif !important;
	font-size: 1.08rem !important;
	font-weight: 800 !important;
	line-height: 1 !important;
	letter-spacing: .03em !important;
	text-align: center !important;
	text-decoration: none !important;
	text-transform: uppercase !important;
	box-shadow: none !important;
}

.ghz-ef-button a:hover,
.ghz-ef-button button:hover,
.ghz-ef-button .elementor-button:hover {
	border-color: #c90f25 !important;
	background-color: #c90f25 !important;
	color: #fff !important;
	transform: translateY(-2px);
}

/* Hoofdfooter */
.ghz-ef-footer {
	padding: 72px 0 0 !important;
	background: #080e11 !important;
	color: #fff !important;
}

.ghz-ef-grid,
.elementor-element.ghz-ef-grid {
	display: grid !important;
	grid-template-columns: minmax(260px, 1.3fr) repeat(3, minmax(155px, .75fr)) !important;
	align-items: start !important;
	gap: clamp(38px, 5vw, 82px) !important;
}

.ghz-ef-column,
.elementor-element.ghz-ef-column {
	display: flex !important;
	width: auto !important;
	min-width: 0 !important;
	max-width: 100% !important;
	flex: none !important;
	flex-direction: column !important;
	align-items: flex-start !important;
}

.ghz-ef-logo,
.ghz-ef-logo .elementor-widget-container {
	width: auto !important;
	max-width: 180px !important;
}

.ghz-ef-logo img {
	display: block !important;
	width: 180px !important;
	max-width: 100% !important;
	height: auto !important;
}

.ghz-ef-brand-text,
.ghz-ef-brand-text p {
	max-width: 315px !important;
	margin: 20px 0 0 !important;
	color: #b9c2c6 !important;
	font-size: .98rem !important;
	line-height: 1.65 !important;
}

.ghz-ef-column-title .elementor-heading-title {
	margin: 0 0 19px !important;
	color: #fff !important;
	font-family: "Barlow Condensed", Arial, sans-serif !important;
	font-size: 1.42rem !important;
	font-weight: 800 !important;
	line-height: 1 !important;
	text-transform: uppercase !important;
}

.ghz-ef-links {
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

.ghz-ef-links li {
	margin: 0 !important;
	padding: 0 !important;
}

.ghz-ef-links a,
.ghz-ef-contact a {
	display: inline-block !important;
	padding: 5px 0 !important;
	color: #b9c2c6 !important;
	font-size: .97rem !important;
	line-height: 1.45 !important;
	text-decoration: none !important;
	transition: color .18s ease, transform .18s ease;
}

.ghz-ef-links a:hover,
.ghz-ef-contact a:hover {
	color: #f31930 !important;
	transform: translateX(3px);
}

.ghz-ef-contact p {
	margin: 0 0 8px !important;
	color: #b9c2c6 !important;
	font-size: .97rem !important;
	line-height: 1.5 !important;
}

.ghz-ef-socials {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 10px !important;
	margin-top: 24px !important;
}

.ghz-ef-socials:empty,
.ghz-ef-social-widget:has(.ghz-ef-socials:empty) {
	display: none !important;
}

.ghz-ef-socials a {
	display: inline-flex !important;
	width: 40px !important;
	height: 40px !important;
	align-items: center !important;
	justify-content: center !important;
	border: 1px solid #344047 !important;
	border-radius: 50% !important;
	color: #fff !important;
}

.ghz-ef-socials a:hover {
	border-color: #f31930 !important;
	background: #f31930 !important;
	transform: translateY(-2px);
}

.ghz-ef-socials svg {
	width: 19px !important;
	height: 19px !important;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.8;
}

.ghz-ef-socials a:nth-child(2) svg {
	fill: currentColor;
	stroke: none;
}

/* Onderste regel */
.ghz-ef-bottom,
.elementor-element.ghz-ef-bottom {
	margin-top: 58px !important;
	padding: 24px 0 !important;
	border-top: 1px solid #263137 !important;
}

.ghz-ef-bottom-content {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 30px !important;
	color: #89969c !important;
	font-size: .86rem !important;
}

.ghz-ef-bottom-right {
	display: flex !important;
	align-items: center !important;
	gap: 26px !important;
}

.ghz-ef-bottom-content a {
	color: #b9c2c6 !important;
	text-decoration: none !important;
}

.ghz-ef-bottom-content a:hover {
	color: #f31930 !important;
}

.ghz-ef-credit strong {
	color: #fff !important;
	letter-spacing: .04em;
}

/* Tablet */
@media (max-width: 1050px) {
	.ghz-ef-inner,
	.elementor-element.ghz-ef-inner {
		width: calc(100% - 56px) !important;
		max-width: none !important;
	}

	.ghz-ef-grid,
	.elementor-element.ghz-ef-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		row-gap: 50px !important;
	}
}

/* Mobiel */
@media (max-width: 700px) {
	.ghz-ef-inner,
	.elementor-element.ghz-ef-inner {
		width: calc(100% - 30px) !important;
		max-width: none !important;
	}

	.ghz-ef-cta {
		padding: 38px 0 !important;
	}

	.ghz-ef-cta-inner,
	.elementor-element.ghz-ef-cta-inner {
		flex-direction: column !important;
		align-items: flex-start !important;
		gap: 24px !important;
	}

	.ghz-ef-button,
	.ghz-ef-button a,
	.ghz-ef-button .elementor-button {
		width: 100% !important;
		min-width: 0 !important;
	}

	.ghz-ef-footer {
		padding-top: 55px !important;
	}

	.ghz-ef-grid,
	.elementor-element.ghz-ef-grid {
		grid-template-columns: 1fr !important;
		gap: 42px !important;
	}

	.ghz-ef-bottom {
		margin-top: 45px !important;
	}

	.ghz-ef-bottom-content,
	.ghz-ef-bottom-right {
		flex-direction: column !important;
		align-items: flex-start !important;
		gap: 14px !important;
	}
}


/* v2.1 – laatste breedte-override na alle Elementor-regels */
body .ghz-elementor-footer-output .ghz-ef-inner,
body #ghz-footer-editor-main .ghz-ef-inner {
	width: calc(100% - 96px) !important;
	max-width: none !important;
}

body .ghz-elementor-footer-output .ghz-ef-inner > .e-con-inner,
body #ghz-footer-editor-main .ghz-ef-inner > .e-con-inner {
	width: 100% !important;
	max-width: none !important;
}

@media (max-width: 1050px) {
	body .ghz-elementor-footer-output .ghz-ef-inner,
	body #ghz-footer-editor-main .ghz-ef-inner {
		width: calc(100% - 56px) !important;
	}
}

@media (max-width: 700px) {
	body .ghz-elementor-footer-output .ghz-ef-inner,
	body #ghz-footer-editor-main .ghz-ef-inner {
		width: calc(100% - 30px) !important;
	}
}
