/**
 * Project design layer – De Slimme Doos.
 *
 * Tokens, typography, buttons and site chrome (top bar, header, footer)
 * translated from the approved Stitch design system.
 */

/* Fonts (self-hosted variable fonts, latin subset) ----------------------- */

@font-face {
	font-family: "Hanken Grotesk";
	font-style: normal;
	font-weight: 100 900;
	font-display: swap;
	src: url("../fonts/hanken-grotesk-latin.woff2") format("woff2");
}

@font-face {
	font-family: "Inter";
	font-style: normal;
	font-weight: 100 900;
	font-display: swap;
	src: url("../fonts/inter-latin.woff2") format("woff2");
}

@font-face {
	font-family: "Inter";
	font-style: italic;
	font-weight: 100 900;
	font-display: swap;
	src: url("../fonts/inter-italic-latin.woff2") format("woff2");
}

/* Tokens ------------------------------------------------------------------ */

:root {
	--eno-color-bg: #fcf9f8;
	--eno-color-white: #fff;
	--eno-color-surface-low: #f6f3f2;
	--eno-color-surface: #f0eded;
	--eno-color-surface-high: #e5e2e1;
	--eno-color-surface-dim: #dcd9d9;
	--eno-color-text: #1c1b1b;
	--eno-color-text-muted: #584236;
	--eno-color-outline: #8c7264;
	--eno-color-orange: #f27111;
	--eno-color-orange-dark: #9c4400;
	--eno-color-orange-tint: rgb(242 113 17 / 10%);
	--eno-color-green: #74856c;
	--eno-color-green-bg: #eef1eb;
	--eno-color-green-soft: #d8e7d5;
	--eno-color-green-ink: #3d4a3d;
	--eno-color-kraft-soft: #f4dfcb;
	--eno-color-kraft-ink: #524436;
	--eno-color-star: #facc15;
	--eno-color-status-open: #2f9e55;
	--eno-color-status-open-ink: #23713f;
	--eno-color-status-closed: #a89d96;
	--eno-color-footer: #1c1b1b;

	/* Corrugated-board cross-section, used as a faint texture on colour bands. */
	--eno-corrugated: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='18' viewBox='0 0 40 18'%3E%3Cpath d='M0 9c5-7 15-7 20 0s15 7 20 0M0 .5h40' fill='none' stroke='%23fff' stroke-width='1'/%3E%3C/svg%3E");

	--eno-font-heading: "Hanken Grotesk", ui-sans-serif, system-ui, sans-serif;
	--eno-font-body: "Inter", ui-sans-serif, system-ui, sans-serif;

	--eno-text-display: clamp(2.25rem, 1.4rem + 3.6vw, 3.5rem);
	--eno-text-headline-lg: clamp(2rem, 1.6rem + 1.6vw, 2.5rem);
	--eno-text-headline-md: 1.5rem;
	--eno-text-body-lg: 1.125rem;
	--eno-text-body: 1rem;
	--eno-text-label: 0.875rem;
	--eno-text-small: 0.75rem;

	--eno-radius-sm: 2px;
	--eno-radius: 4px;
	--eno-radius-lg: 8px;

	--eno-shadow-float: 0 10px 30px rgb(0 0 0 / 4%);
	--eno-shadow-sm: 0 1px 2px rgb(0 0 0 / 5%);
	--eno-shadow-md: 0 4px 6px -1px rgb(0 0 0 / 10%), 0 2px 4px -2px rgb(0 0 0 / 10%);
	--eno-shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 10%), 0 4px 6px -4px rgb(0 0 0 / 10%);

	--eno-content-width: 1440px;
	--eno-gutter: 1rem;
	/* Content width plus gutters: inner wrappers with padding-inline: var(--eno-gutter)
	   then line up with sections that pad outside --eno-content-width (hero, config bar). */
	--eno-container-width: calc(var(--eno-content-width) + 2 * var(--eno-gutter));
	--eno-ease: cubic-bezier(0.4, 0, 0.2, 1);
	--eno-ease-out: cubic-bezier(0.22, 1, 0.36, 1);
}

@media (min-width: 768px) {
	:root {
		--eno-gutter: 1.5rem;
	}
}

/* Base -------------------------------------------------------------------- */

body {
	background-color: var(--eno-color-bg);
	color: var(--eno-color-text);
	font-family: var(--eno-font-body);
	font-size: var(--eno-text-body);
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

button,
input,
select,
textarea {
	font-family: inherit;
}

h1,
h2,
h3,
h4 {
	font-family: var(--eno-font-heading);
	color: var(--eno-color-text);
}

a {
	color: var(--eno-color-orange);
}

:focus-visible {
	outline: 2px solid var(--eno-color-orange);
	outline-offset: 2px;
}

.eno-icon {
	display: inline-block;
	flex-shrink: 0;
	width: 1.5rem;
	height: 1.5rem;
	fill: currentcolor;
	vertical-align: middle;
}

.eno-icon--sm {
	width: 0.875rem;
	height: 0.875rem;
}

.eno-icon--xs {
	width: 0.875rem;
	height: 0.875rem;
}

/* Buttons and links ------------------------------------------------------- */

.eno-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	padding: 0.75rem 1.5rem;
	border: 1px solid var(--eno-color-orange);
	border-radius: var(--eno-radius-sm);
	background-color: var(--eno-color-orange);
	box-shadow: var(--eno-shadow-sm);
	color: var(--eno-color-white);
	font-family: var(--eno-font-body);
	font-size: var(--eno-text-label);
	font-weight: 600;
	line-height: 1.4;
	letter-spacing: 0.05em;
	text-decoration: none;
	white-space: nowrap;
	cursor: pointer;
	transition: background-color 150ms var(--eno-ease), border-color 150ms var(--eno-ease), box-shadow 150ms var(--eno-ease);
}

.eno-button:hover,
.eno-button:focus-visible {
	border-color: var(--eno-color-orange-dark);
	background-color: var(--eno-color-orange-dark);
	box-shadow: var(--eno-shadow-md);
	color: var(--eno-color-white);
}

.eno-button--lg {
	padding: 0.875rem 2rem;
}

.eno-button--outline {
	border-color: var(--eno-color-outline);
	background-color: transparent;
	box-shadow: none;
	color: var(--eno-color-orange);
}

.eno-button--outline:hover,
.eno-button--outline:focus-visible {
	border-color: var(--eno-color-outline);
	background-color: var(--eno-color-surface-low);
	box-shadow: none;
	color: var(--eno-color-orange);
}

.eno-text-link {
	display: inline-flex;
	align-items: center;
	gap: 0.25rem;
	color: var(--eno-color-orange);
	font-weight: 500;
	text-decoration: none;
}

.eno-text-link:hover,
.eno-text-link:focus-visible {
	text-decoration: underline;
}

.eno-arrow-link {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	color: var(--eno-color-orange);
	font-size: var(--eno-text-body-lg);
	font-weight: 700;
	text-decoration: none;
	transition: color 150ms var(--eno-ease);
}

.eno-arrow-link:hover,
.eno-arrow-link:focus-visible {
	color: var(--eno-color-orange-dark);
}

.eno-arrow-link .eno-icon {
	transition: transform 150ms var(--eno-ease);
}

.eno-arrow-link:hover .eno-icon {
	transform: translateX(4px);
}

/* Brand ------------------------------------------------------------------- */

.eno-brand {
	display: inline-flex;
	flex-shrink: 0;
	align-items: center;
	gap: 0.5rem;
	color: var(--eno-color-orange);
	text-decoration: none;
}

.eno-brand:hover,
.eno-brand:focus-visible {
	color: var(--eno-color-orange);
}

.eno-brand__mark {
	width: 2.25rem;
	height: 2.25rem;
}

.eno-brand__name {
	white-space: nowrap;
	font-family: var(--eno-font-heading);
	font-size: var(--eno-text-headline-md);
	font-weight: 900;
	line-height: 1;
	text-transform: uppercase;
}

.eno-brand--inverse .eno-brand__name {
	color: var(--eno-color-white);
}

/* Uploaded logos (wide wordmarks): scale down on small screens instead of pushing the icons. */
.eno-header__brand--logo {
	flex-shrink: 1;
	min-width: 0;
}

.eno-header__brand--logo a {
	display: block;
}

.eno-header__brand--logo img,
.eno-brand--logo img {
	display: block;
	width: auto;
	max-width: 100%;
	height: auto;
	max-height: 2.5rem;
}

.eno-brand--logo img {
	max-height: 3rem;
}

@media (min-width: 768px) {
	.eno-header__brand--logo img {
		max-height: 3rem;
	}
}

/* Store notice (WooCommerce "Winkelmelding", inc/integrations/woocommerce.php) */

.eno-store-notice {
	background-color: var(--eno-color-green-ink);
	color: var(--eno-color-white);
	font-size: var(--eno-text-small);
	font-weight: 500;
	line-height: 1.45;
}

.eno-store-notice__inner {
	display: flex;
	align-items: flex-start;
	gap: 0.625rem;
	max-width: var(--eno-container-width);
	margin-inline: auto;
	padding: 0.625rem var(--eno-gutter);
}

.eno-store-notice__inner > .eno-icon {
	flex-shrink: 0;
	width: 1.125rem;
	height: 1.125rem;
	margin-top: 0.0625rem;
	color: var(--eno-color-green-soft);
}

.eno-store-notice__text {
	flex: 1;
	margin: 0;
}

.eno-store-notice__text a {
	color: inherit;
	font-weight: 700;
	text-decoration: underline;
	text-underline-offset: 0.15em;
}

.eno-store-notice__text a:hover,
.eno-store-notice__text a:focus-visible {
	color: var(--eno-color-green-soft);
}

.eno-store-notice .eno-store-notice__close {
	display: inline-flex;
	flex-shrink: 0;
	align-items: center;
	justify-content: center;
	width: 2rem;
	height: 2rem;
	margin: -0.375rem -0.375rem -0.375rem 0;
	padding: 0;
	border: 0;
	border-radius: var(--eno-radius-sm);
	background: transparent;
	color: inherit;
	cursor: pointer;
}

.eno-store-notice .eno-store-notice__close:hover,
.eno-store-notice .eno-store-notice__close:focus {
	background-color: rgb(255 255 255 / 0.12);
	color: inherit;
}

.eno-store-notice .eno-store-notice__close:focus-visible {
	outline: 2px solid var(--eno-color-white);
	outline-offset: 2px;
}

.eno-store-notice__close .eno-icon {
	width: 1.125rem;
	height: 1.125rem;
}

@media (min-width: 768px) {
	.eno-store-notice__inner {
		align-items: center;
	}
}

/* Top bar ----------------------------------------------------------------- */

.eno-topbar {
	border-bottom: 1px solid var(--eno-color-surface);
	background-color: var(--eno-color-white);
	color: var(--eno-color-text-muted);
	font-size: var(--eno-text-small);
	font-weight: 500;
	line-height: 1.4;
}

