/**
 * EindTaxiHoven – vormgeving.
 * Mobile-first: basisregels gelden voor telefoons, media queries voegen grotere schermen toe.
 */

/* ---------- Basis ---------- */

:root {
	--eth-navy: var(--wp--preset--color--navy, #0B2340);
	--eth-navy-soft: var(--wp--preset--color--navy-soft, #163A63);
	--eth-navy-deep: #081A30;
	--eth-ink: var(--wp--preset--color--ink, #0F1E33);
	--eth-muted: var(--wp--preset--color--muted, #4A5B70);
	--eth-turq: var(--wp--preset--color--turquoise, #1FC2B0);
	--eth-turq-dark: var(--wp--preset--color--turquoise-dark, #0A7C72);
	--eth-turq-light: var(--wp--preset--color--turquoise-light, #E3F6F3);
	--eth-surface: var(--wp--preset--color--surface, #F4F7FA);
	--eth-line: var(--wp--preset--color--line, #DCE4EC);
	--eth-whatsapp: #0F7B5F;
	--eth-whatsapp-hover: #0B6550;
	--eth-coral: #C2412D;
	--eth-success: #12B76A;
	--eth-success-dark: #0B7A47;
	--eth-gutter: 16px;
	--eth-radius: 20px;
	--eth-radius-lg: 28px;
	--eth-shadow-sm: 0 1px 2px rgba(11, 35, 64, 0.06), 0 2px 8px rgba(11, 35, 64, 0.05);
	--eth-shadow: 0 10px 30px -12px rgba(11, 35, 64, 0.22);
	--eth-shadow-lg: 0 30px 60px -24px rgba(11, 35, 64, 0.35);
	--eth-ease: cubic-bezier(0.2, 0.7, 0.2, 1);
	--eth-header-h: 68px;

	/* Iconen (decoratief), als masker zodat de kleur via CSS te bepalen is. */
	--eth-i-tag: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M20.6 13.4 13.4 20.6a2 2 0 0 1-2.8 0L3 13V3h10l7.6 7.6a2 2 0 0 1 0 2.8Z'/><circle cx='7.5' cy='7.5' r='1.5'/></svg>");
	--eth-i-plane: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M17.8 19.2 16 11l3.5-3.5C21 6 21.5 4 21 3c-1-.5-3 0-4.5 1.5L13 8 4.8 6.2c-.5-.1-.9.1-1.1.5l-.3.5c-.2.5-.1 1 .3 1.3L9 12l-2 3H4l-1 1 3 2 2 3 1-1v-3l3-2 3.5 5.3c.3.4.8.5 1.3.3l.5-.2c.4-.3.6-.7.5-1.2Z'/></svg>");
	--eth-i-clock: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='12' r='10'/><path d='M12 6v6l4 2'/></svg>");
	--eth-i-bag: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><rect x='6' y='6' width='12' height='14' rx='2'/><path d='M9 6V4a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v2M10 10v6M14 10v6M8 20v1M16 20v1'/></svg>");
	--eth-i-refresh: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M3 12a9 9 0 0 1 15-6.7L21 8M21 3v5h-5M21 12a9 9 0 0 1-15 6.7L3 16M8 16H3v5'/></svg>");
	--eth-i-chat: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2Z'/><path d='M8 9h8M8 13h5'/></svg>");
	--eth-i-shield: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10Z'/><path d='m9 12 2 2 4-4'/></svg>");
	--eth-i-phone: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M22 16.9v3a2 2 0 0 1-2.2 2 19.8 19.8 0 0 1-8.6-3.1 19.5 19.5 0 0 1-6-6A19.8 19.8 0 0 1 2.1 4.2 2 2 0 0 1 4.1 2h3a2 2 0 0 1 2 1.7c.1.9.4 1.8.7 2.7a2 2 0 0 1-.5 2.1L8 9.8a16 16 0 0 0 6 6l1.3-1.3a2 2 0 0 1 2.1-.4c.9.3 1.8.6 2.7.7a2 2 0 0 1 1.7 2Z'/></svg>");
	--eth-i-train: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><rect x='4' y='3' width='16' height='16' rx='3'/><path d='M4 11h16M12 3v8M8 19l-2 3M16 19l2 3M8 15h.01M16 15h.01'/></svg>");
	--eth-i-route: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><circle cx='6' cy='19' r='3'/><path d='M9 19h8.5a3.5 3.5 0 0 0 0-7h-11a3.5 3.5 0 0 1 0-7H15'/><circle cx='18' cy='5' r='3'/></svg>");
	--eth-i-check: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'><path d='M20 6 9 17l-5-5'/></svg>");
	--eth-i-x: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'><path d='M18 6 6 18M6 6l12 12'/></svg>");
	--eth-i-pin: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M20 10c0 6-8 12-8 12s-8-6-8-12a8 8 0 0 1 16 0Z'/><circle cx='12' cy='10' r='3'/></svg>");
	--eth-i-info: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='12' r='10'/><path d='M12 16v-4M12 8h.01'/></svg>");
	--eth-i-alert: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M10.3 3.9 1.8 18a2 2 0 0 0 1.7 3h17a2 2 0 0 0 1.7-3L13.7 3.9a2 2 0 0 0-3.4 0Z'/><path d='M12 9v4M12 17h.01'/></svg>");
	--eth-i-users: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2'/><circle cx='9' cy='7' r='4'/><path d='M22 21v-2a4 4 0 0 0-3-3.9M16 3.1a4 4 0 0 1 0 7.8'/></svg>");
	--eth-i-car: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M19 17h2c.6 0 1-.4 1-1v-3c0-.9-.7-1.7-1.5-1.9L18.4 10.5 16 6.6A2 2 0 0 0 14.3 6H8.4a2 2 0 0 0-1.7 1L4.5 10.6 2.9 11a2 2 0 0 0-.9 1.7V16c0 .6.4 1 1 1h2'/><circle cx='7' cy='17' r='2'/><path d='M9 17h6'/><circle cx='17' cy='17' r='2'/></svg>");
	--eth-i-card: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><rect x='2' y='5' width='20' height='14' rx='2'/><path d='M2 10h20M6 15h4'/></svg>");
	--eth-i-user: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='8' r='4.2'/><path d='M4 21a8 8 0 0 1 16 0'/></svg>");
	--eth-i-whatsapp: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M12.04 2C6.58 2 2.13 6.45 2.13 11.91c0 1.75.46 3.45 1.32 4.95L2.05 22l5.25-1.38a9.9 9.9 0 0 0 4.74 1.21c5.46 0 9.91-4.45 9.91-9.91C21.95 6.45 17.5 2 12.04 2Zm0 18.15c-1.48 0-2.93-.4-4.2-1.15l-.3-.18-3.12.82.83-3.04-.2-.31a8.2 8.2 0 0 1-1.26-4.38c0-4.54 3.7-8.23 8.24-8.23s8.23 3.69 8.23 8.23-3.69 8.24-8.22 8.24Zm4.52-6.16c-.25-.12-1.47-.72-1.69-.81-.23-.08-.39-.12-.56.12-.17.25-.64.81-.78.97-.14.17-.29.19-.54.06-.25-.12-1.05-.39-1.99-1.23-.74-.66-1.23-1.47-1.38-1.72-.14-.25-.02-.38.11-.51.11-.11.25-.29.37-.43.13-.14.17-.25.25-.41.08-.17.04-.31-.02-.43-.06-.12-.56-1.34-.76-1.84-.2-.48-.41-.42-.56-.43h-.48c-.17 0-.43.06-.66.31-.22.25-.86.85-.86 2.07 0 1.22.89 2.4 1.01 2.56.12.17 1.75 2.67 4.23 3.74.59.26 1.05.41 1.41.52.59.19 1.13.16 1.56.1.48-.07 1.47-.6 1.67-1.18.21-.58.21-1.07.14-1.18-.06-.1-.22-.16-.47-.28Z'/></svg>");
	--eth-i-arrow: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'><path d='M5 12h14M13 6l6 6-6 6'/></svg>");
	--eth-i-plus: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'><path d='M12 5v14M5 12h14'/></svg>");
}

@media (min-width: 600px) {
	:root {
		--eth-gutter: 24px;
	}
}

@media (min-width: 1024px) {
	:root {
		--eth-gutter: 32px;
		--eth-header-h: 80px;
	}
}

html {
	scroll-behavior: smooth;
	-webkit-text-size-adjust: 100%;
}

body {
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
	overflow-x: clip;
}

[id] {
	scroll-margin-top: calc(var(--eth-header-h) + 16px);
}

img {
	max-width: 100%;
	height: auto;
}

:focus-visible {
	outline: 3px solid var(--eth-turq);
	outline-offset: 3px;
	border-radius: 4px;
}

::selection {
	background: var(--eth-turq);
	color: var(--eth-navy);
}

.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute !important;
	width: 1px;
	word-wrap: normal !important;
}

/* Geen automatische ruimte tussen header, secties en footer. */
.wp-site-blocks > *,
.eth-main > * {
	margin-block: 0;
}

.eth-container {
	width: 100%;
	max-width: calc(1200px + 2 * var(--eth-gutter));
	margin-inline: auto;
	padding-inline: var(--eth-gutter);
	box-sizing: border-box;
}

.eth-section {
	position: relative;
	padding-block: clamp(56px, 9vw, 112px);
}

.eth-section__header {
	max-width: 720px;
	margin-bottom: clamp(32px, 5vw, 56px);
}

.eth-section__header.is-centered {
	margin-inline: auto;
	text-align: center;
}

.eth-section__header.is-centered .eth-eyebrow {
	justify-content: center;
}

.eth-section__title {
	margin-top: 0.5rem;
	text-wrap: balance;
}

.eth-section__lead {
	font-size: var(--wp--preset--font-size--large);
	line-height: 1.6;
	color: var(--eth-muted);
	text-wrap: pretty;
}

.eth-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 0.6rem;
	margin: 0;
	font-size: 0.8125rem;
	font-weight: 800;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--eth-turq-dark);
}

.eth-eyebrow::before {
	content: "";
	width: 28px;
	height: 2px;
	border-radius: 2px;
	background: currentColor;
}

.eth-note {
	margin-top: 1.5rem;
	font-size: var(--wp--preset--font-size--small);
	color: var(--eth-muted);
}

/* ---------- Knoppen ---------- */

.wp-block-button__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.55rem;
	min-height: 48px;
	box-sizing: border-box;
	text-decoration: none;
	transition: background-color 0.25s ease, color 0.25s ease, box-shadow 0.25s ease, transform 0.25s var(--eth-ease), border-color 0.25s ease;
}

.wp-block-button__link:hover {
	transform: translateY(-2px);
	box-shadow: var(--eth-shadow);
}

.wp-block-button__link:active {
	transform: translateY(0);
}

.eth-btn-primary .wp-block-button__link::after,
.eth-hero__actions .wp-block-button:not(.is-style-eth-whatsapp) .wp-block-button__link::after {
	content: "";
	width: 18px;
	height: 18px;
	background: currentColor;
	-webkit-mask: var(--eth-i-arrow) center / contain no-repeat;
	mask: var(--eth-i-arrow) center / contain no-repeat;
	transition: transform 0.25s var(--eth-ease);
}

.wp-block-button__link:hover::after {
	transform: translateX(3px);
}

.wp-block-button.is-style-eth-whatsapp .wp-block-button__link {
	background: var(--eth-whatsapp);
	color: #fff;
}

.wp-block-button.is-style-eth-whatsapp .wp-block-button__link:hover {
	background: var(--eth-whatsapp-hover);
	color: #fff;
}

.wp-block-button.is-style-eth-whatsapp .wp-block-button__link::before {
	content: "";
	width: 20px;
	height: 20px;
	flex: none;
	background: currentColor;
	-webkit-mask: var(--eth-i-whatsapp) center / contain no-repeat;
	mask: var(--eth-i-whatsapp) center / contain no-repeat;
}

.wp-block-button.is-style-eth-outline .wp-block-button__link {
	background: transparent;
	color: var(--eth-navy);
	box-shadow: inset 0 0 0 2px var(--eth-navy);
}

.wp-block-button.is-style-eth-outline .wp-block-button__link:hover {
	background: var(--eth-navy);
	color: #fff;
}

.wp-block-button.is-style-eth-light .wp-block-button__link {
	background: #fff;
	color: var(--eth-navy);
}

.wp-block-button.is-style-eth-light .wp-block-button__link:hover {
	background: var(--eth-turq-light);
	color: var(--eth-navy);
}

.wp-block-buttons {
	gap: 0.75rem;
}

@media (max-width: 479px) {
	.eth-hero__actions,
	.eth-cta__actions {
		flex-direction: column;
		align-items: stretch;
	}

	.eth-hero__actions .wp-block-button,
	.eth-cta__actions .wp-block-button {
		width: 100%;
	}

	.eth-hero__actions .wp-block-button__link,
	.eth-cta__actions .wp-block-button__link {
		width: 100%;
	}
}

/* ---------- Lijsten ---------- */

.is-style-eth-checklist {
	list-style: none;
	padding: 0;
	margin-block: 1.5rem;
	display: grid;
	gap: 0.85rem;
}

.is-style-eth-checklist li {
	position: relative;
	padding-left: 2.25rem;
	line-height: 1.5;
}

.is-style-eth-checklist li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.05em;
	width: 1.5rem;
	height: 1.5rem;
	border-radius: 50%;
	background: var(--eth-turq-light);
}

.is-style-eth-checklist li::after {
	content: "";
	position: absolute;
	left: 0.375rem;
	top: calc(0.05em + 0.375rem);
	width: 0.75rem;
	height: 0.75rem;
	background: var(--eth-turq-dark);
	-webkit-mask: var(--eth-i-check) center / contain no-repeat;
	mask: var(--eth-i-check) center / contain no-repeat;
}

/* ---------- Header ---------- */

.wp-site-blocks > header.wp-block-template-part {
	position: sticky;
	top: 0;
	z-index: 50;
}

@media (min-width: 601px) {
	.admin-bar .wp-site-blocks > header.wp-block-template-part {
		top: var(--wp-admin--admin-bar--height, 0px);
	}
}

/* De vervaging zit op een aparte laag: backdrop-filter op de header zelf zou het mobiele menu (position: fixed) opsluiten. */
.eth-header {
	position: relative;
	z-index: 0;
	border-bottom: 1px solid transparent;
	transition: box-shadow 0.3s ease, border-color 0.3s ease;
}

.eth-header::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: rgba(255, 255, 255, 0.86);
	-webkit-backdrop-filter: saturate(160%) blur(14px);
	backdrop-filter: saturate(160%) blur(14px);
	transition: background-color 0.3s ease;
}

.is-scrolled .eth-header {
	border-bottom-color: var(--eth-line);
	box-shadow: 0 6px 24px -18px rgba(11, 35, 64, 0.45);
}

.is-scrolled .eth-header::before {
	background: rgba(255, 255, 255, 0.94);
}

.eth-header__inner {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	width: 100%;
	max-width: calc(1200px + 2 * var(--eth-gutter));
	min-height: var(--eth-header-h);
	margin-inline: auto;
	padding-inline: var(--eth-gutter);
	box-sizing: border-box;
}

.eth-header__inner > * {
	margin: 0 !important;
}

.eth-logo {
	display: inline-flex;
	flex: none;
	margin-right: auto !important;
	border-radius: 8px;
}

.eth-logo__img {
	display: block;
	width: auto;
	height: 36px;
}

@media (min-width: 1024px) {
	.eth-logo__img {
		height: 42px;
	}
}

.eth-header .eth-header__cta {
	display: none;
	flex: none;
}

.eth-header__cta .wp-block-button__link {
	white-space: nowrap;
}

@media (min-width: 600px) {
	.eth-header .eth-header__cta {
		display: flex;
	}

	.eth-header__cta .wp-block-button__link {
		min-height: 44px;
		padding: 0.7rem 1.25rem;
	}
}

/* Taalkeuze */
.eth-lang {
	display: inline-flex;
	align-items: center;
	gap: 2px;
	padding: 4px;
	border-radius: 999px;
	background: var(--eth-surface);
	font-size: 0.8125rem;
	font-weight: 800;
	letter-spacing: 0.04em;
}

.eth-lang .eth-icon {
	width: 16px;
	height: 16px;
	margin: 0 4px 0 6px;
	color: var(--eth-muted);
}

.eth-lang__item {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 36px;
	min-height: 32px;
	padding: 0 8px;
	border-radius: 999px;
	color: var(--eth-navy);
	text-decoration: none;
	box-sizing: border-box;
}

.eth-lang__item.is-current {
	background: var(--eth-navy);
	color: #fff;
}

a.eth-lang__item:hover {
	background: var(--eth-turq-light);
}

.eth-lang__item.is-disabled {
	color: var(--eth-muted);
	cursor: not-allowed;
}

@media (max-width: 380px) {
	.eth-lang .eth-icon {
		display: none;
	}
}

/* Navigatie */
.eth-nav {
	order: 3;
	font-weight: 700;
	font-size: 0.975rem;
}

.eth-nav .wp-block-navigation-item__content {
	position: relative;
	color: var(--eth-navy);
	text-decoration: none;
	padding-block: 0.4rem;
}

.eth-nav .wp-block-navigation-item__content::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 2px;
	border-radius: 2px;
	background: var(--eth-turq);
	transform: scaleX(0);
	transform-origin: left;
	transition: transform 0.3s var(--eth-ease);
}

.eth-nav .wp-block-navigation-item__content:hover::after,
.eth-nav .wp-block-navigation-item__content:focus-visible::after {
	transform: scaleX(1);
}

.eth-nav .wp-block-navigation__responsive-container-open {
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border-radius: 12px;
	background: var(--eth-navy);
	color: #fff;
}

.eth-nav .wp-block-navigation__responsive-container-open svg {
	width: 22px;
	height: 22px;
	fill: currentColor;
}

/* Mobiel menu (uitklapscherm) */
.eth-nav .wp-block-navigation__responsive-container.is-menu-open {
	background: #fff;
	color: var(--eth-navy);
	padding: calc(var(--eth-gutter) + 8px) var(--eth-gutter);
	animation: eth-menu-in 0.35s var(--eth-ease);
}

.eth-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
	padding-top: 56px;
	align-items: stretch;
}

.eth-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
	width: 100%;
	gap: 0;
	align-items: stretch;
}

