/* ==========================================================================
   Steenhuisen – footer (alle pagina's). Gescoped onder footer#footer.smf.
   ========================================================================== */
footer#footer.smf {
	--smf-bg: #151515;
	--smf-fg: #f4f1ec;
	--smf-dim: #a9a399;
	--smf-line: rgba(255, 255, 255, .12);
	margin: 0;
	padding: clamp(56px, 7vw, 88px) 0 28px;
	background: var(--smf-bg);
	color: var(--smf-fg);
	font-family: 'Hanken Grotesk', 'Helvetica Neue', Arial, sans-serif;
	font-size: 15px;
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
}
footer#footer.smf *,
footer#footer.smf *::before,
footer#footer.smf *::after { box-sizing: border-box; }
footer#footer.smf a { color: var(--smf-fg); text-decoration: none; transition: color .2s ease, opacity .2s ease; }
footer#footer.smf a:hover { color: #fff; text-decoration: underline; text-underline-offset: 3px; }
footer#footer.smf a:focus-visible { outline: 2px solid #fff; outline-offset: 3px; border-radius: 2px; }

footer#footer.smf .smf__wrap {
	width: 100%;
	max-width: 1280px;
	margin: 0 auto;
	padding: 0 24px;
}
footer#footer.smf .smf__grid {
	display: grid;
	grid-template-columns: 1.5fr 1.2fr 1fr 1fr 1fr;
	gap: 40px 32px;
}

/* Merk */
footer#footer.smf .smf__logo { display: inline-block; }
footer#footer.smf .smf__logo img { display: block; width: auto; height: auto; max-width: 180px; max-height: 64px; }
footer#footer.smf .smf__about { margin: 20px 0 0; max-width: 340px; color: var(--smf-dim); }
footer#footer.smf .smf__member {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	margin-top: 24px;
	font-size: 13px;
	color: var(--smf-dim);
}
footer#footer.smf .smf__member img { width: 44px; height: 44px; object-fit: contain; }
footer#footer.smf .smf__social { display: flex; gap: 10px; margin: 24px 0 0; padding: 0; list-style: none; }
footer#footer.smf .smf__social a {
	display: grid;
	place-items: center;
	width: 40px;
	height: 40px;
	border: 1px solid var(--smf-line);
	border-radius: 4px;
}
footer#footer.smf .smf__social a:hover { border-color: var(--smf-fg); text-decoration: none; }
footer#footer.smf .smf__social svg { width: 18px; height: 18px; }

/* Kolommen */
footer#footer.smf .smf__title {
	margin: 0 0 18px;
	font-family: inherit;
	font-size: 12px;
	font-weight: 600;
	line-height: 1.4;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--smf-dim);
}
footer#footer.smf .smf__list { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }
footer#footer.smf .smf__list li { margin: 0; padding: 0; }
footer#footer.smf .smf__list li::before { display: none; }
footer#footer.smf .smf__list--contact a { display: inline-flex; align-items: center; gap: 10px; font-weight: 500; }
footer#footer.smf .smf__list--contact .smh-icon { flex: 0 0 auto; opacity: .7; }
footer#footer.smf .smf__list--external a { color: var(--smf-dim); }
footer#footer.smf .smf__list--external a:hover { color: #fff; }
footer#footer.smf .smf__office {
	margin: 22px 0 0;
	font-style: normal;
	color: var(--smf-dim);
}
footer#footer.smf .smf__office strong,
footer#footer.smf .smf__hours strong {
	display: block;
	margin-bottom: 2px;
	font-weight: 600;
	color: var(--smf-fg);
}
footer#footer.smf .smf__office a { color: var(--smf-dim); }
footer#footer.smf .smf__office a:hover { color: #fff; }
footer#footer.smf .smf__hours { margin: 22px 0 0; color: var(--smf-dim); }

/* Werkgebied */
footer#footer.smf .smf__areas {
	margin-top: clamp(40px, 5vw, 64px);
	padding: 24px 0;
	border-top: 1px solid var(--smf-line);
	border-bottom: 1px solid var(--smf-line);
}
footer#footer.smf .smf__areas p { margin: 0; color: var(--smf-dim); }
footer#footer.smf .smf__areas strong {
	margin-right: 10px;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--smf-fg);
}
footer#footer.smf .smf__areas a { color: var(--smf-fg); text-decoration: underline; text-underline-offset: 3px; text-decoration-color: rgba(255, 255, 255, .35); }

/* Onderbalk */
footer#footer.smf .smf__bottom {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	gap: 8px 24px;
	padding-top: 22px;
	font-size: 13px;
	color: var(--smf-dim);
}
footer#footer.smf .smf__bottom p { margin: 0; }
footer#footer.smf .smf__legal { display: flex; flex-wrap: wrap; gap: 4px 0; }
footer#footer.smf .smf__legal span + span::before { content: "·"; margin: 0 10px; opacity: .6; }
footer#footer.smf .smf__bottom a { color: var(--smf-dim); }
footer#footer.smf .smf__bottom a:hover { color: #fff; }

@media (max-width: 1199.98px) {
	footer#footer.smf .smf__grid { grid-template-columns: 1.3fr 1fr 1fr 1fr; }
	footer#footer.smf .smf__brand { grid-column: 1 / -1; display: grid; grid-template-columns: auto 1fr; gap: 0 40px; align-items: start; }
	footer#footer.smf .smf__brand .smf__about { margin-top: 0; max-width: 520px; }
	footer#footer.smf .smf__brand > :nth-child(n+3) { grid-column: 2; }
}
@media (max-width: 767.98px) {
	footer#footer.smf .smf__grid { grid-template-columns: 1fr 1fr; gap: 36px 24px; }
	footer#footer.smf .smf__brand { display: block; }
	footer#footer.smf .smf__brand .smf__about { margin-top: 20px; }
	footer#footer.smf .smf__grid > :nth-child(2),
	footer#footer.smf .smf__grid > :nth-child(5) { grid-column: 1 / -1; }
	footer#footer.smf .smf__bottom { flex-direction: column; align-items: flex-start; }
}
@media (max-width: 359.98px) {
	footer#footer.smf .smf__grid { grid-template-columns: 1fr; }
}