.eno-topbar__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	max-width: var(--eno-container-width);
	margin-inline: auto;
	padding: 0.5rem var(--eno-gutter);
}

.eno-topbar__usps {
	display: flex;
	align-items: center;
	gap: 1.5rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.eno-topbar__usp {
	display: none;
	align-items: center;
	gap: 0.5rem;
}

.eno-topbar__usp--1 {
	display: flex;
}

.eno-topbar__usp .eno-icon {
	width: 1.125rem;
	height: 1.125rem;
}

.eno-topbar__link {
	display: inline-flex;
	flex-shrink: 0;
	align-items: center;
	gap: 0.5rem;
	color: var(--eno-color-orange);
	font-weight: 700;
	text-decoration: none;
}

.eno-topbar__link:hover,
.eno-topbar__link:focus-visible {
	color: var(--eno-color-orange);
	text-decoration: underline;
}

/* Headset icon with the open/closed dot as a badge on its corner. */
.eno-topbar__agent {
	position: relative;
	display: inline-flex;
}

.eno-topbar__agent .eno-icon {
	width: 1.25rem;
	height: 1.25rem;
}

.eno-topbar__agent .eno-open-status {
	position: absolute;
	top: -0.0625rem;
	right: -0.1875rem;
}

.eno-topbar__agent .eno-open-status__dot {
	box-shadow: 0 0 0 2px var(--eno-color-white);
}

/* Open/closed status (eno_open_status_html(), updated by main.js) --------- */

.eno-open-status {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	color: var(--eno-color-text-muted);
	font-weight: 600;
}

.eno-open-status[data-state="open"] {
	color: var(--eno-color-status-open-ink);
}

.eno-open-status .eno-open-status__label {
	color: inherit;
}

.eno-open-status__dot {
	position: relative;
	flex-shrink: 0;
	width: 0.5rem;
	height: 0.5rem;
	border-radius: 50%;
	background-color: var(--eno-color-status-closed);
}

.eno-open-status[data-state="open"] .eno-open-status__dot {
	background-color: var(--eno-color-status-open);
}

/* A calm "live" ripple when open: one ring, then a pause. */
.eno-open-status[data-state="open"] .eno-open-status__dot::after {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: 50%;
	background-color: inherit;
	animation: eno-status-ripple 3s ease-out infinite;
}

@keyframes eno-status-ripple {
	0% {
		opacity: 0.6;
		transform: scale(1);
	}

	50%,
	100% {
		opacity: 0;
		transform: scale(2.6);
	}
}

@media (prefers-reduced-motion: reduce) {
	.eno-open-status[data-state="open"] .eno-open-status__dot::after {
		display: none;
	}
}

/* Opening hours text with the status on the line below it. */
.eno-hours-stack {
	display: grid;
	gap: 0.25rem;
	min-width: 0;
}

/* Mobile: main.js adds .is-rotating and shows the USPs one at a time
   (stacked in one grid cell, the active one fades/slides in). Without JS
   or with reduced motion only the first USP shows. */
@media (max-width: 767px) {
	.eno-topbar__usps.is-rotating {
		display: grid;
		min-width: 0;
	}

	.eno-topbar__usps.is-rotating .eno-topbar__usp {
		display: flex;
		grid-area: 1 / 1;
		min-width: 0;
		opacity: 0;
		transform: translateY(0.5rem);
		transition: opacity 0.4s ease, transform 0.4s ease;
	}

	.eno-topbar__usps.is-rotating .eno-topbar__usp.is-leaving {
		transform: translateY(-0.5rem);
	}

	.eno-topbar__usps.is-rotating .eno-topbar__usp.is-active {
		opacity: 1;
		transform: none;
	}
}

@media (min-width: 768px) {
	.eno-topbar__usp--2,
	.eno-topbar__usp--3 {
		display: flex;
	}
}

@media (min-width: 1024px) {
	.eno-topbar__usp--4 {
		display: flex;
	}
}

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

.eno-header {
	position: relative;
	z-index: 50;
	border-bottom: 1px solid var(--eno-color-surface-high);
	background-color: var(--eno-color-bg);
}

.eno-header__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	max-width: var(--eno-container-width);
	height: 5rem;
	margin-inline: auto;
	padding-inline: var(--eno-gutter);
}

.eno-header__actions {
	display: flex;
	flex-shrink: 0;
	align-items: center;
	gap: 1rem;
}

.eno-header__icon {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0;
	border: 0;
	background: none;
	color: var(--eno-color-text);
	line-height: 1;
	cursor: pointer;
	transition: color 150ms var(--eno-ease);
}

.eno-header__icon:hover,
.eno-header__icon:focus-visible,
.eno-header__icon[aria-expanded="true"] {
	background: none;
	color: var(--eno-color-orange-dark);
}

.eno-header__icon::before {
	content: "";
	position: absolute;
	inset: -0.625rem;
}

.eno-header__cart-count {
	position: absolute;
	top: -0.25rem;
	right: -0.25rem;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 1rem;
	height: 1rem;
	border-radius: 0.75rem;
	background-color: var(--eno-color-orange);
	color: var(--eno-color-white);
	font-size: 10px;
	font-weight: 700;
}

.eno-header__cta {
	display: none;
}

.eno-header__menu-close,
.eno-header__menu-toggle[aria-expanded="true"] .eno-header__menu-open {
	display: none;
}

.eno-header__menu-toggle[aria-expanded="true"] .eno-header__menu-close {
	display: inline-block;
}

/* Navigation: mobile panel first */

.eno-nav {
	display: none;
}

.eno-nav.is-open {
	position: absolute;
	top: 100%;
	right: 0;
	left: 0;
	display: block;
	max-height: calc(100vh - 5rem);
	overflow-y: auto;
	padding: 0.5rem var(--eno-gutter) 1.5rem;
	border-bottom: 1px solid var(--eno-color-surface-high);
	background-color: var(--eno-color-bg);
	box-shadow: var(--eno-shadow-float);
}

.eno-nav__menu,
.eno-nav__menu .sub-menu {
	margin: 0;
	padding: 0;
	list-style: none;
}

.eno-nav__menu > li {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	border-bottom: 1px solid var(--eno-color-surface-high);
}

.eno-nav__menu a {
	display: block;
	flex: 1;
	padding: 0.875rem 0;
	color: var(--eno-color-text-muted);
	font-size: var(--eno-text-label);
	font-weight: 600;
	line-height: 1.4;
	letter-spacing: 0.05em;
	text-decoration: none;
	transition: color 150ms var(--eno-ease);
}

.eno-nav__menu a:hover,
.eno-nav__menu a:focus-visible,
.eno-nav__menu .current-menu-item > a {
	color: var(--eno-color-orange-dark);
}

.eno-nav__sub-toggle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0.5rem;
	border: 0;
	background: none;
	color: var(--eno-color-text-muted);
	cursor: pointer;
}

.eno-nav__sub-toggle:hover,
.eno-nav__sub-toggle:focus-visible {
	background: none;
	color: var(--eno-color-orange-dark);
}

.eno-nav__sub-toggle .eno-icon {
	width: 0.875rem;
	height: 0.875rem;
	transition: transform 150ms var(--eno-ease);
}

.eno-nav__sub-toggle[aria-expanded="true"] .eno-icon {
	transform: rotate(180deg);
}

.eno-nav__menu .sub-menu {
	display: none;
	flex-basis: 100%;
	padding: 0 0 0.75rem 1rem;
}

.eno-nav__menu .is-sub-open > .sub-menu {
	display: block;
}

.eno-nav__menu .sub-menu a {
	padding-block: 0.5rem;
	font-weight: 500;
}

.eno-nav__cta {
	width: 100%;
	margin-top: 1.5rem;
	padding-block: 0.875rem;
}

@media (min-width: 1024px) {
	.eno-header__inner {
		/* Grows from 1rem at 1024px to 2.5rem on wide screens. */
		gap: clamp(1rem, 3vw - 1rem, 2.5rem);
	}

	.eno-header__menu-toggle {
		display: none;
	}

	.eno-nav,
	.eno-nav.is-open {
		position: static;
		display: block;
		max-height: none;
		overflow: visible;
		padding: 0;
		border: 0;
		background: none;
		box-shadow: none;
	}

	.eno-nav__cta {
		display: none;
	}

	.eno-nav__menu {
		display: flex;
		align-items: center;
		/* 1rem at 1024px, 2rem from ~1500px: fits the CTA from 1280px, airy on large screens. */
		gap: clamp(1rem, 4vw - 1.75rem, 2rem);
		white-space: nowrap;
	}

	.eno-nav__menu > li {
		flex-wrap: nowrap;
		border: 0;
	}

	.eno-nav__menu > li > a {
		padding-block: 1.75rem;
	}

	.eno-nav__sub-toggle {
		margin-left: 0.25rem;
		padding: 0;
	}

	.eno-nav__menu .sub-menu {
		position: absolute;
		top: calc(100% - 0.75rem);
		left: -1rem;
		z-index: 10;
		min-width: 14rem;
		padding: 0.5rem 0;
		border: 1px solid var(--eno-color-surface-high);
		border-radius: var(--eno-radius-lg);
		background-color: var(--eno-color-white);
		box-shadow: var(--eno-shadow-float);
	}

	.eno-nav__menu > li:hover > .sub-menu,
	.eno-nav__menu > li:focus-within > .sub-menu {
		display: block;
	}

	.eno-nav__menu .sub-menu a {
		padding: 0.5rem 1rem;
	}
}

@media (min-width: 1280px) {
	.eno-header__cta {
		display: inline-flex;
	}
}

/* Search panel */

.eno-search {
	border-top: 1px solid var(--eno-color-surface-high);
	background-color: var(--eno-color-bg);
}

.eno-search__inner {
	max-width: var(--eno-container-width);
	margin-inline: auto;
	padding: 1rem var(--eno-gutter);
}

.eno-search .search-form {
	display: flex;
	gap: 0.5rem;
}

.eno-search .search-field {
	flex: 1;
	min-height: 3rem;
	border: 1px solid var(--eno-color-surface-high);
	border-radius: var(--eno-radius);
	background-color: var(--eno-color-white);
	font-size: var(--eno-text-body);
}

.eno-search .search-submit {
	border-radius: var(--eno-radius-sm);
	background-color: var(--eno-color-orange);
	color: var(--eno-color-white);
}

/* FiboSearch inside the search panel. The #eno-search id outranks the
   plugin's own (pirx) style and any colours set in its settings. */

#eno-search .dgwt-wcas-search-wrapp {
	max-width: 50rem;
	margin-inline: auto;
}

#eno-search .dgwt-wcas-sf-wrapp {
	padding: 0;
	border-radius: 0;
	background: none;
}