.eth-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item {
	width: 100%;
	border-bottom: 1px solid var(--eth-line);
}

.eth-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
	display: block;
	width: 100%;
	padding: 1rem 0;
	font-size: 1.375rem;
	font-weight: 800;
	letter-spacing: -0.01em;
}

.eth-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content::after {
	display: none;
}

.eth-nav .wp-block-navigation__responsive-container-close {
	top: calc(var(--eth-gutter) + 6px);
	right: var(--eth-gutter);
	width: 44px;
	height: 44px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 12px;
	background: var(--eth-surface);
}

@keyframes eth-menu-in {
	from {
		opacity: 0;
		transform: translateY(-12px);
	}
	to {
		opacity: 1;
		transform: none;
	}
}

@media (max-width: 599.98px) {
	.eth-nav .wp-block-navigation__responsive-container-open {
		display: inline-flex;
	}
}

/* Tussen 600 en 1200px blijft het menu achter de menuknop, zodat niets klemt. */
@media (min-width: 600px) and (max-width: 1199.98px) {
	.eth-nav .wp-block-navigation__responsive-container-open:not(.always-shown) {
		display: inline-flex;
	}

	.eth-nav .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) {
		display: none;
	}
}

@media (min-width: 1200px) {
	.eth-nav {
		order: 0;
		margin-right: 0.5rem !important;
	}

	.eth-nav .wp-block-navigation__container {
		gap: 1.1rem;
	}

	.eth-nav {
		font-size: 0.95rem;
	}
}

/* ---------- Hero ---------- */

.eth-hero {
	position: relative;
	overflow: hidden;
	padding-block: 28px 56px;
	background:
		radial-gradient(60% 50% at 100% 0%, rgba(31, 194, 176, 0.18) 0%, rgba(31, 194, 176, 0) 70%),
		radial-gradient(50% 45% at 0% 100%, rgba(22, 58, 99, 0.08) 0%, rgba(22, 58, 99, 0) 70%),
		linear-gradient(180deg, #fff 0%, var(--eth-surface) 100%);
}

.eth-hero__grid {
	display: grid;
	gap: 36px;
	align-items: center;
}

.eth-hero__grid > *,
.eth-hero__content > *,
.eth-hero__visual > * {
	margin-block: 0;
}

.eth-hero__content {
	display: flex;
	flex-direction: column;
	gap: 1.25rem;
}

.eth-hero__title {
	font-size: clamp(2.35rem, 8.5vw, 4.4rem);
	line-height: 1.04;
	letter-spacing: -0.035em;
	text-wrap: balance;
}

.eth-hero__title em {
	position: relative;
	display: inline-block;
	font-style: normal;
	color: var(--eth-turq-dark);
	background: linear-gradient(transparent 68%, rgba(31, 194, 176, 0.28) 68%, rgba(31, 194, 176, 0.28) 92%, transparent 92%) no-repeat 0 0 / 0% 100%;
	animation: eth-underline 1s 0.55s var(--eth-ease) forwards;
}

@keyframes eth-underline {
	to {
		background-size: 100% 100%;
	}
}

.eth-hero__lead {
	font-size: clamp(1.0625rem, 2.6vw, 1.25rem);
	line-height: 1.6;
	color: var(--eth-muted);
	max-width: 36em;
	text-wrap: pretty;
}

.eth-hero__actions {
	margin-top: 0.5rem !important;
}

/* De vier voordelen: twee gelijke kolommen met elk een eigen icoon, die na elkaar in beeld komen. */
.eth-hero__trust {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
	max-width: 34rem;
	padding: 0;
	margin-top: 0.5rem !important;
	list-style: none;
	font-size: 0.9375rem;
	font-weight: 700;
	line-height: 1.3;
	color: var(--eth-navy);
}

.eth-hero .eth-hero__trust.eth-reveal {
	animation: none;
}

/* De twee knoppen staan in dezelfde kolommen als de voordelen eronder, zodat alles strak uitlijnt. */
@media (min-width: 480px) {
	/* Is er te weinig ruimte voor twee knoppen naast elkaar, dan komen ze onder elkaar (nooit tekst op twee regels). */
	.wp-block-buttons.eth-hero__actions {
		display: grid;
		grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr));
		gap: 10px;
		max-width: 34rem;
	}

	.eth-hero__actions .wp-block-button,
	.eth-hero__actions .wp-block-button__link {
		width: 100%;
		justify-content: center;
	}

	.eth-hero__actions .wp-block-button__link {
		padding-inline: 1rem;
		white-space: nowrap;
	}
}

/*
 * De vier voordelen zijn bewust rustig: lichte tegels met een gedempt icoon, zodat de knoppen erboven
 * de aandacht houden. Ze komen na de knoppen zacht en vloeiend in beeld, één voor één.
 */
.eth-hero__trust li {
	--eth-trust-delay: 0.7s;
	position: relative;
	display: flex;
	align-items: center;
	gap: 0.75rem;
	margin: 0;
	padding: 0.6rem 0.85rem 0.6rem 0.6rem;
	border: 1px solid var(--eth-line);
	border-radius: 16px;
	background: rgba(255, 255, 255, 0.85);
	transition: transform 0.35s var(--eth-ease), box-shadow 0.35s ease, border-color 0.35s ease;
	animation: eth-trust-in 1.3s cubic-bezier(0.16, 1, 0.3, 1) var(--eth-trust-delay) backwards;
}

.eth-hero__trust li:nth-child(2) { --eth-trust-delay: 0.85s; }
.eth-hero__trust li:nth-child(3) { --eth-trust-delay: 1s; }
.eth-hero__trust li:nth-child(4) { --eth-trust-delay: 1.15s; }

.eth-hero__trust li:hover {
	border-color: rgba(31, 194, 176, 0.45);
	box-shadow: var(--eth-shadow-sm);
}

/* Lichte icoontegel met een gedempt turquoise icoon. */
.eth-hero__trust li::before {
	content: "";
	width: 38px;
	height: 38px;
	flex: none;
	border-radius: 12px;
	background: var(--eth-surface);
}

.eth-hero__trust li::after {
	content: "";
	position: absolute;
	top: 50%;
	left: calc(0.6rem + 10px);
	width: 18px;
	height: 18px;
	margin-top: -9px;
	background: var(--eth-turq-dark);
	opacity: 0.85;
	-webkit-mask: var(--eth-icon, var(--eth-i-check)) center / contain no-repeat;
	mask: var(--eth-icon, var(--eth-i-check)) center / contain no-repeat;
}

.eth-hero__trust li::after {
	animation: eth-trust-icon 1.1s ease calc(var(--eth-trust-delay) + 0.3s) backwards;
}

@keyframes eth-trust-in {
	from {
		opacity: 0;
		transform: translateY(12px);
		filter: blur(6px);
	}
}

@keyframes eth-trust-icon {
	from {
		opacity: 0;
	}
}

.eth-hero__visual {
	position: relative;
	isolation: isolate;
}