#eno-search .dgwt-wcas-sf-wrapp input[type="search"].dgwt-wcas-search-input {
	height: 3rem;
	padding: 0 1rem 0 2.875rem;
	border: 1px solid var(--eno-color-surface-dim);
	border-radius: var(--eno-radius);
	background-color: var(--eno-color-white);
	box-shadow: none;
	color: var(--eno-color-text);
	font-family: var(--eno-font-body);
	font-size: var(--eno-text-body);
	line-height: 1.5;
	transition: border-color 150ms var(--eno-ease), box-shadow 150ms var(--eno-ease);
}

#eno-search .dgwt-wcas-sf-wrapp input[type="search"].dgwt-wcas-search-input:hover {
	border-color: var(--eno-color-outline);
	background-color: var(--eno-color-white);
}

#eno-search .dgwt-wcas-sf-wrapp input[type="search"].dgwt-wcas-search-input:focus,
#eno-search .dgwt-wcas-search-focused .dgwt-wcas-sf-wrapp input[type="search"].dgwt-wcas-search-input {
	border-color: var(--eno-color-orange);
	outline: none;
	box-shadow: inset 0 0 0 1px var(--eno-color-orange);
}

#eno-search .dgwt-wcas-search-filled .dgwt-wcas-sf-wrapp input[type="search"].dgwt-wcas-search-input {
	padding-right: 3rem;
	padding-left: 1rem;
}

#eno-search .dgwt-wcas-sf-wrapp input[type="search"].dgwt-wcas-search-input::placeholder {
	color: var(--eno-color-text-muted);
	font-weight: 400;
	opacity: 0.75;
}

#eno-search .dgwt-wcas-sf-wrapp button.dgwt-wcas-search-submit {
	top: 0;
	left: 0.875rem;
	width: 1.5rem;
	min-width: 1.5rem;
	height: 3rem;
	min-height: 3rem;
	background: none;
	box-shadow: none;
}

#eno-search .dgwt-wcas-sf-wrapp button.dgwt-wcas-search-submit svg {
	width: 1.25rem;
	height: 1.25rem;
}

#eno-search .dgwt-wcas-preloader {
	top: 0;
	height: 3rem;
}

#eno-search .dgwt-wcas-search-filled .dgwt-wcas-sf-wrapp button.dgwt-wcas-search-submit {
	right: 1rem;
	left: auto;
}

#eno-search .dgwt-wcas-sf-wrapp button.dgwt-wcas-search-submit:hover {
	background: none;
	box-shadow: none;
}

#eno-search .dgwt-wcas-search-submit svg path,
#eno-search .dgwt-wcas-close path {
	fill: var(--eno-color-text-muted);
}

#eno-search .dgwt-wcas-search-submit:hover svg path,
#eno-search .dgwt-wcas-search-submit:focus-visible svg path {
	fill: var(--eno-color-orange);
}

/* Suggestions dropdown (rendered by FiboSearch at the end of <body>) */

.dgwt-wcas-suggestions-wrapp,
.dgwt-wcas-details-wrapp {
	border: 1px solid var(--eno-color-surface-high) !important;
	border-radius: 0 0 var(--eno-radius) var(--eno-radius) !important;
	box-shadow: var(--eno-shadow-float);
	font-family: var(--eno-font-body);
}

.dgwt-wcas-suggestion-selected {
	background-color: var(--eno-color-surface-low);
}

/* "Bedoelde je EC60?" above a suggested product (inc/integrations/fibosearch.php) */

.eno-search-dym {
	display: block;
	margin-bottom: 0.125rem;
	color: var(--eno-color-text-muted);
	font-size: 0.8125rem;
	font-weight: 400;
}

.eno-search-dym strong {
	color: var(--eno-color-orange-dark);
	font-weight: 600;
}

/* Breadcrumbs (sitewide, under the header; see inc/breadcrumbs.php) ------- */

.eno-crumbs {
	padding-block: 0.75rem;
}

.eno-crumbs__list {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.125rem 0.25rem;
	margin-block: 0;
	padding: 0;
	color: var(--eno-color-text-muted);
	font-size: 0.8125rem;
	line-height: 1.4;
	list-style: none;
}

.eno-crumbs__item {
	display: inline-flex;
	align-items: center;
	gap: 0.25rem;
	min-width: 0;
	max-width: 100%;
}

.eno-crumbs__item a {
	color: inherit;
	text-decoration: none;
	transition: color 150ms var(--eno-ease);
}

.eno-crumbs__item a:hover,
.eno-crumbs__item a:focus-visible {
	color: var(--eno-color-orange-dark);
	text-decoration: underline;
	text-underline-offset: 2px;
}

.eno-crumbs__item [aria-current] {
	overflow: hidden;
	max-width: 32ch;
	color: var(--eno-color-text);
	font-weight: 500;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.eno-crumbs__sep {
	flex-shrink: 0;
	width: 0.875rem;
	height: 0.875rem;
	color: var(--eno-color-outline);
}

@media (min-width: 1024px) {
	.eno-crumbs {
		padding-block: 1rem;
	}

	.eno-crumbs__item [aria-current] {
		max-width: 48ch;
	}
}

/* Highlighted notice (Group block style "Informatiemelding") -------------- */

.wp-block-group.is-style-eno-notice {
	margin-block: 2rem;
	padding: 1.25rem 1.5rem;
	border-left: 3px solid var(--eno-color-orange);
	border-radius: 0 var(--eno-radius) var(--eno-radius) 0;
	background-color: var(--eno-color-orange-tint);
	color: var(--eno-color-text);
}

.wp-block-group.is-style-eno-notice > * {
	margin-block: 0 0.75rem;
}

.wp-block-group.is-style-eno-notice > :last-child {
	margin-bottom: 0;
}

/* Help block ("Nog vragen?", information pages) --------------------------- */

.eno-help {
	display: grid;
	gap: 1.25rem;
	justify-items: start;
	padding: 1.75rem 1.5rem;
	border-radius: var(--eno-radius-lg);
	background-color: var(--eno-color-green-bg);
}

.eno-help__title {
	margin: 0 0 0.375rem;
	font-family: var(--eno-font-heading);
	font-size: var(--eno-text-headline-md);
	font-weight: 800;
	line-height: 1.25;
}

.eno-help__text {
	margin: 0;
	color: var(--eno-color-text-muted);
	line-height: 1.6;
}

.eno-help__button:focus-visible {
	outline: 2px solid var(--eno-color-orange-dark);
	outline-offset: 2px;
}

@media (min-width: 768px) {
	.eno-help {
		grid-template-columns: minmax(0, 1fr) auto;
		align-items: center;
		gap: 2rem;
		padding: 2rem 2.5rem;
	}
}

/* FAQ --------------------------------------------------------------------- */

.eno-faq {
	padding-block: 6rem;
	border-top: 1px solid var(--eno-color-surface);
	background-color: var(--eno-color-bg);
}

.eno-faq__inner {
	display: grid;
	gap: 2.5rem;
}

.eno-faq__title {
	margin: 0 0 1.5rem;
	font-family: var(--eno-font-heading);
	font-size: var(--eno-text-headline-lg);
	font-weight: 800;
	line-height: 1.25;
	letter-spacing: -0.02em;
}

.eno-faq__title::after {
	content: "";
	display: block;
	width: 4rem;
	height: 4px;
	margin-top: 1rem;
	border-radius: 0.75rem;
	background-color: var(--eno-color-orange);
}

.eno-faq__text {
	max-width: 28rem;
	margin: 0 0 1.5rem;
	color: var(--eno-color-text-muted);
	font-size: var(--eno-text-body-lg);
	line-height: 1.6;
}

.eno-faq__text p {
	margin: 0 0 0.75em;
}

.eno-faq__text > :last-child {
	margin-bottom: 0;
}

.eno-faq__text a {
	color: var(--eno-color-orange-dark);
}

.eno-faq__list {
	border-top: 1px solid var(--eno-color-surface-high);
}

.eno-faq__item {
	border-bottom: 1px solid var(--eno-color-surface-high);
}

.eno-faq__question {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1.5rem;
	padding: 1.5rem 0;
	font-family: var(--eno-font-heading);
	font-size: 1.125rem;
	font-weight: 700;
	line-height: 1.4;
	list-style: none;
	cursor: pointer;
	transition: color 150ms var(--eno-ease);
}

.eno-faq__question::-webkit-details-marker {
	display: none;
}

.eno-faq__question:hover,
.eno-faq__question:focus-visible,
.eno-faq__item[open] .eno-faq__question {
	color: var(--eno-color-orange);
}

.eno-faq__question:focus-visible {
	outline: 2px solid var(--eno-color-orange);
	outline-offset: 4px;
}

.eno-faq__icon {
	flex-shrink: 0;
	width: 1.75rem;
	height: 1.75rem;
	padding: 0.125rem;
	border-radius: 50%;
	background-color: var(--eno-color-orange-tint);
	color: var(--eno-color-orange);
	transition: transform 200ms var(--eno-ease);
}

.eno-faq__item[open] .eno-faq__icon {
	transform: rotate(180deg);
}

.eno-faq__answer {
	max-width: 48rem;
	padding: 0 3.25rem 1.5rem 0;
	color: var(--eno-color-text-muted);
	line-height: 1.7;
}

.eno-faq__answer > :first-child {
	margin-top: 0;
}

.eno-faq__answer > :last-child {
	margin-bottom: 0;
}

.eno-faq__answer a {
	color: var(--eno-color-orange-dark);
}

@media (min-width: 1024px) {
	.eno-faq__inner {
		grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
		gap: 6rem;
		align-items: start;
	}

	.eno-faq__intro {
		position: sticky;
		top: 7rem;
	}
}

@media (max-width: 639px) {
	.eno-faq {
		padding-block: 4rem;
	}

	.eno-faq__question {
		font-size: var(--eno-text-body);
	}

	.eno-faq__answer {
		padding-right: 0;
	}
}

/* Order page (configurator) ----------------------------------------------- */

.eno-order {
	width: 100%;
}

.eno-order__header {
	padding-block: 3rem 2rem;
}

.eno-order__title {
	margin: 0;
	font-family: var(--eno-font-heading);
	font-size: var(--eno-text-headline-lg);
	font-weight: 800;
	line-height: 1.2;
	letter-spacing: -0.02em;
}

.eno-order__intro {
	max-width: 48rem;
	margin-top: 1rem;
	color: var(--eno-color-text-muted);
	font-size: var(--eno-text-body-lg);
	line-height: 1.6;
}

.eno-order__intro p {
	margin: 0 0 0.75em;
}

.eno-order__intro > :last-child {
	margin-bottom: 0;
}

.eno-order__intro a {
	color: var(--eno-color-orange-dark);
}

.eno-order__configurator {
	padding-bottom: 4rem;
}

.eno-order__embed {
	overflow: hidden;
	padding: 1rem 0.5rem;
	border: 1px solid var(--eno-color-surface-high);
	border-top: 3px solid var(--eno-color-orange);
	border-radius: var(--eno-radius-lg);
	background-color: var(--eno-color-white);
	box-shadow: var(--eno-shadow-float);
}

.eno-order__embed iframe {
	display: block;
	width: 100%;
	max-width: 100%;
	border: 0;
}

/* Loading state behind the iframe: the iframe is transparent until the
   configurator's own page paints over it; hidden once the frame has loaded. */
.eno-order__stage {
	position: relative;
}

.eno-order__stage iframe {
	position: relative;
	z-index: 1;
}

.eno-order__loading {
	position: absolute;
	inset: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 1rem;
	padding-top: clamp(4rem, 12vw, 8rem);
	color: var(--eno-color-text-muted);
	font-size: var(--eno-text-body-sm, 0.9375rem);
	transition: opacity 0.2s ease;
}

.eno-order__stage.is-loaded .eno-order__loading {
	opacity: 0;
	visibility: hidden;
}

.eno-order__spinner {
	width: 2rem;
	height: 2rem;
	border: 3px solid var(--eno-color-surface-high);
	border-top-color: var(--eno-color-orange);
	border-radius: 50%;
	animation: eno-order-spin 0.8s linear infinite;
}

@keyframes eno-order-spin {
	to {
		transform: rotate(360deg);
	}
}

@media (prefers-reduced-motion: reduce) {
	.eno-order__spinner {
		animation-duration: 2.4s;
	}
}

@media (min-width: 768px) {
	.eno-order__embed {
		padding: 2rem 1.5rem;
	}
}

@media (min-width: 1024px) {
	.eno-order__embed {
		padding: 2.5rem 2rem;
	}
}

.eno-order__placeholder {
	margin: 0;
	padding: 4rem 1.5rem;
	border: 1px dashed var(--eno-color-outline);
	border-radius: var(--eno-radius-lg);
	background-color: var(--eno-color-surface-low);
	color: var(--eno-color-text-muted);
	text-align: center;
}

.eno-order__tools {
	display: flex;
	justify-content: flex-end;
	margin-bottom: 1rem;
}

.eno-order__size-toggle {
	font-size: var(--eno-text-body);
}

.eno-order__size-toggle .eno-icon {
	width: 1.25rem;
	height: 1.25rem;
}

/* Modal dialog */

.eno-has-dialog {
	overflow: hidden;
}

.eno-dialog {
	width: min(calc(100% - 2rem), 44rem);
	max-height: calc(100dvh - 2rem);
	overflow-y: auto;
	padding: 0;
	border: 0;
	border-top: 3px solid var(--eno-color-orange);
	border-radius: var(--eno-radius-lg);
	background-color: var(--eno-color-white);
	box-shadow: var(--eno-shadow-lg);
	color: var(--eno-color-text);
}

.eno-dialog::backdrop {
	background-color: rgb(28 27 27 / 55%);
}

.eno-dialog[open] {
	animation: eno-dialog-in 200ms var(--eno-ease);
}

@keyframes eno-dialog-in {
	from {
		opacity: 0;
		transform: translateY(0.75rem);
	}
}

.eno-dialog__inner {
	padding: 1.5rem;
}

.eno-dialog__header {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 1rem;
	margin-bottom: 1rem;
}

.eno-dialog__title {
	margin: 0;
	font-family: var(--eno-font-heading);
	font-size: var(--eno-text-headline-md);
	font-weight: 800;
	line-height: 1.25;
}

.eno-dialog__close {
	display: inline-flex;
	flex-shrink: 0;
	align-items: center;
	justify-content: center;
	width: 2.5rem;
	height: 2.5rem;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background-color: var(--eno-color-surface-low);
	color: var(--eno-color-text);
	cursor: pointer;
	transition: background-color 150ms var(--eno-ease), color 150ms var(--eno-ease);
}

/* .eno-dialog prefix: outranks GeneratePress's dark button:focus colours. */
.eno-dialog .eno-dialog__close:focus:not(:focus-visible) {
	background-color: var(--eno-color-surface-low);
	color: var(--eno-color-text);
}

.eno-dialog .eno-dialog__close:hover,
.eno-dialog .eno-dialog__close:focus-visible {
	background-color: var(--eno-color-orange-tint);
	color: var(--eno-color-orange);
}

.eno-dialog__close:focus-visible {
	outline: 2px solid var(--eno-color-orange);
	outline-offset: 2px;
}

.eno-dialog__content {
	color: var(--eno-color-text-muted);
	line-height: 1.7;
}

.eno-dialog__content > :first-child {
	margin-top: 0;
}

.eno-dialog__content > :last-child {
	margin-bottom: 0;
}

.eno-dialog__content h3,
.eno-dialog__content h4 {
	margin: 1.5em 0 0.5em;
	color: var(--eno-color-text);
	font-family: var(--eno-font-heading);
	font-size: 1.125rem;
	font-weight: 700;
}

.eno-dialog__content a {
	color: var(--eno-color-orange-dark);
}

.eno-dialog__content img {
	max-width: 100%;
	height: auto;
	border-radius: var(--eno-radius);
}

@media (min-width: 768px) {
	.eno-dialog__inner {
		padding: 2.5rem;
	}
}

@media (prefers-reduced-motion: reduce) {
	.eno-dialog[open] {
		animation: none;
	}
}

/* Cookie consent (template-parts/components/cookie-banner.php, main.js) ----
   Mobile: bottom sheet. From 768px: a card bottom left, clear of the chat
   button on the right. Accept and refuse look exactly the same (Dutch DPA:
   refusing must be as easy as accepting). */

.eno-consent {
	position: fixed;
	inset: auto 0 0;
	z-index: 100;
	max-height: min(80dvh, 36rem);
	overflow-y: auto;
	padding: 1.25rem var(--eno-gutter) calc(1.25rem + env(safe-area-inset-bottom, 0px));
	border-top: 3px solid var(--eno-color-orange);
	border-radius: var(--eno-radius-lg) var(--eno-radius-lg) 0 0;
	background-color: var(--eno-color-white);
	box-shadow: 0 -8px 30px rgb(0 0 0 / 12%);
	color: var(--eno-color-text);
	animation: eno-consent-in 300ms var(--eno-ease-out);
}

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

@keyframes eno-consent-in {
	from {
		opacity: 0;
		transform: translateY(1rem);
	}
}

.eno-consent__title {
	margin: 0 0 0.5rem;
	font-family: var(--eno-font-heading);
	font-size: 1.125rem;
	font-weight: 800;
	line-height: 1.3;
}

.eno-consent__text {
	margin: 0 0 1.25rem;
	color: var(--eno-color-text-muted);
	font-size: var(--eno-text-label);
	line-height: 1.6;
}

.eno-consent__text a {
	color: var(--eno-color-orange-dark);
	text-underline-offset: 0.15em;
}

.eno-consent__actions {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0.75rem;
}

.eno-consent__actions .eno-button,
.eno-consent-dialog__actions .eno-button {
	padding-inline: 0.75rem;
	letter-spacing: 0.02em;
	white-space: normal;
	text-align: center;
}

.eno-consent .eno-consent__settings {
	display: block;
	margin: 0.75rem auto 0;
	padding: 0.5rem 0.75rem;
	border: 0;
	background: none;
	color: var(--eno-color-text);
	font-size: var(--eno-text-label);
	font-weight: 600;
	line-height: 1.4;
	text-decoration: underline;
	text-decoration-color: var(--eno-color-outline);
	text-underline-offset: 0.2em;
	cursor: pointer;
}

.eno-consent .eno-consent__settings:hover,
.eno-consent .eno-consent__settings:focus {
	background: none;
	color: var(--eno-color-orange-dark);
}

/* The banner covers the bottom of the screen: hide the floating buttons meanwhile. */
.eno-consent-pending .eno-to-top {
	display: none;
}

@media (max-width: 767px) {
	.eno-consent-pending .ht-ctc {
		display: none !important; /* Click to Chat sets its display inline. */
	}
}

@media (min-width: 768px) {
	.eno-consent {
		inset: auto auto calc(1.5rem + env(safe-area-inset-bottom, 0px)) calc(1.5rem + env(safe-area-inset-left, 0px));
		width: min(27rem, calc(100% - 3rem));
		padding: 1.5rem;
		border-radius: var(--eno-radius-lg);
		box-shadow: var(--eno-shadow-lg), var(--eno-shadow-float);
	}

	.eno-consent .eno-consent__settings {
		margin-left: -0.75rem;
	}
}

@media (prefers-reduced-motion: reduce) {
	.eno-consent {
		animation: none;
	}
}

/* Settings dialog (builds on .eno-dialog) */

.eno-consent-dialog__intro {
	margin: 0 0 1rem;
	color: var(--eno-color-text-muted);
	font-size: var(--eno-text-label);
	line-height: 1.6;
}

.eno-consent-cat {
	padding: 1.25rem 0;
	border-top: 1px solid var(--eno-color-surface-high);
}

.eno-consent-cat__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
}

.eno-consent-cat__title {
	margin: 0;
	font-family: var(--eno-font-heading);
	font-size: 1.0625rem;
	font-weight: 700;
	line-height: 1.3;
}

.eno-consent-cat__always {
	flex-shrink: 0;
	color: var(--eno-color-status-open-ink);
	font-size: var(--eno-text-label);
	font-weight: 600;
}

.eno-consent-cat__text {
	margin: 0.5rem 0 0;
	color: var(--eno-color-text-muted);
	font-size: var(--eno-text-label);
	line-height: 1.6;
}

.eno-consent-cat__details {
	margin-top: 0.75rem;
}

.eno-consent-cat__details summary {
	width: fit-content;
	color: var(--eno-color-orange-dark);
	font-size: var(--eno-text-label);
	font-weight: 600;
	cursor: pointer;
}

.eno-consent-cat__cookies {
	display: grid;
	gap: 0.5rem;
	margin: 0.75rem 0 0;
	padding: 0;
	list-style: none;
}

.eno-consent-cat__cookies li {
	display: grid;
	gap: 0.125rem;
	padding: 0.75rem 1rem;
	border-radius: var(--eno-radius);
	background-color: var(--eno-color-surface-low);
	color: var(--eno-color-text-muted);
	font-size: 0.8125rem;
	line-height: 1.5;
}

.eno-consent-cat__cookies strong {
	color: var(--eno-color-text);
}

.eno-consent-cat__cookies code {
	padding: 0;
	background: none;
	color: var(--eno-color-text);
	font-size: var(--eno-text-small);
	overflow-wrap: anywhere;
}

.eno-consent-dialog__actions {
	display: grid;
	gap: 0.75rem;
	padding-top: 1.5rem;
	border-top: 1px solid var(--eno-color-surface-high);
}

.eno-consent-dialog__meta {
	margin: 1rem 0 0;
	color: var(--eno-color-outline);
	font-size: var(--eno-text-small);
	overflow-wrap: anywhere;
}

@media (min-width: 640px) {
	.eno-consent-dialog__actions {
		grid-template-columns: repeat(3, 1fr);
	}
}