.eth-hero__visual::before {
	content: "";
	position: absolute;
	inset: 18px -10px -14px 18px;
	z-index: -1;
	border-radius: var(--eth-radius-lg);
	background: linear-gradient(135deg, var(--eth-turq) 0%, #7BE0D3 100%);
	transform: rotate(2.5deg);
	opacity: 0.9;
}

.eth-hero__media {
	margin: 0;
	border-radius: var(--eth-radius-lg);
	overflow: hidden;
	box-shadow: var(--eth-shadow-lg);
	background: var(--eth-navy);
}

.eth-hero__media img {
	display: block;
	width: 100%;
	height: 100%;
	aspect-ratio: 4 / 3.4;
	object-fit: cover;
	object-position: 50% 28%;
}

.eth-chip {
	position: absolute;
	display: inline-flex;
	align-items: center;
	gap: 0.55rem;
	margin: 0 !important;
	padding: 0.6rem 0.95rem 0.6rem 0.6rem;
	border-radius: 999px;
	background: #fff;
	box-shadow: var(--eth-shadow);
	font-size: 0.875rem;
	font-weight: 800;
	color: var(--eth-navy);
	white-space: nowrap;
	animation: eth-float 6s ease-in-out infinite;
}

.eth-chip::before {
	content: "";
	width: 30px;
	height: 30px;
	flex: none;
	border-radius: 50%;
	background: var(--eth-turq-light);
}

.eth-chip::after {
	content: "";
	position: absolute;
	left: calc(0.6rem + 7px);
	width: 16px;
	height: 16px;
	background: var(--eth-turq-dark);
	-webkit-mask: var(--eth-i-plane) center / contain no-repeat;
	mask: var(--eth-i-plane) center / contain no-repeat;
}

.eth-chip--flight {
	top: 16px;
	left: -6px;
}

.eth-chip--bag {
	right: -6px;
	bottom: 18px;
	animation-delay: -3s;
}

.eth-chip--bag::after {
	-webkit-mask-image: var(--eth-i-bag);
	mask-image: var(--eth-i-bag);
}

@keyframes eth-float {
	0%,
	100% {
		transform: translateY(0);
	}
	50% {
		transform: translateY(-7px);
	}
}

@media (min-width: 600px) {
	.eth-hero__media img {
		aspect-ratio: 16 / 11;
	}

	.eth-chip--flight {
		left: -16px;
	}

	.eth-chip--bag {
		right: -16px;
	}
}

@media (min-width: 960px) {
	.eth-hero {
		padding-block: 64px 112px;
	}

	.eth-hero__grid {
		grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
		gap: 72px;
	}

	.eth-hero__media img {
		aspect-ratio: 4 / 5;
		max-height: 640px;
	}

	.eth-chip--flight {
		top: 48px;
		left: -40px;
	}

	.eth-chip--bag {
		right: -24px;
		bottom: 56px;
	}
}

/*
 * Telefoon: het welkomstgedeelte (tekst, knoppen, voordelen) vult zelf het eerste scherm.
 * De foto met "Live vluchttracking" en "Hulp met je bagage" volgt pas daaronder, als apart blok.
 */
@media (max-width: 767.98px) {
	.eth-hero__content {
		justify-content: center;
		min-height: calc(100svh - var(--eth-header-h) - 28px);
		padding-bottom: 28px;
		box-sizing: border-box;
	}

	.eth-hero__grid {
		gap: 16px;
	}

	.eth-hero__trust {
		gap: 8px;
		font-size: 0.8125rem;
	}

	.eth-hero__trust li {
		gap: 0.55rem;
		padding: 0.5rem 0.6rem 0.5rem 0.5rem;
		border-radius: 14px;
	}

	.eth-hero__trust li::before {
		width: 32px;
		height: 32px;
		border-radius: 10px;
	}

	.eth-hero__trust li::after {
		left: calc(0.5rem + 8px);
		width: 16px;
		height: 16px;
		margin-top: -8px;
	}

	/*
	 * Lagere schermen: de introductietekst wordt compacter en wijkt op de laagste schermen helemaal,
	 * zodat titel, knoppen en de vier voordelen samen in één scherm passen.
	 */
	@media (max-height: 800px) {
		.eth-hero__lead {
			font-size: 0.975rem;
			line-height: 1.5;
		}
	}

	@media (max-height: 700px) {
		.eth-hero__lead {
			display: none;
		}
	}

	/* De zwevende WhatsApp-knop verdwijnt zolang het welkomstgedeelte in beeld is; daar staat al een WhatsApp-knop. */
	.eth-floating.is-over-hero .eth-wa-float {
		opacity: 0;
		transform: translateY(140%);
		pointer-events: none;
	}
}

.eth-wa-float {
	transition: transform 0.4s var(--eth-ease), opacity 0.3s ease, background-color 0.3s ease;
}

/* Intro-animatie van de hero: CSS-gestuurd, dus direct zichtbaar zonder te wachten op scripts. */
.eth-hero .eth-reveal {
	animation: eth-rise 0.8s var(--eth-ease) both;
}

.eth-hero .eth-reveal:nth-child(2) {
	animation-delay: 0.08s;
}

.eth-hero .eth-reveal:nth-child(3) {
	animation-delay: 0.16s;
}

.eth-hero .eth-reveal:nth-child(4) {
	animation-delay: 0.24s;
}

.eth-hero .eth-reveal:nth-child(5) {
	animation-delay: 0.32s;
}

.eth-hero__visual {
	animation: eth-zoom-in 1s 0.1s var(--eth-ease) both;
}

@keyframes eth-rise {
	from {
		opacity: 0;
		transform: translateY(16px);
	}
	to {
		opacity: 1;
		transform: none;
	}
}

@keyframes eth-zoom-in {
	from {
		opacity: 0;
		transform: scale(0.96);
	}
	to {
		opacity: 1;
		transform: none;
	}
}

/* ---------- Boeken ---------- */

.eth-booking {
	color: #fff;
	background:
		radial-gradient(55% 60% at 100% 0%, rgba(31, 194, 176, 0.22) 0%, rgba(31, 194, 176, 0) 70%),
		radial-gradient(40% 50% at 0% 100%, rgba(31, 194, 176, 0.12) 0%, rgba(31, 194, 176, 0) 70%),
		var(--eth-navy);
}

.eth-booking .eth-eyebrow {
	color: var(--eth-turq);
}

.eth-booking .eth-section__title {
	color: #fff;
}

.eth-booking .eth-section__lead {
	color: rgba(255, 255, 255, 0.82);
}

/* Volgorde, ook op mobiel: uitleg → 60-minutenmelding → formulier. */
.eth-booking__grid {
	display: grid;
	gap: 20px;
	max-width: calc(1040px + 2 * var(--eth-gutter));
}

.eth-booking__grid > *,
.eth-booking__intro > * {
	margin-block: 0;
}

.eth-booking__intro {
	display: flex;
	flex-direction: column;
	gap: 1rem;
	margin-bottom: 8px !important;
}

@media (min-width: 768px) {
	.eth-booking__intro {
		align-items: center;
		max-width: 720px;
		margin-inline: auto;
		text-align: center;
	}
}

.eth-booking__card {
	position: relative;
	padding: 10px;
	border-radius: var(--eth-radius-lg);
	background: #fff;
	color: var(--eth-ink);
	box-shadow: 0 30px 80px -30px rgba(0, 0, 0, 0.6);
}

.eth-booking__card::before {
	content: "";
	position: absolute;
	inset: 0 24px auto;
	height: 4px;
	border-radius: 0 0 4px 4px;
	background: linear-gradient(90deg, var(--eth-turq), #7BE0D3);
}

.eth-booking-widget {
	min-height: 320px;
}

@media (min-width: 768px) {
	.eth-booking__card {
		padding: 16px;
	}
}

/* Echte Taxi Web Booker Inline Widget (plugin-shortcode [twb-module]). */
.eth-booking-widget.is-live {
	min-height: 0;
}

.eth-booking-widget .twb-inline-wrapper {
	margin-top: 0;
	min-height: 360px;
	border-radius: calc(var(--eth-radius-lg) - 8px);
	overflow: hidden;
}

.eth-booking-widget inline-webbooker {
	display: block;
	width: 100%;
	min-height: 360px;
	padding: clamp(6px, 2.5vw, 24px) !important;
	box-sizing: border-box;
	font-family: var(--wp--preset--font-family--manrope);
}

/*
 * Standaardtitel "Boek uw taxi online. Eenvoudig, snel en veilig" van de widget verbergen
 * (boven de stappen en in het zijvak van stap 1). Deze tekst is niet instelbaar in het TaxiWebBooker-portaal.
 * Komt hij na een update van de widget terug, dan zijn deze selectors veranderd.
 */
.eth-booking-widget inline-webbooker .wb-steps-pane > h3.wb-formtitle,
.eth-booking-widget inline-webbooker .wb-form-slider > .wb-form-part:first-child .wb-sidebar-mobile > h3 {
	display: none !important;
}

/* Stap 1 van het formulier: "Volgende" wordt "Bereken prijs" (tekst via main.js). */
.eth-booking-widget inline-webbooker button.wb-next.eth-next-price {
	font-size: 0 !important;
}

.eth-booking-widget inline-webbooker button.wb-next.eth-next-price::after {
	content: attr(data-eth-label);
	font-size: var(--eth-next-fs, 1rem);
}

/* Zolang het script van Taxi Web Booker nog laadt: een rustige laadindicatie in plaats van een lege vlak. */
.eth-booking-widget inline-webbooker:not(:defined) {
	display: grid;
	place-items: center;
	background:
		repeating-linear-gradient(135deg, rgba(31, 194, 176, 0.05) 0 12px, transparent 12px 24px),
		var(--eth-surface);
}

.eth-booking-widget inline-webbooker:not(:defined)::before {
	content: "Boekingsformulier wordt geladen…";
	padding: 0.6rem 1rem 0.6rem 2.4rem;
	border-radius: 999px;
	background: #fff var(--eth-i-clock) 0.8rem center / 18px no-repeat;
	box-shadow: var(--eth-shadow-sm);
	font-weight: 700;
	color: var(--eth-navy);
}

.eth-booking__fallback {
	margin: 12px 4px 4px;
	font-size: 0.9375rem;
	color: var(--eth-muted);
	text-align: center;
}

.eth-booking__fallback[hidden] {
	display: none;
}

.eth-booking__fallback a {
	font-weight: 700;
	color: var(--eth-turq-dark);
}

/* Korte melding over ritten binnen 60 minuten, direct onder het formulier. */
.eth-notice {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 12px 12px 12px 16px;
	border-radius: 16px;
	background: rgba(255, 255, 255, 0.08);
	border: 1px solid rgba(255, 255, 255, 0.16);
	border-left: 4px solid var(--eth-turq);
}

.eth-notice > * {
	margin: 0 !important;
}

.eth-notice__text {
	position: relative;
	flex: 1;
	min-width: 0;
	padding-left: 30px;
	font-size: 0.9375rem;
	line-height: 1.45;
	color: rgba(255, 255, 255, 0.86);
}

.eth-notice__text::before {
	content: "";
	position: absolute;
	left: 0;
	top: 1px;
	width: 20px;
	height: 20px;
	background: var(--eth-turq);
	-webkit-mask: var(--eth-i-clock) center / contain no-repeat;
	mask: var(--eth-i-clock) center / contain no-repeat;
}

.eth-notice__text strong {
	color: #fff;
}

.eth-notice__actions {
	flex: none;
}

.eth-notice__actions .wp-block-button__link {
	min-height: 44px;
	padding: 0.6rem 1rem;
	font-size: 0.9375rem;
	white-space: nowrap;
}

@media (min-width: 768px) {
	.eth-notice {
		padding: 12px 12px 12px 20px;
	}

	.eth-notice__text {
		font-size: 1rem;
	}

	.eth-notice__text::before {
		top: 2px;
	}
}

/* Plaatshouders voor plugins */
.eth-placeholder {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
	height: 100%;
	min-height: inherit;
	box-sizing: border-box;
	padding: 28px 22px;
	border: 2px dashed #9FDCD4;
	border-radius: calc(var(--eth-radius-lg) - 8px);
	background:
		repeating-linear-gradient(135deg, rgba(31, 194, 176, 0.05) 0 12px, transparent 12px 24px),
		var(--eth-surface);
	color: var(--eth-ink);
}

.eth-placeholder > * {
	margin: 0;
}

.eth-placeholder__badge {
	align-self: flex-start;
	padding: 0.3rem 0.7rem;
	border-radius: 999px;
	background: var(--eth-navy);
	color: #fff;
	font-size: 0.75rem;
	font-weight: 800;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.eth-placeholder__title {
	font-size: 1.375rem;
	font-weight: 800;
	line-height: 1.25;
	color: var(--eth-navy);
}

.eth-placeholder p {
	color: var(--eth-muted);
}

.eth-placeholder__steps {
	display: grid;
	gap: 10px;
	margin: 0.5rem 0 0;
	padding: 0;
	list-style: none;
}

.eth-placeholder__steps li {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	padding: 14px 16px;
	border-radius: 14px;
	background: #fff;
	box-shadow: var(--eth-shadow-sm);
	font-weight: 700;
	color: var(--eth-navy);
	counter-increment: eth-ph;
}

.eth-placeholder__steps .eth-icon {
	width: 22px;
	height: 22px;
	flex: none;
	color: var(--eth-turq-dark);
}

.eth-placeholder__admin {
	margin-top: auto !important;
	padding: 12px 14px;
	border-radius: 12px;
	background: #FFF7E0;
	border: 1px solid #F1D68A;
	font-size: 0.875rem;
	color: #5C4500 !important;
}

.eth-placeholder__admin a {
	color: #5C4500;
	font-weight: 700;
}

@media (min-width: 600px) {
	.eth-placeholder {
		padding: 40px 36px;
	}

	.eth-placeholder__steps {
		grid-template-columns: repeat(3, 1fr);
	}

	.eth-placeholder__steps li {
		flex-direction: column;
		align-items: flex-start;
	}
}

/* ---------- Voordelen ---------- */

.eth-benefits {
	background: #fff;
}

.eth-cards {
	display: grid;
	gap: 10px;
}

@media (max-width: 599.98px) {
	.eth-cards .eth-card {
		padding: 16px 16px 16px 76px;
	}

	.eth-cards .eth-card::before {
		top: 16px;
		left: 16px;
		width: 44px;
		height: 44px;
	}

	.eth-cards .eth-card::after {
		top: 26px;
		left: 26px;
	}

	.eth-cards .eth-card p {
		font-size: 0.9375rem;
	}
}

.eth-cards > *,
.eth-services__grid > *,
.eth-vehicles > *,
.eth-steps > *,
.eth-stats > *,
.eth-mini-steps > *,
.eth-faq__list > * {
	margin: 0 !important;
}

.eth-card,
.eth-service {
	position: relative;
	padding: 20px 20px 20px 84px;
	border-radius: var(--eth-radius);
	background: #fff;
	border: 1px solid var(--eth-line);
	transition: transform 0.35s var(--eth-ease), box-shadow 0.35s ease, border-color 0.35s ease;
}

.eth-card > *,
.eth-service > * {
	margin-block: 0;
}

.eth-card > * + *,
.eth-service > * + * {
	margin-top: 0.4rem;
}

.eth-card p,
.eth-service p {
	color: var(--eth-muted);
	font-size: 0.975rem;
	line-height: 1.55;
}

.eth-card__title {
	font-size: 1.125rem;
}

.eth-card::before,
.eth-service::before {
	content: "";
	position: absolute;
	top: 20px;
	left: 20px;
	width: 48px;
	height: 48px;
	border-radius: 14px;
	background: var(--eth-turq-light);
	transition: background-color 0.35s ease, transform 0.35s var(--eth-ease);
}

.eth-card::after,
.eth-service::after {
	content: "";
	position: absolute;
	top: 32px;
	left: 32px;
	width: 24px;
	height: 24px;
	background: var(--eth-turq-dark);
	-webkit-mask: var(--eth-icon, var(--eth-i-check)) center / contain no-repeat;
	mask: var(--eth-icon, var(--eth-i-check)) center / contain no-repeat;
	transition: background-color 0.35s ease, transform 0.35s var(--eth-ease);
}

.eth-card:hover,
.eth-service:hover {
	transform: translateY(-4px);
	border-color: rgba(31, 194, 176, 0.55);
	box-shadow: var(--eth-shadow);
}

.eth-card:hover::before,
.eth-service:hover::before {
	background: var(--eth-navy);
	transform: rotate(-6deg);
}

.eth-card:hover::after,
.eth-service:hover::after {
	background: var(--eth-turq);
	transform: rotate(-6deg);
}

.eth-icon-tag { --eth-icon: var(--eth-i-tag); }
.eth-icon-plane { --eth-icon: var(--eth-i-plane); }
.eth-icon-clock { --eth-icon: var(--eth-i-clock); }
.eth-icon-bag { --eth-icon: var(--eth-i-bag); }
.eth-icon-refresh { --eth-icon: var(--eth-i-refresh); }
.eth-icon-chat { --eth-icon: var(--eth-i-chat); }
.eth-icon-shield { --eth-icon: var(--eth-i-shield); }
.eth-icon-phone { --eth-icon: var(--eth-i-phone); }
.eth-icon-train { --eth-icon: var(--eth-i-train); }
.eth-icon-route { --eth-icon: var(--eth-i-route); }
.eth-icon-users { --eth-icon: var(--eth-i-users); }
.eth-icon-car { --eth-icon: var(--eth-i-car); }
.eth-icon-card { --eth-icon: var(--eth-i-card); }
.eth-icon-check { --eth-icon: var(--eth-i-check); }
.eth-icon-pin { --eth-icon: var(--eth-i-pin); }

@media (min-width: 600px) {
	.eth-cards {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 18px;
	}

	.eth-card,
	.eth-service {
		padding: 92px 24px 26px;
	}

	.eth-card::before,
	.eth-service::before {
		top: 24px;
		left: 24px;
	}

	.eth-card::after,
	.eth-service::after {
		top: 36px;
		left: 36px;
	}
}

@media (min-width: 1024px) {
	.eth-cards {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}

/* ---------- Reviews ---------- */

.eth-reviews {
	background: var(--eth-surface);
}

.eth-reviews__body {
	max-width: 880px;
	margin-inline: auto;
}

/* Met het echte reviewswidget (Trustindex) mag de sectie de volle breedte gebruiken, zodat er meer reviews naast elkaar passen. */
.eth-reviews__body:has(.ti-widget) {
	max-width: none;
}

/* Trustindex-widget in de huisstijl: dezelfde rondingen, randen en accentkleur als de rest van de site. */
.eth-reviews-widget .ti-widget .ti-review-item > .ti-inner {
	border-color: var(--eth-line) !important;
	border-radius: var(--eth-radius) !important;
	transition: border-color 0.3s ease, box-shadow 0.3s ease;
}

.eth-reviews-widget .ti-widget .ti-review-item > .ti-inner:hover {
	border-color: rgba(31, 194, 176, 0.55) !important;
	box-shadow: var(--eth-shadow-sm) !important;
}

.eth-reviews-widget .ti-widget .ti-name {
	color: var(--eth-navy) !important;
	font-weight: 700 !important;
}

.eth-reviews-widget .ti-widget .ti-read-more span,
.eth-reviews-widget .ti-widget .ti-read-more a {
	color: var(--eth-turq-dark) !important;
	font-weight: 700 !important;
}

.eth-reviews-widget .ti-widget .ti-rating-text strong,
.eth-reviews-widget .ti-widget .ti-rating-text {
	color: var(--eth-navy) !important;
}

.eth-placeholder--reviews {
	align-items: center;
	text-align: center;
	min-height: 260px;
	justify-content: center;
	background:
		repeating-linear-gradient(135deg, rgba(31, 194, 176, 0.05) 0 12px, transparent 12px 24px),
		#fff;
}

.eth-placeholder--reviews .eth-placeholder__badge {
	align-self: center;
}

.eth-placeholder--reviews .eth-icon {
	width: 40px;
	height: 40px;
	color: var(--eth-turq-dark);
}

.eth-placeholder--reviews .eth-placeholder__admin {
	margin-top: 0.5rem !important;
}

.eth-reviews__more {
	margin-top: 1.5rem;
	text-align: center;
}

.eth-link-arrow {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	font-weight: 800;
	color: var(--eth-turq-dark);
	text-decoration: none;
}

.eth-link-arrow::after {
	content: "";
	width: 18px;
	height: 18px;
	background: currentColor;
	-webkit-mask: var(--eth-i-arrow) center / contain no-repeat;
	mask: var(--eth-i-arrow) center / contain no-repeat;
	transition: transform 0.25s var(--eth-ease);
}

.eth-link-arrow:hover::after {
	transform: translateX(4px);
}

/* ---------- Luchthaven ---------- */

.eth-airport {
	background: #fff;
}

.eth-airport__grid {
	display: grid;
	gap: 40px;
	align-items: center;
}

.eth-airport__grid > *,
.eth-airport__content > *,
.eth-airport__visual > * {
	margin-block: 0;
}

.eth-airport__content > * + * {
	margin-top: 1rem;
}

.eth-airport__visual {
	position: relative;
	padding-bottom: 40px;
}

.eth-airport__media {
	margin: 0;
	border-radius: var(--eth-radius-lg);
	overflow: hidden;
	box-shadow: var(--eth-shadow-lg);
}

.eth-airport__media img {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 3.2;
	object-fit: cover;
	object-position: 50% 30%;
	transition: transform 1.2s var(--eth-ease);
}

.eth-airport__visual:hover .eth-airport__media img {
	transform: scale(1.03);
}

.eth-airport__badge {
	position: absolute;
	left: 16px;
	bottom: 0;
	display: flex;
	align-items: center;
	gap: 14px;
	max-width: min(330px, calc(100% - 32px));
	padding: 16px 20px;
	border-radius: var(--eth-radius);
	background: var(--eth-navy);
	box-shadow: var(--eth-shadow-lg);
}

.eth-airport__badge > * {
	margin: 0 !important;
}

.eth-airport__badge-value {
	flex: none;
	font-size: 1.875rem;
	font-weight: 800;
	line-height: 1;
	letter-spacing: -0.03em;
	color: var(--eth-turq);
}

.eth-airport__badge-label {
	font-size: 0.875rem;
	font-weight: 600;
	line-height: 1.35;
	color: rgba(255, 255, 255, 0.88);
}

.eth-airport__extra {
	display: grid;
	gap: 20px;
	margin-top: clamp(40px, 6vw, 72px);
}

.eth-airport__extra > * {
	margin: 0;
}

.eth-airport__steps,
.eth-tip {
	padding: 26px 22px;
	border-radius: var(--eth-radius);
}

.eth-airport__steps {
	background: var(--eth-surface);
}

.eth-airport__steps > *,
.eth-tip > * {
	margin-block: 0;
}

.eth-airport__steps > h3,
.eth-tip > h3 {
	font-size: 1.25rem;
	margin-bottom: 1.25rem;
}

.eth-mini-steps {
	display: grid;
	gap: 18px;
	counter-reset: eth-mini;
}

.eth-mini-step {
	position: relative;
	padding-left: 52px;
	counter-increment: eth-mini;
}

.eth-mini-step > * {
	margin-block: 0;
}

.eth-mini-step::before {
	content: counter(eth-mini, decimal-leading-zero);
	position: absolute;
	left: 0;
	top: 0;
	display: grid;
	place-items: center;
	width: 38px;
	height: 38px;
	border-radius: 12px;
	background: var(--eth-navy);
	color: var(--eth-turq);
	font-size: 0.875rem;
	font-weight: 800;
}

.eth-mini-step h4 {
	font-size: 1.0625rem;
	margin-bottom: 0.2rem;
}

.eth-mini-step p {
	color: var(--eth-muted);
	font-size: 0.975rem;
}

.eth-tip {
	position: relative;
	background: var(--eth-turq-light);
	padding-top: 26px;
}

.eth-tip > h3 {
	display: flex;
	align-items: center;
	gap: 0.6rem;
}

.eth-tip > h3::before {
	content: "";
	width: 24px;
	height: 24px;
	flex: none;
	background: var(--eth-turq-dark);
	-webkit-mask: var(--eth-i-info) center / contain no-repeat;
	mask: var(--eth-i-info) center / contain no-repeat;
}

.eth-tip p + p {
	margin-top: 0.85rem;
}

.eth-tip p {
	color: var(--eth-ink);
}

@media (min-width: 600px) {
	.eth-airport__badge {
		left: 24px;
	}

	.eth-mini-steps {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.eth-mini-step {
		padding-left: 0;
		padding-top: 54px;
	}

	.eth-airport__steps,
	.eth-tip {
		padding: 32px;
	}
}

@media (min-width: 960px) {
	.eth-airport__grid {
		grid-template-columns: minmax(0, 5fr) minmax(0, 6fr);
		gap: 72px;
	}

	.eth-airport__visual {
		padding-bottom: 0;
	}

	.eth-airport__media img {
		aspect-ratio: 4 / 4.6;
	}

	.eth-airport__badge {
		left: auto;
		right: -28px;
		bottom: 40px;
	}
}

/* ---------- Over ons ---------- */

.eth-about {
	color: rgba(255, 255, 255, 0.86);
	background:
		radial-gradient(50% 60% at 0% 0%, rgba(31, 194, 176, 0.16) 0%, rgba(31, 194, 176, 0) 70%),
		var(--eth-navy);
}

.eth-about .eth-eyebrow {
	color: var(--eth-turq);
}

.eth-about .eth-section__title {
	color: #fff;
}

.eth-about .eth-section__lead {
	color: #fff;
}

.eth-about__grid {
	display: grid;
	gap: 40px;
	align-items: center;
}

.eth-about__grid > *,
.eth-about__content > * {
	margin-block: 0;
}

.eth-about__content > * + * {
	margin-top: 1rem;
}

.eth-founder {
	position: relative;
	display: grid;
	grid-template-columns: 52px 1fr;
	column-gap: 14px;
	align-items: center;
	margin-top: 1.75rem !important;
	padding-top: 1.5rem;
	border-top: 1px solid rgba(255, 255, 255, 0.14);
}

.eth-founder::before {
	content: "";
	grid-row: span 2;
	width: 52px;
	height: 52px;
	border-radius: 50%;
	background: linear-gradient(140deg, #7BE0D3 0%, var(--eth-turq) 100%);
	box-shadow: 0 0 0 4px rgba(31, 194, 176, 0.18);
}

/* Persoonsicoon bij de oprichter. */
.eth-founder::after {
	content: "";
	position: absolute;
	left: 13px;
	top: calc(1.5rem + 12px);
	width: 26px;
	height: 26px;
	background: var(--eth-navy);
	-webkit-mask: var(--eth-i-user) center / contain no-repeat;
	mask: var(--eth-i-user) center / contain no-repeat;
}

.eth-founder > * {
	margin: 0 !important;
}

.eth-founder__name {
	font-size: 1.125rem;
	font-weight: 800;
	color: #fff;
	align-self: end;
}

.eth-founder__role {
	font-size: 0.9375rem;
	color: rgba(255, 255, 255, 0.72);
	align-self: start;
}

.eth-stats {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
}

.eth-stat {
	padding: 20px 18px;
	border-radius: var(--eth-radius);
	background: rgba(255, 255, 255, 0.06);
	border: 1px solid rgba(255, 255, 255, 0.12);
	transition: background-color 0.35s ease, transform 0.35s var(--eth-ease);
}

.eth-stat:hover {
	background: rgba(255, 255, 255, 0.1);
	transform: translateY(-3px);
}

.eth-stat > * {
	margin: 0;
}

.eth-stat__value {
	font-size: clamp(1.75rem, 6vw, 2.75rem);
	font-weight: 800;
	line-height: 1.05;
	letter-spacing: -0.03em;
	font-variant-numeric: tabular-nums;
	color: var(--eth-turq);
}

.eth-stat__label {
	margin-top: 0.45rem !important;
	font-size: 0.9375rem;
	line-height: 1.4;
	color: rgba(255, 255, 255, 0.82);
}

@media (min-width: 960px) {
	.eth-about__grid {
		grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
		gap: 80px;
	}

	.eth-stats {
		gap: 16px;
	}

	.eth-stat {
		padding: 28px 24px;
	}

	.eth-stat:nth-child(even) {
		transform: translateY(28px);
	}

	.eth-stat:nth-child(even):hover {
		transform: translateY(25px);
	}
}

/* ---------- Diensten en voertuigen ---------- */

.eth-services {
	background: var(--eth-surface);
}

.eth-services__grid {
	display: grid;
	gap: 14px;
}

.eth-service {
	background: #fff;
}

.eth-vehicles__header {
	max-width: 720px;
	margin-top: clamp(48px, 7vw, 88px) !important;
	margin-bottom: 24px;
}

.eth-vehicles__header > * {
	margin-block: 0;
}

.eth-vehicles__header > * + * {
	margin-top: 0.5rem;
}

.eth-vehicles__title {
	font-size: var(--wp--preset--font-size--x-large);
}

.eth-vehicles__header p {
	color: var(--eth-muted);
}

.eth-vehicles {
	display: grid;
	grid-auto-flow: column;
	grid-auto-columns: 82%;
	gap: 14px;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scroll-padding-inline: var(--eth-gutter);
	margin-inline: calc(var(--eth-gutter) * -1);
	padding: 4px var(--eth-gutter) 18px;
	scrollbar-width: thin;
}

.eth-vehicle {
	scroll-snap-align: start;
	display: flex;
	flex-direction: column;
	border-radius: var(--eth-radius);
	background: #fff;
	border: 1px solid var(--eth-line);
	overflow: hidden;
	transition: transform 0.35s var(--eth-ease), box-shadow 0.35s ease;
}

.eth-vehicle > * {
	margin: 0;
}

.eth-vehicle:hover {
	transform: translateY(-4px);
	box-shadow: var(--eth-shadow);
}

.eth-vehicle__media {
	margin: 0;
	background: #fff;
	overflow: hidden;
}

.eth-vehicle__media img {
	display: block;
	width: 100%;
	aspect-ratio: 800 / 520;
	object-fit: contain;
	transition: transform 0.6s var(--eth-ease);
}

.eth-vehicle:hover .eth-vehicle__media img {
	transform: scale(1.05) translateX(-6px);
}

.eth-vehicle__body {
	padding: 4px 22px 24px;
	border-top: 1px solid var(--eth-line);
	padding-top: 18px;
}

.eth-vehicle__body > * {
	margin-block: 0;
}

.eth-vehicle__body > * + * {
	margin-top: 0.4rem;
}

.eth-vehicle__tag {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	padding: 0.3rem 0.7rem 0.3rem 0.5rem;
	border-radius: 999px;
	background: var(--eth-turq-light);
	color: var(--eth-turq-dark);
	font-size: 0.8125rem;
	font-weight: 800;
}

.eth-vehicle__tag::before {
	content: "";
	width: 16px;
	height: 16px;
	background: currentColor;
	-webkit-mask: var(--eth-i-users) center / contain no-repeat;
	mask: var(--eth-i-users) center / contain no-repeat;
}

.eth-vehicle__title {
	font-size: 1.25rem;
}

.eth-vehicle__body p:not(.eth-vehicle__tag) {
	color: var(--eth-muted);
	font-size: 0.975rem;
}

@media (min-width: 768px) {
	.eth-services__grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 18px;
	}

	.eth-vehicles {
		grid-auto-flow: row;
		grid-template-columns: repeat(3, minmax(0, 1fr));
		grid-auto-columns: auto;
		gap: 18px;
		overflow: visible;
		margin-inline: 0;
		padding: 0;
	}
}

/* ---------- Boekingsproces ---------- */

.eth-process {
	background: #fff;
}

.eth-process__grid > * {
	margin-block: 0;
}

.eth-process .eth-section__header {
	margin-bottom: 28px;
}

/* Compacte kaart met de stappen onder elkaar. */
.eth-steps {
	--eth-tile: 42px;
	--eth-steps-pad: 20px;
	position: relative;
	display: grid;
	gap: 22px;
	padding: var(--eth-steps-pad);
	border: 1px solid var(--eth-line);
	border-radius: var(--eth-radius);
	background: var(--eth-surface);
	counter-reset: eth-step;
}

.eth-step {
	position: relative;
	z-index: 1;
	min-height: var(--eth-tile);
	padding-left: calc(var(--eth-tile) + 16px);
	counter-increment: eth-step;
}

.eth-step > * {
	margin-block: 0;
}

.eth-step > * + * {
	margin-top: 0.2rem !important;
}

/* Icoontegel en icoon van elke stap. */
.eth-step::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: var(--eth-tile);
	height: var(--eth-tile);
	border-radius: 13px;
	background: var(--eth-navy);
	box-shadow: 0 6px 14px -8px rgba(11, 35, 64, 0.6);
}

.eth-step::after {
	content: "";
	position: absolute;
	top: calc((var(--eth-tile) - 20px) / 2);
	left: calc((var(--eth-tile) - 20px) / 2);
	width: 20px;
	height: 20px;
	background: var(--eth-turq);
	-webkit-mask: var(--eth-icon, var(--eth-i-check)) center / contain no-repeat;
	mask: var(--eth-icon, var(--eth-i-check)) center / contain no-repeat;
}

/* Laatste stap "Wij staan klaar": groene bevestiging. */
.eth-step:last-of-type::before {
	background: var(--eth-success);
	box-shadow: 0 0 0 5px rgba(18, 183, 106, 0.18), 0 0 18px 2px rgba(18, 183, 106, 0.28);
}

.eth-step:last-of-type::after {
	background: #fff;
}

.eth-step:last-of-type .eth-step__title::before {
	color: var(--eth-success-dark);
}

.eth-step__title {
	display: flex;
	align-items: baseline;
	gap: 0.55rem;
	padding-top: 1px;
	font-size: 1.0625rem;
	line-height: 1.35;
}

.eth-step__title::before {
	content: counter(eth-step, decimal-leading-zero);
	font-size: 0.75rem;
	font-weight: 800;
	letter-spacing: 0.06em;
	color: var(--eth-turq-dark);
}

.eth-step p {
	font-size: 0.9375rem;
	line-height: 1.55;
	color: var(--eth-muted);
}

/* Verbindingslijn (door main.js geplaatst) die van stap naar stap volloopt. */
.eth-steps__line {
	position: absolute;
	left: calc(var(--eth-steps-pad) + var(--eth-tile) / 2 - 1px);
	z-index: 0;
	width: 2px;
	border-radius: 2px;
	background: var(--eth-line);
	pointer-events: none;
}

.eth-steps__fill {
	display: block;
	width: 100%;
	height: 0;
	border-radius: inherit;
	background: linear-gradient(var(--eth-turq), var(--eth-turq-dark));
	transition: height 1s ease-in-out;
}

/*
 * Animatie: zolang een stap nog niet aan de beurt is, is hij gedimd met een lege tegel.
 * main.js zet de stappen één voor één op .is-active.
 */
.eth-steps.is-animated .eth-step::before {
	background: #fff;
	box-shadow: inset 0 0 0 2px var(--eth-line);
	transition: background-color 0.5s ease, box-shadow 0.5s ease;
}

.eth-steps.is-animated .eth-step::after {
	background: #9AA8B8;
	transition: background-color 0.5s ease;
}

.eth-steps.is-animated .eth-step > * {
	opacity: 0.35;
	transform: translateX(-8px);
	transition: opacity 0.7s ease, transform 0.8s var(--eth-ease);
}

.eth-steps.is-animated .eth-step.is-active::before {
	background: var(--eth-navy);
	box-shadow: 0 6px 14px -8px rgba(11, 35, 64, 0.6);
	animation: eth-step-pop 0.6s var(--eth-ease);
}

.eth-steps.is-animated .eth-step.is-active::after {
	background: var(--eth-turq);
	animation: eth-step-pop 0.6s var(--eth-ease);
}

/* Bij "Wij staan klaar" gloeit de tegel een paar keer zacht groen na, als een bevestiging. */
.eth-steps.is-animated .eth-step:last-of-type.is-active::before {
	background: var(--eth-success);
	box-shadow: 0 0 0 5px rgba(18, 183, 106, 0.18), 0 0 18px 2px rgba(18, 183, 106, 0.28);
	animation: eth-step-pop 0.6s var(--eth-ease), eth-step-glow 2.2s ease-in-out 0.5s 4;
}

.eth-steps.is-animated .eth-step:last-of-type.is-active::after {
	background: #fff;
}

@keyframes eth-step-glow {
	0%,
	100% {
		box-shadow: 0 0 0 5px rgba(18, 183, 106, 0.18), 0 0 18px 2px rgba(18, 183, 106, 0.28);
	}
	50% {
		box-shadow: 0 0 0 9px rgba(18, 183, 106, 0.12), 0 0 32px 10px rgba(18, 183, 106, 0.42);
	}
}

.eth-steps.is-animated .eth-step.is-active > * {
	opacity: 1;
	transform: none;
}

.eth-steps.is-animated .eth-step.is-active > p {
	transition-delay: 0.12s;
}

@keyframes eth-step-pop {
	0% {
		transform: scale(0.6);
	}
	60% {
		transform: scale(1.08);
	}
	100% {
		transform: scale(1);
	}
}

.eth-process__actions {
	margin-top: 24px !important;
}

@media (min-width: 600px) {
	.eth-steps {
		--eth-tile: 46px;
		--eth-steps-pad: 28px;
		gap: 26px;
	}
}

/* Desktop: tekst en knop links, de stappenkaart rechts. */
@media (min-width: 960px) {
	.eth-process__grid {
		display: grid;
		grid-template-columns: minmax(0, 5fr) minmax(0, 6fr);
		grid-template-rows: 1fr auto auto 1fr;
		grid-template-areas:
			". steps"
			"head steps"
			"actions steps"
			". steps";
		column-gap: 72px;
	}

	.eth-process .eth-section__header {
		grid-area: head;
		margin-bottom: 0;
	}

	.eth-process .eth-steps {
		grid-area: steps;
	}

	.eth-process__actions {
		grid-area: actions;
		margin-top: 28px !important;
	}
}

/* "Zo boek je" en de voordelen zijn allebei wit: een dunne lijn scheidt de twee secties. */
.eth-process + .eth-benefits {
	padding-top: 0;
}

.eth-process + .eth-benefits > .eth-container {
	padding-top: clamp(48px, 7vw, 88px);
	border-top: 1px solid var(--eth-line);
}

/* Luchthaveninformatie onder de stappen: donkere kaart met drie korte punten. */
.eth-flyinfo {
	margin-top: clamp(40px, 6vw, 64px);
	padding: 26px 22px;
	border-radius: var(--eth-radius-lg);
	color: rgba(255, 255, 255, 0.82);
	background:
		radial-gradient(60% 90% at 100% 0%, rgba(31, 194, 176, 0.2) 0%, rgba(31, 194, 176, 0) 70%),
		var(--eth-navy);
}

.eth-flyinfo > *,
.eth-flyinfo__head > *,
.eth-flyinfo__item > * {
	margin-block: 0;
}

.eth-flyinfo__title {
	display: flex;
	align-items: center;
	gap: 0.65rem;
	font-size: clamp(1.25rem, 3vw, 1.5rem);
	color: #fff;
}

.eth-flyinfo__title::before {
	content: "";
	width: 26px;
	height: 26px;
	flex: none;
	background: var(--eth-turq);
	-webkit-mask: var(--eth-i-plane) center / contain no-repeat;
	mask: var(--eth-i-plane) center / contain no-repeat;
}

.eth-flyinfo__lead {
	margin-top: 0.35rem !important;
	color: rgba(255, 255, 255, 0.72);
}

.eth-flyinfo__items {
	display: grid;
	gap: 18px;
	margin-top: 24px !important;
}

.eth-flyinfo__items > * {
	margin: 0 !important;
}

.eth-flyinfo__item {
	position: relative;
	padding-left: 56px;
	min-height: 42px;
}

.eth-flyinfo__item::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 42px;
	height: 42px;
	border-radius: 13px;
	background: rgba(31, 194, 176, 0.14);
	box-shadow: inset 0 0 0 1px rgba(31, 194, 176, 0.28);
}

.eth-flyinfo__item::after {
	content: "";
	position: absolute;
	top: 11px;
	left: 11px;
	width: 20px;
	height: 20px;
	background: var(--eth-turq);
	-webkit-mask: var(--eth-icon, var(--eth-i-check)) center / contain no-repeat;
	mask: var(--eth-icon, var(--eth-i-check)) center / contain no-repeat;
}

.eth-flyinfo__item h4 {
	font-size: 1.0625rem;
	color: #fff;
}

.eth-flyinfo__item p {
	margin-top: 0.25rem !important;
	font-size: 0.9375rem;
	line-height: 1.55;
	color: rgba(255, 255, 255, 0.78);
}

.eth-flyinfo__more {
	margin-top: 24px !important;
	padding-top: 20px;
	border-top: 1px solid rgba(255, 255, 255, 0.12);
}

.eth-flyinfo__more .eth-link-arrow {
	color: var(--eth-turq);
}

@media (min-width: 768px) {
	.eth-flyinfo {
		padding: 36px 40px;
	}

	.eth-flyinfo__items {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 28px;
	}

	.eth-flyinfo__item {
		padding-left: 0;
		padding-top: 56px;
	}
}

/*
 * Losse foto "60 min gratis wachttijd" tussen de reviews en Over ons.
 * De foto is 816 px breed, dus hij blijft gecentreerd en wordt niet breder getoond, zodat hij scherp blijft.
 */
.eth-airport-photo {
	background: #fff;
}

.eth-airport-photo__visual {
	position: relative;
	isolation: isolate;
	max-width: 816px;
	margin-inline: auto;
}

.eth-airport-photo__visual > * {
	margin-block: 0;
}

.eth-airport-photo__visual::before {
	content: "";
	position: absolute;
	inset: 18px -10px -14px 18px;
	z-index: -1;
	border-radius: var(--eth-radius-lg);
	background: linear-gradient(135deg, var(--eth-turq) 0%, #7BE0D3 100%);
	transform: rotate(-1.5deg);
	opacity: 0.85;
}

.eth-airport-photo__media {
	margin: 0;
	border-radius: var(--eth-radius-lg);
	overflow: hidden;
	box-shadow: var(--eth-shadow-lg);
}

.eth-airport-photo__media img {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 3.6;
	object-fit: cover;
	object-position: 50% 28%;
	transition: transform 1.2s var(--eth-ease);
}

.eth-airport-photo__visual:hover .eth-airport-photo__media img {
	transform: scale(1.03);
}

.eth-airport-photo__badge {
	position: absolute;
	left: 14px;
	bottom: 14px;
	display: flex;
	align-items: center;
	gap: 14px;
	max-width: min(340px, calc(100% - 28px));
	padding: 14px 18px;
	border-radius: var(--eth-radius);
	background: var(--eth-navy);
	box-shadow: var(--eth-shadow-lg);
}

.eth-airport-photo__badge > * {
	margin: 0 !important;
}

.eth-airport-photo__badge-value {
	flex: none;
	font-size: 1.75rem;
	font-weight: 800;
	line-height: 1;
	letter-spacing: -0.03em;
	color: var(--eth-turq);
}

.eth-airport-photo__badge-label {
	font-size: 0.875rem;
	font-weight: 600;
	line-height: 1.35;
	color: rgba(255, 255, 255, 0.88);
}

@media (min-width: 600px) {
	.eth-airport-photo__media img {
		aspect-ratio: 16 / 9;
	}

	.eth-airport-photo__badge {
		left: 28px;
		bottom: 28px;
		padding: 18px 22px;
	}

	.eth-airport-photo__badge-value {
		font-size: 2.125rem;
	}
}

/* ---------- Veelgestelde vragen ---------- */

.eth-faq {
	background: var(--eth-surface);
}

.eth-faq__grid {
	display: grid;
	gap: 32px;
}

.eth-faq__grid > *,
.eth-faq__intro > * {
	margin-block: 0;
}

.eth-faq__intro > * + * {
	margin-top: 1rem;
}

.eth-faq__intro .wp-block-buttons {
	margin-top: 1.5rem;
}

.eth-faq__list {
	display: grid;
	gap: 10px;
}

.eth-faq__item {
	border-radius: 16px;
	background: #fff;
	border: 1px solid var(--eth-line);
	transition: border-color 0.3s ease, box-shadow 0.3s ease;
	overflow: hidden;
}

.eth-faq__item:hover {
	border-color: rgba(31, 194, 176, 0.55);
}

.eth-faq__item[open] {
	border-color: rgba(31, 194, 176, 0.7);
	box-shadow: var(--eth-shadow);
}

.eth-faq__item summary {
	position: relative;
	display: block;
	padding: 18px 60px 18px 20px;
	cursor: pointer;
	list-style: none;
	font-weight: 800;
	font-size: 1.0625rem;
	line-height: 1.4;
	color: var(--eth-navy);
	border-radius: 16px;
}

.eth-faq__item summary::-webkit-details-marker {
	display: none;
}

.eth-faq__item summary::before {
	content: "";
	position: absolute;
	right: 16px;
	top: 50%;
	width: 32px;
	height: 32px;
	margin-top: -16px;
	border-radius: 50%;
	background: var(--eth-turq-light);
	transition: background-color 0.3s ease;
}

.eth-faq__item summary::after {
	content: "";
	position: absolute;
	right: 24px;
	top: 50%;
	width: 16px;
	height: 16px;
	margin-top: -8px;
	background: var(--eth-turq-dark);
	-webkit-mask: var(--eth-i-plus) center / contain no-repeat;
	mask: var(--eth-i-plus) center / contain no-repeat;
	transition: transform 0.35s var(--eth-ease), background-color 0.3s ease;
}

.eth-faq__item[open] summary::before {
	background: var(--eth-navy);
}

.eth-faq__item[open] summary::after {
	transform: rotate(45deg);
	background: #fff;
}

.eth-faq__item > :not(summary) {
	margin: 0;
	padding: 0 20px 20px;
	color: var(--eth-muted);
}

/* Vloeiend openklappen in browsers die het ondersteunen. */
@supports (interpolate-size: allow-keywords) {
	.eth-faq__item {
		interpolate-size: allow-keywords;
	}

	.eth-faq__item::details-content {
		height: 0;
		overflow: clip;
		transition: height 0.4s var(--eth-ease), content-visibility 0.4s allow-discrete;
	}

	.eth-faq__item[open]::details-content {
		height: auto;
	}
}

@media (min-width: 600px) {
	.eth-faq__item summary {
		padding: 22px 72px 22px 26px;
	}

	.eth-faq__item > :not(summary) {
		padding: 0 26px 24px;
	}
}

@media (min-width: 960px) {
	.eth-faq__grid {
		grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
		gap: 72px;
		align-items: start;
	}

	.eth-faq__intro {
		position: sticky;
		top: calc(var(--eth-header-h) + 32px);
	}
}

/* ---------- Afsluitende oproep ---------- */

.eth-cta {
	padding-block: 0 clamp(56px, 8vw, 96px);
	background: var(--eth-surface);
}

.eth-cta__panel {
	position: relative;
	overflow: hidden;
	padding: 40px 24px;
	border-radius: var(--eth-radius-lg);
	background: linear-gradient(135deg, var(--eth-navy) 0%, var(--eth-navy-soft) 55%, var(--eth-turq-dark) 100%);
	color: #fff;
	text-align: center;
	isolation: isolate;
}

.eth-cta__panel::before,
.eth-cta__panel::after {
	content: "";
	position: absolute;
	z-index: -1;
	border-radius: 50%;
	border: 2px solid rgba(255, 255, 255, 0.1);
}

.eth-cta__panel::before {
	width: 420px;
	height: 420px;
	right: -140px;
	top: -200px;
}

.eth-cta__panel::after {
	width: 280px;
	height: 280px;
	left: -120px;
	bottom: -160px;
	background: rgba(31, 194, 176, 0.12);
	border: 0;
}

.eth-cta__panel > * {
	margin-block: 0;
}

.eth-cta__title {
	color: #fff;
	text-wrap: balance;
}

.eth-cta__text {
	margin-top: 0.75rem !important;
	font-size: var(--wp--preset--font-size--large);
	color: rgba(255, 255, 255, 0.86);
}

.eth-cta__actions {
	justify-content: center;
	margin-top: 1.75rem !important;
}

@media (min-width: 600px) {
	.eth-cta__panel {
		padding: 64px 48px;
	}
}

/* ---------- Footer ---------- */

.eth-footer {
	padding-top: clamp(48px, 7vw, 80px);
	background: var(--eth-navy-deep);
	color: rgba(255, 255, 255, 0.76);
	font-size: 0.975rem;
}

.eth-footer a {
	color: #fff;
	text-decoration: none;
}

.eth-footer a:hover {
	color: var(--eth-turq);
}

.eth-footer__grid {
	display: grid;
	gap: 36px;
}

.eth-footer__grid > *,
.eth-footer__brand > *,
.eth-footer__col > * {
	margin-block: 0;
}

.eth-footer__brand > * + *,
.eth-footer__col > * + * {
	margin-top: 1rem;
}

.eth-footer .eth-logo__img {
	height: 40px;
}

.eth-footer__title {
	font-size: 0.8125rem;
	font-weight: 800;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--eth-turq);
}

.eth-footer__links {
	display: grid;
	gap: 0.6rem;
	padding: 0;
	list-style: none;
}

.eth-footer__note {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	font-weight: 700;
	color: #fff;
}

.eth-footer__note::before {
	content: "";
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--eth-turq);
	box-shadow: 0 0 0 4px rgba(31, 194, 176, 0.25);
	animation: eth-pulse 2.4s ease-in-out infinite;
}

@keyframes eth-pulse {
	0%,
	100% {
		box-shadow: 0 0 0 4px rgba(31, 194, 176, 0.25);
	}
	50% {
		box-shadow: 0 0 0 7px rgba(31, 194, 176, 0.08);
	}
}

.eth-contact {
	display: grid;
	gap: 12px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.eth-contact li > a,
.eth-contact li > span {
	display: flex;
	align-items: center;
	gap: 12px;
	color: #fff;
}

.eth-contact .eth-icon {
	width: 40px;
	height: 40px;
	flex: none;
	padding: 10px;
	border-radius: 12px;
	background: rgba(255, 255, 255, 0.08);
	color: var(--eth-turq);
	box-sizing: border-box;
	transition: background-color 0.3s ease;
}

.eth-contact a:hover .eth-icon {
	background: rgba(31, 194, 176, 0.2);
}

.eth-contact__label {
	display: block;
	font-size: 0.8125rem;
	color: rgba(255, 255, 255, 0.6);
}

.eth-footer__bottom {
	margin-top: clamp(40px, 6vw, 64px);
	padding-block: 24px calc(24px + 88px);
	border-top: 1px solid rgba(255, 255, 255, 0.12);
	font-size: 0.875rem;
	color: rgba(255, 255, 255, 0.6);
}

.eth-copyright {
	margin: 0;
}

.eth-copyright a,
.eth-copyright__cookies {
	color: rgba(255, 255, 255, 0.8);
	text-decoration: underline;
}

.eth-copyright__cookies {
	margin: 0 0 0 0.35em;
	padding: 0;
	border: 0;
	background: none;
	font: inherit;
	cursor: pointer;
}

.eth-copyright__cookies[hidden] {
	display: none;
}

.eth-copyright__cookies:hover,
.eth-copyright__cookies:focus-visible {
	color: #fff;
}

/* ---------- Cookiemelding ---------- */

.eth-consent {
	position: fixed;
	right: 12px;
	bottom: calc(12px + env(safe-area-inset-bottom, 0px));
	left: 12px;
	z-index: 120;
	display: flex;
	justify-content: center;
	pointer-events: none;
}

.eth-consent[hidden] {
	display: none;
}

.eth-consent__inner {
	display: grid;
	gap: 16px;
	width: 100%;
	max-width: 46rem;
	padding: 20px;
	border: 1px solid var(--eth-line);
	border-radius: var(--eth-radius);
	background: #fff;
	color: var(--eth-ink);
	box-shadow: var(--eth-shadow-lg);
	pointer-events: auto;
	opacity: 0;
	transform: translateY(24px);
	transition: opacity 0.45s ease, transform 0.6s var(--eth-ease);
}

.eth-consent.is-open .eth-consent__inner {
	opacity: 1;
	transform: none;
}

.eth-consent__text p {
	margin: 0;
	font-size: 0.9375rem;
	line-height: 1.55;
	color: var(--eth-muted);
}

.eth-consent__text .eth-consent__title {
	margin-bottom: 4px;
	font-size: 1.0625rem;
	font-weight: 800;
	color: var(--eth-navy);
}

.eth-consent__text a {
	color: var(--eth-turq-dark);
	text-decoration: underline;
}

.eth-consent__actions {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 10px;
}

.eth-consent__btn {
	min-height: 48px;
	padding: 0 22px;
	border: 2px solid var(--eth-navy);
	border-radius: 999px;
	background: var(--eth-navy);
	color: #fff;
	font: inherit;
	font-weight: 800;
	cursor: pointer;
	transition: background-color 0.25s ease, color 0.25s ease;
}

.eth-consent__btn--deny {
	background: #fff;
	color: var(--eth-navy);
}

.eth-consent__btn:hover,
.eth-consent__btn:focus-visible {
	background: var(--eth-navy-soft);
	border-color: var(--eth-navy-soft);
	color: #fff;
}

.eth-consent__btn:focus-visible {
	outline: 3px solid var(--eth-turq);
	outline-offset: 2px;
}

@media (min-width: 768px) {
	.eth-consent {
		bottom: calc(24px + env(safe-area-inset-bottom, 0px));
	}

	.eth-consent__inner {
		grid-template-columns: minmax(0, 1fr) auto;
		align-items: center;
		gap: 24px;
		padding: 22px 24px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.eth-consent__inner {
		transition: none;
	}
}

@media (min-width: 600px) {
	.eth-footer__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 768px) {
	.eth-footer__bottom {
		padding-bottom: 24px;
	}
}

@media (min-width: 1024px) {
	.eth-footer__grid {
		grid-template-columns: minmax(0, 1.4fr) repeat(3, minmax(0, 1fr));
		gap: 48px;
	}
}

/* ---------- Zwevende knoppen ---------- */

.eth-floating {
	position: fixed;
	right: 16px;
	left: 16px;
	bottom: calc(16px + env(safe-area-inset-bottom, 0px));
	z-index: 60;
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 10px;
	pointer-events: none;
}

.eth-floating > * {
	pointer-events: auto;
}

.eth-mobile-book {
	flex: 1;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.55rem;
	min-height: 56px;
	border-radius: 999px;
	background: var(--eth-navy);
	color: #fff;
	font-weight: 800;
	text-decoration: none;
	box-shadow: 0 14px 30px -12px rgba(11, 35, 64, 0.6);
	transition: transform 0.4s var(--eth-ease), opacity 0.3s ease;
}

.eth-mobile-book .eth-icon {
	width: 20px;
	height: 20px;
	color: var(--eth-turq);
}

.eth-mobile-book:hover,
.eth-mobile-book:focus {
	color: #fff;
}

.eth-mobile-book.is-hidden {
	opacity: 0;
	transform: translateY(140%);
	pointer-events: none;
}

.eth-wa-float {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	width: 56px;
	height: 56px;
	flex: none;
	border-radius: 999px;
	background: var(--eth-whatsapp);
	color: #fff;
	text-decoration: none;
	box-shadow: 0 14px 30px -12px rgba(15, 123, 95, 0.75);
	transition: transform 0.3s var(--eth-ease), background-color 0.3s ease;
}

.eth-wa-float:hover,
.eth-wa-float:focus {
	background: var(--eth-whatsapp-hover);
	color: #fff;
	transform: translateY(-2px);
}

.eth-wa-float .eth-icon {
	width: 28px;
	height: 28px;
}

.eth-wa-float::before {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: inherit;
	box-shadow: 0 0 0 0 rgba(15, 123, 95, 0.45);
	animation: eth-ring 3.2s ease-out 2s infinite;
}

@keyframes eth-ring {
	0% {
		box-shadow: 0 0 0 0 rgba(15, 123, 95, 0.45);
	}
	60%,
	100% {
		box-shadow: 0 0 0 14px rgba(15, 123, 95, 0);
	}
}

.eth-wa-float__label {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip-path: inset(50%);
	white-space: nowrap;
}

@media (min-width: 768px) {
	.eth-floating {
		left: auto;
		right: 24px;
		bottom: calc(24px + env(safe-area-inset-bottom, 0px));
	}

	.eth-mobile-book {
		display: none;
	}

	.eth-wa-float {
		width: auto;
		padding: 0 20px 0 16px;
		font-weight: 800;
	}

	.eth-wa-float__label {
		position: static;
		width: auto;
		height: auto;
		overflow: visible;
		clip-path: none;
	}
}

/* ---------- Overige pagina's ---------- */

.eth-page {
	padding-block: clamp(40px, 7vw, 88px);
	min-height: 50vh;
}

.eth-page__title {
	margin-bottom: 1.5rem;
}

.eth-page__image img {
	border-radius: var(--eth-radius);
}

.eth-404 .wp-block-buttons {
	margin-top: 2rem;
}

.eth-post-list {
	display: grid;
	gap: 16px;
	padding: 0;
	list-style: none;
}

.eth-post-card {
	padding: 24px;
}

.eth-post-card::before,
.eth-post-card::after {
	display: none;
}

.eth-post-card__date {
	font-size: 0.875rem;
	color: var(--eth-muted);
}

/* ---------- Scroll-animaties ---------- */

.eth-js .eth-reveal {
	opacity: 0;
	transform: translateY(22px);
	transition: opacity 0.8s var(--eth-ease), transform 0.8s var(--eth-ease);
	transition-delay: var(--eth-delay, 0s);
}

.eth-js .eth-reveal.is-visible {
	opacity: 1;
	transform: none;
}

/* Kaarten met hover-effect houden hun eigen transitie na het verschijnen. */
.eth-js .eth-card.eth-reveal.is-visible,
.eth-js .eth-service.eth-reveal.is-visible,
.eth-js .eth-vehicle.eth-reveal.is-visible,
.eth-js .eth-stat.eth-reveal.is-visible {
	transition: opacity 0.8s var(--eth-ease), transform 0.35s var(--eth-ease), box-shadow 0.35s ease, border-color 0.35s ease, background-color 0.35s ease;
	transition-delay: 0s;
}

@media (min-width: 960px) {
	.eth-js .eth-stat.eth-reveal:nth-child(even):not(.is-visible) {
		transform: translateY(50px);
	}
}

/* De hero gebruikt een CSS-animatie in plaats van de scroll-animatie. */
.eth-js .eth-hero .eth-reveal {
	opacity: 1;
	transform: none;
	transition: none;
}

/* ---------- Minder beweging ---------- */

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}

	*,
	*::before,
	*::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		animation-delay: 0s !important;
		transition-duration: 0.01ms !important;
		transition-delay: 0s !important;
	}

	.eth-js .eth-reveal {
		opacity: 1;
		transform: none;
	}

	.eth-hero__title em {
		background-size: 100% 100%;
	}

	.eth-chip,
	.eth-wa-float::before,
	.eth-footer__note::before {
		animation: none !important;
	}
}

/* ==========================================================================
   Vervolgpagina's
   ========================================================================== */

/* Pagina-inhoud over de volle breedte: geen automatische ruimte tussen secties. */
.eth-landing > * {
	margin-block: 0;
}

.eth-surface {
	background: var(--eth-surface);
}

/* Paginakop */
.eth-page-hero {
	position: relative;
	overflow: hidden;
	padding-block: clamp(36px, 7vw, 88px) clamp(40px, 7vw, 80px);
	background:
		radial-gradient(55% 60% at 100% 0%, rgba(31, 194, 176, 0.16) 0%, rgba(31, 194, 176, 0) 70%),
		linear-gradient(180deg, #fff 0%, var(--eth-surface) 100%);
}

.eth-page-hero__inner {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.eth-page-hero__inner > * {
	margin: 0 !important;
	max-width: 820px;
}

.eth-page-hero__title {
	font-size: clamp(2.1rem, 6.5vw, 3.5rem);
	line-height: 1.08;
	letter-spacing: -0.03em;
	text-wrap: balance;
}

.eth-page-hero__lead {
	font-size: clamp(1.0625rem, 2.4vw, 1.25rem);
	line-height: 1.6;
	color: var(--eth-muted);
	text-wrap: pretty;
}

.eth-page-hero__actions {
	margin-top: 0.5rem !important;
}

.eth-page-hero__facts {
	margin-top: 0.5rem !important;
	padding-top: 1.1rem !important;
	border-top: 1px solid var(--eth-line);
	max-width: 640px !important;
}

@media (max-width: 479px) {
	.eth-page-hero__actions {
		flex-direction: column;
		align-items: stretch;
	}

	.eth-page-hero__actions .wp-block-button,
	.eth-page-hero__actions .wp-block-button__link {
		width: 100%;
	}

	.eth-page-hero__facts {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

/* Kruimelpad */
.eth-breadcrumb {
	font-size: 0.875rem;
	font-weight: 600;
	color: var(--eth-muted);
}

.eth-breadcrumb a {
	color: var(--eth-turq-dark);
	text-decoration: none;
}

.eth-breadcrumb a:hover {
	text-decoration: underline;
}

.eth-breadcrumb span {
	margin-inline: 0.35rem;
	opacity: 0.6;
}

/* Twee kolommen: sectiekop links, inhoud rechts */
.eth-split {
	display: grid;
	gap: 28px;
	align-items: start;
}

.eth-split > * {
	margin: 0 !important;
}

@media (min-width: 960px) {
	.eth-split {
		grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
		gap: 64px;
	}
}

/* Informatiekaarten */
.eth-info-cards {
	display: grid;
	gap: 14px;
}

.eth-info-cards > * {
	margin: 0 !important;
}

@media (min-width: 600px) {
	.eth-info-cards.is-4 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 768px) {
	.eth-info-cards.is-2 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 18px;
	}
}

@media (min-width: 900px) {
	.eth-info-cards.is-3 {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 18px;
	}
}

@media (min-width: 1024px) {
	.eth-info-cards.is-4 {
		grid-template-columns: repeat(4, minmax(0, 1fr));
		gap: 18px;
	}
}

.eth-center-actions {
	justify-content: center;
	margin-top: clamp(28px, 4vw, 44px) !important;
}

/* Werkgebied */
.eth-area__card {
	padding: 24px;
	border-radius: var(--eth-radius);
	background: var(--eth-surface);
	border: 1px solid var(--eth-line);
}

.eth-area__card > * {
	margin-block: 0;
}

.eth-area__card > * + * {
	margin-top: 0.9rem;
}

.eth-area__card h3 {
	font-size: 1.0625rem;
}

.eth-area__card h3:not(:first-child) {
	margin-top: 1.5rem;
}

.eth-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	padding: 0;
	list-style: none;
}

.eth-chips li {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	padding: 0.45rem 0.85rem 0.45rem 0.6rem;
	border-radius: 999px;
	background: #fff;
	border: 1px solid var(--eth-line);
	font-size: 0.9375rem;
	font-weight: 700;
	color: var(--eth-navy);
}

.eth-chips li::before {
	content: "";
	width: 16px;
	height: 16px;
	background: var(--eth-turq-dark);
	-webkit-mask: var(--eth-i-pin) center / contain no-repeat;
	mask: var(--eth-i-pin) center / contain no-repeat;
}

@media (min-width: 600px) {
	.eth-area__card {
		padding: 32px;
	}
}

/* Voertuigen als losse sectie */
.eth-vehicles-section {
	background: var(--eth-surface);
}

.eth-services + .eth-vehicles-section {
	padding-top: 0;
}

/* Na de voertuigen (lichtgrijs) krijgen de veelgestelde vragen een witte achtergrond, zodat de secties niet in elkaar overlopen. */
.eth-vehicles-section + .eth-faq,
.eth-reviews + .eth-faq {
	background: #fff;
}

/* Tabel */
.eth-table {
	margin: 0;
	overflow-x: auto;
	border-radius: var(--eth-radius);
	border: 1px solid var(--eth-line);
	background: #fff;
}

.eth-table table {
	width: 100%;
	border-collapse: collapse;
	font-size: 0.9375rem;
}

.eth-table th,
.eth-table td {
	padding: 14px 16px;
	border: 0;
	border-bottom: 1px solid var(--eth-line);
	text-align: left;
	vertical-align: top;
}

.eth-table thead th {
	background: var(--eth-navy);
	color: #fff;
	font-weight: 800;
	font-size: 0.8125rem;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.eth-table tbody tr:last-child td {
	border-bottom: 0;
}

.eth-table tbody td:first-child {
	font-weight: 800;
	color: var(--eth-navy);
}

.eth-table tbody td:nth-child(2) {
	white-space: nowrap;
	color: var(--eth-turq-dark);
	font-weight: 800;
}

/* Prijstabellen (pagina Eindhoven Airport) */
.eth-prices__title {
	margin: 2.25rem 0 0.9rem;
	font-size: 1.125rem;
	color: var(--eth-navy);
}

.eth-prices .eth-section__header + .eth-prices__title {
	margin-top: 0;
}

.eth-table--prices table {
	min-width: 560px;
}

.eth-table--prices th:not(:first-child),
.eth-table--prices td:not(:first-child) {
	text-align: right;
	white-space: nowrap;
}

.eth-table--prices tbody td:not(:first-child) {
	color: var(--eth-ink);
	font-weight: 600;
	font-variant-numeric: tabular-nums;
}

.eth-table--prices tbody td:nth-child(2) {
	color: var(--eth-turq-dark);
	font-weight: 800;
}

.eth-table--prices tbody tr:nth-child(even) td {
	background: var(--eth-surface);
}

/* Op telefoons: elke rit als blok met de drie prijzen naast elkaar, zonder zijwaarts scrollen. */
@media (max-width: 599px) {
	.eth-table--prices table {
		min-width: 0;
	}

	.eth-table--prices thead {
		display: none;
	}

	.eth-table--prices tbody tr {
		display: grid;
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 4px 12px;
		padding: 14px 16px;
		border-bottom: 1px solid var(--eth-line);
	}

	.eth-table--prices tbody tr:last-child {
		border-bottom: 0;
	}

	.eth-table--prices tbody tr:nth-child(even) {
		background: var(--eth-surface);
	}

	.eth-table--prices tbody td,
	.eth-table--prices tbody td:not(:first-child),
	.eth-table--prices tbody tr:nth-child(even) td {
		padding: 0;
		border: 0;
		background: none;
		text-align: left;
	}

	.eth-table--prices tbody td:first-child {
		grid-column: 1 / -1;
		margin-bottom: 4px;
	}

	.eth-table--prices tbody td[data-label]::before {
		content: attr(data-label);
		display: block;
		font-size: 0.75rem;
		font-weight: 600;
		color: var(--eth-muted);
	}
}

.eth-prices .eth-chips {
	margin-top: 0;
}

.eth-prices__actions {
	margin-top: 2rem;
}

/* Contactkaarten */
.eth-contact-cards {
	display: grid;
	gap: 14px;
}

.eth-contact-card {
	display: grid;
	grid-template-columns: 52px 1fr;
	column-gap: 16px;
	align-items: center;
	padding: 20px;
	border-radius: var(--eth-radius);
	background: #fff;
	border: 1px solid var(--eth-line);
	color: var(--eth-ink);
	text-decoration: none;
	transition: transform 0.35s var(--eth-ease), box-shadow 0.35s ease, border-color 0.35s ease;
}

a.eth-contact-card:hover {
	transform: translateY(-4px);
	border-color: rgba(31, 194, 176, 0.55);
	box-shadow: var(--eth-shadow);
	color: var(--eth-ink);
}

.eth-contact-card .eth-icon {
	grid-row: span 3;
	width: 52px;
	height: 52px;
	padding: 13px;
	border-radius: 16px;
	background: var(--eth-turq-light);
	color: var(--eth-turq-dark);
	box-sizing: border-box;
}

.eth-contact-card.is-whatsapp .eth-icon {
	background: var(--eth-whatsapp);
	color: #fff;
}

.eth-contact-card__label {
	font-size: 0.8125rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--eth-muted);
}

.eth-contact-card__value {
	font-size: 1.125rem;
	font-weight: 800;
	color: var(--eth-navy);
	overflow-wrap: anywhere;
}

.eth-contact-card__note {
	font-size: 0.9375rem;
	color: var(--eth-muted);
}

@media (min-width: 768px) {
	.eth-contact-cards {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 18px;
	}

	.eth-contact-card {
		padding: 26px;
	}
}

@media (min-width: 1100px) {
	.eth-contact-cards {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}

	.eth-contact-card {
		grid-template-columns: 1fr;
		row-gap: 4px;
		align-items: start;
	}

	.eth-contact-card .eth-icon {
		grid-row: auto;
		margin-bottom: 12px;
	}
}

/* FAQ-pagina */
.eth-faq-nav__list {
	display: grid;
	gap: 6px;
	margin: 1rem 0 0 !important;
	padding: 0;
	list-style: none;
}

.eth-faq-nav__list a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	padding: 12px 16px;
	border-radius: 12px;
	background: #fff;
	border: 1px solid var(--eth-line);
	font-weight: 700;
	color: var(--eth-navy);
	text-decoration: none;
	transition: border-color 0.25s ease, background-color 0.25s ease;
}

.eth-faq-nav__list a::after {
	content: "";
	width: 16px;
	height: 16px;
	flex: none;
	background: var(--eth-turq-dark);
	-webkit-mask: var(--eth-i-arrow) center / contain no-repeat;
	mask: var(--eth-i-arrow) center / contain no-repeat;
}

.eth-faq-nav__list a:hover {
	border-color: rgba(31, 194, 176, 0.6);
	background: var(--eth-turq-light);
}

@media (max-width: 959.98px) {
	.eth-faq-nav__list {
		display: flex;
		flex-wrap: wrap;
	}

	.eth-faq-nav__list a {
		padding: 8px 14px;
		border-radius: 999px;
		font-size: 0.9375rem;
	}

	.eth-faq-nav__list a::after {
		display: none;
	}
}

.eth-faq__groups {
	display: grid;
	gap: clamp(32px, 5vw, 48px);
}

.eth-faq__groups > * {
	margin: 0 !important;
}

.eth-faq-group > * {
	margin-block: 0;
}

.eth-faq-group__title {
	margin-bottom: 1rem !important;
	font-size: var(--wp--preset--font-size--large);
}

/* Boekingspagina */
.eth-booking--page {
	padding-top: clamp(32px, 6vw, 72px);
}

.eth-booking--page .eth-breadcrumb {
	color: rgba(255, 255, 255, 0.7);
}

.eth-booking--page .eth-breadcrumb a {
	color: var(--eth-turq);
}

.eth-booking--page h1.eth-section__title {
	font-size: clamp(2rem, 6vw, 3rem);
}

/* Blog */
.eth-blog {
	background: var(--eth-surface);
}

.eth-post-grid {
	display: grid;
	gap: 18px;
	padding: 0;
	list-style: none;
}

.eth-post-grid > li {
	margin: 0;
}

@media (min-width: 700px) {
	.eth-post-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 1024px) {
	.eth-post-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

.eth-post-card {
	display: flex;
	flex-direction: column;
	height: 100%;
	border-radius: var(--eth-radius);
	background: #fff;
	border: 1px solid var(--eth-line);
	overflow: hidden;
	transition: transform 0.35s var(--eth-ease), box-shadow 0.35s ease;
}

.eth-post-card:hover {
	transform: translateY(-4px);
	box-shadow: var(--eth-shadow);
}

.eth-post-card > *,
.eth-post-card__body > * {
	margin-block: 0;
}

.eth-post-card__image {
	margin: 0;
}

.eth-post-card__image img {
	display: block;
	width: 100%;
	object-fit: cover;
}

.eth-post-card__body {
	display: flex;
	flex-direction: column;
	gap: 0.6rem;
	padding: 22px;
}

.eth-post-card__date {
	font-size: 0.8125rem;
	font-weight: 700;
	color: var(--eth-turq-dark);
}

.eth-post-card__title {
	font-size: 1.25rem;
}

.eth-post-card__title a {
	color: var(--eth-navy);
	text-decoration: none;
}

.eth-post-card__title a:hover {
	color: var(--eth-turq-dark);
}

.eth-post-card .wp-block-post-excerpt__excerpt {
	color: var(--eth-muted);
	font-size: 0.975rem;
}

.eth-post-card .wp-block-post-excerpt__more-link {
	font-weight: 800;
	color: var(--eth-turq-dark);
}

.eth-pagination {
	margin-top: 32px;
	font-weight: 700;
}

.eth-blog-empty {
	max-width: 720px;
	margin-inline: auto;
	padding: clamp(28px, 5vw, 48px);
	border-radius: var(--eth-radius-lg);
	background: #fff;
	border: 1px solid var(--eth-line);
	text-align: center;
}

.eth-blog-empty > * {
	margin-block: 0;
}

.eth-blog-empty > * + * {
	margin-top: 1rem;
}

.eth-blog-empty h2 {
	font-size: var(--wp--preset--font-size--x-large);
	text-wrap: balance;
}

.eth-blog-empty p {
	color: var(--eth-muted);
}

.eth-blog-empty .eth-chips,
.eth-blog-empty .wp-block-buttons {
	justify-content: center;
}

.eth-blog-empty .eth-chips li::before {
	-webkit-mask-image: var(--eth-i-tag);
	mask-image: var(--eth-i-tag);
}

/* Artikel */
.eth-page-hero--article .eth-article__head {
	display: flex;
	flex-direction: column;
	gap: 0.9rem;
	max-width: calc(820px + 2 * var(--eth-gutter));
}

.eth-page-hero--article .eth-article__head > * {
	margin: 0;
}

.eth-page-hero--article .eth-eyebrow a {
	color: inherit;
	text-decoration: none;
}

.eth-article__date {
	color: var(--eth-muted);
	font-weight: 600;
}

.eth-article__body {
	padding-block: clamp(32px, 5vw, 56px) clamp(48px, 7vw, 88px);
}

.eth-article__body > * {
	margin-block: 0;
}

.eth-article__image {
	max-width: 960px;
	margin: 0 auto 2.5rem !important;
}

/* Ook staande foto's worden als brede afbeelding getoond, zodat de tekst snel in beeld komt. */
.eth-article__image img {
	width: 100%;
	aspect-ratio: 16 / 9;
	object-fit: cover;
	object-position: 50% 30%;
	border-radius: var(--eth-radius-lg);
}

.eth-article__content {
	font-size: 1.0625rem;
	line-height: 1.75;
}

.eth-article__content h2,
.eth-article__content h3 {
	margin-top: 2.25rem;
}

.eth-article__nav {
	max-width: 720px;
	margin: 3rem auto 0 !important;
	padding-top: 1.5rem;
	border-top: 1px solid var(--eth-line);
	font-weight: 700;
}