/* Toggle switch: a real checkbox on top of the drawn track. */

.eno-switch {
	position: relative;
	display: inline-flex;
	flex-shrink: 0;
}

.eno-switch__input {
	position: absolute;
	inset: 0;
	z-index: 1;
	width: 100%;
	height: 100%;
	margin: 0;
	opacity: 0;
	cursor: pointer;
}

.eno-switch__track {
	position: relative;
	display: block;
	width: 2.75rem;
	height: 1.5rem;
	border-radius: 999px;
	background-color: var(--eno-color-outline);
	transition: background-color 150ms var(--eno-ease);
}

.eno-switch__track::after {
	content: "";
	position: absolute;
	top: 3px;
	left: 3px;
	width: calc(1.5rem - 6px);
	height: calc(1.5rem - 6px);
	border-radius: 50%;
	background-color: var(--eno-color-white);
	box-shadow: var(--eno-shadow-sm);
	transition: transform 150ms var(--eno-ease);
}

.eno-switch__input:checked + .eno-switch__track {
	background-color: var(--eno-color-green);
}

.eno-switch__input:checked + .eno-switch__track::after {
	transform: translateX(1.25rem);
}

.eno-switch__input:focus-visible + .eno-switch__track {
	outline: 2px solid var(--eno-color-orange);
	outline-offset: 2px;
}

@media (prefers-reduced-motion: reduce) {
	.eno-switch__track,
	.eno-switch__track::after {
		transition: none;
	}
}

/* Embeds behind consent (eno_consent_embed()): placeholder until loaded. */

.eno-embed iframe {
	display: block;
	width: 100%;
	height: 100%;
	border: 0;
}

.eno-embed__placeholder {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	gap: 0.75rem;
	height: 100%;
	padding: 1.25rem;
	border: 1px solid var(--eno-color-surface-high);
	border-radius: inherit;
	background-color: var(--eno-color-surface-low);
	color: var(--eno-color-text-muted);
	font-size: var(--eno-text-label);
	line-height: 1.5;
}

.eno-embed__text {
	margin: 0;
}

.eno-embed .eno-embed__button {
	padding: 0.5rem 1rem;
	border: 1px solid var(--eno-color-outline);
	border-radius: var(--eno-radius-sm);
	background-color: transparent;
	color: var(--eno-color-text);
	font-size: var(--eno-text-label);
	font-weight: 600;
	line-height: 1.4;
	cursor: pointer;
	transition: background-color 150ms var(--eno-ease), border-color 150ms var(--eno-ease);
}

.eno-embed .eno-embed__button:hover,
.eno-embed .eno-embed__button:focus {
	background-color: var(--eno-color-orange-tint);
	border-color: var(--eno-color-orange);
	color: var(--eno-color-text);
}

.eno-embed__link {
	color: inherit;
	text-decoration: underline;
	text-underline-offset: 0.2em;
}

/* Mini cart drawer (header cart; markup from WooCommerce's mini cart) */

.eno-mini-cart {
	inset: 0 0 0 auto;
	width: min(100%, 26rem);
	max-width: 100%;
	height: 100%;
	max-height: 100%;
	margin: 0;
	overflow: hidden;
	border-top: 0;
	border-radius: 0;
}

.eno-mini-cart[open] {
	display: flex;
	flex-direction: column;
	animation: none;
}

.eno-mini-cart__inner {
	display: flex;
	flex: 1;
	flex-direction: column;
	min-height: 0;
}

.eno-mini-cart__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	padding: 1rem 1.25rem;
	border-bottom: 1px solid var(--eno-color-surface);
}

.eno-mini-cart__title {
	margin: 0;
	font-family: var(--eno-font-heading);
	font-size: 1.25rem;
	font-weight: 800;
	line-height: 1.25;
}

.eno-mini-cart .widget_shopping_cart_content {
	display: flex;
	flex: 1;
	flex-direction: column;
	min-height: 0;
}

.eno-mini-cart .widget_shopping_cart_content ul.woocommerce-mini-cart {
	flex: 1;
	min-height: 0;
	margin: 0;
	padding: 0 1.25rem;
	overflow-y: auto;
	overscroll-behavior: contain;
	list-style: none;
}

.eno-mini-cart .woocommerce-mini-cart .woocommerce-mini-cart-item {
	position: relative;
	min-height: 6rem;
	margin: 0;
	padding: 1rem 2.25rem 1rem 5.25rem;
	border-bottom: 1px solid var(--eno-color-surface);
	font-size: var(--eno-text-label);
	line-height: 1.5;
}

.eno-mini-cart .woocommerce-mini-cart .woocommerce-mini-cart-item:last-child {
	border-bottom: 0;
}

.eno-mini-cart .woocommerce-mini-cart .woocommerce-mini-cart-item img {
	position: absolute;
	top: 1rem;
	left: 0;
	float: none;
	width: 4rem;
	height: 4rem;
	margin: 0;
	border-radius: var(--eno-radius);
	background-color: var(--eno-color-surface-low);
	object-fit: cover;
	box-shadow: none;
}

.eno-mini-cart .woocommerce-mini-cart-item > a:not(.remove) {
	display: block;
	color: var(--eno-color-text);
	font-weight: 600;
	text-decoration: none;
}

.eno-mini-cart .woocommerce-mini-cart-item > a:not(.remove):hover,
.eno-mini-cart .woocommerce-mini-cart-item > a:not(.remove):focus-visible {
	color: var(--eno-color-orange-dark);
}

.eno-mini-cart .woocommerce-mini-cart-item .variation {
	margin: 0.25rem 0 0;
	padding: 0;
	border: 0;
	color: var(--eno-color-text-muted);
	font-size: var(--eno-text-small);
}

.eno-mini-cart .woocommerce-mini-cart-item .variation dt,
.eno-mini-cart .woocommerce-mini-cart-item .variation dd,
.eno-mini-cart .woocommerce-mini-cart-item .variation p {
	display: inline;
	float: none;
	margin: 0;
	padding: 0;
}

.eno-mini-cart .woocommerce-mini-cart-item .quantity {
	display: block;
	margin-top: 0.25rem;
	color: var(--eno-color-text-muted);
}

.eno-mini-cart .woocommerce-mini-cart-item .quantity .amount {
	color: var(--eno-color-text);
	font-weight: 600;
}

.eno-mini-cart a.remove {
	position: absolute;
	top: 0.875rem;
	right: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 1.75rem;
	height: 1.75rem;
	border-radius: 50%;
	background: none;
	color: var(--eno-color-text-muted) !important;
	font-size: 1.25rem;
	font-weight: 400;
	line-height: 1;
	text-decoration: none;
	transition: background-color 150ms var(--eno-ease), color 150ms var(--eno-ease);
}

.eno-mini-cart a.remove:hover,
.eno-mini-cart a.remove:focus-visible {
	background-color: var(--eno-color-orange-tint);
	color: var(--eno-color-orange-dark) !important;
}

.eno-mini-cart .woocommerce-mini-cart__total {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 1rem;
	margin: 0;
	padding: 1rem 1.25rem 0;
	border-top: 1px solid var(--eno-color-surface);
	background-color: var(--eno-color-white);
	font-size: var(--eno-text-body);
}

.eno-mini-cart .woocommerce-mini-cart__total .amount {
	font-family: var(--eno-font-heading);
	font-size: 1.25rem;
	font-weight: 800;
}

.eno-mini-cart .woocommerce-mini-cart__buttons,
.eno-mini-cart__empty-actions {
	display: grid;
	gap: 0.75rem;
	margin: 0;
	padding: 1rem 1.25rem 1.25rem;
}

.eno-mini-cart__line {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 0.5rem 1rem;
	margin-top: 0.625rem;
}

.eno-mini-cart__line-total .amount {
	color: var(--eno-color-text);
	font-weight: 600;
}

/* Quantity stepper */

.eno-qty {
	display: inline-flex;
	align-items: stretch;
	border: 1px solid var(--eno-color-surface-high);
	border-radius: var(--eno-radius);
	background-color: var(--eno-color-white);
}

.eno-qty .eno-qty__button,
.eno-qty .eno-qty__button:focus {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.5rem;
	height: 2.5rem;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: none;
	color: var(--eno-color-text);
	cursor: pointer;
	transition: background-color 150ms var(--eno-ease), color 150ms var(--eno-ease);
}

.eno-qty .eno-qty__button svg {
	width: 1.125rem;
	height: 1.125rem;
}

.eno-qty .eno-qty__button:hover,
.eno-qty .eno-qty__button:focus-visible {
	background-color: var(--eno-color-orange-tint);
	color: var(--eno-color-orange-dark);
}

.eno-qty .eno-qty__button:focus-visible,
.eno-qty .eno-qty__input:focus-visible {
	outline: 2px solid var(--eno-color-orange);
	outline-offset: -2px;
}

.eno-qty .eno-qty__button:disabled {
	background: none;
	color: var(--eno-color-surface-dim);
	cursor: default;
}

.eno-qty .eno-qty__input,
.eno-qty .eno-qty__input:focus {
	width: 2.75rem;
	min-width: 0;
	height: 2.5rem;
	margin: 0;
	padding: 0;
	border: 0;
	border-inline: 1px solid var(--eno-color-surface-high);
	border-radius: 0;
	background: none;
	color: var(--eno-color-text);
	font: 600 var(--eno-text-body) / 1 var(--eno-font-body);
	text-align: center;
	appearance: textfield;
	-moz-appearance: textfield;
}

.eno-qty .eno-qty__input::-webkit-inner-spin-button,
.eno-qty .eno-qty__input::-webkit-outer-spin-button {
	margin: 0;
	appearance: none;
	-webkit-appearance: none;
}

/* While a quantity change is saved. */
.eno-mini-cart .widget_shopping_cart_content.is-updating {
	opacity: 0.6;
	pointer-events: none;
	transition: opacity 150ms var(--eno-ease);
}

@media (hover: hover) and (pointer: fine) {
	.eno-qty .eno-qty__button,
	.eno-qty .eno-qty__button:focus,
	.eno-qty .eno-qty__input {
		height: 2.25rem;
	}

	.eno-qty .eno-qty__button,
	.eno-qty .eno-qty__button:focus {
		width: 2.25rem;
	}
}

/* Checkout is the primary action: on top. */
.eno-mini-cart .woocommerce-mini-cart__buttons .checkout {
	order: -1;
}

.eno-mini-cart .woocommerce-mini-cart__empty-message {
	margin: 0;
	padding: 2rem 1.25rem 0.5rem;
	color: var(--eno-color-text-muted);
	text-align: center;
}

/* WooCommerce dims fragments while it refreshes them. */
.eno-mini-cart .blockUI.blockOverlay {
	background-color: rgb(255 255 255 / 60%) !important;
}

@media (prefers-reduced-motion: no-preference) {
	.eno-mini-cart[open] {
		animation: eno-mini-cart-in 250ms var(--eno-ease-out);
	}

	.eno-mini-cart[open]::backdrop {
		animation: eno-fade-in 250ms var(--eno-ease);
	}
}

@keyframes eno-mini-cart-in {
	from {
		transform: translateX(100%);
	}
}

@keyframes eno-fade-in {
	from {
		opacity: 0;
	}
}

/* Help bar below the configurator */

.eno-help-bar {
	padding-block: 4rem;
	border-top: 1px solid var(--eno-color-surface);
	background-color: var(--eno-color-surface-low);
}

.eno-help-bar__inner {
	display: grid;
	gap: 1rem;
}

.eno-help-bar__column {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	padding: 1.75rem;
	border: 1px solid var(--eno-color-surface-high);
	border-top: 3px solid var(--eno-color-orange);
	border-radius: var(--eno-radius-lg);
	background-color: var(--eno-color-white);
}

.eno-help-bar__badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.75rem;
	height: 2.75rem;
	margin-bottom: 1.25rem;
	border-radius: 50%;
	background-color: var(--eno-color-orange-tint);
	color: var(--eno-color-orange);
}

.eno-help-bar__title {
	margin: 0 0 0.5rem;
	font-family: var(--eno-font-heading);
	font-size: 1.25rem;
	font-weight: 800;
	line-height: 1.3;
	letter-spacing: -0.01em;
}

.eno-help-bar__text {
	margin: 0 0 1.25rem;
	color: var(--eno-color-text-muted);
	line-height: 1.6;
}

.eno-help-bar__link {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	margin-top: auto;
	color: var(--eno-color-orange-dark);
	font-weight: 700;
	text-decoration: none;
	transition: color 150ms var(--eno-ease);
}

.eno-help-bar__link .eno-icon {
	transition: transform 150ms var(--eno-ease);
}

.eno-help-bar__link:hover,
.eno-help-bar__link:focus-visible {
	color: var(--eno-color-orange);
}

.eno-help-bar__link:hover .eno-icon {
	transform: translateX(4px);
}

.eno-help-bar__contact {
	display: grid;
	gap: 0.5rem;
	margin: 0.25rem 0 0;
	padding: 0;
	list-style: none;
}

.eno-help-bar__contact li {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	margin: 0;
}

.eno-help-bar__contact .eno-icon {
	width: 1.25rem;
	height: 1.25rem;
	color: var(--eno-color-text-muted);
}

.eno-help-bar__contact a {
	color: var(--eno-color-text);
	font-size: var(--eno-text-body-lg);
	font-weight: 600;
	text-decoration: none;
	transition: color 150ms var(--eno-ease);
}

.eno-help-bar__contact a:hover,
.eno-help-bar__contact a:focus-visible {
	color: var(--eno-color-orange);
}

.eno-help-bar a:focus-visible {
	outline: 2px solid var(--eno-color-orange);
	outline-offset: 3px;
}

@media (min-width: 768px) {
	.eno-help-bar__inner {
		grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr));
		gap: 1.5rem;
	}

	.eno-help-bar__column {
		padding: 2rem;
	}
}

@media (prefers-reduced-motion: reduce) {
	.eno-help-bar__link .eno-icon {
		transition: none;
	}

	.eno-help-bar__link:hover .eno-icon {
		transform: none;
	}
}

/* Dark buttons (on orange) ------------------------------------------------ */

.eno-button--dark {
	border-color: var(--eno-color-footer);
	background-color: var(--eno-color-footer);
	color: var(--eno-color-white);
}

.eno-button--dark:hover,
.eno-button--dark:focus-visible {
	border-color: #000;
	background-color: #000;
	color: var(--eno-color-white);
}

.eno-button--outline-dark {
	border-color: var(--eno-color-footer);
	background-color: transparent;
	box-shadow: none;
	color: var(--eno-color-footer);
}

.eno-button--outline-dark:hover,
.eno-button--outline-dark:focus-visible {
	border-color: var(--eno-color-footer);
	background-color: rgb(28 27 27 / 8%);
	box-shadow: none;
	color: var(--eno-color-footer);
}

/* Drawn box with dimension arrows (homepage + kennisbank CTA) ------------
   Markup: template-parts/components/cta-box.php. The edges draw in when the
   surrounding [data-eno-reveal] section is armed and comes into view. */


.eno-cta__box {
	display: block;
	width: 100%;
	max-width: 22rem;
	height: auto;
	margin-inline: auto;
	overflow: visible;
	color: var(--eno-color-white);
}

.eno-cta__box-body {
	animation: eno-cta-float 6s ease-in-out infinite;
}

.eno-cta__face {
	stroke: none;
}

.eno-cta__face--top {
	fill: rgb(255 255 255 / 30%);
}

.eno-cta__face--left {
	fill: rgb(255 255 255 / 12%);
}

.eno-cta__face--right {
	fill: rgb(28 27 27 / 8%);
}

.eno-cta__edge {
	fill: none;
	stroke: var(--eno-color-footer);
	stroke-width: 2.5;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.eno-cta__edge--tape {
	stroke-width: 6;
	stroke: rgb(28 27 27 / 25%);
}

.eno-cta__dim {
	fill: none;
	stroke: currentColor;
	stroke-width: 1.5;
	stroke-dasharray: 5 5;
}

@keyframes eno-cta-float {
	50% {
		transform: translateY(-8px);
	}
}

/* Reveal timing */

.eno-cta__face,
.eno-cta__dims {
	transition: opacity 600ms var(--eno-ease), transform 600ms var(--eno-ease);
}

.eno-cta__edge {
	stroke-dasharray: 1;
	stroke-dashoffset: 0;
	transition: stroke-dashoffset 1200ms var(--eno-ease);
}

.eno-cta__face {
	transition-delay: 700ms;
}

.eno-cta__dims {
	transition-delay: 1100ms;
}

.is-armed:not(.is-inview) .eno-cta__edge {
	stroke-dashoffset: 1;
}

.is-armed:not(.is-inview) .eno-cta__face,
.is-armed:not(.is-inview) .eno-cta__dims {
	opacity: 0;
}

@media (prefers-reduced-motion: reduce) {
	.eno-cta__box-body {
		animation: none;
	}

	.eno-cta__face,
	.eno-cta__dims,
	.eno-cta__edge {
		transition: none;
	}
}

/* Prose (editor text: about page, local landing pages) ----------------- */

.eno-about-prose,
.eno-prose {
	color: var(--eno-color-text-muted);
	font-size: var(--eno-text-body-lg);
	line-height: 1.7;
}

.eno-about-prose p,
.eno-about-prose ul,
.eno-about-prose ol,
.eno-prose p,
.eno-prose ul,
.eno-prose ol {
	margin: 0 0 1em;
}

.eno-about-prose > :last-child,
.eno-prose > :last-child {
	margin-bottom: 0;
}

.eno-about-prose a,
.eno-prose a {
	color: var(--eno-color-orange-dark);
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.2em;
	transition: color 150ms var(--eno-ease);
}

.eno-about-prose a:hover,
.eno-about-prose a:focus-visible,
.eno-prose a:hover,
.eno-prose a:focus-visible {
	color: var(--eno-color-text);
}

.eno-about-prose strong,
.eno-prose strong {
	color: var(--eno-color-text);
}

/* Lists get a drawn orange check instead of bullets. */
.eno-about-prose ul,
.eno-prose ul {
	display: grid;
	gap: 0.625rem;
	padding: 0;
	list-style: none;
}

.eno-about-prose ul li,
.eno-prose ul li {
	position: relative;
	margin: 0;
	padding-left: 1.75rem;
}

.eno-about-prose ul li::before,
.eno-prose ul li::before {
	content: "";
	position: absolute;
	top: 0.5em;
	left: 0.25rem;
	width: 0.375rem;
	height: 0.75rem;
	border-right: 2px solid var(--eno-color-orange);
	border-bottom: 2px solid var(--eno-color-orange);
	transform: rotate(45deg);
}

/* Longer editorial text (local landing pages): subheadings, numbered lists. */
.eno-prose h3,
.eno-prose h4 {
	margin: 2em 0 0.625em;
	color: var(--eno-color-text);
	font-family: var(--eno-font-heading);
	font-weight: 700;
	line-height: 1.25;
	letter-spacing: -0.01em;
}

.eno-prose h3 {
	font-size: var(--eno-text-headline-md);
}

.eno-prose h4 {
	font-size: var(--eno-text-body-lg);
}

.eno-prose > :first-child {
	margin-top: 0;
}

.eno-prose ol {
	padding-left: 1.5rem;
}

.eno-prose ol li {
	margin-bottom: 0.5em;
	padding-left: 0.25rem;
}

.eno-prose ol li::marker {
	color: var(--eno-color-orange-dark);
	font-weight: 600;
}

/* Assortment card (homepage carousel + local landing pages) -------------
   Markup: template-parts/components/assortment-card.php. Tints follow the
   card's position in its list (.eno-assortment__item). */

.eno-assortment-card {
	display: flex;
	flex: 1;
	flex-direction: column;
	overflow: hidden;
	border-radius: var(--eno-radius-lg);
	background-color: var(--eno-color-surface-low);
	color: var(--eno-color-text);
	text-decoration: none;
	transition: transform 300ms var(--eno-ease);
}

/* Quiet warm tones per card; plain token first for older browsers. */
.eno-assortment__item:nth-child(4n + 2) .eno-assortment-card {
	background-color: var(--eno-color-kraft-soft);
	background-color: color-mix(in srgb, var(--eno-color-kraft-soft) 45%, var(--eno-color-bg));
}

.eno-assortment__item:nth-child(4n + 3) .eno-assortment-card {
	background-color: var(--eno-color-green-bg);
}

.eno-assortment__item:nth-child(4n + 4) .eno-assortment-card {
	background-color: var(--eno-color-surface);
	background-color: color-mix(in srgb, var(--eno-color-orange) 6%, var(--eno-color-bg));
}

.eno-assortment-card:hover,
.eno-assortment-card:focus-visible {
	color: var(--eno-color-text);
}

.eno-assortment-card:focus-visible {
	outline-offset: 3px;
}

.eno-assortment-card__media {
	display: flex;
	align-items: center;
	justify-content: center;
	aspect-ratio: 5 / 4;
	overflow: hidden;
}

/* Contain keeps any real product/category photo whole within the fixed ratio. */
.eno-assortment-card__media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: center;
	transition: transform 300ms var(--eno-ease);
}

.eno-assortment-card__media--empty .eno-icon {
	width: 3rem;
	height: 3rem;
	color: var(--eno-color-text-muted);
	opacity: 0.35;
}

/* Title and arrow share the first row; the description sits below. */
.eno-assortment-card__body {
	display: grid;
	flex: 1;
	grid-template-columns: minmax(0, 1fr) auto;
	align-content: start;
	gap: 0.5rem 1rem;
	padding: 1.375rem 1.5rem 1.625rem;
}

.eno-assortment-card__title {
	grid-area: 1 / 1;
	margin: 0;
	color: var(--eno-color-text);
	font-family: var(--eno-font-heading);
	font-size: clamp(1.25rem, 1.05rem + 0.45vw, 1.5rem);
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: -0.015em;
}

/* Secondary, but darker than the muted token; capped at two lines. */
.eno-assortment-card__text {
	display: -webkit-box;
	grid-area: 2 / 1;
	overflow: hidden;
	color: var(--eno-color-text-muted);
	color: color-mix(in srgb, var(--eno-color-text) 55%, var(--eno-color-text-muted));
	font-size: 0.9375rem;
	line-height: 1.45;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	line-clamp: 2;
}

.eno-assortment-card__arrow {
	grid-area: 1 / 2;
	align-self: center;
	width: 1.125rem;
	height: 1.125rem;
	color: var(--eno-color-orange-dark);
	transition: transform 300ms var(--eno-ease);
}

@media (hover: hover) {
	.eno-assortment-card:hover {
		transform: translateY(-3px);
	}

	.eno-assortment-card:hover .eno-assortment-card__media img {
		transform: scale(1.025);
	}
}

.eno-assortment-card:hover .eno-assortment-card__arrow,
.eno-assortment-card:focus-visible .eno-assortment-card__arrow {
	transform: translateX(4px);
}

@media (prefers-reduced-motion: reduce) {
	.eno-assortment-card,
	.eno-assortment-card__media img,
	.eno-assortment-card__arrow {
		transition: none;
	}

	.eno-assortment-card:hover,
	.eno-assortment-card:hover .eno-assortment-card__media img,
	.eno-assortment-card:hover .eno-assortment-card__arrow,
	.eno-assortment-card:focus-visible .eno-assortment-card__arrow {
		transform: none;
	}
}

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

.site-footer {
	background-color: var(--eno-color-footer);
}

.eno-footer {
	padding: 6rem var(--eno-gutter);
	background-color: var(--eno-color-footer);
	color: var(--eno-color-white);
}

.eno-footer__inner {
	max-width: var(--eno-content-width);
	margin-inline: auto;
}

.eno-footer__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 3rem;
	margin-bottom: 4rem;
}

.eno-footer__brand {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}

.eno-footer__brand .eno-brand {
	margin-bottom: 1.5rem;
}

.eno-footer__tagline {
	margin: 0 0 1rem;
	color: var(--eno-color-surface-high);
}

.eno-footer__usp {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	margin: 0;
	color: var(--eno-color-green);
	font-size: var(--eno-text-label);
	font-weight: 500;
}

.eno-footer__usp .eno-icon {
	width: 1.125rem;
	height: 1.125rem;
}

.eno-footer__map {
	width: 100%;
	max-width: 20rem;
	margin-top: 1.5rem;
	overflow: hidden;
	border-radius: var(--eno-radius-sm);
	aspect-ratio: 4 / 3;
}

.eno-footer__map iframe {
	display: block;
	width: 100%;
	height: 100%;
	border: 0;
}

/* Map placeholder until "Externe media" is accepted (dark footer variant). */
.eno-footer__map .eno-embed__placeholder {
	border-color: rgb(229 226 225 / 15%);
	background-color: rgb(255 255 255 / 5%);
	color: var(--eno-color-surface-high);
	font-size: var(--eno-text-small);
}

.eno-footer .eno-embed__button {
	border-color: rgb(229 226 225 / 40%);
	color: var(--eno-color-white);
	font-size: var(--eno-text-small);
}

.eno-footer .eno-embed .eno-embed__button:hover,
.eno-footer .eno-embed .eno-embed__button:focus {
	border-color: var(--eno-color-orange);
	background-color: rgb(242 113 17 / 15%);
	color: var(--eno-color-white);
}

.eno-footer .eno-footer__consent {
	padding: 0;
	border: 0;
	background: none;
	color: inherit;
	font-size: var(--eno-text-small);
	line-height: inherit;
	cursor: pointer;
	transition: color 150ms var(--eno-ease);
}

.eno-footer .eno-footer__consent:hover,
.eno-footer .eno-footer__consent:focus {
	background: none;
	color: var(--eno-color-orange);
}

.eno-footer__heading {
	margin: 0 0 2rem;
	color: var(--eno-color-surface-high);
	font-family: var(--eno-font-body);
	font-size: var(--eno-text-label);
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.eno-footer__links,
.eno-footer__contact ul,
.eno-footer__legal {
	margin: 0;
	padding: 0;
	list-style: none;
}

.eno-footer__links li + li,
.eno-footer__contact li + li {
	margin-top: 1rem;
}

.eno-footer a {
	color: inherit;
	text-decoration: none;
	transition: color 150ms var(--eno-ease);
}

.eno-footer a:hover,
.eno-footer a:focus-visible {
	color: var(--eno-color-orange);
}

.eno-footer__links a {
	color: var(--eno-color-white);
}

.eno-footer__contact {
	color: var(--eno-color-surface-high);
	font-style: normal;
}

.eno-footer__contact li {
	display: flex;
	align-items: flex-start;
	gap: 0.75rem;
}

.eno-footer__contact .eno-icon {
	color: var(--eno-color-orange);
}

.eno-footer__social {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	margin: 2rem 0 0;
	padding: 0;
	list-style: none;
}

.eno-footer__social-link {
	display: grid;
	place-items: center;
	width: 2.75rem;
	height: 2.75rem;
	border: 1px solid rgb(229 226 225 / 20%);
	border-radius: var(--eno-radius-sm);
	color: var(--eno-color-surface-high);
	transition: color 150ms var(--eno-ease), border-color 150ms var(--eno-ease), background-color 150ms var(--eno-ease);
}

.eno-footer__social-link .eno-icon {
	width: 1.25rem;
	height: 1.25rem;
	fill: currentcolor;
}

/* Brand colours only on interaction, so the dark footer stays calm. */
.eno-footer a.eno-footer__social-link:hover,
.eno-footer a.eno-footer__social-link:focus-visible {
	border-color: currentcolor;
	color: var(--eno-social-color, var(--eno-color-white));
}

.eno-footer__social-link--instagram { --eno-social-color: #e4405f; }
.eno-footer__social-link--facebook { --eno-social-color: #1877f2; }
.eno-footer__social-link--linkedin { --eno-social-color: #4f9fe8; }
.eno-footer__social-link--tiktok { --eno-social-color: #fff; }
.eno-footer__social-link--whatsapp { --eno-social-color: #25d366; }

@media (prefers-reduced-motion: reduce) {
	.eno-footer__social-link {
		transition: none;
	}
}

.eno-footer__bottom {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: space-between;
	gap: 1.5rem;
	padding-top: 2rem;
	border-top: 1px solid rgb(229 226 225 / 20%);
	color: var(--eno-color-surface-high);
}

.eno-footer__meta {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.75rem 2rem;
}

.eno-footer__company {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0.25rem 0;
	margin: 0;
	color: rgb(229 226 225 / 70%);
	font-size: var(--eno-text-small);
}

.eno-footer__company span + span::before {
	content: "·";
	margin: 0 0.5rem;
}

.eno-footer__legal {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0.5rem 1.5rem;
	font-size: var(--eno-text-small);
}

.eno-footer__payments {
	display: flex;
	gap: 1rem;
}

.eno-footer__credit {
	margin: 2rem 0 0;
	color: rgb(229 226 225 / 55%);
	font-size: var(--eno-text-small);
	text-align: center;
}

.eno-footer__credit a {
	text-decoration: underline;
	text-decoration-color: rgb(229 226 225 / 30%);
	text-underline-offset: 0.2em;
}

@media (min-width: 768px) {
	.eno-footer__grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.eno-footer__bottom {
		flex-direction: row;
	}

	.eno-footer__meta {
		flex-direction: row;
		flex-wrap: wrap;
	}

	.eno-footer__company,
	.eno-footer__legal {
		justify-content: flex-start;
	}
}

@media (min-width: 1024px) {
	.eno-footer__grid {
		grid-template-columns: repeat(4, 1fr);
	}
}

/* Scroll to top ----------------------------------------------------------- */

.eno-to-top {
	position: fixed;
	bottom: calc(1.5rem + env(safe-area-inset-bottom, 0px));
	left: calc(1.5rem + env(safe-area-inset-left, 0px));
	z-index: 40;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 3rem;
	height: 3rem;
	border-radius: var(--eno-radius);
	background-color: var(--eno-color-orange);
	box-shadow: var(--eno-shadow-lg);
	color: var(--eno-color-white);
	text-decoration: none;
	opacity: 0;
	visibility: hidden;
	transform: translateY(0.75rem);
	transition: opacity 200ms var(--eno-ease), transform 200ms var(--eno-ease), visibility 200ms, background-color 150ms var(--eno-ease);
}

.eno-to-top.is-visible {
	opacity: 1;
	visibility: visible;
	transform: none;
}

.eno-to-top:hover,
.eno-to-top:focus-visible {
	background-color: var(--eno-color-orange-dark);
	color: var(--eno-color-white);
}

/* Motion ------------------------------------------------------------------ */

/* Scroll reveals (main.js): elements fade up once when they enter the view.
   Targets: [data-eno-reveal-item], children of [data-eno-reveal-group] and
   the blocks of editor content (keep this list in sync with main.js). The
   first content block is never hidden, so the top of a page (and its LCP
   image) paints immediately. Hidden only while <html> has .eno-reveal (set
   in <head>, see inc/enqueue.php), so without JS everything is visible.
   Single product pages are left out of the editor-content part: the
   WooCommerce product (gallery, price, add-to-cart) must paint at once;
   only its marked sections reveal. Opacity and transform only. */

:root {
	--eno-reveal-distance: 10px;
}

@media (min-width: 768px) {
	:root {
		--eno-reveal-distance: 16px;
	}
}

.eno-reveal :is(
	[data-eno-reveal-item],
	[data-eno-reveal-group] > *,
	:where(body:not(.single-product)) .entry-content > :not(:first-child, .wp-block-group, .wp-block-cover, .wp-block-columns, script, style),
	:where(body:not(.single-product)) .entry-content > .wp-block-columns:not(:first-child) > .wp-block-column,
	:where(body:not(.single-product)) .entry-content > .wp-block-group:not(:first-child) > *,
	:where(body:not(.single-product)) .entry-content > .wp-block-cover:not(:first-child) > .wp-block-cover__inner-container
):not(.is-revealed) {
	opacity: 0;
	transform: translate3d(0, var(--eno-reveal-distance), 0);
}

.eno-reveal .is-revealing {
	transition: opacity 600ms var(--eno-ease-out), transform 600ms var(--eno-ease-out);
	transition-delay: var(--eno-reveal-delay, 0ms);
}

@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		transition-duration: 0.01ms !important;
		animation-duration: 0.01ms !important;
	}
}

/* WooCommerce notices -------------------------------------------------------
   Classic notices ("… is toegevoegd aan je winkelwagen") as a calm card with
   a tinted icon and a text link. Mijn account and the catalog keep their own
   notice styles (account.css, catalog.css). */
.woocommerce-notices-wrapper :is(.woocommerce-message, .woocommerce-info, .woocommerce-error) {
	--eno-notice-tint: var(--eno-color-green-soft);
	--eno-notice-ink: var(--eno-color-green-ink);
	--eno-notice-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3E%3Cpath d='M378-246 154-470l43-43 181 181 384-384 43 43-427 427Z'/%3E%3C/svg%3E");
	position: relative;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5rem 1.5rem;
	margin: 0 0 1rem;
	padding: 0.875rem 1.25rem 0.875rem 3.75rem;
	border: 1px solid var(--eno-color-surface-high);
	border-radius: var(--eno-radius);
	background-color: var(--eno-color-white);
	color: var(--eno-color-text);
	font-size: var(--eno-text-body);
	line-height: 1.5;
	list-style: none;
}

.woocommerce-notices-wrapper .woocommerce-info {
	--eno-notice-tint: var(--eno-color-orange-tint);
	--eno-notice-ink: var(--eno-color-orange-dark);
	--eno-notice-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3E%3Cpath d='M440-280h80v-240h-80v240Zm40-320q17 0 28.5-11.5T520-640q0-17-11.5-28.5T480-680q-17 0-28.5 11.5T440-640q0 17 11.5 28.5T480-600Z'/%3E%3C/svg%3E");
}

.woocommerce-notices-wrapper .woocommerce-error {
	--eno-notice-tint: #fbe9e7;
	--eno-notice-ink: #b3261e;
	--eno-notice-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3E%3Cpath d='M440-400h80v-280h-80v280Zm40 160q17 0 28.5-11.5T520-280q0-17-11.5-28.5T480-320q-17 0-28.5 11.5T440-280q0 17 11.5 28.5T480-240Z'/%3E%3C/svg%3E");
	display: grid;
	gap: 0.25rem;
}

/* Icon: tinted circle (::before) with the glyph masked on top (::after). */
.woocommerce-notices-wrapper :is(.woocommerce-message, .woocommerce-info, .woocommerce-error)::before,
.woocommerce-notices-wrapper :is(.woocommerce-message, .woocommerce-info, .woocommerce-error)::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 1.25rem;
	width: 1.75rem;
	height: 1.75rem;
	margin: 0;
	border-radius: 50%;
	transform: translateY(-50%);
}

.woocommerce-notices-wrapper :is(.woocommerce-message, .woocommerce-info, .woocommerce-error)::before {
	background-color: var(--eno-notice-tint);
	font-family: inherit;
}

.woocommerce-notices-wrapper :is(.woocommerce-message, .woocommerce-info, .woocommerce-error)::after {
	background-color: var(--eno-notice-ink);
	-webkit-mask: var(--eno-notice-icon) center / 1.125rem no-repeat;
	mask: var(--eno-notice-icon) center / 1.125rem no-repeat;
}

.woocommerce-notices-wrapper .woocommerce-error li {
	margin: 0;
}

/* WooCommerce focuses new notices for screen readers; no visible ring needed. */
.woocommerce-notices-wrapper :is(.woocommerce-message, .woocommerce-info, .woocommerce-error):focus {
	outline: none;
}

.woocommerce-notices-wrapper :is(.woocommerce-message, .woocommerce-info, .woocommerce-error) a.button {
	display: inline-flex;
	align-items: center;
	gap: 0.375rem;
	order: 2;
	float: none;
	margin: 0 0 0 auto;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: none;
	box-shadow: none;
	color: var(--eno-color-orange-dark);
	font-size: var(--eno-text-body);
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: 0;
	white-space: nowrap;
}

.woocommerce-notices-wrapper :is(.woocommerce-message, .woocommerce-info, .woocommerce-error) a.button::after {
	content: "";
	width: 1rem;
	height: 1rem;
	background-color: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3E%3Cpath d='M647-440H160v-80h487L423-744l57-56 320 320-320 320-57-56 224-224Z'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3E%3Cpath d='M647-440H160v-80h487L423-744l57-56 320 320-320 320-57-56 224-224Z'/%3E%3C/svg%3E") center / contain no-repeat;
	transition: transform 0.2s ease;
}

.woocommerce-notices-wrapper :is(.woocommerce-message, .woocommerce-info, .woocommerce-error) a.button:is(:hover, :focus-visible) {
	border: 0;
	background: none;
	box-shadow: none;
	color: var(--eno-color-orange-dark);
	text-decoration: underline;
	text-underline-offset: 0.2em;
}

.woocommerce-notices-wrapper :is(.woocommerce-message, .woocommerce-info, .woocommerce-error) a.button:hover::after {
	transform: translateX(3px);
}

.woocommerce-notices-wrapper .woocommerce-error a.button {
	margin-left: 0.25rem;
}

/* Mobile: the link moves under the text, aligned with it. */
@media (max-width: 599px) {
	.woocommerce-notices-wrapper :is(.woocommerce-message, .woocommerce-info, .woocommerce-error) {
		padding-left: 3.5rem;
	}

	.woocommerce-notices-wrapper :is(.woocommerce-message, .woocommerce-info, .woocommerce-error)::before,
	.woocommerce-notices-wrapper :is(.woocommerce-message, .woocommerce-info, .woocommerce-error)::after {
		top: 1rem;
		left: 1rem;
		transform: none;
	}

	.woocommerce-notices-wrapper :is(.woocommerce-message, .woocommerce-info, .woocommerce-error) a.button {
		margin-left: 0;
	}
}

/* Forms (WPForms) ----------------------------------------------------------
   Every WPForms container gets .eno-form (inc/integrations/wpforms.php).
   WPForms styles its fields through CSS variables; setting them on the
   container overrides the plugin defaults on :root. */

div.wpforms-container-full.eno-form {
	--wpforms-field-border-radius: var(--eno-radius);
	--wpforms-field-border-size: 1px;
	--wpforms-field-border-color: var(--eno-color-surface-dim);
	--wpforms-field-border-color-spare: var(--eno-color-surface-dim);
	--wpforms-field-background-color: var(--eno-color-white);
	--wpforms-field-text-color: var(--eno-color-text);
	--wpforms-field-menu-color: var(--eno-color-white);
	--wpforms-label-color: var(--eno-color-text);
	--wpforms-label-sublabel-color: var(--eno-color-text-muted);
	--wpforms-label-error-color: #b3261e;
	--wpforms-icon-choices-color: var(--eno-color-orange);
	--wpforms-button-border-radius: var(--eno-radius-sm);
	--wpforms-button-border-style: solid;
	--wpforms-button-border-size: 1px;
	--wpforms-button-background-color: var(--eno-color-orange);
	--wpforms-button-border-color: var(--eno-color-orange);
	--wpforms-button-text-color: var(--eno-color-white);
	--wpforms-page-break-color: var(--eno-color-orange);
	--wpforms-field-size-input-height: 3rem;
	--wpforms-field-size-input-spacing: 1.25rem;
	--wpforms-field-size-font-size: 1rem;
	--wpforms-field-size-padding-h: 0.875rem;
	--wpforms-field-size-sublabel-spacing: 0.375rem;
	--wpforms-label-size-font-size: var(--eno-text-label);
	--wpforms-label-size-line-height: 1.4;
	--wpforms-label-size-sublabel-font-size: 0.8125rem;
	--wpforms-label-size-sublabel-line-height: 1.4;
	--wpforms-button-size-height: 3.25rem;
	--wpforms-button-size-padding-h: 2rem;
	--wpforms-button-size-font-size: var(--eno-text-label);
	--wpforms-button-size-margin-top: 0.5rem;

	margin: 0;
	font-family: var(--eno-font-body);
}

div.wpforms-container-full.eno-form .wpforms-field-label {
	margin-bottom: 0.5rem;
	font-weight: 600;
}

div.wpforms-container-full.eno-form .wpforms-required-label {
	color: var(--eno-color-orange-dark);
	font-weight: 600;
}

div.wpforms-container-full.eno-form input:not([type="checkbox"], [type="radio"], [type="submit"], [type="button"]),
div.wpforms-container-full.eno-form select,
div.wpforms-container-full.eno-form textarea {
	transition: border-color 150ms var(--eno-ease), box-shadow 150ms var(--eno-ease);
}

div.wpforms-container-full.eno-form input:not([type="checkbox"], [type="radio"], [type="submit"], [type="button"]):hover,
div.wpforms-container-full.eno-form select:hover,
div.wpforms-container-full.eno-form textarea:hover {
	border-color: var(--eno-color-outline);
}

div.wpforms-container-full.eno-form input:not([type="checkbox"], [type="radio"], [type="submit"], [type="button"]):focus,
div.wpforms-container-full.eno-form select:focus,
div.wpforms-container-full.eno-form textarea:focus {
	border-color: var(--eno-color-orange);
	box-shadow: 0 0 0 3px var(--eno-color-orange-tint);
}

div.wpforms-container-full.eno-form textarea {
	min-height: 9rem;
	padding-block: 0.75rem;
	line-height: 1.6;
}

div.wpforms-container-full.eno-form ::placeholder {
	color: var(--eno-color-outline);
	opacity: 1;
}

div.wpforms-container-full.eno-form .wpforms-field-description {
	color: var(--eno-color-text-muted);
}

div.wpforms-container-full.eno-form button[type="submit"],
div.wpforms-container-full.eno-form .wpforms-page-button {
	font-family: var(--eno-font-body);
	font-weight: 600;
	letter-spacing: 0.05em;
	box-shadow: var(--eno-shadow-sm);
}

div.wpforms-container-full.eno-form button[type="submit"]:hover,
div.wpforms-container-full.eno-form button[type="submit"]:active,
div.wpforms-container-full.eno-form .wpforms-page-button:hover,
div.wpforms-container-full.eno-form .wpforms-page-button:active {
	border-color: var(--eno-color-orange-dark);
	background: var(--eno-color-orange-dark);
	box-shadow: var(--eno-shadow-md);
}

div.wpforms-container-full.eno-form button[type="submit"]:focus-visible {
	outline: 2px solid var(--eno-color-orange);
	outline-offset: 3px;
}

div.wpforms-container-full.eno-form .wpforms-confirmation-container-full {
	padding: 1.25rem 1.5rem;
	border: 1px solid var(--eno-color-green-soft);
	border-left: 4px solid var(--eno-color-green);
	border-radius: var(--eno-radius);
	background-color: var(--eno-color-green-bg);
	color: var(--eno-color-green-ink);
}

div.wpforms-container-full.eno-form .wpforms-confirmation-container-full p:last-child {
	margin-bottom: 0;
}

@media (max-width: 479px) {
	div.wpforms-container-full.eno-form button[type="submit"] {
		width: 100%;
	}
}
