/**
 * Elixer Water — shop- en homepage-styling.
 * VERSIE 2.1.5 — zoek in dit bestand op "1.1.0" om te controleren of de nieuwe
 * stylesheet daadwerkelijk geladen wordt (en niet een gecachete oude versie).
 * Vormgeving 1-op-1 op het goedgekeurde ontwerp (REFRESH).
 *
 * Alles is gescoped onder .ewnl-* zodat het thema en Elementor er niet mee botsen.
 */

:root {
	--ewnl-navy: #16213f;
	--ewnl-navy-2: #1e2c50;
	--ewnl-ink: #101828;
	--ewnl-body: #44506a;
	--ewnl-bg: #fff;
	--ewnl-card: #f4f5f7;
	--ewnl-ice: #e3edf5;
	--ewnl-sage: #dbe7f0;
	--ewnl-lime: #d9ef91;
	--ewnl-lime-d: #c6e26f;
	--ewnl-line: #e6e8ec;
	--ewnl-muted: #8a93a8;

	--ewnl-serif: "Fraunces", Georgia, "Times New Roman", serif;
	--ewnl-sans: "Inter", ui-sans-serif, system-ui, -apple-system, sans-serif;

	--ewnl-radius: 18px;
	--ewnl-radius-l: 28px;
}

/* =====================================================================
 * Basis
 * ================================================================== */

[class*="ewnl-"] {
	box-sizing: border-box;
}

.ewnl-sectie,
.ewnl-hero,
.ewnl-trust,
.ewnl-quote,
.ewnl-navwrap,
.ewnl-abonneer {
	font-family: var(--ewnl-sans);
	color: var(--ewnl-body);
	font-size: 16px;
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
}

.ewnl-sectie h1,
.ewnl-sectie h2,
.ewnl-sectie h3,
.ewnl-hero h1,
.ewnl-quote blockquote {
	font-family: var(--ewnl-serif);
	font-weight: 400;
	color: var(--ewnl-ink);
	line-height: 1.12;
	margin: 0;
}

.ewnl-wrap {
	max-width: 1420px;
	margin: 0 auto;
	padding: 0 40px;
}

.ewnl-kicker {
	font-size: 13px;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--ewnl-muted);
	font-weight: 500;
}

.ewnl-kicker--donker {
	color: #5c6b45;
}

.ewnl-hint {
	padding: 12px;
	border: 1px dashed #c00;
	color: #c00;
	font-family: var(--ewnl-sans);
	font-size: 14px;
	border-radius: 8px;
	margin: 12px 0;
}

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

.ewnl-knop {
	display: inline-flex;
	align-items: center;
	gap: 0;
	border-radius: 999px;
	font-weight: 600;
	font-size: 15px;
	text-decoration: none;
	line-height: 1;
	transition: transform 0.15s ease, opacity 0.15s ease;
}

.ewnl-knop:hover {
	transform: translateY(-1px);
}

.ewnl-knop--ink {
	background: var(--ewnl-ink);
	color: #fff;
	padding: 14px 30px;
}

.ewnl-knop--lime {
	background: var(--ewnl-lime);
	color: var(--ewnl-ink);
	padding: 8px 8px 8px 28px;
	font-size: 16px;
}

.ewnl-knop--leeg {
	background: transparent;
	border: 1.5px solid rgba(255, 255, 255, 0.5);
	color: #fff;
	padding: 11px 26px;
}

.ewnl-knop__pijl {
	width: 40px;
	height: 40px;
	background: var(--ewnl-ink);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-left: 14px;
	color: var(--ewnl-lime);
}

/* Sectiekop ---------------------------------------------------------- */

.ewnl-sectiekop {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	margin-bottom: 28px;
	gap: 24px;
}

.ewnl-sectiekop--midden {
	display: block;
	text-align: center;
	margin-bottom: 44px;
}

.ewnl-sectiekop__titel {
	font-size: 40px;
	font-weight: 300;
	margin-top: 6px;
}

.ewnl-sectiekop--midden .ewnl-sectiekop__titel {
	font-size: 52px;
	margin-top: 12px;
}

.ewnl-sectiekop__titel em {
	font-style: italic;
	font-weight: 300;
}

.ewnl-alles {
	font-size: 14.5px;
	font-weight: 600;
	color: var(--ewnl-ink);
	border-bottom: 1.5px solid var(--ewnl-ink);
	padding-bottom: 2px;
	text-decoration: none;
	white-space: nowrap;
}

/* =====================================================================
 * Navigatiebalk
 * ================================================================== */

.ewnl-navwrap {
	padding: 0 24px;
}

.ewnl-navwrap--zwevend {
	position: fixed;
	top: 14px;
	left: 0;
	right: 0;
	z-index: 90;
}

.ewnl-nav {
	max-width: 1420px;
	margin: 0 auto;
	background: var(--ewnl-navy);
	border-radius: 14px;
	color: #fff;
	display: flex;
	align-items: center;
	padding: 0 28px;
	height: 64px;
	gap: 26px;
	position: relative;
}

.ewnl-nav__toggle {
	display: none;
	background: none;
	border: 0;
	color: #fff;
	padding: 6px;
	cursor: pointer;
}

.ewnl-nav__menu {
	flex: 1;
}

.ewnl-nav__lijst {
	display: flex;
	gap: 24px;
	font-size: 15px;
	font-weight: 500;
	list-style: none;
	margin: 0;
	padding: 0;
}

.ewnl-nav__lijst a {
	color: #fff;
	opacity: 0.92;
	text-decoration: none;
}

.ewnl-nav__lijst a:hover {
	opacity: 1;
}

.ewnl-nav__leeg {
	font-size: 13px;
	color: #aeb8d0;
}

.ewnl-nav__merk {
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	color: #fff;
	text-decoration: none;
	white-space: nowrap;
	display: flex;
	align-items: center;
}

.ewnl-nav__merknaam {
	font-family: var(--ewnl-serif);
	font-size: 26px;
	font-weight: 500;
	letter-spacing: 0.01em;
}

.ewnl-nav__logo {
	display: block;
	width: auto;
	max-width: 220px;
	object-fit: contain;
}

.ewnl-nav__rechts {
	display: flex;
	align-items: center;
	gap: 18px;
	margin-left: auto;
	font-size: 14px;
}

/* Zoekbalk in de navigatie ------------------------------------------- */

.ewnl-zoek {
	position: relative;
	display: flex;
	align-items: center;
	gap: 9px;
	min-width: 230px;
}

.ewnl-zoek__icoon {
	position: absolute;
	left: 0;
	display: flex;
	align-items: center;
	color: #aeb8d0;
	pointer-events: none;
}

.ewnl-zoek__veld {
	width: 100%;
	background: transparent;
	border: 0;
	border-bottom: 1px solid transparent;
	padding: 7px 26px 7px 24px;
	font-family: var(--ewnl-sans);
	font-size: 14px;
	color: #fff;
	outline: none;
	transition: border-color 0.15s ease;
}

.ewnl-zoek__veld::placeholder {
	color: #aeb8d0;
	opacity: 1;
}

.ewnl-zoek__veld:focus {
	border-bottom-color: rgba(255, 255, 255, 0.4);
}

.ewnl-zoek__veld::-webkit-search-cancel-button {
	-webkit-appearance: none;
	appearance: none;
}

.ewnl-zoek__wis {
	position: absolute;
	right: 0;
	background: none;
	border: 0;
	color: #aeb8d0;
	cursor: pointer;
	display: flex;
	align-items: center;
	padding: 2px;
}

.ewnl-zoek__wis:hover {
	color: #fff;
}

/* Suggestiepaneel */

.ewnl-zoek__paneel {
	position: absolute;
	top: calc(100% + 14px);
	right: 0;
	width: 420px;
	max-width: calc(100vw - 48px);
	max-height: 70vh;
	overflow-y: auto;
	background: #fff;
	border-radius: 16px;
	box-shadow: 0 18px 48px rgba(16, 24, 40, 0.18);
	padding: 10px;
	z-index: 100;
	color: var(--ewnl-body);
}

.ewnl-zoek__paneel[hidden] {
	display: none;
}

.ewnl-zoek__groep + .ewnl-zoek__groep {
	margin-top: 6px;
	padding-top: 8px;
	border-top: 1px solid var(--ewnl-line);
}

.ewnl-zoek__label {
	display: block;
	font-size: 11.5px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	font-weight: 600;
	color: var(--ewnl-muted);
	padding: 8px 10px 6px;
}

.ewnl-zoek__cat {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 9px 10px;
	border-radius: 10px;
	font-size: 14.5px;
	font-weight: 600;
	color: var(--ewnl-ink);
	text-decoration: none;
}

.ewnl-zoek__cat svg {
	color: var(--ewnl-muted);
	flex: none;
}

.ewnl-zoek__item {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 8px 10px;
	border-radius: 12px;
	text-decoration: none;
}

.ewnl-zoek__cat:hover,
.ewnl-zoek__cat:focus,
.ewnl-zoek__item:hover,
.ewnl-zoek__item:focus {
	background: var(--ewnl-card);
	outline: none;
}

.ewnl-zoek__thumb {
	width: 46px;
	height: 46px;
	flex: none;
	background: var(--ewnl-card);
	border-radius: 10px;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
}

.ewnl-zoek__thumb img {
	max-width: 100%;
	height: auto;
	object-fit: contain;
	mix-blend-mode: multiply;
}

.ewnl-zoek__info {
	flex: 1;
	min-width: 0;
}

.ewnl-zoek__cat-regel {
	display: block;
	font-size: 12px;
	color: var(--ewnl-muted);
}

.ewnl-zoek__naam {
	display: block;
	font-size: 14.5px;
	font-weight: 600;
	color: var(--ewnl-ink);
	line-height: 1.3;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.ewnl-zoek__prijs {
	font-size: 14px;
	font-weight: 600;
	color: var(--ewnl-ink);
	white-space: nowrap;
}

.ewnl-zoek__prijs del {
	display: none;
}

.ewnl-zoek__leeg {
	margin: 0;
	padding: 20px 12px;
	font-size: 14.5px;
	color: var(--ewnl-muted);
	text-align: center;
}

.ewnl-zoek__alles {
	display: block;
	margin-top: 8px;
	padding: 12px;
	border-radius: 12px;
	background: var(--ewnl-ink);
	color: #fff;
	font-size: 14px;
	font-weight: 600;
	text-align: center;
	text-decoration: none;
}

.ewnl-nav__ic {
	color: #fff;
	display: flex;
	align-items: center;
	position: relative;
}

.ewnl-nav__telling {
	position: absolute;
	top: -7px;
	right: -9px;
	min-width: 17px;
	height: 17px;
	padding: 0 4px;
	border-radius: 999px;
	background: var(--ewnl-lime);
	color: var(--ewnl-ink);
	font-size: 11px;
	font-weight: 600;
	line-height: 17px;
	text-align: center;
}

.ewnl-nav__telling.is-leeg {
	display: none;
}

/* =====================================================================
 * Hero
 * ================================================================== */

.ewnl-hero {
	position: relative;
	height: var(--ewnl-hero-h, 92vh);
	min-height: 640px;
	overflow: hidden;
}

.ewnl-hero__helft {
	position: absolute;
	top: 0;
	bottom: 0;
	width: 50%;
	overflow: hidden;
}

.ewnl-hero__helft--l {
	left: 0;
}

.ewnl-hero__helft--r {
	right: 0;
}

.ewnl-hero__helft img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.ewnl-hero__waas {
	position: absolute;
	inset: 0;
	background: rgba(10, 16, 34, 0.38);
}

.ewnl-hero__inhoud {
	position: absolute;
	inset: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
	color: #fff;
	padding: 0 24px;
}

.ewnl-hero__kicker {
	font-size: 13px;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	font-weight: 500;
	color: #dfe8f5;
	margin-bottom: 22px;
}

.ewnl-hero__titel {
	font-size: 76px;
	color: #fff;
	font-weight: 300;
	max-width: 900px;
}

.ewnl-hero__titel em {
	font-weight: 300;
	font-style: italic;
}

.ewnl-hero__inhoud .ewnl-knop {
	margin-top: 36px;
}

.ewnl-hero__vel {
	position: absolute;
	left: 0;
	right: 0;
	bottom: -2px;
	height: 34px;
	background: #fff;
	border-radius: 28px 28px 0 0;
}

/* =====================================================================
 * Trustbalk
 * ================================================================== */

.ewnl-trust {
	border-top: 1px solid var(--ewnl-line);
	border-bottom: 1px solid var(--ewnl-line);
	background: #fff;
}

.ewnl-trust__in {
	max-width: 1420px;
	margin: 0 auto;
	padding: 15px 40px;
	display: flex;
	justify-content: space-between;
	gap: 18px;
	flex-wrap: wrap;
	font-size: 14px;
	color: var(--ewnl-ink);
}

.ewnl-trust__sterren {
	color: #e2b93b;
	letter-spacing: 1px;
}

.ewnl-trust b {
	font-weight: 600;
}

/* =====================================================================
 * Productkaarten
 * ================================================================== */

.ewnl-rail {
	padding: 64px 0 30px;
}

.ewnl-kaarten {
	display: grid;
	grid-template-columns: repeat(var(--ewnl-kolommen, 4), 1fr);
	gap: 18px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.ewnl-card {
	background: var(--ewnl-card);
	border-radius: var(--ewnl-radius);
	padding: 18px;
	position: relative;
	display: flex;
	flex-direction: column;
	min-height: 420px;
	height: 100%;
}

.ewnl-card__link {
	display: flex;
	flex-direction: column;
	flex: 1;
	text-decoration: none;
	color: inherit;
}

.ewnl-badge {
	position: absolute;
	top: 16px;
	left: 16px;
	background: var(--ewnl-sage);
	color: var(--ewnl-ink);
	font-size: 12.5px;
	font-weight: 600;
	padding: 6px 13px;
	border-radius: 999px;
	z-index: 2;
}

.ewnl-card__ph {
	flex: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 26px 10px;
}

.ewnl-card__ph .ewnl-product-img {
	max-height: 250px;
	max-width: 88%;
	width: auto;
	height: auto;
	object-fit: contain;
	mix-blend-mode: multiply;
}

.ewnl-card__cat {
	font-size: 13px;
	color: var(--ewnl-muted);
	margin-bottom: 2px;
}

.ewnl-card__nm {
	font-size: 16.5px;
	font-weight: 600;
	color: var(--ewnl-ink);
}

.ewnl-card__pr {
	font-size: 15px;
	color: var(--ewnl-body);
	margin-top: 2px;
}

.ewnl-card__pr del {
	color: #a9b0c0;
	margin-right: 6px;
}

.ewnl-card__pr ins {
	text-decoration: none;
}

.ewnl-card__cart {
	position: absolute;
	right: 16px;
	bottom: 16px;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background: var(--ewnl-ink);
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 2;
}

.ewnl-card__cart.added,
.ewnl-card__cart.loading {
	opacity: 0.6;
}

.ewnl-usp {
	display: block;
	font-size: 13.5px;
	color: var(--ewnl-muted);
	margin-top: 2px;
}

/* Compacte witte productbalk (in tegels) ----------------------------- */

.ewnl-mini {
	position: absolute;
	left: 14px;
	right: 14px;
	bottom: 14px;
	background: #fff;
	border-radius: 12px;
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 10px 12px;
}

.ewnl-mini .ewnl-product-img {
	width: 44px;
	height: 44px;
	object-fit: contain;
}

.ewnl-mini__tekst {
	min-width: 0;
}

.ewnl-mini__tekst b {
	font-size: 14px;
	color: var(--ewnl-ink);
	display: block;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.ewnl-mini__tekst > span {
	font-size: 13px;
	color: var(--ewnl-muted);
}

.ewnl-mini__shop {
	margin-left: auto;
	background: var(--ewnl-lime);
	color: var(--ewnl-ink);
	font-size: 13.5px;
	font-weight: 600;
	padding: 9px 18px;
	border-radius: 999px;
	white-space: nowrap;
}

/* =====================================================================
 * Routetegels
 * ================================================================== */

.ewnl-routes {
	padding: 84px 0 10px;
}

.ewnl-rtegels {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 18px;
}

.ewnl-rtegel {
	position: relative;
	border-radius: var(--ewnl-radius);
	overflow: hidden;
	height: 480px;
	display: block;
	text-decoration: none;
}

.ewnl-rtegel__bg {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.ewnl-rtegel__waas {
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(10, 16, 34, 0.05) 40%, rgba(10, 16, 34, 0.55));
}

.ewnl-rtegel__lab {
	position: absolute;
	top: 22px;
	left: 22px;
	right: 22px;
	color: #fff;
	display: block;
}

.ewnl-rtegel__k {
	font-size: 12px;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	font-weight: 600;
	color: #e6ecf7;
	opacity: 0.9;
	display: block;
}

.ewnl-rtegel__titel {
	font-family: var(--ewnl-serif);
	color: #fff;
	font-size: 30px;
	font-weight: 300;
	line-height: 1.12;
	margin-top: 6px;
	display: block;
}

.ewnl-rtegel__tekst {
	font-size: 14px;
	color: #dfe6f2;
	margin-top: 4px;
	max-width: 280px;
	line-height: 1.45;
	display: block;
}

.ewnl-rtegel--vlak {
	background: var(--ewnl-ice);
}

.ewnl-rtegel__ph {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 60px 40px 90px;
}

.ewnl-rtegel__ph .ewnl-product-img {
	max-height: 100%;
	max-width: 80%;
	width: auto;
	object-fit: contain;
	mix-blend-mode: multiply;
}

.ewnl-rtegel--vlak .ewnl-rtegel__k {
	color: var(--ewnl-muted);
}

.ewnl-rtegel--vlak .ewnl-rtegel__titel {
	color: var(--ewnl-ink);
}

.ewnl-rtegel--vlak .ewnl-rtegel__tekst {
	color: #5a6480;
}

/* =====================================================================
 * Vergelijker
 * ================================================================== */

.ewnl-vergelijk {
	background: var(--ewnl-navy);
	border-radius: var(--ewnl-radius-l);
	margin: 90px 24px 0;
	padding: 80px 0;
	color: #fff;
}

.ewnl-vergelijk .ewnl-kicker {
	color: #8fa0c8;
}

.ewnl-vergelijk .ewnl-sectiekop__titel {
	color: #fff;
	font-size: 48px;
}

.ewnl-vergelijk__kolommen {
	display: grid;
	grid-template-columns: repeat(var(--ewnl-kolommen, 3), 1fr);
	gap: 18px;
	max-width: 1180px;
	margin: 0 auto;
	padding: 0 40px;
}

.ewnl-vkolom {
	background: rgba(255, 255, 255, 0.05);
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: var(--ewnl-radius);
	padding: 30px 28px;
	text-align: center;
	position: relative;
	display: flex;
	flex-direction: column;
}

.ewnl-vkolom--hl {
	background: #fff;
	color: var(--ewnl-body);
}

.ewnl-vkolom__pop {
	position: absolute;
	top: -14px;
	left: 50%;
	transform: translateX(-50%);
	background: var(--ewnl-lime);
	color: var(--ewnl-ink);
	font-size: 12.5px;
	font-weight: 600;
	padding: 6px 16px;
	border-radius: 999px;
	white-space: nowrap;
}

.ewnl-vkolom__foto {
	height: 170px;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 16px;
	background: #fff;
	border-radius: 14px;
	padding: 12px;
}

.ewnl-vkolom__foto .ewnl-product-img {
	max-height: 145px;
	width: auto;
	object-fit: contain;
	mix-blend-mode: multiply;
}

.ewnl-vkolom__nm {
	font-family: var(--ewnl-serif);
	font-size: 24px;
	font-weight: 400;
	color: #fff;
}

.ewnl-vkolom--hl .ewnl-vkolom__nm,
.ewnl-vkolom--hl .ewnl-vkolom__prijs {
	color: var(--ewnl-ink);
}

.ewnl-vkolom__voorwie {
	font-family: var(--ewnl-serif);
	font-style: italic;
	font-size: 15.5px;
	color: #aeb8d0;
	margin: 2px 0 14px;
	line-height: 1.45;
	min-height: 44px;
}

.ewnl-vkolom--hl .ewnl-vkolom__voorwie {
	color: #5a6480;
}

.ewnl-vkolom__prijs {
	font-size: 17px;
	margin: 4px 0 18px;
	color: #cdd6ea;
}

.ewnl-vkolom__prijs del {
	opacity: 0.55;
	margin-right: 8px;
	font-size: 14px;
}

.ewnl-vkolom__prijs ins {
	text-decoration: none;
}

.ewnl-vkolom__lijst {
	list-style: none;
	text-align: left;
	font-size: 14.5px;
	margin: 0 0 22px;
	padding: 0;
}

.ewnl-vkolom__lijst li {
	padding: 8px 0;
	border-bottom: 1px solid rgba(140, 155, 190, 0.25);
	display: flex;
	gap: 10px;
	align-items: baseline;
}

.ewnl-vkolom--hl .ewnl-vkolom__lijst li {
	border-color: var(--ewnl-line);
}

.ewnl-vkolom__lijst li.ewnl-uit {
	opacity: 0.45;
}

.ewnl-vkolom__knop {
	display: inline-block;
	margin-top: auto;
	align-self: center;
	background: transparent;
	border: 1.5px solid rgba(255, 255, 255, 0.5);
	color: #fff;
	font-weight: 600;
	font-size: 14.5px;
	padding: 11px 26px;
	border-radius: 999px;
	text-decoration: none;
}

.ewnl-vkolom--hl .ewnl-vkolom__knop {
	background: var(--ewnl-ink);
	border-color: var(--ewnl-ink);
	color: #fff;
}

/* =====================================================================
 * Kraanwater
 * ================================================================== */

.ewnl-kraan {
	margin: 90px 24px 0;
	background: var(--ewnl-ice);
	border-radius: var(--ewnl-radius-l);
	padding: 76px 50px;
	text-align: center;
}

.ewnl-kraan .ewnl-kicker {
	color: #6b7a94;
}

.ewnl-kraan .ewnl-sectiekop__titel {
	font-size: 48px;
	margin: 12px 0 10px;
}

.ewnl-kraan .ewnl-sectiekop {
	margin-bottom: 0;
}

.ewnl-kraan__sub {
	max-width: 640px;
	margin: 0 auto 44px;
	font-size: 15.5px;
}

.ewnl-kraan__feiten {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 16px;
	max-width: 1080px;
	margin: 0 auto 26px;
}

.ewnl-feit {
	background: #fff;
	border-radius: var(--ewnl-radius);
	padding: 30px 26px;
	text-align: left;
}

.ewnl-feit__groot {
	font-family: var(--ewnl-serif);
	font-size: 40px;
	font-weight: 300;
	color: var(--ewnl-ink);
	line-height: 1.05;
}

.ewnl-feit__kop {
	font-family: var(--ewnl-sans) !important;
	font-size: 15px;
	font-weight: 600;
	color: var(--ewnl-ink);
	margin: 10px 0 6px;
}

.ewnl-feit p {
	font-size: 13.5px;
	line-height: 1.5;
	color: #7c8499;
	margin: 0;
}

.ewnl-meet {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 14px;
	flex-wrap: wrap;
	background: #fff;
	border-radius: 16px;
	padding: 16px 22px;
	max-width: 820px;
	margin: 0 auto 26px;
}

.ewnl-meet__titel {
	font-family: var(--ewnl-serif);
	font-style: italic;
	font-size: 17px;
	color: var(--ewnl-ink);
}

.ewnl-meet__item {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 13.5px;
	color: var(--ewnl-ink);
	text-decoration: none;
}

.ewnl-meet__item .ewnl-product-img {
	width: 38px;
	height: 38px;
	object-fit: contain;
}

.ewnl-meet__item b {
	display: block;
	font-size: 13.5px;
}

.ewnl-meet__item span span {
	color: var(--ewnl-muted);
	font-size: 12.5px;
}

.ewnl-kraan__bron {
	font-size: 12.5px;
	color: var(--ewnl-muted);
	margin-top: 18px;
}

/* =====================================================================
 * Voordelen
 * ================================================================== */

.ewnl-voordelen {
	padding: 90px 0 80px;
	text-align: center;
}

.ewnl-voordelen .ewnl-sectiekop__titel {
	font-size: 52px;
	margin: 14px 0 0;
}

.ewnl-voordelen__rij {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 30px;
	max-width: 1180px;
	margin: 0 auto;
}

.ewnl-voordeel__circ {
	width: 96px;
	height: 96px;
	border-radius: 50%;
	background: var(--ewnl-ice);
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 auto 20px;
	color: var(--ewnl-navy-2);
}

.ewnl-voordeel h3 {
	font-size: 21px;
	font-weight: 400;
	margin-bottom: 8px;
}

.ewnl-voordeel p {
	font-size: 14.5px;
	max-width: 250px;
	margin: 0 auto;
}

/* =====================================================================
 * Review
 * ================================================================== */

.ewnl-quote {
	display: grid;
	grid-template-columns: 1fr 1fr;
	min-height: 560px;
	margin: 80px 0 0;
}

.ewnl-quote__l {
	background: var(--ewnl-ice);
}

.ewnl-quote__l img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.ewnl-quote__r {
	background: var(--ewnl-navy);
	color: #fff;
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 70px 80px;
	position: relative;
}

.ewnl-quote__sterren {
	color: var(--ewnl-lime);
	letter-spacing: 3px;
	font-size: 15px;
	margin-bottom: 22px;
}

.ewnl-quote blockquote {
	font-family: var(--ewnl-serif);
	font-weight: 300;
	font-size: 36px;
	line-height: 1.25;
	margin: 0 0 34px;
	color: #fff;
	quotes: "“" "”";
}

.ewnl-quote blockquote::before {
	content: open-quote;
}

.ewnl-quote blockquote::after {
	content: close-quote;
}

.ewnl-quote__wie {
	display: flex;
	align-items: center;
	gap: 14px;
}

.ewnl-quote__av {
	width: 52px;
	height: 52px;
	border-radius: 50%;
	background: var(--ewnl-lime);
	color: var(--ewnl-ink);
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: 600;
	font-size: 15px;
	flex: none;
}

.ewnl-quote__wie b {
	font-family: var(--ewnl-serif);
	font-weight: 400;
	font-size: 17px;
	display: block;
}

.ewnl-quote__wie span {
	font-size: 13.5px;
	color: #aeb8d0;
	display: flex;
	align-items: center;
	gap: 6px;
}

/* =====================================================================
 * Onderhoudsabonnement
 * ================================================================== */

.ewnl-refill {
	margin: 90px 24px 0;
	background: var(--ewnl-lime);
	border-radius: var(--ewnl-radius-l);
	padding: 70px 60px;
	display: grid;
	grid-template-columns: 1.2fr 1fr;
	gap: 50px;
	align-items: center;
}

.ewnl-refill__titel {
	font-size: 44px;
	font-weight: 300;
}

.ewnl-refill__titel em {
	font-style: italic;
}

.ewnl-refill__tekst {
	color: #3c4a2a;
	margin: 10px 0 24px;
	max-width: 480px;
	font-size: 15.5px;
}

.ewnl-refill__items {
	display: grid;
	gap: 12px;
}

.ewnl-refill__item {
	background: rgba(255, 255, 255, 0.75);
	border-radius: 14px;
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 12px 16px;
	text-decoration: none;
}

.ewnl-refill__item.is-uitgelicht {
	outline: 2px solid var(--ewnl-ink);
}

.ewnl-refill__item .ewnl-product-img {
	width: 48px;
	height: 48px;
	object-fit: contain;
}

.ewnl-refill__itemtekst b {
	font-size: 14.5px;
	color: var(--ewnl-ink);
	display: block;
}

.ewnl-refill__itemtekst span {
	font-size: 13px;
	color: #6b7660;
}

.ewnl-refill__itemprijs {
	margin-left: auto;
	font-weight: 600;
	color: var(--ewnl-ink);
	white-space: nowrap;
}

.ewnl-refill__vrij {
	font-size: 13.5px;
	color: #3c4a2a;
	margin-bottom: 20px;
}

.ewnl-refill__extra {
	font-size: 13.5px;
	font-weight: 600;
	color: #3c4a2a;
	margin-bottom: 6px;
}

/* Frequentiekeuze ---------------------------------------------------- */

.ewnl-cadans__vraag {
	font-family: var(--ewnl-serif);
	font-size: 19px;
	color: var(--ewnl-ink);
	margin: 18px 0 12px;
}

.ewnl-cadans {
	display: flex;
	gap: 10px;
	flex-wrap: wrap;
	margin: 0 0 18px;
}

.ewnl-cadans__knop {
	position: relative;
	border: 1.5px solid rgba(16, 24, 40, 0.25);
	background: transparent;
	border-radius: 999px;
	padding: 10px 18px;
	font-family: var(--ewnl-sans);
	font-size: 14px;
	font-weight: 600;
	color: var(--ewnl-ink);
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	transition: background 0.15s ease, border-color 0.15s ease;
}

.ewnl-cadans__knop.is-aanbevolen {
	border-color: var(--ewnl-ink);
}

.ewnl-cadans__knop.is-actief {
	background: var(--ewnl-ink);
	color: var(--ewnl-lime);
	border-color: var(--ewnl-ink);
}

.ewnl-cadans__tip {
	position: absolute;
	top: -11px;
	left: 50%;
	transform: translateX(-50%);
	background: var(--ewnl-ink);
	color: var(--ewnl-lime);
	font-size: 10.5px;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	padding: 3px 10px;
	border-radius: 999px;
	white-space: nowrap;
}

.ewnl-cadans__knop.is-actief .ewnl-cadans__tip {
	background: var(--ewnl-lime);
	color: var(--ewnl-ink);
}

.ewnl-cadans__korting {
	font-size: 12px;
	opacity: 0.75;
}

.ewnl-cadans__paneel {
	display: none;
}

.ewnl-cadans__paneel.is-actief {
	display: block;
}

.ewnl-prijsrij {
	display: flex;
	align-items: baseline;
	gap: 12px;
	flex-wrap: wrap;
	margin: 4px 0 6px;
}

.ewnl-prijsrij__prijs {
	font-family: var(--ewnl-serif);
	font-size: 34px;
	color: var(--ewnl-ink);
	line-height: 1.1;
}

.ewnl-prijsrij__prijs del {
	color: #7c8a5f;
	font-size: 17px;
	margin-right: 6px;
}

.ewnl-prijsrij__prijs ins {
	text-decoration: none;
}

.ewnl-prijsrij__prijs .subscription-details {
	font-family: var(--ewnl-sans);
	font-size: 15px;
	color: #3c4a2a;
}

.ewnl-prijsrij__badge {
	background: var(--ewnl-ink);
	color: var(--ewnl-lime);
	font-size: 12.5px;
	font-weight: 600;
	padding: 5px 12px;
	border-radius: 999px;
	white-space: nowrap;
}

/* Abonneer-blok op de productpagina ---------------------------------- */

.ewnl-abonneer {
	background: var(--ewnl-card);
	border-radius: var(--ewnl-radius);
	padding: 22px 24px;
	margin: 20px 0;
}

.ewnl-abonneer__kop {
	font-family: var(--ewnl-serif);
	font-size: 22px;
	color: var(--ewnl-ink);
	margin-bottom: 4px;
}

/* =====================================================================
 * Kennisbank
 * ================================================================== */

.ewnl-kb {
	padding: 90px 0;
}

.ewnl-kb .ewnl-sectiekop__titel {
	font-size: 44px;
}

.ewnl-kb__rij {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 18px;
}

.ewnl-art {
	background: var(--ewnl-card);
	border-radius: var(--ewnl-radius);
	padding: 34px 32px;
	min-height: 230px;
	display: flex;
	flex-direction: column;
	text-decoration: none;
}

.ewnl-art__tag {
	font-size: 12.5px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--ewnl-muted);
	font-weight: 600;
}

.ewnl-art h3 {
	font-size: 24px;
	font-weight: 400;
	margin: 12px 0 10px;
}

.ewnl-art p {
	font-size: 14.5px;
	margin: 0;
}

.ewnl-art__go {
	margin-top: auto;
	padding-top: 18px;
	font-weight: 600;
	font-size: 14.5px;
	color: var(--ewnl-ink);
	align-self: flex-start;
}

.ewnl-art__go::after {
	content: "";
	display: block;
	border-bottom: 1.5px solid var(--ewnl-ink);
	padding-bottom: 2px;
}

/* =====================================================================
 * Productoverzicht (archiefpagina)
 * ================================================================== */

.ewnl-shop,
.ewnl-single {
	font-family: var(--ewnl-sans);
	color: var(--ewnl-body);
	font-size: 16px;
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
}

.ewnl-shop {
	padding: 40px 0 70px;
	padding-bottom: 70px;
}

.ewnl-kruimel {
	font-size: 13px;
	color: var(--ewnl-muted);
	margin-bottom: 20px;
}

.ewnl-kruimel a {
	color: var(--ewnl-muted);
	text-decoration: none;
}

.ewnl-kruimel a:hover {
	color: var(--ewnl-ink);
}

.ewnl-shop__kop {
	margin-bottom: 26px;
	max-width: 720px;
}

.ewnl-shop__titel,
.ewnl-single__titel {
	font-family: var(--ewnl-serif);
	font-weight: 300;
	color: var(--ewnl-ink);
	line-height: 1.12;
	margin: 0;
}

.ewnl-shop__titel {
	font-size: 48px;
}

.ewnl-shop__intro {
	margin-top: 12px;
	font-size: 15.5px;
}

.ewnl-shop__intro p {
	margin: 0 0 8px;
}

.ewnl-shop__balk {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	flex-wrap: wrap;
	padding: 14px 0 20px;
	border-top: 1px solid var(--ewnl-line);
	font-size: 14px;
	color: var(--ewnl-muted);
}

.ewnl-shop__balk .woocommerce-result-count {
	margin: 0;
}

.ewnl-shop__balk .woocommerce-ordering {
	margin: 0;
}

.ewnl-shop__balk select {
	font-family: var(--ewnl-sans);
	font-size: 14px;
	padding: 9px 14px;
	border: 1px solid var(--ewnl-line);
	border-radius: 999px;
	background: #fff;
	color: var(--ewnl-ink);
}

.ewnl-shop__leeg {
	text-align: center;
	padding: 70px 20px;
	color: var(--ewnl-muted);
}

.ewnl-shop__leeg svg {
	margin: 0 auto 16px;
	color: var(--ewnl-sage);
}

.ewnl-shop__leeg p {
	margin: 0 0 20px;
	font-size: 16px;
}

.woocommerce-pagination {
	margin-top: 40px;
}

.woocommerce-pagination ul {
	display: flex;
	gap: 8px;
	justify-content: center;
	list-style: none;
	margin: 0;
	padding: 0;
	border: 0;
}

.woocommerce-pagination ul li {
	border: 0;
	margin: 0;
}

.woocommerce-pagination ul li .page-numbers {
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 42px;
	height: 42px;
	padding: 0 12px;
	border-radius: 999px;
	background: var(--ewnl-card);
	color: var(--ewnl-ink);
	font-size: 14.5px;
	font-weight: 600;
	text-decoration: none;
}

.woocommerce-pagination ul li .page-numbers.current {
	background: var(--ewnl-ink);
	color: #fff;
}

/* =====================================================================
 * Productpagina
 * ================================================================== */

.ewnl-single {
	padding: 40px 0 20px;
	padding-bottom: 20px;
}

.ewnl-single__grid {
	display: grid;
	grid-template-columns: 1.05fr 1fr;
	gap: 48px;
	align-items: start;
	margin-bottom: 60px;
}

/* Galerij */

.ewnl-single__podium {
	position: relative;
	background: var(--ewnl-card);
	border-radius: var(--ewnl-radius-l);
	aspect-ratio: 1 / 1;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 48px;
	overflow: hidden;
}

.ewnl-single__img {
	max-width: 100%;
	max-height: 100%;
	width: auto;
	height: auto;
	object-fit: contain;
	mix-blend-mode: multiply;
	display: block;
}

.ewnl-single__nav {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 42px;
	height: 42px;
	border: 0;
	border-radius: 50%;
	background: #fff;
	color: var(--ewnl-ink);
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	box-shadow: 0 2px 10px rgba(16, 24, 40, 0.1);
}

.ewnl-single__nav--vorige {
	left: 16px;
}

.ewnl-single__nav--volgende {
	right: 16px;
}

.ewnl-single__thumbs {
	display: flex;
	gap: 10px;
	margin-top: 14px;
	flex-wrap: wrap;
}

.ewnl-single__thumb {
	width: 76px;
	height: 76px;
	border: 1.5px solid transparent;
	border-radius: 12px;
	background: var(--ewnl-card);
	padding: 6px;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
}

.ewnl-single__thumb.is-actief {
	border-color: var(--ewnl-ink);
}

.ewnl-single__thumb img {
	max-width: 100%;
	height: auto;
	object-fit: contain;
	mix-blend-mode: multiply;
	display: block;
}

/* Koopblok */

.ewnl-single__cat {
	font-size: 13px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--ewnl-muted);
	font-weight: 600;
	margin-bottom: 8px;
}

.ewnl-single__titel {
	font-size: 42px;
	margin-bottom: 12px;
}

.ewnl-single .woocommerce-product-rating {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 14px;
	font-size: 14px;
}

.ewnl-single__abo {
	display: inline-block;
	background: var(--ewnl-lime);
	color: var(--ewnl-ink);
	font-size: 13px;
	font-weight: 600;
	padding: 5px 14px;
	border-radius: 999px;
	margin-bottom: 12px;
}

.ewnl-single__prijs {
	font-family: var(--ewnl-serif);
	font-size: 36px;
	color: var(--ewnl-ink);
	line-height: 1.15;
	margin-bottom: 6px;
}

.ewnl-single__prijs del {
	color: #a9b0c0;
	font-size: 21px;
	margin-right: 10px;
}

.ewnl-single__prijs ins {
	text-decoration: none;
}

.ewnl-single__prijs .subscription-details,
.ewnl-single__prijs .woocommerce-Price-taxLabel {
	font-family: var(--ewnl-sans);
	font-size: 15px;
	color: var(--ewnl-body);
}

.ewnl-single__kort {
	font-size: 15.5px;
	margin: 14px 0 18px;
}

.ewnl-single__kort p {
	margin: 0 0 10px;
}

.ewnl-single__kenmerken,
.ewnl-single__usps {
	list-style: none;
	margin: 0 0 22px;
	padding: 0;
	display: grid;
	gap: 9px;
}

.ewnl-single__kenmerken li,
.ewnl-single__usps li {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 14.5px;
	color: var(--ewnl-body);
}

.ewnl-single__kenmerken svg {
	flex: none;
	color: var(--ewnl-navy-2);
}

.ewnl-single__usps {
	margin: 22px 0 0;
	padding-top: 18px;
	border-top: 1px solid var(--ewnl-line);
	gap: 8px;
}

.ewnl-single__usps svg {
	flex: none;
	color: var(--ewnl-navy-2);
}

.ewnl-single__cart {
	margin: 6px 0 4px;
}

.ewnl-single__cart .quantity input {
	width: 74px;
	height: 52px;
	border: 1px solid var(--ewnl-line);
	border-radius: 999px;
	text-align: center;
	font-family: var(--ewnl-sans);
	font-size: 15px;
	font-weight: 600;
	color: var(--ewnl-ink);
}

.ewnl-single__cart form.cart {
	display: flex;
	align-items: center;
	gap: 12px;
	flex-wrap: wrap;
	margin: 0;
}

.ewnl-single__cart form.variations_form {
	display: block;
}

.ewnl-single__cart .button,
.ewnl-single__cart button[type="submit"] {
	background: var(--ewnl-ink);
	color: #fff;
	border: 0;
	border-radius: 999px;
	padding: 16px 36px;
	font-family: var(--ewnl-sans);
	font-size: 15.5px;
	font-weight: 600;
	cursor: pointer;
	flex: 1;
	min-width: 200px;
}

.ewnl-single__cart .button:hover {
	background: var(--ewnl-navy);
}

.ewnl-single table.variations {
	width: 100%;
	margin-bottom: 14px;
}

.ewnl-single table.variations td {
	padding: 6px 0;
}

.ewnl-single table.variations select {
	width: 100%;
	font-family: var(--ewnl-sans);
	font-size: 15px;
	padding: 12px 16px;
	border: 1px solid var(--ewnl-line);
	border-radius: 12px;
	background: #fff;
}

.ewnl-single .product_meta {
	font-size: 13px;
	color: var(--ewnl-muted);
	margin-top: 16px;
}

.ewnl-single .product_meta a {
	color: var(--ewnl-muted);
}

/* Tabs */

.ewnl-single__tabs {
	margin-bottom: 20px;
}

.ewnl-single__tabs .wc-tabs {
	display: flex;
	gap: 10px;
	list-style: none;
	margin: 0 0 24px;
	padding: 0 0 14px;
	border-bottom: 1px solid var(--ewnl-line);
	flex-wrap: wrap;
}

.ewnl-single__tabs .wc-tabs li {
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
}

.ewnl-single__tabs .wc-tabs li a {
	display: block;
	padding: 10px 20px;
	border-radius: 999px;
	background: var(--ewnl-card);
	color: var(--ewnl-ink);
	font-size: 14.5px;
	font-weight: 600;
	text-decoration: none;
}

.ewnl-single__tabs .wc-tabs li.active a {
	background: var(--ewnl-ink);
	color: #fff;
}

.ewnl-single__tabs .woocommerce-Tabs-panel h2 {
	font-family: var(--ewnl-serif);
	font-size: 26px;
	font-weight: 400;
	color: var(--ewnl-ink);
	margin: 0 0 12px;
}

.ewnl-single__tabs table.shop_attributes th {
	text-align: left;
	font-weight: 600;
	color: var(--ewnl-ink);
	padding: 10px 16px 10px 0;
	border-bottom: 1px solid var(--ewnl-line);
	width: 40%;
}

.ewnl-single__tabs table.shop_attributes td {
	padding: 10px 0;
	border-bottom: 1px solid var(--ewnl-line);
}

.ewnl-single__tabs table.shop_attributes td p {
	margin: 0;
}

/* Gerelateerde producten */

.ewnl-single .related,
.ewnl-single .up-sells {
	max-width: 1420px;
	margin: 0 auto;
	padding: 30px 40px 60px;
}

.ewnl-single .related > h2,
.ewnl-single .up-sells > h2 {
	font-family: var(--ewnl-serif);
	font-size: 34px;
	font-weight: 300;
	color: var(--ewnl-ink);
	margin: 0 0 24px;
}

/* =====================================================================
 * Zijwinkelwagen
 * ================================================================== */

body.ewnl-sidecart-open {
	overflow: hidden;
}

.ewnl-sidecart {
	position: fixed;
	inset: 0;
	z-index: 9999;
	visibility: hidden;
	pointer-events: none;
	font-family: var(--ewnl-sans);
	color: var(--ewnl-body);
	font-size: 16px;
	line-height: 1.6;
}

.ewnl-sidecart.is-open {
	visibility: visible;
	pointer-events: auto;
}

.ewnl-sidecart__overlay {
	position: absolute;
	inset: 0;
	background: rgba(10, 16, 34, 0.45);
	opacity: 0;
	transition: opacity 0.25s ease;
}

.ewnl-sidecart.is-open .ewnl-sidecart__overlay {
	opacity: 1;
}

.ewnl-sidecart__paneel {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	width: 420px;
	max-width: 100%;
	background: #fff;
	display: flex;
	flex-direction: column;
	transform: translateX(100%);
	transition: transform 0.28s cubic-bezier(0.4, 0, 0.2, 1);
	box-shadow: -18px 0 48px rgba(16, 24, 40, 0.16);
}

.ewnl-sidecart.is-open .ewnl-sidecart__paneel {
	transform: translateX(0);
}

.ewnl-sidecart.is-bezig .ewnl-sidecart__body {
	opacity: 0.55;
	pointer-events: none;
}

/* Kop */

.ewnl-sidecart__kop {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 22px 24px 16px;
	border-bottom: 1px solid var(--ewnl-line);
	flex: none;
}

.ewnl-sidecart__titel {
	font-family: var(--ewnl-serif);
	font-size: 24px;
	font-weight: 400;
	color: var(--ewnl-ink);
	margin: 0;
}

.ewnl-sidecart__sluit {
	background: var(--ewnl-card);
	border: 0;
	border-radius: 50%;
	width: 38px;
	height: 38px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--ewnl-ink);
	cursor: pointer;
	flex: none;
}

.ewnl-sidecart__sluit:hover {
	background: var(--ewnl-ice);
}

/* Regels */

.ewnl-sidecart__body {
	flex: 1;
	overflow-y: auto;
	padding: 8px 24px;
	transition: opacity 0.15s ease;
}

.ewnl-sidecart__item {
	display: flex;
	gap: 14px;
	padding: 18px 0;
	border-bottom: 1px solid var(--ewnl-line);
	position: relative;
}

.ewnl-sidecart__item.is-verwijderen {
	opacity: 0.4;
}

.ewnl-sidecart__thumb {
	width: 72px;
	flex: none;
	background: var(--ewnl-card);
	border-radius: 12px;
	padding: 8px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.ewnl-sidecart__thumb img {
	width: 100%;
	height: auto;
	object-fit: contain;
	mix-blend-mode: multiply;
	display: block;
}

.ewnl-sidecart__info {
	flex: 1;
	min-width: 0;
	padding-right: 20px;
}

.ewnl-sidecart__cat {
	display: block;
	font-size: 12.5px;
	color: var(--ewnl-muted);
}

.ewnl-sidecart__naam {
	display: block;
	font-size: 15px;
	font-weight: 600;
	color: var(--ewnl-ink);
	text-decoration: none;
	line-height: 1.3;
}

.ewnl-sidecart__abo {
	display: inline-block;
	margin-top: 5px;
	background: var(--ewnl-lime);
	color: var(--ewnl-ink);
	font-size: 11.5px;
	font-weight: 600;
	padding: 3px 10px;
	border-radius: 999px;
}

.ewnl-sidecart__meta {
	font-size: 12.5px;
	color: var(--ewnl-muted);
	margin-top: 4px;
}

.ewnl-sidecart__meta p {
	margin: 0;
}

.ewnl-sidecart__rij {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-top: 10px;
}

.ewnl-sidecart__aantal {
	display: inline-flex;
	align-items: center;
	border: 1px solid var(--ewnl-line);
	border-radius: 999px;
	overflow: hidden;
}

.ewnl-sidecart__stap {
	width: 30px;
	height: 30px;
	border: 0;
	background: transparent;
	color: var(--ewnl-ink);
	font-size: 15px;
	line-height: 1;
	cursor: pointer;
}

.ewnl-sidecart__stap:hover {
	background: var(--ewnl-card);
}

.ewnl-sidecart__aantal-veld {
	width: 34px;
	border: 0;
	text-align: center;
	font-family: var(--ewnl-sans);
	font-size: 14px;
	font-weight: 600;
	color: var(--ewnl-ink);
	background: transparent;
	-moz-appearance: textfield;
	appearance: textfield;
}

.ewnl-sidecart__aantal-veld::-webkit-outer-spin-button,
.ewnl-sidecart__aantal-veld::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

.ewnl-sidecart__aantal-vast {
	font-size: 13.5px;
	color: var(--ewnl-muted);
}

.ewnl-sidecart__prijs {
	font-weight: 600;
	color: var(--ewnl-ink);
	font-size: 15px;
	white-space: nowrap;
}

.ewnl-sidecart__verwijder {
	position: absolute;
	top: 18px;
	right: 0;
	background: transparent;
	border: 0;
	color: var(--ewnl-muted);
	cursor: pointer;
	padding: 2px;
	line-height: 0;
}

.ewnl-sidecart__verwijder:hover {
	color: var(--ewnl-ink);
}

/* Leeg */

.ewnl-sidecart__leeg {
	text-align: center;
	padding: 60px 20px;
	color: var(--ewnl-muted);
}

.ewnl-sidecart__leeg svg {
	margin: 0 auto 16px;
	color: var(--ewnl-sage);
}

.ewnl-sidecart__leeg p {
	margin: 0 0 20px;
	font-size: 15px;
}

/* Voet */

.ewnl-sidecart__voet:empty {
	display: none;
}

.ewnl-sidecart__voet {
	flex: none;
	border-top: 1px solid var(--ewnl-line);
	padding: 18px 24px 22px;
	background: #fff;
}

.ewnl-sidecart__verzend {
	background: var(--ewnl-ice);
	border-radius: 12px;
	padding: 12px 14px;
	margin-bottom: 16px;
}

.ewnl-sidecart__verzend.is-bereikt {
	background: var(--ewnl-lime);
}

.ewnl-sidecart__verzend-tekst {
	display: flex;
	align-items: center;
	gap: 9px;
	margin: 0 0 9px;
	font-size: 13.5px;
	color: var(--ewnl-ink);
}

.ewnl-sidecart__verzend-tekst svg {
	flex: none;
}

.ewnl-sidecart__verzend-balk {
	display: block;
	height: 4px;
	border-radius: 4px;
	background: rgba(16, 24, 40, 0.12);
	overflow: hidden;
}

.ewnl-sidecart__verzend-vul {
	display: block;
	height: 100%;
	border-radius: 4px;
	background: var(--ewnl-navy);
	transition: width 0.3s ease;
}

.ewnl-sidecart__totalen {
	margin-bottom: 10px;
}

.ewnl-sidecart__totaalrij {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 12px;
	font-size: 15px;
	color: var(--ewnl-ink);
	padding: 3px 0;
}

.ewnl-sidecart__totaalrij span:last-child {
	font-weight: 600;
}

.ewnl-sidecart__totaalrij--korting {
	color: #3f7d4e;
}

.ewnl-sidecart__abo-blok {
	background: var(--ewnl-card);
	border-radius: 12px;
	padding: 10px 14px;
	margin-bottom: 12px;
}

.ewnl-sidecart__abo-rij {
	display: flex;
	justify-content: space-between;
	gap: 12px;
	font-size: 13.5px;
	color: var(--ewnl-body);
	padding: 2px 0;
}

.ewnl-sidecart__abo-rij span:last-child {
	font-weight: 600;
	color: var(--ewnl-ink);
}

.ewnl-sidecart__notitie {
	font-size: 12.5px;
	color: var(--ewnl-muted);
	margin: 0 0 14px;
}

.ewnl-sidecart__afrekenen {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	width: 100%;
	padding: 15px 24px;
	font-size: 15.5px;
}

.ewnl-sidecart__afrekenen-totaal {
	font-weight: 600;
	opacity: 0.85;
}

.ewnl-sidecart__link {
	display: block;
	text-align: center;
	margin-top: 12px;
	font-size: 14px;
	font-weight: 600;
	color: var(--ewnl-ink);
	text-decoration: underline;
	text-underline-offset: 3px;
}

.ewnl-sidecart__usps {
	list-style: none;
	margin: 16px 0 0;
	padding: 14px 0 0;
	border-top: 1px solid var(--ewnl-line);
	display: grid;
	gap: 7px;
}

.ewnl-sidecart__usps li {
	display: flex;
	align-items: center;
	gap: 9px;
	font-size: 13px;
	color: var(--ewnl-body);
}

.ewnl-sidecart__usps svg {
	flex: none;
	color: var(--ewnl-navy-2);
}

@media (max-width: 480px) {
	.ewnl-sidecart__paneel {
		width: 100%;
	}

	.ewnl-sidecart__kop,
	.ewnl-sidecart__body,
	.ewnl-sidecart__voet {
		padding-left: 18px;
		padding-right: 18px;
	}
}

/* =====================================================================
 * Responsief
 * ================================================================== */

@media (max-width: 1200px) {
	.ewnl-hero__titel {
		font-size: 56px;
	}

	/* Ook expliciet de kolommen zetten: het aantal staat als inline stijl op het
	   element, en die zou de variabele hier anders overstemmen. */
	.ewnl-kaarten,
	.ewnl-shop ul.products,
	.ewnl-single ul.products {
		--ewnl-kolommen: 3;
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 1000px) {
	.ewnl-wrap {
		padding: 0 24px;
	}

	.ewnl-kaarten,
	.ewnl-shop ul.products,
	.ewnl-single ul.products,
	.ewnl-voordelen__rij {
		--ewnl-kolommen: 2;
		grid-template-columns: 1fr 1fr;
	}

	.ewnl-rtegels,
	.ewnl-kb__rij,
	.ewnl-kraan__feiten {
		grid-template-columns: 1fr;
	}

	.ewnl-vergelijk__kolommen {
		--ewnl-kolommen: 1;
		grid-template-columns: 1fr;
	}

	.ewnl-quote {
		grid-template-columns: 1fr;
	}

	.ewnl-quote__l {
		min-height: 320px;
	}

	.ewnl-quote__r {
		padding: 48px 30px;
	}

	.ewnl-quote blockquote {
		font-size: 27px;
	}

	.ewnl-refill {
		grid-template-columns: 1fr;
		padding: 44px 30px;
	}

	.ewnl-hero__titel {
		font-size: 40px;
	}

	.ewnl-sectiekop--midden .ewnl-sectiekop__titel,
	.ewnl-kraan .ewnl-sectiekop__titel,
	.ewnl-voordelen .ewnl-sectiekop__titel,
	.ewnl-vergelijk .ewnl-sectiekop__titel {
		font-size: 34px;
	}

	.ewnl-sectiekop__titel {
		font-size: 30px;
	}

	.ewnl-kraan,
	.ewnl-vergelijk,
	.ewnl-refill {
		margin-left: 16px;
		margin-right: 16px;
		padding-left: 24px;
		padding-right: 24px;
	}

	.ewnl-single__grid {
		grid-template-columns: 1fr;
		gap: 30px;
	}

	.ewnl-shop__titel {
		font-size: 34px;
	}

	.ewnl-single__titel {
		font-size: 30px;
	}

	.ewnl-single__prijs {
		font-size: 29px;
	}

	.ewnl-single .related,
	.ewnl-single .up-sells {
		padding-left: 24px;
		padding-right: 24px;
	}

	.ewnl-vergelijk__kolommen {
		padding: 0;
	}
}

@media (max-width: 760px) {
	.ewnl-nav {
		padding: 0 16px;
		gap: 12px;
	}

	.ewnl-nav__toggle {
		display: flex;
	}

	.ewnl-nav__menu {
		position: absolute;
		top: calc(100% + 10px);
		left: 0;
		right: 0;
		background: var(--ewnl-navy);
		border-radius: 14px;
		padding: 16px 20px;
		display: none;
	}

	.ewnl-nav__menu.is-open {
		display: block;
	}

	.ewnl-nav__lijst {
		flex-direction: column;
		gap: 14px;
	}

	.ewnl-nav__merk {
		position: static;
		transform: none;
		margin: 0 auto;
	}

	.ewnl-nav__merknaam {
		font-size: 21px;
	}

	.ewnl-nav__logo {
		max-width: 140px;
	}

	.ewnl-zoek__paneel {
		position: fixed;
		top: 88px;
		left: 16px;
		right: 16px;
		width: auto;
		max-width: none;
	}

	.ewnl-hero {
		min-height: 520px;
	}

	.ewnl-hero__titel {
		font-size: 32px;
	}

	.ewnl-hero__helft {
		width: 100%;
	}

	.ewnl-hero__helft--r {
		display: none;
	}

	.ewnl-kaarten,
	.ewnl-shop ul.products,
	.ewnl-single ul.products,
	.ewnl-voordelen__rij {
		--ewnl-kolommen: 1;
		grid-template-columns: 1fr;
	}

	.ewnl-card {
		min-height: 340px;
	}

	.ewnl-trust__in {
		justify-content: flex-start;
		padding: 12px 24px;
		gap: 12px;
	}

	.ewnl-meet {
		flex-direction: column;
		align-items: flex-start;
	}

	.ewnl-prijsrij__prijs {
		font-size: 28px;
	}
}

/* =====================================================================
 * Compatibiliteit — wint van WooCommerce-core en het thema
 *
 * WooCommerce laat de productlus met floats en vaste breedtes lopen, en veel
 * thema's zetten daar hun eigen regels overheen. Die floats zorgen ervoor dat
 * onze kaarten stapelen en buiten de container lopen. Hieronder zetten we de
 * lus om naar een echte grid.
 *
 * Deze sectie staat bewust achteraan en gebruikt op een paar plekken !important:
 * alleen op de eigenschappen die thema's daadwerkelijk overschrijven (float,
 * breedte, marge, lijstopmaak, knopkleur).
 * ================================================================== */

.ewnl-shop ul.products,
.ewnl-single ul.products,
.ewnl-single .related ul.products,
.ewnl-single .up-sells ul.products,
.woocommerce .ewnl-shop ul.products,
.woocommerce .ewnl-single ul.products {
	display: grid !important;
	/* Kadence zet .grid-cols standaard op één kolom. Onze selector is specifieker
	   en zou dus al winnen, maar deze regel is te belangrijk om af te laten hangen
	   van specificiteit: een thema-update of een CSS-optimalisatieplugin die de
	   volgorde herschrijft, zou de hele lus weer laten stapelen. */
	grid-template-columns: repeat(var(--ewnl-kolommen, 4), minmax(0, 1fr)) !important;
	gap: 18px !important;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
	float: none !important;
	width: auto !important;
}

.ewnl-shop ul.products > li.product,
.ewnl-single ul.products > li.product,
.woocommerce .ewnl-shop ul.products > li.product,
.woocommerce .ewnl-single ul.products > li.product {
	float: none !important;
	clear: none !important;
	width: auto !important;
	max-width: none !important;
	min-width: 0;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
	display: block;
}

/* Bulletjes en clearfix-pseudo's van thema's uitzetten. */
.ewnl-shop ul.products::before,
.ewnl-shop ul.products::after,
.ewnl-single ul.products::before,
.ewnl-single ul.products::after,
.ewnl-shop ul.products > li.product::before,
.ewnl-shop ul.products > li.product::after,
.ewnl-single ul.products > li.product::before,
.ewnl-single ul.products > li.product::after {
	content: none !important;
	display: none !important;
}

/* Thema's zetten vaak eigen opmaak op de kaartonderdelen — die neutraliseren. */
.ewnl-card a,
.ewnl-card a:hover {
	text-decoration: none;
	box-shadow: none;
}

.ewnl-card .ewnl-card__nm,
.ewnl-card .ewnl-card__cat,
.ewnl-card .ewnl-card__pr {
	text-align: left;
	padding: 0;
	margin-top: 2px;
}

/* Alleen wanneer ONZE kaart gerenderd is (li.ewnl-kaart-li) verbergen we de
   losse titel/prijs/knop die thema's er soms nog naast injecteren. Zet je de
   meegeleverde kaart uit, dan blijft de klassieke WooCommerce-kaart intact. */
.ewnl-shop ul.products > li.product.ewnl-kaart-li > .woocommerce-loop-product__title,
.ewnl-shop ul.products > li.product.ewnl-kaart-li > .price,
.ewnl-shop ul.products > li.product.ewnl-kaart-li > .button,
.ewnl-shop ul.products > li.product.ewnl-kaart-li > .added_to_cart,
.ewnl-single ul.products > li.product.ewnl-kaart-li > .woocommerce-loop-product__title,
.ewnl-single ul.products > li.product.ewnl-kaart-li > .price,
.ewnl-single ul.products > li.product.ewnl-kaart-li > .button,
.ewnl-single ul.products > li.product.ewnl-kaart-li > .added_to_cart {
	display: none !important;
}

/* Gerelateerde producten en upsells: kop in de huisstijl. */
.ewnl-single .related > h2,
.ewnl-single .up-sells > h2,
.woocommerce .ewnl-single .related > h2,
.woocommerce .ewnl-single .up-sells > h2 {
	font-family: var(--ewnl-serif) !important;
	font-size: 34px;
	font-weight: 300;
	color: var(--ewnl-ink);
	margin: 0 0 24px;
	text-align: left;
}

/* Winkelwagenknop op de productpagina in de huisstijl. */
.ewnl-single .ewnl-single__cart .button,
.ewnl-single .ewnl-single__cart button.single_add_to_cart_button,
.woocommerce .ewnl-single .ewnl-single__cart button.single_add_to_cart_button {
	background: var(--ewnl-ink) !important;
	color: #fff !important;
	border: 0 !important;
	border-radius: 999px !important;
	padding: 16px 36px;
	font-family: var(--ewnl-sans);
	font-size: 15.5px;
	font-weight: 600;
	text-transform: none;
	letter-spacing: 0;
}

.ewnl-single .ewnl-single__cart .button:hover,
.ewnl-single .ewnl-single__cart button.single_add_to_cart_button:hover {
	background: var(--ewnl-navy) !important;
}

/* Zoekveld in de donkere balk: thema's geven inputs een witte achtergrond. */
.ewnl-nav .ewnl-zoek__veld,
.ewnl-nav input[type="search"].ewnl-zoek__veld {
	background: transparent !important;
	border: 0 !important;
	border-bottom: 1px solid transparent !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	color: #fff !important;
	height: auto !important;
	min-height: 0 !important;
	line-height: 1.4;
}

.ewnl-nav .ewnl-zoek__veld:focus {
	border-bottom-color: rgba(255, 255, 255, 0.4) !important;
	outline: none !important;
}

/* De navigatiebalk zelf mag niet door thema-opmaak worden opgerekt. */
.ewnl-nav .ewnl-nav__lijst,
.ewnl-nav .ewnl-nav__lijst li {
	list-style: none !important;
	margin: 0;
	padding: 0;
	background: none;
}

.ewnl-nav .ewnl-nav__lijst li::before,
.ewnl-nav .ewnl-nav__lijst li::after {
	content: none !important;
}

/* Kaartraster van de losse blokken: ook hier de lijstopmaak neutraliseren. */
.ewnl-kaarten {
	list-style: none;
}

.ewnl-kaarten > li {
	list-style: none;
	margin: 0;
	padding: 0;
}

/* De zwevende balk onder de WordPress-adminbalk laten vallen. */
body.admin-bar .ewnl-navwrap--zwevend {
	top: 46px;
}

@media (max-width: 782px) {
	body.admin-bar .ewnl-navwrap--zwevend {
		top: 60px;
	}
}

/* Onze eigen archief- en productpagina hebben geen hero die de zwevende balk
   opvangt, dus daar maken we er ruimte voor. Gebruik je een gewone (niet-
   zwevende) header, zet deze waarde dan op 0 in je Custom CSS. */
.ewnl-shop,
.ewnl-single {
	padding-top: 110px;
}

@media (max-width: 760px) {
	.ewnl-shop,
	.ewnl-single {
		padding-top: 92px;
	}
}

/* Logo leesbaar op de donkerblauwe balk. Een logobestand met donkere letters valt
   daar weg; deze filter maakt het volledig wit, net als de merknaam in het ontwerp.
   Uit te zetten met "Logo wit weergeven" als je al een wit logo uploadt. */
.ewnl-nav__merk--wit .ewnl-nav__logo {
	filter: brightness(0) invert(1);
}

/* Kolomaantal uit WooCommerce zelf overnemen (ul.products krijgt columns-N mee),
   zodat de instelling doorwerkt zonder inline stijl. */
.ewnl-shop ul.products.columns-1,
.ewnl-single ul.products.columns-1 { --ewnl-kolommen: 1; }
.ewnl-shop ul.products.columns-2,
.ewnl-single ul.products.columns-2 { --ewnl-kolommen: 2; }
.ewnl-shop ul.products.columns-3,
.ewnl-single ul.products.columns-3 { --ewnl-kolommen: 3; }
.ewnl-shop ul.products.columns-4,
.ewnl-single ul.products.columns-4 { --ewnl-kolommen: 4; }
.ewnl-shop ul.products.columns-5,
.ewnl-single ul.products.columns-5 { --ewnl-kolommen: 5; }
.ewnl-shop ul.products.columns-6,
.ewnl-single ul.products.columns-6 { --ewnl-kolommen: 6; }

/* Op tablet en mobiel wint het schermformaat van het ingestelde aantal. */
@media (max-width: 1200px) {
	.ewnl-shop ul.products[class*="columns-"],
	.ewnl-single ul.products[class*="columns-"] {
		--ewnl-kolommen: 3;
	}
}

@media (max-width: 1000px) {
	.ewnl-shop ul.products[class*="columns-"],
	.ewnl-single ul.products[class*="columns-"] {
		--ewnl-kolommen: 2;
	}
}

@media (max-width: 760px) {
	.ewnl-shop ul.products[class*="columns-"],
	.ewnl-single ul.products[class*="columns-"] {
		--ewnl-kolommen: 1;
	}
}

/* =====================================================================
 * Responsief voor de productlus — MOET achteraan staan
 *
 * Het kolomaantal komt als inline stijl op de <ul> (--ewnl-kolommen), en een
 * inline stijl wint van elke regel in een stylesheet. Zonder deze blokken zou
 * een telefoon dus vasthouden aan het desktopaantal en de kaarten platdrukken.
 * Daarom hier expliciet en met !important, ná het compatibiliteitsblok.
 * ================================================================== */

@media (max-width: 1200px) {
	.ewnl-shop ul.products,
	.ewnl-single ul.products,
	.ewnl-kaarten {
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	}
}

@media (max-width: 1000px) {
	.ewnl-shop ul.products,
	.ewnl-single ul.products,
	.ewnl-kaarten {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
}

@media (max-width: 600px) {
	.ewnl-shop ul.products,
	.ewnl-single ul.products,
	.ewnl-kaarten {
		grid-template-columns: minmax(0, 1fr) !important;
	}
}

/* =====================================================================
 * Volle breedte op onze eigen archief- en productpagina
 *
 * Onze templates brengen hun eigen kader mee (.ewnl-wrap, max-width 1420px).
 * Het thema zet daar zijn contentcontainer omheen — bij Kadence 1290px — en
 * wc_product_class() plakt bovendien de kaartopmaak van het thema (.content-bg,
 * .entry-content-wrap met 2rem padding) op onze wrapper. Samen levert dat een
 * ingelijst blok van ~1146px op in plaats van de 1340px uit het ontwerp.
 * ================================================================== */

.ewnl-eigen-template .content-container.site-container,
.ewnl-eigen-template .content-area {
	max-width: none;
	padding-left: 0;
	padding-right: 0;
}

/* De kaartopmaak die het thema via de productklassen meegeeft, hoort niet op
   onze paginawrapper — die is de pagina zelf, geen kaart. */
/* Alleen de zijkanten en onderkant neutraliseren: de ruimte bovenin hebben we
   nodig om de zwevende navigatiebalk op te vangen. */
.ewnl-single.entry-content-wrap,
.ewnl-shop.entry-content-wrap,
.ewnl-single .entry-content-wrap,
.ewnl-shop .entry-content-wrap {
	padding-left: 0 !important;
	padding-right: 0 !important;
	padding-bottom: 0 !important;
}

.ewnl-single.content-bg,
.ewnl-shop.content-bg {
	background: transparent !important;
	box-shadow: none !important;
	border: 0 !important;
}

/* Het thema geeft losse producten in een lus soms een marge mee; onze wrapper
   is geen lus-item. */
.ewnl-single.entry,
.ewnl-shop.entry {
	margin: 0;
}

/* =====================================================================
 * Productoverzicht conform ontwerp: banner, filterkolom, uitlegblok
 * ================================================================== */

/* Sfeerbanner ------------------------------------------------------- */

.ewnl-banner {
	position: relative;
	border-radius: var(--ewnl-radius);
	overflow: hidden;
	height: 320px;
	margin-bottom: 4px;
}

.ewnl-banner__bg {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.ewnl-banner__waas {
	position: absolute;
	inset: 0;
	background: rgba(10, 16, 34, 0.42);
}

.ewnl-banner__c {
	position: absolute;
	inset: 0;
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 0 60px;
	color: #fff;
}

.ewnl-banner__c .ewnl-kicker {
	color: #dfe8f5;
}

.ewnl-banner h1 {
	font-family: var(--ewnl-serif);
	font-weight: 300;
	color: #fff;
	font-size: 52px;
	line-height: 1.12;
	margin: 10px 0 0;
}

.ewnl-banner h1 em {
	font-style: italic;
}

.ewnl-banner p {
	max-width: 520px;
	color: #e6ecf7;
	font-size: 15.5px;
	margin-top: 8px;
}

/* Werkbalk ---------------------------------------------------------- */

.ewnl-werkbalk {
	display: flex;
	align-items: center;
	gap: 18px;
	padding: 26px 0 22px;
	font-size: 14.5px;
	flex-wrap: wrap;
}

.ewnl-werkbalk__filters {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	border: 1.5px solid var(--ewnl-line);
	background: #fff;
	border-radius: 999px;
	padding: 11px 20px;
	font-family: var(--ewnl-sans);
	font-weight: 600;
	font-size: 14.5px;
	color: var(--ewnl-ink);
	cursor: pointer;
}

.ewnl-werkbalk .woocommerce-result-count {
	margin: 0;
	color: var(--ewnl-muted);
}

.ewnl-werkbalk .woocommerce-ordering {
	margin: 0 0 0 auto;
	display: flex;
	align-items: center;
	gap: 10px;
	color: var(--ewnl-muted);
}

.ewnl-werkbalk select {
	font-family: var(--ewnl-sans);
	font-weight: 600;
	font-size: 14.5px;
	color: var(--ewnl-ink);
	border: 1.5px solid var(--ewnl-line);
	border-radius: 999px;
	padding: 10px 16px;
	background: #fff;
}

/* Layout met filterkolom -------------------------------------------- */

.ewnl-layout {
	display: grid;
	grid-template-columns: 250px 1fr;
	gap: 36px;
	align-items: start;
}

.ewnl-layout--breed {
	grid-template-columns: 1fr;
}

.ewnl-side__sluit {
	display: none;
	position: absolute;
	top: 14px;
	right: 14px;
	background: var(--ewnl-card);
	border: 0;
	border-radius: 50%;
	width: 34px;
	height: 34px;
	align-items: center;
	justify-content: center;
	color: var(--ewnl-ink);
	cursor: pointer;
}

/* Keuzehulp */

.ewnl-keuzehulp {
	background: var(--ewnl-ice);
	border-radius: 14px;
	padding: 18px;
	margin-bottom: 22px;
}

.ewnl-keuzehulp b {
	font-family: var(--ewnl-serif);
	font-weight: 400;
	font-size: 17px;
	color: var(--ewnl-ink);
	display: block;
	margin-bottom: 4px;
}

.ewnl-keuzehulp p {
	font-size: 13px;
	margin: 0 0 12px;
}

.ewnl-keuzehulp a {
	display: inline-block;
	background: var(--ewnl-ink);
	color: #fff;
	font-size: 13px;
	font-weight: 600;
	padding: 9px 18px;
	border-radius: 999px;
	text-decoration: none;
}

/* Filter-widgets */

.ewnl-filter__titel {
	font-family: var(--ewnl-serif);
	font-size: 19px;
	font-weight: 400;
	color: var(--ewnl-ink);
	padding: 16px 0 10px;
	margin: 0;
	border-top: 1px solid var(--ewnl-line);
}

.ewnl-filter:first-of-type .ewnl-filter__titel {
	border-top: none;
	padding-top: 0;
}

.ewnl-filter ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.ewnl-filter li {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 14.5px;
	padding: 5px 0;
	color: var(--ewnl-body);
}

.ewnl-filter li a {
	text-decoration: none;
	color: inherit;
}

.ewnl-filter .count {
	margin-left: auto;
	color: #a9b0c0;
	font-size: 13px;
}

.ewnl-filter input[type="checkbox"] {
	width: 17px;
	height: 17px;
	border-radius: 4px;
	accent-color: var(--ewnl-navy);
}

/* Kaart: voor-wie-regel en abonnementskaart -------------------------- */

.ewnl-card__voorwie {
	font-family: var(--ewnl-serif);
	font-style: italic;
	font-size: 13.5px;
	color: #6b7690;
	margin: 3px 0 4px;
	line-height: 1.4;
	display: block;
}

.ewnl-card--abo {
	background: var(--ewnl-lime);
}

.ewnl-card--abo .ewnl-card__cat {
	color: #5c6b45;
}

.ewnl-card--abo .ewnl-card__voorwie {
	color: #3c4a2a;
}

.ewnl-card__ps {
	display: block;
	font-size: 12.5px;
	color: #3c4a2a;
}

/* Uitlegblok met FAQ ------------------------------------------------ */

.ewnl-uitleg {
	display: grid;
	grid-template-columns: 1.3fr 1fr;
	gap: 60px;
	padding: 80px 0 40px;
}

.ewnl-uitleg__tekst h2 {
	font-family: var(--ewnl-serif);
	font-weight: 300;
	color: var(--ewnl-ink);
	font-size: 34px;
	line-height: 1.12;
	margin: 0 0 14px;
}

.ewnl-uitleg__tekst h2 em {
	font-style: italic;
}

.ewnl-uitleg__tekst p {
	font-size: 15px;
	margin: 0 0 12px;
}

.ewnl-uitleg__tekst h3 {
	font-family: var(--ewnl-sans);
	font-size: 16.5px;
	font-weight: 600;
	color: var(--ewnl-ink);
	margin: 18px 0 6px;
}

.ewnl-faq {
	background: var(--ewnl-card);
	border-radius: var(--ewnl-radius);
	padding: 12px 28px;
	align-self: start;
}

.ewnl-faq h2 {
	font-family: var(--ewnl-serif);
	font-weight: 300;
	color: var(--ewnl-ink);
	font-size: 24px;
	padding: 18px 0 6px;
	margin: 0;
}

.ewnl-faq details {
	border-bottom: 1px solid var(--ewnl-line);
	padding: 15px 0;
}

.ewnl-faq details:last-child {
	border-bottom: none;
}

.ewnl-faq summary {
	font-weight: 600;
	font-size: 15px;
	color: var(--ewnl-ink);
	cursor: pointer;
	list-style: none;
	display: flex;
	justify-content: space-between;
	gap: 10px;
}

.ewnl-faq summary::-webkit-details-marker {
	display: none;
}

.ewnl-faq summary::after {
	content: "+";
	color: var(--ewnl-ink);
	font-size: 18px;
	line-height: 1;
}

.ewnl-faq details[open] summary::after {
	content: "\2212";
}

.ewnl-faq details p {
	font-size: 14px;
	padding-top: 8px;
	margin: 0;
}

@media (max-width: 1000px) {
	.ewnl-layout {
		grid-template-columns: 1fr;
	}

	.ewnl-uitleg {
		grid-template-columns: 1fr;
		gap: 30px;
		padding: 50px 0 30px;
	}

	.ewnl-banner {
		height: 260px;
	}

	.ewnl-banner__c {
		padding: 0 30px;
	}

	.ewnl-banner h1 {
		font-size: 36px;
	}

	/* Filters schuiven op smalle schermen in van links. */
	.ewnl-side {
		position: fixed;
		top: 0;
		left: 0;
		bottom: 0;
		width: 300px;
		max-width: 86vw;
		background: #fff;
		z-index: 9998;
		padding: 24px 20px;
		overflow-y: auto;
		transform: translateX(-100%);
		transition: transform 0.25s ease;
		box-shadow: 18px 0 48px rgba(16, 24, 40, 0.16);
	}

	.ewnl-side.is-open {
		transform: translateX(0);
	}

	.ewnl-side__sluit {
		display: flex;
	}

	body.ewnl-filters-open {
		overflow: hidden;
	}
}

@media (min-width: 1001px) {
	.ewnl-werkbalk__filters {
		display: none;
	}
}

/* Beheerdershint op het overzicht — nooit zichtbaar voor bezoekers. */
.ewnl-beheerhint {
	border: 1px dashed #c9a227;
	background: #fffaf0;
	border-radius: 12px;
	padding: 16px 20px;
	margin: 0 0 40px;
	font-size: 13.5px;
	color: #6b5a1e;
}

.ewnl-beheerhint b {
	display: block;
	font-size: 11.5px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	margin-bottom: 6px;
}

.ewnl-beheerhint p {
	margin: 0 0 6px;
}

.ewnl-beheerhint ul {
	margin: 0;
	padding-left: 18px;
}

.ewnl-beheerhint li {
	padding: 2px 0;
}

/* =====================================================================
 * Productpagina conform ontwerp
 * ================================================================== */

.ewnl-pdp {
	display: grid;
	grid-template-columns: 1.05fr 1fr;
	gap: 56px;
	align-items: start;
	margin-bottom: 20px;
}

/* Galerij: foto's onder elkaar */

.ewnl-gal {
	display: grid;
	gap: 14px;
}

.ewnl-gal__im {
	position: relative;
	background: var(--ewnl-card);
	border-radius: var(--ewnl-radius);
	padding: 30px;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 430px;
}

.ewnl-gal__img {
	max-height: 420px;
	max-width: 92%;
	width: auto;
	height: auto;
	object-fit: contain;
	mix-blend-mode: multiply;
	display: block;
}

/* Koopkolom */

.ewnl-buy {
	position: sticky;
	top: 98px;
}

.ewnl-buy__titel {
	font-family: var(--ewnl-serif);
	font-weight: 300;
	color: var(--ewnl-ink);
	font-size: 46px;
	line-height: 1.12;
	margin: 4px 0 8px;
}

.ewnl-buy__titel em {
	font-style: italic;
}

.ewnl-buy .woocommerce-product-rating {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 6px;
	font-size: 14px;
}

.ewnl-buy__prijs {
	display: flex;
	align-items: center;
	gap: 14px;
	flex-wrap: wrap;
	margin: 14px 0 6px;
	font-family: var(--ewnl-serif);
	font-size: 30px;
	font-weight: 600;
	color: var(--ewnl-ink);
}

.ewnl-buy__prijs del {
	color: #a9b0c0;
	font-size: 18px;
	font-weight: 400;
}

.ewnl-buy__prijs ins {
	text-decoration: none;
}

.ewnl-buy__prijs .subscription-details,
.ewnl-buy__prijs .woocommerce-Price-taxLabel {
	font-family: var(--ewnl-sans);
	font-size: 15px;
	font-weight: 400;
	color: var(--ewnl-body);
}

.ewnl-buy__bespaar {
	background: var(--ewnl-lime);
	color: var(--ewnl-ink);
	font-family: var(--ewnl-sans);
	font-size: 13px;
	font-weight: 600;
	padding: 5px 12px;
	border-radius: 999px;
	white-space: nowrap;
}

.ewnl-buy__desc {
	font-size: 15px;
	margin: 10px 0 20px;
	max-width: 520px;
}

.ewnl-buy__desc p {
	margin: 0 0 10px;
}

.ewnl-buy__stock {
	display: flex;
	align-items: center;
	gap: 8px;
	color: #1d7a43;
	font-size: 14px;
	font-weight: 500;
	margin-bottom: 16px;
}

.ewnl-buy__stock i {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: #1d7a43;
	display: inline-block;
	flex: none;
}

.ewnl-buy__stock--uit {
	color: #b32d2e;
}

.ewnl-buy__stock--uit i {
	background: #b32d2e;
}

.ewnl-buy__cart form.cart {
	display: flex;
	align-items: center;
	gap: 12px;
	flex-wrap: wrap;
	margin: 0 0 12px;
}

.ewnl-buy__cart form.variations_form {
	display: block;
}

.ewnl-buy__cart .quantity input {
	width: 84px;
	height: 54px;
	border: 1.5px solid var(--ewnl-line);
	border-radius: 999px;
	text-align: center;
	font-family: var(--ewnl-sans);
	font-size: 15px;
	font-weight: 600;
	color: var(--ewnl-ink);
}

.ewnl-buy__cart table.variations {
	width: 100%;
	margin-bottom: 14px;
}

.ewnl-buy__cart table.variations td {
	padding: 6px 0;
}

.ewnl-buy__cart table.variations select {
	width: 100%;
	font-family: var(--ewnl-sans);
	font-size: 15px;
	padding: 13px 18px;
	border: 1.5px solid var(--ewnl-line);
	border-radius: 14px;
	background: #fff;
}

.ewnl-buy__pay {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 13px;
	color: var(--ewnl-muted);
	margin: 4px 0 18px;
	flex-wrap: wrap;
}

.ewnl-buy__pm {
	border: 1px solid var(--ewnl-line);
	border-radius: 6px;
	padding: 3px 10px;
	font-weight: 600;
	font-size: 12px;
	color: var(--ewnl-ink);
}

.ewnl-buy__ruil {
	display: flex;
	align-items: center;
	gap: 10px;
	background: var(--ewnl-ice);
	border-radius: 12px;
	padding: 11px 16px;
	font-size: 13.5px;
	color: var(--ewnl-ink);
	margin-bottom: 16px;
}

.ewnl-buy__ruil svg {
	flex: none;
}

.ewnl-buy__usps {
	display: flex;
	justify-content: space-between;
	gap: 10px;
	border-top: 1px solid var(--ewnl-line);
	padding-top: 18px;
	font-size: 13.5px;
	color: var(--ewnl-ink);
	text-align: center;
}

.ewnl-buy__u svg {
	margin: 0 auto 6px;
	display: block;
	color: var(--ewnl-navy-2);
}

.ewnl-buy .product_meta {
	font-size: 13px;
	color: var(--ewnl-muted);
	margin-top: 16px;
}

/* Wat blijft er achter */

.ewnl-verw {
	padding: 90px 0 10px;
	text-align: center;
}

.ewnl-verw h2 {
	font-family: var(--ewnl-serif);
	font-weight: 300;
	color: var(--ewnl-ink);
	font-size: 46px;
	line-height: 1.12;
	margin: 12px 0 44px;
}

.ewnl-verw__rij {
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: 14px;
}

.ewnl-verw__c {
	background: var(--ewnl-card);
	border-radius: 16px;
	padding: 26px 16px;
}

.ewnl-verw__c svg {
	margin: 0 auto 12px;
	display: block;
	color: var(--ewnl-navy);
}

.ewnl-verw__c h3 {
	font-family: var(--ewnl-serif);
	font-size: 18px;
	font-weight: 400;
	color: var(--ewnl-ink);
	margin: 0 0 6px;
}

.ewnl-verw__c p {
	font-size: 13px;
	line-height: 1.45;
	color: #7c8499;
	margin: 0;
}

/* Specificaties */

.ewnl-specs {
	background: var(--ewnl-navy);
	border-radius: var(--ewnl-radius-l);
	margin: 90px 24px 0;
	padding: 76px 40px;
	color: #fff;
}

.ewnl-specs__kop {
	text-align: center;
	margin-bottom: 44px;
}

.ewnl-specs__kop .ewnl-kicker {
	color: #8fa0c8;
}

.ewnl-specs h2 {
	font-family: var(--ewnl-serif);
	font-weight: 300;
	color: #fff;
	font-size: 44px;
	line-height: 1.12;
	margin: 12px 0 0;
}

.ewnl-specs h2 em {
	font-style: italic;
}

.ewnl-specs__grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0 70px;
	max-width: 900px;
	margin: 0 auto;
}

.ewnl-specs__r {
	display: flex;
	justify-content: space-between;
	gap: 20px;
	padding: 13px 4px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.15);
	font-size: 15px;
}

.ewnl-specs__r dt {
	color: #aeb8d0;
	margin: 0;
}

.ewnl-specs__r dd {
	color: #fff;
	font-weight: 500;
	margin: 0;
	text-align: right;
}

/* Zo werkt het */

.ewnl-hoe {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 60px;
	align-items: center;
	padding: 90px 0 0;
}

.ewnl-hoe__im {
	border-radius: var(--ewnl-radius);
	overflow: hidden;
	border: 1px solid var(--ewnl-line);
}

.ewnl-hoe__im img {
	width: 100%;
	height: auto;
	display: block;
}

.ewnl-hoe h2 {
	font-family: var(--ewnl-serif);
	font-weight: 300;
	color: var(--ewnl-ink);
	font-size: 44px;
	line-height: 1.12;
	margin: 12px 0 16px;
}

.ewnl-hoe h2 em {
	font-style: italic;
}

.ewnl-hoe__ol {
	list-style: none;
	counter-reset: ewnlstap;
	margin: 18px 0 26px;
	padding: 0;
}

.ewnl-hoe__ol li {
	counter-increment: ewnlstap;
	display: flex;
	gap: 16px;
	padding: 10px 0;
	font-size: 15px;
	align-items: baseline;
}

.ewnl-hoe__ol li::before {
	content: counter(ewnlstap);
	font-family: var(--ewnl-serif);
	font-size: 19px;
	color: var(--ewnl-ink);
	background: var(--ewnl-ice);
	width: 36px;
	height: 36px;
	border-radius: 50%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: none;
}

/* Onderste blok: FAQ naast kruisverkoop */

.ewnl-onder {
	display: grid;
	grid-template-columns: 1.25fr 1fr;
	gap: 60px;
	padding: 90px 0 40px;
	align-items: start;
}

.ewnl-onder .ewnl-faq {
	background: transparent;
	padding: 0;
}

.ewnl-onder .ewnl-faq h2 {
	font-size: 36px;
	padding: 0;
	margin-bottom: 12px;
}

.ewnl-onder .ewnl-faq h2 em {
	font-style: italic;
}

.ewnl-cross {
	background: var(--ewnl-card);
	border-radius: var(--ewnl-radius);
	padding: 26px;
}

.ewnl-cross h3 {
	font-family: var(--ewnl-serif);
	font-size: 22px;
	font-weight: 400;
	color: var(--ewnl-ink);
	margin: 0 0 16px;
}

.ewnl-cross__abo {
	background: var(--ewnl-lime);
	border-radius: 14px;
	padding: 16px 18px;
	margin-bottom: 14px;
}

.ewnl-cross__abo-kop b {
	font-size: 15px;
	color: var(--ewnl-ink);
}

.ewnl-cross__abo .ewnl-cadans {
	margin: 12px 0 10px;
	gap: 8px;
}

.ewnl-cross__abo .ewnl-cadans__knop {
	background: #fff;
	border-color: transparent;
	padding: 7px 14px;
	font-size: 12.5px;
}

.ewnl-cross__abo .ewnl-prijsrij__prijs {
	font-size: 24px;
}

.ewnl-cross__abo .ewnl-knop--ink {
	padding: 11px 22px;
	font-size: 14px;
}

.ewnl-cross__it {
	display: flex;
	gap: 14px;
	align-items: center;
	padding: 12px 0;
	border-bottom: 1px solid var(--ewnl-line);
	text-decoration: none;
}

.ewnl-cross__it:last-child {
	border-bottom: none;
}

.ewnl-cross__im {
	width: 58px;
	height: 58px;
	background: #fff;
	border-radius: 12px;
	display: flex;
	align-items: center;
	justify-content: center;
	flex: none;
}

.ewnl-cross__im img {
	max-width: 44px;
	max-height: 44px;
	object-fit: contain;
	mix-blend-mode: multiply;
}

.ewnl-cross__tekst {
	min-width: 0;
}

.ewnl-cross__tekst b {
	font-size: 14.5px;
	color: var(--ewnl-ink);
	display: block;
}

.ewnl-cross__tekst span {
	font-size: 13px;
	color: var(--ewnl-muted);
}

.ewnl-cross__add {
	margin-left: auto;
	background: var(--ewnl-lime);
	color: var(--ewnl-ink);
	font-size: 13.5px;
	font-weight: 600;
	padding: 9px 18px;
	border-radius: 999px;
	white-space: nowrap;
}

.ewnl-cross__add del {
	display: none;
}

@media (max-width: 1200px) {
	.ewnl-verw__rij {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 1000px) {
	.ewnl-pdp,
	.ewnl-hoe,
	.ewnl-onder {
		grid-template-columns: 1fr;
		gap: 30px;
	}

	.ewnl-buy {
		position: static;
	}

	.ewnl-buy__titel {
		font-size: 34px;
	}

	.ewnl-specs__grid {
		grid-template-columns: 1fr;
	}

	.ewnl-verw h2,
	.ewnl-hoe h2,
	.ewnl-specs h2 {
		font-size: 32px;
	}

	.ewnl-specs {
		margin-left: 16px;
		margin-right: 16px;
		padding: 50px 24px;
	}

	.ewnl-gal__im {
		min-height: 300px;
		padding: 20px;
	}
}

@media (max-width: 600px) {
	.ewnl-verw__rij {
		grid-template-columns: 1fr 1fr;
	}

	.ewnl-buy__usps {
		flex-wrap: wrap;
	}
}

/* =====================================================================
 * Koopkolom: de klassieke WooCommerce-opmaak neutraliseren
 *
 * Onze koopkolom draagt de klassen `summary entry-summary`, zodat plugins die
 * daarop haken blijven werken. WooCommerce geeft die klasse echter
 * `float: right; width: 48%` mee voor de klassieke tweekolomsindeling — binnen
 * onze grid-cel maakt dat de kolom precies half zo breed. Zelfde verhaal voor de
 * galerij. Specificiteit van de themaregel is (0,3,2), dus hier hoger én hard.
 * ================================================================== */

.ewnl-single .ewnl-pdp .ewnl-buy,
.woocommerce div.product .ewnl-pdp .ewnl-buy,
.woocommerce-page div.product .ewnl-pdp .ewnl-buy {
	float: none !important;
	width: auto !important;
	max-width: none !important;
	clear: none !important;
	margin: 0 !important;
	padding: 0;
}

.ewnl-single .ewnl-pdp .ewnl-gal,
.woocommerce div.product .ewnl-pdp .ewnl-gal,
.woocommerce-page div.product .ewnl-pdp .ewnl-gal {
	float: none !important;
	width: auto !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0;
}

/* De grid-cellen zelf mogen niet meekrimpen door een breedte van het thema. */
.ewnl-single .ewnl-pdp {
	width: auto;
	max-width: none;
}

/* Thema's zetten soms een marge onder .summary-alinea's; die hoort hier niet. */
.ewnl-single .ewnl-buy p {
	margin: 0 0 10px;
}

/* =====================================================================
 * Ruimte onder de zwevende navigatiebalk
 *
 * De balk staat vast bovenaan en zou anders over het kruimelpad vallen. Deze
 * waarde staat als variabele, zodat je hem in de Custom CSS kunt bijstellen —
 * of op 0 kunt zetten als je een gewone, meelopende header gebruikt.
 * ================================================================== */

:root {
	--ewnl-kop-ruimte: 124px;
	--ewnl-kop-ruimte-mobiel: 100px;
}

.ewnl-shop,
.ewnl-single {
	padding-top: var(--ewnl-kop-ruimte) !important;
}

body.admin-bar .ewnl-shop,
body.admin-bar .ewnl-single {
	padding-top: calc(var(--ewnl-kop-ruimte) + 32px) !important;
}

@media (max-width: 760px) {
	.ewnl-shop,
	.ewnl-single {
		padding-top: var(--ewnl-kop-ruimte-mobiel) !important;
	}

	body.admin-bar .ewnl-shop,
	body.admin-bar .ewnl-single {
		padding-top: calc(var(--ewnl-kop-ruimte-mobiel) + 46px) !important;
	}
}

/* =====================================================================
 * Navigatiebalk: vast, meelopend of gewoon in de pagina
 * ================================================================== */

.ewnl-navwrap--vast {
	position: fixed;
	top: 14px;
	left: 0;
	right: 0;
	z-index: 90;
}

/* Meelopend en plakkend — zoals in het archief- en productontwerp. */
.ewnl-navwrap--sticky {
	position: sticky;
	top: 14px;
	z-index: 90;
	margin-top: 14px;
}

.ewnl-navwrap--nee {
	position: relative;
	margin-top: 14px;
}

body.admin-bar .ewnl-navwrap--vast {
	top: 46px;
}

body.admin-bar .ewnl-navwrap--sticky {
	top: 46px;
}

@media (max-width: 782px) {
	body.admin-bar .ewnl-navwrap--vast,
	body.admin-bar .ewnl-navwrap--sticky {
		top: 60px;
	}
}

/* Loopt de balk mee, dan hoeft de pagina er geen ruimte voor vrij te houden. */
body.ewnl-nav-sticky .ewnl-shop,
body.ewnl-nav-sticky .ewnl-single,
body.ewnl-nav-nee .ewnl-shop,
body.ewnl-nav-nee .ewnl-single {
	padding-top: 20px !important;
}

body.admin-bar.ewnl-nav-sticky .ewnl-shop,
body.admin-bar.ewnl-nav-sticky .ewnl-single,
body.admin-bar.ewnl-nav-nee .ewnl-shop,
body.admin-bar.ewnl-nav-nee .ewnl-single {
	padding-top: 20px !important;
}

/* =====================================================================
 * Uitklapmenu
 * ================================================================== */

.ewnl-nav__lijst li {
	position: relative;
}

.ewnl-nav__lijst .menu-item-has-children > a::after {
	content: "";
	display: inline-block;
	width: 6px;
	height: 6px;
	margin-left: 7px;
	border-right: 1.6px solid currentColor;
	border-bottom: 1.6px solid currentColor;
	transform: translateY(-2px) rotate(45deg);
	opacity: 0.8;
}

.ewnl-nav__lijst .sub-menu {
	position: absolute;
	top: calc(100% + 14px);
	left: -14px;
	min-width: 232px;
	background: #fff;
	border-radius: 14px;
	box-shadow: 0 18px 48px rgba(16, 24, 40, 0.18);
	padding: 8px;
	list-style: none;
	margin: 0;
	display: block;
	opacity: 0;
	visibility: hidden;
	transform: translateY(-6px);
	transition: opacity 0.15s ease, transform 0.15s ease, visibility 0.15s;
	z-index: 100;
}

/* Onzichtbare brug, zodat het menu niet dichtklapt als de muis ertussen komt. */
.ewnl-nav__lijst .menu-item-has-children::after {
	content: "";
	position: absolute;
	top: 100%;
	left: 0;
	right: 0;
	height: 16px;
}

.ewnl-nav__lijst .menu-item-has-children:hover > .sub-menu,
.ewnl-nav__lijst .menu-item-has-children:focus-within > .sub-menu {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

.ewnl-nav__lijst .sub-menu li {
	margin: 0;
}

.ewnl-nav__lijst .sub-menu a {
	display: block;
	padding: 10px 14px;
	border-radius: 10px;
	color: var(--ewnl-ink);
	font-size: 14.5px;
	font-weight: 500;
	opacity: 1;
	white-space: nowrap;
}

.ewnl-nav__lijst .sub-menu a:hover,
.ewnl-nav__lijst .sub-menu a:focus {
	background: var(--ewnl-card);
}

@media (max-width: 760px) {
	/* In het uitklapmenu op mobiel staat alles gewoon onder elkaar. */
	.ewnl-nav__lijst .sub-menu {
		position: static;
		opacity: 1;
		visibility: visible;
		transform: none;
		box-shadow: none;
		background: transparent;
		padding: 4px 0 0 14px;
		min-width: 0;
	}

	.ewnl-nav__lijst .sub-menu a {
		color: #fff;
		opacity: 0.85;
		padding: 7px 0;
	}

	.ewnl-nav__lijst .sub-menu a:hover,
	.ewnl-nav__lijst .sub-menu a:focus {
		background: transparent;
		opacity: 1;
	}

	.ewnl-nav__lijst .menu-item-has-children::after {
		display: none;
	}
}

/* =====================================================================
 * Kleine schermen — sluitstuk
 *
 * Alles wat een vaste breedte of een minimum heeft en op een smalle telefoon
 * (320px) buiten beeld zou vallen. Deze sectie staat achteraan zodat hij van de
 * eerdere regels wint.
 * ================================================================== */

/* Niets uit onze secties mag de pagina horizontaal laten schuiven. */
.ewnl-shop,
.ewnl-single,
.ewnl-sectie,
.ewnl-hero,
.ewnl-quote,
.ewnl-trust {
	max-width: 100%;
	overflow-x: clip;
}

.ewnl-shop img,
.ewnl-single img,
.ewnl-sectie img {
	max-width: 100%;
	height: auto;
}

/* Lange woorden en URL's mogen de layout niet oprekken. */
.ewnl-card__nm,
.ewnl-buy__titel,
.ewnl-shop__titel,
.ewnl-banner h1,
.ewnl-zoek__naam,
.ewnl-sidecart__naam,
.ewnl-specs__r dt,
.ewnl-specs__r dd {
	overflow-wrap: anywhere;
}

/* Brede tabellen krijgen hun eigen schuifbalk in plaats van de pagina te rekken. */
.ewnl-single__tabs .woocommerce-Tabs-panel {
	overflow-x: auto;
}

.ewnl-single__tabs table.shop_attributes {
	min-width: 320px;
}

@media (max-width: 620px) {
	/* Aantalveld en knop passen niet naast elkaar: onder elkaar, knop over de
	   volle breedte. Zonder dit loopt de knop op een 320px-scherm 24px buiten beeld. */
	.ewnl-buy__cart form.cart,
	.ewnl-single__cart form.cart {
		flex-direction: column;
		align-items: stretch;
		gap: 10px;
	}

	.ewnl-buy__cart .quantity,
	.ewnl-single__cart .quantity {
		width: 100%;
	}

	.ewnl-buy__cart .quantity input,
	.ewnl-single__cart .quantity input {
		width: 100%;
	}

	.ewnl-buy__cart .button,
	.ewnl-buy__cart button[type="submit"],
	.ewnl-single__cart .button,
	.ewnl-single__cart button[type="submit"] {
		width: 100%;
		min-width: 0;
		flex: none;
	}

	/* Specificaties: label boven waarde, anders wordt het geknepen. */
	.ewnl-specs__r {
		flex-direction: column;
		gap: 2px;
	}

	.ewnl-specs__r dd {
		text-align: left;
	}

	/* Werkbalk: sortering onder de teller in plaats van ernaast. */
	.ewnl-werkbalk .woocommerce-ordering {
		margin-left: 0;
		width: 100%;
	}

	.ewnl-werkbalk select {
		width: 100%;
	}

	/* Prijsregels mogen afbreken. */
	.ewnl-buy__prijs,
	.ewnl-prijsrij {
		gap: 8px;
	}

	/* USP-rij onder de knoppen: drie naast elkaar wordt te krap. */
	.ewnl-buy__usps {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 14px;
		text-align: left;
	}

	.ewnl-buy__u svg {
		margin: 0 0 4px;
	}
}

@media (max-width: 480px) {
	.ewnl-wrap {
		padding: 0 16px;
	}

	.ewnl-trust__in {
		padding-left: 16px;
		padding-right: 16px;
	}

	.ewnl-banner {
		height: 220px;
	}

	.ewnl-banner__c {
		padding: 0 20px;
	}

	.ewnl-banner h1 {
		font-size: 28px;
	}

	.ewnl-buy__titel,
	.ewnl-shop__titel {
		font-size: 27px;
	}

	.ewnl-verw__rij {
		grid-template-columns: 1fr;
	}

	.ewnl-kraan,
	.ewnl-vergelijk,
	.ewnl-refill,
	.ewnl-specs {
		margin-left: 8px;
		margin-right: 8px;
		padding-left: 18px;
		padding-right: 18px;
		border-radius: 20px;
	}

	.ewnl-faq {
		padding: 8px 18px;
	}

	.ewnl-cross {
		padding: 18px;
	}

	.ewnl-gal__im {
		min-height: 240px;
		padding: 14px;
	}

	/* De cadansknoppen naast elkaar worden te smal. */
	.ewnl-cadans {
		display: grid;
		grid-template-columns: 1fr;
		gap: 8px;
	}

	.ewnl-cadans__knop {
		justify-content: center;
	}

	.ewnl-cadans__tip {
		top: -9px;
	}

	/* Winkelwagenpaneel: knop en totaal onder elkaar. */
	.ewnl-sidecart__afrekenen {
		flex-direction: column;
		gap: 4px;
		padding: 14px 20px;
	}
}

/* =====================================================================
 * Productgalerij: gestapeld of slider
 *
 * De slider is CSS scroll-snap, dus vegen werkt ook zonder JavaScript. De
 * stippen en pijlen zijn alleen bediening bovenop.
 * ================================================================== */

.ewnl-galwrap {
	position: relative;
}

.ewnl-gal__bediening {
	display: none;
	align-items: center;
	justify-content: center;
	gap: 14px;
	margin-top: 14px;
}

.ewnl-gal__nav {
	width: 38px;
	height: 38px;
	border: 1.5px solid var(--ewnl-line);
	background: #fff;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--ewnl-ink);
	cursor: pointer;
	flex: none;
}

.ewnl-gal__stippen {
	display: flex;
	gap: 8px;
	align-items: center;
}

.ewnl-gal__stip {
	width: 8px;
	height: 8px;
	border: 0;
	padding: 0;
	border-radius: 50%;
	background: var(--ewnl-sage);
	cursor: pointer;
	transition: width 0.2s ease, background 0.2s ease;
}

.ewnl-gal__stip.is-actief {
	width: 22px;
	border-radius: 999px;
	background: var(--ewnl-navy);
}

/* Slidermodus: naast elkaar met snap-punten. */
.ewnl-galwrap--slider .ewnl-gal,
.ewnl-galwrap--auto .ewnl-gal {
	/* standaard blijft gestapeld; de slider zetten we per situatie aan */
}

.ewnl-galwrap--slider .ewnl-gal {
	display: flex;
	gap: 12px;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scroll-behavior: smooth;
	scrollbar-width: none;
	-webkit-overflow-scrolling: touch;
}

.ewnl-galwrap--slider .ewnl-gal::-webkit-scrollbar {
	display: none;
}

.ewnl-galwrap--slider .ewnl-gal__im {
	flex: 0 0 100%;
	scroll-snap-align: center;
	min-height: 380px;
}

.ewnl-galwrap--slider .ewnl-gal__bediening {
	display: flex;
}

@media (max-width: 1000px) {
	/* Op tablet en telefoon wordt de gestapelde galerij automatisch een slider. */
	.ewnl-galwrap--auto .ewnl-gal {
		display: flex;
		gap: 12px;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		scroll-behavior: smooth;
		scrollbar-width: none;
		-webkit-overflow-scrolling: touch;
	}

	.ewnl-galwrap--auto .ewnl-gal::-webkit-scrollbar {
		display: none;
	}

	.ewnl-galwrap--auto .ewnl-gal__im {
		flex: 0 0 100%;
		scroll-snap-align: center;
	}

	.ewnl-galwrap--auto .ewnl-gal__bediening {
		display: flex;
	}
}

/* =====================================================================
 * Navigatiebalk op smalle schermen
 *
 * Op 320px was de balk 58px te breed: hamburger, logo, zoekveld en twee iconen
 * pasten samen niet. Het zoekveld krimpt nu tot het icoon en klapt pas open bij
 * gebruik, de gaps zijn kleiner en het logo is gemaximeerd.
 * ================================================================== */

@media (max-width: 620px) {
	.ewnl-navwrap {
		padding: 0 12px;
	}

	.ewnl-nav {
		padding: 0 12px;
		gap: 8px;
	}

	.ewnl-nav__rechts {
		gap: 10px;
	}

	.ewnl-nav__logo {
		max-width: 120px;
	}

	.ewnl-nav__merknaam {
		font-size: 18px;
	}
}

@media (max-width: 400px) {
	.ewnl-nav__logo {
		max-width: 96px;
	}

	.ewnl-nav__toggle {
		padding: 4px;
	}
}

/* =====================================================================
 * Productkaarten op smalle schermen
 * ================================================================== */

@media (max-width: 1000px) {
	.ewnl-card {
		min-height: 340px;
		padding: 14px;
	}

	.ewnl-card__ph {
		padding: 16px 6px;
	}

	.ewnl-card__ph .ewnl-product-img {
		max-height: 180px;
	}

	.ewnl-card__cart {
		width: 40px;
		height: 40px;
		right: 12px;
		bottom: 12px;
	}

	.ewnl-badge {
		top: 12px;
		left: 12px;
		font-size: 11.5px;
		padding: 5px 11px;
	}

	/* Ruimte vrijhouden voor de ronde knop rechtsonder. */
	.ewnl-card__pr {
		padding-right: 46px;
	}
}

@media (max-width: 600px) {
	.ewnl-card {
		min-height: 0;
	}

	.ewnl-card__ph {
		padding: 22px 6px;
	}

	.ewnl-card__ph .ewnl-product-img {
		max-height: 200px;
	}

	.ewnl-card__nm {
		font-size: 15.5px;
	}

	.ewnl-card__voorwie {
		font-size: 13px;
	}

	/* De witte productbalk in de routetegels. */
	.ewnl-mini {
		flex-wrap: wrap;
		gap: 8px;
	}

	.ewnl-mini__shop {
		margin-left: 0;
		width: 100%;
		text-align: center;
	}
}

/* =====================================================================
 * Meelopende balk even breed als de vaste variant
 *
 * Een vaste balk (position: fixed) negeert zijn container en spant over het hele
 * venster. Een meelopende balk staat in de gewone stroom en erft dus de padding
 * van de container waar het thema of Elementor hem in zet — die komt bovenop onze
 * eigen 24px, waardoor de pil zichtbaar smaller wordt. Hiermee breekt hij uit die
 * container en staat hij in beide standen precies gelijk.
 *
 * Werkt dit niet met jouw header-opbouw, zet dan in de Custom CSS:
 *   .ewnl-navwrap--sticky { width:auto; margin-left:0; margin-right:0; }
 * en haal in plaats daarvan de padding van de Elementor-container zelf weg.
 * ================================================================== */

.ewnl-navwrap--sticky,
.ewnl-navwrap--nee {
	width: 100vw;
	max-width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	box-sizing: border-box;
}

/* 100vw telt de verticale schuifbalk mee; zonder deze regel zou dat een paar
   pixel horizontale schuifruimte opleveren. `clip` snijdt dat weg zonder een
   scroll-context te maken, zodat de balk gewoon blijft plakken. */
body.ewnl-nav-sticky,
body.ewnl-nav-nee {
	overflow-x: clip;
}

/* Regel die op een aantalwijziging wacht — subtiel, zodat de knoppen bruikbaar
   blijven terwijl het verzoek onderweg is. */
.ewnl-sidecart__item.is-bezig .ewnl-sidecart__prijs {
	opacity: 0.45;
}

/* =====================================================================
 * Aantalkiezer op de productpagina
 *
 * WooCommerce levert alleen een <input type="number">; de browserpijltjes zijn
 * op een telefoon niet te raken. De − en + worden door de JS toegevoegd.
 * ================================================================== */

.ewnl-aantal {
	display: inline-flex !important;
	align-items: center;
	border: 1.5px solid var(--ewnl-line);
	border-radius: 999px;
	overflow: hidden;
	height: 54px;
	width: auto !important;
	float: none !important;
}

.ewnl-aantal__knop {
	width: 44px;
	height: 100%;
	border: 0;
	background: transparent;
	color: var(--ewnl-ink);
	font-family: var(--ewnl-sans);
	font-size: 18px;
	line-height: 1;
	cursor: pointer;
	flex: none;
}

.ewnl-aantal__knop:hover {
	background: var(--ewnl-card);
}

.ewnl-buy__cart .ewnl-aantal input.qty,
.ewnl-single__cart .ewnl-aantal input.qty,
.ewnl-aantal input[type="number"] {
	width: 46px !important;
	height: 100% !important;
	border: 0 !important;
	border-radius: 0 !important;
	text-align: center;
	font-family: var(--ewnl-sans);
	font-size: 15px;
	font-weight: 600;
	color: var(--ewnl-ink);
	background: transparent;
	-moz-appearance: textfield;
	appearance: textfield;
	padding: 0;
}

.ewnl-aantal input[type="number"]::-webkit-outer-spin-button,
.ewnl-aantal input[type="number"]::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

@media (max-width: 620px) {
	/* Naast de knop over de volle breedte: aantal links, ruim aantikbaar. */
	.ewnl-aantal {
		width: 100% !important;
		justify-content: space-between;
	}

	.ewnl-aantal__knop {
		width: 56px;
	}

	.ewnl-aantal input[type="number"] {
		flex: 1;
		width: auto !important;
	}
}

/* =====================================================================
 * Kolommen: mobiel altijd één
 *
 * De grens lag op 600px, waardoor een telefoon in liggende stand of een tablet
 * er nog drie naast elkaar zette. Één kolom onder 760px, twee tot 1200px.
 * ================================================================== */

@media (max-width: 1200px) {
	.ewnl-shop ul.products,
	.ewnl-single ul.products,
	.ewnl-kaarten {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
}

@media (max-width: 760px) {
	.ewnl-shop ul.products,
	.ewnl-single ul.products,
	.ewnl-kaarten {
		grid-template-columns: minmax(0, 1fr) !important;
	}
}

/* =====================================================================
 * Galerij: niets mag buiten het scherm vallen
 *
 * Flex- en grid-items hebben standaard min-width:auto. Een brede productfoto
 * duwt zijn eigen vak dan breder dan het scherm, ondanks flex-basis 100%.
 * min-width:0 laat ze wél krimpen.
 * ================================================================== */

.ewnl-gal,
.ewnl-galwrap,
.ewnl-pdp > * {
	min-width: 0;
}

.ewnl-gal__im {
	min-width: 0;
	max-width: 100%;
	overflow: hidden;
}

.ewnl-gal__img,
.ewnl-gal__im img {
	max-width: 100% !important;
	height: auto;
}

/* Veel foto's: de stippenrij mag afbreken in plaats van uit beeld te lopen. */
.ewnl-gal__bediening {
	flex-wrap: wrap;
	max-width: 100%;
}

.ewnl-gal__stippen {
	flex-wrap: wrap;
	justify-content: center;
	max-width: 100%;
	row-gap: 6px;
}

/* =====================================================================
 * Producttabs leesbaar
 *
 * Het thema zet een eigen tekstkleur op het actieve tabblad, waardoor donkere
 * letters op onze donkere pil kwamen te staan.
 * ================================================================== */

.ewnl-single__tabs .wc-tabs li.active a,
.woocommerce .ewnl-single__tabs ul.tabs li.active a,
.woocommerce div.product .ewnl-single__tabs ul.tabs li.active a {
	background: var(--ewnl-ink) !important;
	color: #fff !important;
}

.ewnl-single__tabs .wc-tabs li a,
.woocommerce div.product .ewnl-single__tabs ul.tabs li a {
	color: var(--ewnl-ink);
}

/* Het thema tekent onder de tabs vaak nog een eigen lijn of pijltje. */
.ewnl-single__tabs .wc-tabs li::before,
.ewnl-single__tabs .wc-tabs li::after,
.woocommerce div.product .ewnl-single__tabs ul.tabs::before {
	content: none !important;
	display: none !important;
	border: 0 !important;
}

/* =====================================================================
 * Zoeken op smalle schermen: een icoon dat een balk uitklapt
 * ================================================================== */

.ewnl-nav__zoekknop {
	display: none;
	background: none;
	border: 0;
	color: #fff;
	padding: 0;
	cursor: pointer;
	align-items: center;
}

@media (max-width: 860px) {
	.ewnl-nav__zoekknop {
		display: flex;
	}

	/* Het formulier zelf verdwijnt uit de balk en komt eronder als paneel. */
	.ewnl-zoek {
		position: absolute;
		top: calc(100% + 10px);
		left: 0;
		right: 0;
		width: auto;
		min-width: 0;
		display: none;
		background: var(--ewnl-navy);
		border-radius: 14px;
		padding: 12px 16px;
		z-index: 95;
	}

	.ewnl-zoek.is-open {
		display: flex;
	}

	.ewnl-zoek__icoon {
		left: 16px;
	}

	.ewnl-zoek__veld {
		width: 100%;
		padding: 10px 30px 10px 26px;
		border-bottom-color: rgba(255, 255, 255, 0.25);
	}

	.ewnl-zoek__wis {
		right: 16px;
	}

	.ewnl-zoek__paneel {
		position: absolute;
		top: calc(100% + 10px);
		left: 0;
		right: 0;
		width: auto;
		max-width: none;
	}
}

/* =====================================================================
 * Megamenu
 *
 * Het item in de balk houdt position: static, zodat het paneel zich uitlijnt op
 * de hele navigatiebalk in plaats van op het menu-item.
 * ================================================================== */

.ewnl-nav__lijst .ewnl-mega {
	position: static;
}

.ewnl-mega__paneel {
	position: absolute;
	top: calc(100% + 14px);
	left: 0;
	right: 0;
	background: #fff;
	border-radius: 16px;
	box-shadow: 0 18px 48px rgba(16, 24, 40, 0.18);
	padding: 28px 32px;
	z-index: 100;
	opacity: 0;
	visibility: hidden;
	transform: translateY(-6px);
	transition: opacity 0.15s ease, transform 0.15s ease, visibility 0.15s;
}

.ewnl-nav__lijst .ewnl-mega:hover > .ewnl-mega__paneel,
.ewnl-nav__lijst .ewnl-mega:focus-within > .ewnl-mega__paneel {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

.ewnl-mega__in {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
	gap: 28px 32px;
	max-width: 1180px;
	margin: 0 auto;
}

.ewnl-mega__kolom {
	min-width: 0;
}

.ewnl-nav__lijst a.ewnl-mega__kop {
	display: block;
	font-family: var(--ewnl-serif);
	font-size: 17px;
	font-weight: 400;
	color: var(--ewnl-ink);
	padding-bottom: 10px;
	margin-bottom: 8px;
	border-bottom: 1px solid var(--ewnl-line);
	text-decoration: none;
	opacity: 1;
}

.ewnl-nav__lijst a.ewnl-mega__kop:hover {
	color: var(--ewnl-navy);
}

.ewnl-mega__lijst {
	list-style: none;
	margin: 0;
	padding: 0;
}

.ewnl-mega__lijst li {
	margin: 0;
	position: static;
}

.ewnl-nav__lijst .ewnl-mega__lijst a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	padding: 7px 10px;
	margin: 0 -10px;
	border-radius: 9px;
	font-size: 14.5px;
	font-weight: 500;
	color: var(--ewnl-body);
	text-decoration: none;
	opacity: 1;
	white-space: normal;
}

.ewnl-nav__lijst .ewnl-mega__lijst a:hover,
.ewnl-nav__lijst .ewnl-mega__lijst a:focus {
	background: var(--ewnl-card);
	color: var(--ewnl-ink);
}

/* Het aantal producten, los van het label. */
.ewnl-mega__n {
	flex: none;
	min-width: 22px;
	text-align: center;
	background: var(--ewnl-card);
	color: var(--ewnl-muted);
	font-size: 12px;
	font-weight: 600;
	padding: 2px 7px;
	border-radius: 999px;
}

.ewnl-mega__lijst a:hover .ewnl-mega__n {
	background: var(--ewnl-sage);
	color: var(--ewnl-ink);
}

/* Op mobiel staat alles gewoon onder elkaar in het uitklapmenu. */
@media (max-width: 760px) {
	.ewnl-mega__paneel {
		position: static;
		opacity: 1;
		visibility: visible;
		transform: none;
		background: transparent;
		box-shadow: none;
		padding: 6px 0 0 14px;
		border-radius: 0;
	}

	.ewnl-mega__in {
		grid-template-columns: 1fr;
		gap: 14px;
	}

	.ewnl-nav__lijst a.ewnl-mega__kop {
		color: #fff;
		border-bottom-color: rgba(255, 255, 255, 0.2);
		font-size: 15.5px;
	}

	.ewnl-nav__lijst .ewnl-mega__lijst a {
		color: #fff;
		opacity: 0.85;
		padding: 6px 0;
		margin: 0;
	}

	.ewnl-nav__lijst .ewnl-mega__lijst a:hover,
	.ewnl-nav__lijst .ewnl-mega__lijst a:focus {
		background: transparent;
		opacity: 1;
	}

	.ewnl-mega__n {
		background: rgba(255, 255, 255, 0.12);
		color: #dfe8f5;
	}
}

/* De wisknop draagt het hidden-attribuut zolang het veld leeg is; zonder deze
   regel wint onze display:flex daarvan en staat er altijd een kruisje. */
.ewnl-zoek__wis[hidden] {
	display: none !important;
}

/* Iets meer lucht tussen het vergrootglas en de tekst. */
.ewnl-zoek__veld {
	padding-left: 28px;
}

/* =====================================================================
 * Aantal en winkelwagenknop op één regel
 *
 * Twee dingen zaten in de weg: de compat-regel voor de knopkleur mikte nog op
 * de oude wrappernaam (.ewnl-single__cart) terwijl de productpagina
 * .ewnl-buy__cart gebruikt, en Kadence zet width:70% op de knop — die past dan
 * niet naast het aantalveld en klapt eronder.
 * ================================================================== */

.ewnl-buy__cart form.cart,
.ewnl-single__cart form.cart {
	display: flex;
	align-items: stretch;
	flex-wrap: nowrap;
	gap: 12px;
}

.ewnl-buy__cart .button,
.ewnl-buy__cart button.single_add_to_cart_button,
.woocommerce div.product .ewnl-buy__cart button.single_add_to_cart_button,
.woocommerce div.product .ewnl-buy__cart .button.single_add_to_cart_button {
	background: var(--ewnl-ink) !important;
	color: #fff !important;
	border: 0 !important;
	border-radius: 999px !important;
	width: auto !important;
	flex: 1 1 auto;
	min-width: 0;
	height: 54px;
	line-height: 1;
	padding: 0 30px;
	font-family: var(--ewnl-sans);
	font-size: 15.5px;
	font-weight: 600;
	text-transform: none;
	letter-spacing: 0;
	float: none !important;
	margin: 0 !important;
}

.ewnl-buy__cart .button:hover,
.ewnl-buy__cart button.single_add_to_cart_button:hover,
.woocommerce div.product .ewnl-buy__cart button.single_add_to_cart_button:hover {
	background: var(--ewnl-navy) !important;
}

/* Het aantalveld houdt zijn eigen breedte; de knop vult de rest. */
.ewnl-buy__cart .quantity,
.ewnl-buy__cart .ewnl-aantal {
	flex: none;
	float: none !important;
	margin: 0 !important;
}

@media (max-width: 620px) {
	/* Op een smal scherm alsnog onder elkaar — naast elkaar wordt te krap. */
	.ewnl-buy__cart form.cart,
	.ewnl-single__cart form.cart {
		flex-wrap: wrap;
	}

	.ewnl-buy__cart .button,
	.ewnl-buy__cart button.single_add_to_cart_button,
	.woocommerce div.product .ewnl-buy__cart button.single_add_to_cart_button {
		width: 100% !important;
		flex: 1 0 100%;
	}
}

/* =====================================================================
 * Productraster zonder media queries
 *
 * De kolommen hingen aan een keten van media-query-overschrijvingen met
 * !important. Dat werkte in theorie, maar is fragiel: een thema-update of een
 * CSS-optimalisatieplugin die regels herschikt of ongebruikte CSS wegknipt,
 * laat het omvallen — en dan staan er drie kaarten naast elkaar op een telefoon.
 *
 * auto-fill met minmax(min(100%, 300px), 1fr) regelt het intrinsiek: een kolom
 * is nooit smaller dan 300px én nooit breder dan de container. Op een telefoon
 * levert dat één kolom op, op een tablet twee, op desktop drie — zonder dat er
 * ook maar één media query aan te pas komt.
 * ================================================================== */

.ewnl-shop ul.products,
.ewnl-single ul.products,
.ewnl-kaarten,
.woocommerce .ewnl-shop ul.products,
.woocommerce .ewnl-single ul.products {
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr)) !important;
}

/* Grid- en flexkinderen krimpen niet onder hun inhoud zolang min-width:auto
   geldt; dan duwt één brede kaart de hele kolom voorbij het scherm. */
.ewnl-layout > *,
.ewnl-shop__main,
.ewnl-shop ul.products > li.product,
.ewnl-single ul.products > li.product {
	min-width: 0;
}

.ewnl-shop,
.ewnl-shop__main {
	max-width: 100%;
}

/* De bovenkop in de banner brak lelijk af op smalle schermen. */
@media (max-width: 620px) {
	.ewnl-banner .ewnl-kicker {
		font-size: 11px;
		letter-spacing: 0.12em;
	}

	.ewnl-banner h1 {
		font-size: 30px;
	}

	.ewnl-banner p {
		font-size: 14.5px;
	}
}

/* WooCommerce zet zelf ook een voorraadregel in het koopblok. Wij tonen die al
   met het groene bolletje uit het ontwerp, dus die tweede is dubbelop. */
.ewnl-buy .stock,
.woocommerce div.product .ewnl-buy p.stock {
	display: none !important;
}

/* =====================================================================
 * Klantquote: de foto minder dominant
 *
 * Het ontwerp gaat uit van een liggende sfeerfoto in een halve kolom. Bij een
 * staande foto vult object-fit: cover die halve breedte over de volle hoogte,
 * en dan overheerst hij het citaat. De fotokolom is nu smaller en lager, en
 * beide waarden staan als variabele zodat je ze kunt bijstellen.
 * ================================================================== */

.ewnl-quote {
	--ewnl-quote-foto: 0.75fr;
	--ewnl-quote-hoogte: 460px;
	grid-template-columns: var(--ewnl-quote-foto) 1fr;
	min-height: var(--ewnl-quote-hoogte);
	align-items: stretch;
}

.ewnl-quote__l {
	max-height: var(--ewnl-quote-hoogte);
	overflow: hidden;
}

.ewnl-quote__l img {
	height: 100%;
	max-height: var(--ewnl-quote-hoogte);
	object-position: center;
}

.ewnl-quote__r {
	padding: 56px 60px;
}

.ewnl-quote blockquote {
	font-size: 31px;
}

@media (max-width: 1000px) {
	.ewnl-quote {
		grid-template-columns: 1fr;
		min-height: 0;
	}

	.ewnl-quote__l,
	.ewnl-quote__l img {
		max-height: 300px;
	}

	.ewnl-quote__r {
		padding: 40px 26px;
	}

	.ewnl-quote blockquote {
		font-size: 25px;
	}
}

/* =====================================================================
 * Contactpagina
 * ================================================================== */

.ewnl-contact {
	padding: 70px 0 80px;
}

.ewnl-contact__intro {
	max-width: 640px;
	margin: -22px auto 44px;
	text-align: center;
	font-size: 15.5px;
}

.ewnl-contact__grid {
	display: grid;
	grid-template-columns: 1.35fr 1fr;
	gap: 40px;
	align-items: start;
}

.ewnl-contact__grid > * {
	min-width: 0;
}

/* Formulier */

.ewnl-form {
	background: var(--ewnl-card);
	border-radius: var(--ewnl-radius-l);
	padding: 34px 36px;
}

.ewnl-form__twee {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0 18px;
}

.ewnl-form__rij {
	margin: 0 0 16px;
}

.ewnl-form__rij label {
	display: block;
	font-size: 13.5px;
	font-weight: 600;
	color: var(--ewnl-ink);
	margin-bottom: 6px;
}

.ewnl-form__rij label span {
	color: #b32d2e;
}

.ewnl-form__rij input,
.ewnl-form__rij select,
.ewnl-form__rij textarea {
	width: 100%;
	font-family: var(--ewnl-sans);
	font-size: 15px;
	color: var(--ewnl-ink);
	background: #fff;
	border: 1.5px solid var(--ewnl-line);
	border-radius: 12px;
	padding: 12px 16px;
}

.ewnl-form__rij textarea {
	resize: vertical;
	min-height: 130px;
}

.ewnl-form__rij input:focus,
.ewnl-form__rij select:focus,
.ewnl-form__rij textarea:focus {
	outline: none;
	border-color: var(--ewnl-navy);
}

/* Het honeypot-veld hoort onzichtbaar te zijn, maar niet via display:none —
   sommige bots slaan verborgen velden juist over. */
.ewnl-form__honey {
	position: absolute;
	left: -9999px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

.ewnl-form button[type="submit"] {
	border: 0;
	cursor: pointer;
	font-family: var(--ewnl-sans);
	margin-top: 4px;
}

.ewnl-form__klein {
	font-size: 12.5px;
	color: var(--ewnl-muted);
	margin: 14px 0 0;
}

/* Meldingen */

.ewnl-contact__melding {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	border-radius: 14px;
	padding: 14px 18px;
	margin-bottom: 18px;
	font-size: 14.5px;
}

.ewnl-contact__melding--ok {
	background: var(--ewnl-lime);
	color: #2b3a18;
}

.ewnl-contact__melding--fout {
	background: #fdeaea;
	color: #8f2323;
}

.ewnl-contact__melding svg {
	flex: none;
	margin-top: 1px;
}

/* Contactgegevens */

.ewnl-contact__kanalen {
	display: grid;
	gap: 12px;
	margin-bottom: 22px;
}

.ewnl-contact__kanaal {
	display: flex;
	align-items: center;
	gap: 14px;
	background: var(--ewnl-navy);
	color: #fff;
	border-radius: var(--ewnl-radius);
	padding: 18px 20px;
	text-decoration: none;
}

.ewnl-contact__ic {
	width: 44px;
	height: 44px;
	flex: none;
	border-radius: 12px;
	background: rgba(255, 255, 255, 0.1);
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--ewnl-lime);
}

.ewnl-contact__tekst {
	min-width: 0;
}

.ewnl-contact__tekst b {
	display: block;
	font-size: 16px;
	font-weight: 600;
	overflow-wrap: anywhere;
}

.ewnl-contact__tekst span {
	font-size: 13.5px;
	color: #aeb8d0;
}

.ewnl-contact__usps {
	list-style: none;
	margin: 0;
	padding: 20px 22px;
	background: var(--ewnl-ice);
	border-radius: var(--ewnl-radius);
	display: grid;
	gap: 10px;
}

.ewnl-contact__usps li {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 14px;
	color: var(--ewnl-ink);
}

.ewnl-contact__usps svg {
	flex: none;
	color: var(--ewnl-navy-2);
}

@media (max-width: 1000px) {
	.ewnl-contact__grid {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 620px) {
	.ewnl-form {
		padding: 24px 20px;
	}

	.ewnl-form__twee {
		grid-template-columns: 1fr;
	}

	.ewnl-contact {
		padding: 40px 0 50px;
	}
}

/* =====================================================================
 * Kennisbank: overzicht en artikel
 * ================================================================== */

.ewnl-kb__rij--archief {
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 320px), 1fr));
	gap: 18px;
}

.ewnl-art--foto {
	padding: 0;
	overflow: hidden;
	min-height: 0;
}

.ewnl-art__foto {
	display: block;
	aspect-ratio: 16 / 10;
	overflow: hidden;
	background: var(--ewnl-ice);
}

.ewnl-art__foto img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.ewnl-art__body {
	display: flex;
	flex-direction: column;
	flex: 1;
	padding: 26px 28px 28px;
}

.ewnl-art--foto h2 {
	font-family: var(--ewnl-serif);
	font-size: 22px;
	font-weight: 400;
	color: var(--ewnl-ink);
	line-height: 1.15;
	margin: 12px 0 10px;
}

.ewnl-kbpagina .woocommerce-pagination,
.ewnl-kbpagina .pagination,
.ewnl-kbpagina .nav-links {
	display: flex;
	justify-content: center;
	gap: 8px;
	margin-top: 40px;
	flex-wrap: wrap;
}

.ewnl-kbpagina .nav-links .page-numbers {
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 42px;
	height: 42px;
	padding: 0 12px;
	border-radius: 999px;
	background: var(--ewnl-card);
	color: var(--ewnl-ink);
	font-size: 14.5px;
	font-weight: 600;
	text-decoration: none;
}

.ewnl-kbpagina .nav-links .page-numbers.current {
	background: var(--ewnl-ink);
	color: #fff;
}

/* Artikel */

.ewnl-kbartikel__kop {
	max-width: 760px;
	margin: 0 auto 28px;
	text-align: center;
}

.ewnl-kbartikel__kop h1 {
	font-family: var(--ewnl-serif);
	font-weight: 300;
	color: var(--ewnl-ink);
	font-size: 46px;
	line-height: 1.12;
	margin: 10px 0 0;
}

.ewnl-kbartikel__intro {
	font-size: 17px;
	margin-top: 14px;
	color: var(--ewnl-body);
}

.ewnl-kbartikel__foto {
	border-radius: var(--ewnl-radius-l);
	overflow: hidden;
	margin-bottom: 36px;
	max-height: 480px;
}

.ewnl-kbartikel__foto img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

/* Leesbare kolom: langere regels lezen slechter dan mensen denken. */
.ewnl-kbartikel__tekst {
	max-width: 760px;
	margin: 0 auto;
	font-size: 16.5px;
	line-height: 1.7;
}

.ewnl-kbartikel__tekst > * {
	margin-bottom: 18px;
}

.ewnl-kbartikel__tekst h2 {
	font-family: var(--ewnl-serif);
	font-weight: 300;
	color: var(--ewnl-ink);
	font-size: 32px;
	line-height: 1.15;
	margin: 36px 0 12px;
}

.ewnl-kbartikel__tekst h3 {
	font-family: var(--ewnl-sans);
	font-size: 18px;
	font-weight: 600;
	color: var(--ewnl-ink);
	margin: 26px 0 8px;
}

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

.ewnl-kbartikel__tekst ul,
.ewnl-kbartikel__tekst ol {
	padding-left: 22px;
}

.ewnl-kbartikel__tekst li {
	margin-bottom: 7px;
}

.ewnl-kbartikel__tekst a {
	color: var(--ewnl-navy);
	text-decoration: underline;
	text-underline-offset: 3px;
}

.ewnl-kbartikel__tekst blockquote {
	background: var(--ewnl-card);
	border-radius: var(--ewnl-radius);
	padding: 24px 28px;
	font-family: var(--ewnl-serif);
	font-size: 21px;
	line-height: 1.4;
	color: var(--ewnl-ink);
}

@media (max-width: 620px) {
	.ewnl-kbartikel__kop h1 {
		font-size: 30px;
	}

	.ewnl-kbartikel__tekst h2 {
		font-size: 25px;
	}

	.ewnl-art__body {
		padding: 20px 22px 24px;
	}
}

/* =====================================================================
 * Abonnement meenemen bij het toevoegen
 * ================================================================== */

.ewnl-abovink {
	display: flex;
	align-items: flex-start;
	gap: 11px;
	background: var(--ewnl-lime);
	border-radius: 14px;
	padding: 13px 16px;
	margin-bottom: 14px;
	cursor: pointer;
	font-family: var(--ewnl-sans);
}

.ewnl-abovink input[type="checkbox"] {
	width: 19px;
	height: 19px;
	margin: 1px 0 0;
	flex: none;
	accent-color: var(--ewnl-ink);
	cursor: pointer;
}

.ewnl-abovink__tekst b {
	display: block;
	font-size: 14.5px;
	font-weight: 600;
	color: var(--ewnl-ink);
	line-height: 1.3;
}

.ewnl-abovink__tekst > span {
	display: block;
	font-size: 13px;
	color: #3c4a2a;
	margin-top: 2px;
}

.ewnl-abovink__korting {
	display: inline-block;
	background: var(--ewnl-ink);
	color: var(--ewnl-lime);
	font-size: 11.5px;
	font-weight: 600;
	padding: 2px 8px;
	border-radius: 999px;
	margin-left: 4px;
}

/* Op een kaart: één regel, met ruimte rechts voor de ronde winkelwagenknop. */
.ewnl-abovink--kaart {
	position: relative;
	z-index: 3;
	display: flex;
	align-items: center;
	min-height: 44px;
	margin: 10px 0 0;
	padding: 8px 56px 8px 12px;
	gap: 9px;
	border-radius: 12px;
}

.ewnl-abovink--kaart .ewnl-abovink__tekst b {
	font-size: 13px;
	line-height: 1.25;
}

.ewnl-abovink--kaart input[type="checkbox"] {
	width: 17px;
	height: 17px;
	margin: 0;
}

/* De knop lijnt uit met de strook in plaats van erachter te verdwijnen. */
.ewnl-card:has(.ewnl-abovink--kaart) .ewnl-card__cart {
	bottom: 18px;
}

/* =====================================================================
 * Aanvinkoptie binnen het winkelwagenformulier
 *
 * Het vinkje hoort in het <form> te staan, anders wordt het niet meegestuurd.
 * Maar dat formulier is een flexrij met het aantalveld en de knop, dus zonder
 * deze regel wordt het vinkje daar als derde kolom tussen geperst.
 * ================================================================== */

.ewnl-buy__cart form.cart,
.ewnl-single__cart form.cart {
	flex-wrap: wrap;
}

.ewnl-buy__cart .ewnl-abovink,
.ewnl-single__cart .ewnl-abovink {
	flex: 1 0 100%;
	order: -1;
	margin: 0 0 4px;
}

/* =====================================================================
 * Aantalveld in de zijwinkelwagen
 *
 * Het getal was niet te zien: het veld was te smal en het thema legt zijn eigen
 * hoogte, kleur en padding op nummervelden. Hier hard vastgezet.
 * ================================================================== */

.ewnl-sidecart .ewnl-sidecart__aantal {
	height: 32px;
}

.ewnl-sidecart .ewnl-sidecart__aantal-veld,
.ewnl-sidecart input.ewnl-sidecart__aantal-veld[type="number"] {
	width: 40px !important;
	min-width: 40px !important;
	height: 100% !important;
	min-height: 0 !important;
	padding: 0 !important;
	margin: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	color: var(--ewnl-ink) !important;
	-webkit-text-fill-color: var(--ewnl-ink);
	font-family: var(--ewnl-sans) !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	line-height: 32px !important;
	text-align: center !important;
	box-shadow: none !important;
	opacity: 1 !important;
}

.ewnl-sidecart .ewnl-sidecart__stap {
	width: 28px;
	height: 100%;
	line-height: 1;
	flex: none;
}

/* =====================================================================
 * Blokken in de lopende tekst van een artikel
 * ================================================================== */

.ewnl-inline {
	display: grid;
	grid-template-columns: 220px 1fr;
	gap: 26px;
	align-items: center;
	background: var(--ewnl-card);
	border-radius: var(--ewnl-radius-l);
	padding: 26px 30px;
	margin: 32px 0;
	font-family: var(--ewnl-sans);
}

.ewnl-inline > * {
	min-width: 0;
}

.ewnl-inline__foto {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #fff;
	border-radius: var(--ewnl-radius);
	padding: 18px;
	min-height: 180px;
}

.ewnl-inline__foto .ewnl-product-img {
	max-height: 160px;
	max-width: 100%;
	width: auto;
	object-fit: contain;
	mix-blend-mode: multiply;
}

.ewnl-inline__cat {
	display: block;
	font-size: 12.5px;
	color: var(--ewnl-muted);
	margin-bottom: 2px;
}

.ewnl-inline__naam {
	display: block;
	font-family: var(--ewnl-serif);
	font-size: 26px;
	font-weight: 400;
	color: var(--ewnl-ink);
	line-height: 1.15;
	text-decoration: none;
}

.ewnl-inline__voorwie {
	font-family: var(--ewnl-serif);
	font-style: italic;
	font-size: 14.5px;
	color: #6b7690;
	margin: 6px 0 0;
}

.ewnl-inline__prijs {
	font-size: 20px;
	font-weight: 600;
	color: var(--ewnl-ink);
	margin: 10px 0 12px;
}

.ewnl-inline__prijs del {
	color: #a9b0c0;
	font-size: 16px;
	font-weight: 400;
	margin-right: 8px;
}

.ewnl-inline__prijs ins {
	text-decoration: none;
}

.ewnl-inline__usps {
	list-style: none;
	margin: 0 0 16px;
	padding: 0;
	display: grid;
	gap: 6px;
}

.ewnl-inline__usps li {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 13.5px;
	color: var(--ewnl-body);
}

.ewnl-inline__usps svg {
	flex: none;
	color: var(--ewnl-navy-2);
}

.ewnl-inline__uit {
	display: inline-block;
	background: var(--ewnl-line);
	color: var(--ewnl-body);
	border-radius: 999px;
	padding: 12px 24px;
	font-size: 14.5px;
	font-weight: 600;
}

/* USP-blok */

.ewnl-usps {
	margin: 30px 0;
}

.ewnl-usps__kop {
	font-family: var(--ewnl-serif);
	font-size: 24px;
	font-weight: 400;
	color: var(--ewnl-ink);
	margin: 0 0 16px;
}

.ewnl-usps__rij {
	display: grid;
	grid-template-columns: repeat(var(--ewnl-kolommen, 2), minmax(0, 1fr));
	gap: 14px;
}

.ewnl-usp {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	background: var(--ewnl-card);
	border-radius: var(--ewnl-radius);
	padding: 18px 20px;
}

.ewnl-usp__ic {
	flex: none;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: var(--ewnl-ice);
	color: var(--ewnl-navy-2);
	display: flex;
	align-items: center;
	justify-content: center;
}

.ewnl-usp b {
	display: block;
	font-size: 15px;
	color: var(--ewnl-ink);
}

.ewnl-usp span span {
	font-size: 13.5px;
	color: var(--ewnl-body);
}

.ewnl-usps__slot {
	font-size: 14px;
	color: var(--ewnl-muted);
	margin: 14px 0 0;
}

/* FAQ en betaalmethodes in de tekst */

.ewnl-faq--inline {
	margin: 30px 0;
	padding: 8px 26px;
}

.ewnl-faq--inline h3 {
	font-family: var(--ewnl-serif);
	font-size: 22px;
	font-weight: 400;
	color: var(--ewnl-ink);
	padding: 16px 0 4px;
	margin: 0;
}

.ewnl-betaal {
	display: flex;
	align-items: center;
	gap: 8px;
	flex-wrap: wrap;
	margin: 22px 0;
	font-size: 13.5px;
	color: var(--ewnl-muted);
}

.ewnl-proof {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 14px;
	color: var(--ewnl-ink);
	margin: 18px 0;
}

/* =====================================================================
 * Vaste bestelbalk op mobiel
 * ================================================================== */

.ewnl-balk {
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 9997;
	background: #fff;
	box-shadow: 0 -8px 28px rgba(16, 24, 40, 0.14);
	padding: 10px 14px calc(10px + env(safe-area-inset-bottom));
	transform: translateY(110%);
	transition: transform 0.25s ease;
	display: none;
}

.ewnl-balk.is-zichtbaar {
	transform: translateY(0);
}

.ewnl-balk__in {
	display: flex;
	align-items: center;
	gap: 12px;
	max-width: 720px;
	margin: 0 auto;
}

.ewnl-balk .ewnl-product-img {
	width: 44px;
	height: 44px;
	flex: none;
	object-fit: contain;
	mix-blend-mode: multiply;
}

.ewnl-balk__info {
	flex: 1;
	min-width: 0;
}

.ewnl-balk__info b {
	display: block;
	font-size: 13.5px;
	color: var(--ewnl-ink);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.ewnl-balk__info > span {
	font-size: 13px;
	color: var(--ewnl-body);
}

.ewnl-balk__info del {
	display: none;
}

.ewnl-balk .ewnl-knop {
	flex: none;
	padding: 12px 22px;
	font-size: 14.5px;
}

/* Alleen op smalle schermen; op desktop staat de koopkolom al mee te lopen. */
@media (max-width: 860px) {
	.ewnl-balk {
		display: block;
	}
}

@media (max-width: 760px) {
	.ewnl-inline {
		grid-template-columns: 1fr;
		gap: 18px;
		padding: 20px;
	}

	.ewnl-inline__naam {
		font-size: 22px;
	}

	.ewnl-usps__rij {
		grid-template-columns: 1fr;
	}
}

/* Zonder afbeelding staan de stappen over de volle breedte. */
.ewnl-hoe--zonder-foto {
	grid-template-columns: 1fr;
	max-width: 760px;
	margin: 0 auto;
}

/* =====================================================================
 * Afrekenpagina
 * ================================================================== */

body.ewnl-checkout .ewnl-checkout__usps {
	list-style: none;
	margin: 0 0 26px;
	padding: 16px 20px;
	background: var(--ewnl-ice);
	border-radius: var(--ewnl-radius);
	display: flex;
	flex-wrap: wrap;
	gap: 10px 26px;
	font-family: var(--ewnl-sans);
}

body.ewnl-checkout .ewnl-checkout__usps li {
	display: flex;
	align-items: center;
	gap: 9px;
	font-size: 14px;
	color: var(--ewnl-ink);
	margin: 0;
}

body.ewnl-checkout .ewnl-checkout__usps svg {
	flex: none;
	color: var(--ewnl-navy-2);
}

/* Productregels met miniatuur */

.ewnl-checkout__regel {
	display: flex;
	align-items: center;
	gap: 12px;
}

.ewnl-checkout__thumb {
	width: 48px;
	height: 48px;
	flex: none;
	background: var(--ewnl-card);
	border-radius: 10px;
	object-fit: contain;
	mix-blend-mode: multiply;
}

.ewnl-checkout__regeltekst {
	min-width: 0;
}

.ewnl-checkout__abo-label {
	display: inline-block;
	margin-top: 3px;
	background: var(--ewnl-lime);
	color: var(--ewnl-ink);
	font-size: 11.5px;
	font-weight: 600;
	padding: 2px 9px;
	border-radius: 999px;
}

/* Terugkerend bedrag: één regel in plaats van een tweede totalenblok */

body.ewnl-checkout .ewnl-checkout__abo th {
	font-weight: 600;
	color: var(--ewnl-ink);
}

body.ewnl-checkout .ewnl-checkout__abo th span,
body.woocommerce-checkout .ewnl-checkout__abo th span {
	display: block !important;
	margin-top: 3px;
	font-weight: 400 !important;
	font-size: 12.5px;
	line-height: 1.4;
	color: var(--ewnl-muted);
}

body.ewnl-checkout .ewnl-checkout__abo td {
	font-weight: 600;
	color: var(--ewnl-ink);
	white-space: nowrap;
}

/* Kortingscode — de eigen balk van WooCommerce, compact gemaakt.
   Bewust niet vervangen door een eigen veld: dat bleek niet overal te renderen,
   en dan verlies je de mogelijkheid om een code in te vullen. */

body.ewnl-checkout .woocommerce-form-coupon-toggle .woocommerce-info {
	background: var(--ewnl-card);
	border: 0;
	border-radius: var(--ewnl-radius);
	color: var(--ewnl-body);
	font-family: var(--ewnl-sans);
	font-size: 14px;
	padding: 14px 18px;
	margin: 0 0 22px;
}

body.ewnl-checkout .woocommerce-form-coupon-toggle .woocommerce-info::before {
	display: none;
}

body.ewnl-checkout .woocommerce-form-coupon-toggle a {
	color: var(--ewnl-ink);
	font-weight: 600;
	text-decoration: underline;
	text-underline-offset: 3px;
}

body.ewnl-checkout form.checkout_coupon {
	border: 1.5px solid var(--ewnl-line);
	border-radius: var(--ewnl-radius);
	padding: 18px 20px;
	margin: 0 0 22px;
}

body.ewnl-checkout form.checkout_coupon input[type="text"] {
	border: 1.5px solid var(--ewnl-line);
	border-radius: 12px;
	padding: 11px 14px;
	font-family: var(--ewnl-sans);
}

body.ewnl-checkout form.checkout_coupon .button {
	background: var(--ewnl-ink) !important;
	color: #fff !important;
	border-radius: 999px !important;
	padding: 11px 22px;
	font-weight: 600;
}

/* Vertrouwensregel onder de knop */

.ewnl-checkout__trust {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 8px 20px;
	margin-top: 14px;
	font-family: var(--ewnl-sans);
	font-size: 12.5px;
	color: var(--ewnl-muted);
}

.ewnl-checkout__trust span {
	display: flex;
	align-items: center;
	gap: 6px;
}

.ewnl-checkout__trust svg {
	flex: none;
	color: var(--ewnl-navy-2);
}

/* De bestelknop in de huisstijl */

body.ewnl-checkout #place_order,
body.woocommerce-checkout #place_order {
	background: var(--ewnl-ink) !important;
	color: #fff !important;
	border: 0 !important;
	border-radius: 999px !important;
	font-family: var(--ewnl-sans);
	font-size: 16px;
	font-weight: 600;
	padding: 16px 30px;
	width: 100%;
	text-transform: none;
	letter-spacing: 0;
}

body.ewnl-checkout #place_order:hover {
	background: var(--ewnl-navy) !important;
}

@media (max-width: 620px) {
	body.ewnl-checkout .ewnl-checkout__usps {
		gap: 8px 14px;
		padding: 14px 16px;
	}

	.ewnl-checkout__thumb {
		width: 40px;
		height: 40px;
	}
}

/* =====================================================================
 * Afrekenpagina — volledige opmaak
 *
 * WooCommerce en het thema leveren hier hun eigen formulier- en tabelstijl. Die
 * halen we weg zodat de afrekenpagina bij de rest van de site hoort: Fraunces
 * voor de koppen, ronde velden, en het besteloverzicht als kaart die meeloopt.
 * ================================================================== */

body.ewnl-checkout .woocommerce {
	font-family: var(--ewnl-sans);
	color: var(--ewnl-body);
}

/* Koppen */

body.ewnl-checkout h3,
body.ewnl-checkout #order_review_heading,
body.ewnl-checkout .woocommerce-billing-fields > h3,
body.ewnl-checkout .woocommerce-shipping-fields > h3,
body.ewnl-checkout .woocommerce-additional-fields > h3 {
	font-family: var(--ewnl-serif) !important;
	font-weight: 300 !important;
	font-size: 30px !important;
	line-height: 1.15;
	color: var(--ewnl-ink) !important;
	margin: 0 0 20px !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
}

body.ewnl-checkout .woocommerce-shipping-fields > h3 {
	font-size: 22px !important;
	margin-top: 8px !important;
}

/* Het tweede adres als nette schakelaar in plaats van een losse checkbox. */
body.ewnl-checkout #ship-to-different-address {
	display: flex;
	align-items: center;
	gap: 10px;
	background: var(--ewnl-card);
	border-radius: var(--ewnl-radius);
	padding: 14px 18px;
	margin: 22px 0 18px;
}

body.ewnl-checkout #ship-to-different-address label {
	font-family: var(--ewnl-serif) !important;
	font-weight: 400 !important;
	font-size: 17px !important;
	color: var(--ewnl-ink) !important;
	margin: 0 !important;
	cursor: pointer;
}

body.ewnl-checkout #ship-to-different-address input {
	width: 18px;
	height: 18px;
	accent-color: var(--ewnl-navy);
}

/* Formuliervelden */

body.ewnl-checkout .form-row {
	padding: 0 0 16px;
	margin: 0;
}

body.ewnl-checkout .form-row label {
	display: block;
	font-size: 13.5px;
	font-weight: 600;
	color: var(--ewnl-ink);
	margin-bottom: 6px;
}

body.ewnl-checkout .form-row .required {
	color: #b32d2e;
	text-decoration: none;
}

body.ewnl-checkout .woocommerce form .form-row input.input-text,
body.ewnl-checkout .woocommerce form .form-row textarea,
body.ewnl-checkout .form-row input.input-text,
body.ewnl-checkout .form-row textarea,
body.ewnl-checkout .form-row .select2-selection,
body.ewnl-checkout .form-row select {
	width: 100%;
	font-family: var(--ewnl-sans) !important;
	font-size: 15px !important;
	color: var(--ewnl-ink);
	background: #fff;
	border: 1.5px solid var(--ewnl-line) !important;
	border-radius: 12px !important;
	padding: 12px 16px !important;
	height: auto !important;
	line-height: 1.4 !important;
	box-shadow: none !important;
}

body.ewnl-checkout .form-row input.input-text:focus,
body.ewnl-checkout .form-row textarea:focus,
body.ewnl-checkout .form-row select:focus {
	outline: none;
	border-color: var(--ewnl-navy) !important;
}

body.ewnl-checkout .select2-container--default .select2-selection--single {
	height: auto !important;
	border: 1.5px solid var(--ewnl-line) !important;
	border-radius: 12px !important;
	padding: 6px 6px 6px 10px !important;
}

body.ewnl-checkout .select2-container--default .select2-selection--single .select2-selection__rendered {
	line-height: 1.9 !important;
	color: var(--ewnl-ink);
	padding-left: 6px;
}

body.ewnl-checkout .select2-container--default .select2-selection--single .select2-selection__arrow {
	height: 100% !important;
}

/* Besteloverzicht als kaart */

body.ewnl-checkout .woocommerce-checkout-review-order {
	background: var(--ewnl-card);
	border-radius: var(--ewnl-radius-l);
	padding: 26px 28px;
	position: sticky;
	top: 24px;
}

body.ewnl-checkout .woocommerce-checkout-review-order table.shop_table {
	border: 0 !important;
	border-radius: 0;
	margin: 0;
	background: transparent;
	width: 100%;
}

body.ewnl-checkout .woocommerce-checkout-review-order table.shop_table th,
body.ewnl-checkout .woocommerce-checkout-review-order table.shop_table td {
	border: 0 !important;
	border-bottom: 1px solid var(--ewnl-line) !important;
	padding: 14px 0 !important;
	font-size: 14.5px;
	color: var(--ewnl-body);
	background: transparent !important;
}

body.ewnl-checkout .woocommerce-checkout-review-order table.shop_table thead th {
	font-size: 11.5px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	font-weight: 600;
	color: var(--ewnl-muted);
	padding-bottom: 10px !important;
}

body.ewnl-checkout .woocommerce-checkout-review-order table.shop_table td.product-name,
body.ewnl-checkout .woocommerce-checkout-review-order table.shop_table th.product-name {
	color: var(--ewnl-ink);
	font-weight: 500;
}

body.ewnl-checkout .product-quantity {
	color: var(--ewnl-muted);
	font-size: 13px;
}

body.ewnl-checkout tr.order-total th,
body.ewnl-checkout tr.order-total td {
	font-family: var(--ewnl-serif);
	font-size: 21px !important;
	font-weight: 400 !important;
	color: var(--ewnl-ink) !important;
	border-bottom: 0 !important;
	padding-top: 18px !important;
}

body.ewnl-checkout tr.order-total .includes_tax,
body.ewnl-checkout tr.order-total small {
	font-family: var(--ewnl-sans);
	font-size: 12.5px;
	font-weight: 400;
	color: var(--ewnl-muted);
}

/* Verzendopties */

body.ewnl-checkout #shipping_method {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 8px;
}

body.ewnl-checkout #shipping_method li {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0;
	font-size: 14px;
}

body.ewnl-checkout #shipping_method input[type="radio"] {
	accent-color: var(--ewnl-navy);
	width: 17px;
	height: 17px;
}

body.ewnl-checkout #shipping_method label {
	margin: 0;
	color: var(--ewnl-ink);
}

/* Betaalmethodes */

body.ewnl-checkout .wc_payment_methods {
	list-style: none;
	margin: 20px 0 0;
	padding: 0;
	display: grid;
	gap: 10px;
}

body.ewnl-checkout .wc_payment_methods li.wc_payment_method {
	background: #fff;
	border: 1.5px solid var(--ewnl-line);
	border-radius: 14px;
	padding: 14px 16px;
	margin: 0;
	transition: border-color 0.15s ease;
}

body.ewnl-checkout .wc_payment_methods li.wc_payment_method:has(input:checked) {
	border-color: var(--ewnl-ink);
}

body.ewnl-checkout .wc_payment_methods label {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 15px;
	font-weight: 600;
	color: var(--ewnl-ink);
	margin: 0;
	cursor: pointer;
}

body.ewnl-checkout .wc_payment_methods input[type="radio"] {
	accent-color: var(--ewnl-navy);
	width: 17px;
	height: 17px;
}

body.ewnl-checkout .wc_payment_methods .payment_box {
	background: var(--ewnl-card) !important;
	border-radius: 12px;
	margin: 12px 0 0;
	padding: 14px 16px;
	font-size: 13.5px;
}

body.ewnl-checkout .wc_payment_methods .payment_box::before {
	display: none !important;
}

/* Privacytekst en meldingen */

body.ewnl-checkout .woocommerce-privacy-policy-text p {
	font-size: 12.5px;
	color: var(--ewnl-muted);
	line-height: 1.55;
}

body.ewnl-checkout .woocommerce-error,
body.ewnl-checkout .woocommerce-message,
body.ewnl-checkout .woocommerce-info {
	border-radius: var(--ewnl-radius);
	border-top: 0;
	font-family: var(--ewnl-sans);
}

@media (max-width: 1000px) {
	body.ewnl-checkout .woocommerce-checkout-review-order {
		position: static;
		margin-top: 26px;
	}
}

@media (max-width: 620px) {
	body.ewnl-checkout h3,
	body.ewnl-checkout #order_review_heading {
		font-size: 25px !important;
	}

	body.ewnl-checkout .woocommerce-checkout-review-order {
		padding: 20px 18px;
	}
}

/* =====================================================================
 * Keuzehulp als brede band
 *
 * Stond eerst bovenin de filterkolom. Daar kreeg hij weinig aandacht en viel hij
 * weg zodra er geen filters waren. Als band vlak boven de vergelijker staat hij
 * op het moment dat iemand aan het kiezen is.
 * ================================================================== */

.ewnl-keuzehulp--breed {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 26px;
	flex-wrap: wrap;
	background: var(--ewnl-ice);
	border-radius: var(--ewnl-radius-l);
	padding: 30px 36px;
	margin: 50px 0 0;
}

.ewnl-keuzehulp--breed .ewnl-keuzehulp__tekst {
	min-width: 0;
}

.ewnl-keuzehulp--breed b {
	font-family: var(--ewnl-serif);
	font-weight: 400;
	font-size: 26px;
	line-height: 1.15;
	color: var(--ewnl-ink);
	display: block;
	margin-bottom: 4px;
}

.ewnl-keuzehulp--breed p {
	font-size: 15px;
	color: var(--ewnl-body);
	margin: 0;
	max-width: 560px;
}

.ewnl-keuzehulp--breed a {
	flex: none;
	background: var(--ewnl-ink);
	color: #fff;
	font-size: 15px;
	font-weight: 600;
	padding: 14px 30px;
	border-radius: 999px;
	text-decoration: none;
	white-space: nowrap;
}

.ewnl-keuzehulp--breed a:hover {
	background: var(--ewnl-navy);
}

@media (max-width: 620px) {
	.ewnl-keuzehulp--breed {
		padding: 24px;
		gap: 18px;
	}

	.ewnl-keuzehulp--breed b {
		font-size: 21px;
	}

	.ewnl-keuzehulp--breed a {
		width: 100%;
		text-align: center;
	}
}

/* =====================================================================
 * Keuzehulp binnen het vergelijkblok
 *
 * Op de navy achtergrond: lichte kaart met een limoengroene knop, zodat hij
 * opvalt zonder de kolommen te overstemmen.
 * ================================================================== */

.ewnl-keuzehulp--donker {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 24px;
	flex-wrap: wrap;
	text-align: left;
	background: rgba(255, 255, 255, 0.06);
	border: 1px solid rgba(255, 255, 255, 0.14);
	border-radius: var(--ewnl-radius);
	padding: 24px 30px;
	margin: 40px auto 0;
	max-width: 1100px;
}

.ewnl-keuzehulp--donker .ewnl-keuzehulp__tekst {
	min-width: 0;
}

.ewnl-keuzehulp--donker b {
	display: block;
	font-family: var(--ewnl-serif);
	font-weight: 400;
	font-size: 22px;
	line-height: 1.2;
	color: #fff;
	margin-bottom: 3px;
}

.ewnl-keuzehulp--donker p {
	font-size: 14.5px;
	color: #cdd6ea;
	margin: 0;
	max-width: 520px;
}

.ewnl-keuzehulp--donker a {
	flex: none;
	background: var(--ewnl-lime);
	color: var(--ewnl-ink);
	font-size: 14.5px;
	font-weight: 600;
	padding: 13px 28px;
	border-radius: 999px;
	text-decoration: none;
	white-space: nowrap;
}

.ewnl-keuzehulp--donker a:hover {
	background: var(--ewnl-lime-d);
}

@media (max-width: 1000px) {
	.ewnl-keuzehulp--donker {
		margin-left: 40px;
		margin-right: 40px;
	}
}

@media (max-width: 620px) {
	.ewnl-keuzehulp--donker {
		margin-left: 0;
		margin-right: 0;
		padding: 22px;
		gap: 16px;
	}

	.ewnl-keuzehulp--donker b {
		font-size: 19px;
	}

	.ewnl-keuzehulp--donker a {
		width: 100%;
		text-align: center;
	}
}

/* =====================================================================
 * Icoon in de ronde winkelwagenknop
 *
 * Het icoon tekent met currentColor. Thema's zetten een eigen linkkleur op
 * li.product a, en die selector is specifieker dan onze knop — dus werd het
 * donker op donker. Hier zowel de kleur als de lijnkleur vastgezet.
 * ================================================================== */

.ewnl-card .ewnl-card__cart,
.ewnl-shop ul.products > li.product a.ewnl-card__cart,
.ewnl-single ul.products > li.product a.ewnl-card__cart,
.woocommerce ul.products li.product a.ewnl-card__cart {
	color: #fff !important;
	background: var(--ewnl-ink) !important;
}

.ewnl-card .ewnl-card__cart svg,
.woocommerce ul.products li.product a.ewnl-card__cart svg {
	stroke: #fff !important;
	color: #fff !important;
}

.ewnl-card .ewnl-card__cart:hover,
.woocommerce ul.products li.product a.ewnl-card__cart:hover {
	background: var(--ewnl-navy) !important;
}

/* Zelfde verhaal bij de andere plekken waar een icoon op een donker vlak staat. */
.ewnl-nav .ewnl-nav__ic svg,
.ewnl-nav .ewnl-nav__toggle svg,
.ewnl-nav .ewnl-zoek__icoon svg {
	stroke: currentColor;
}

.ewnl-contact__kanaal .ewnl-contact__ic svg {
	stroke: var(--ewnl-lime);
}

.ewnl-mini .ewnl-mini__shop,
.ewnl-rtegel .ewnl-mini__shop {
	color: var(--ewnl-ink) !important;
}

/* ============================================================================
   Koopblok in een artikel
   De blogs halen het meeste verkeer binnen maar verwijzen hooguit met een
   tekstlink naar een product. Dit blok zet er een echt aanbod neer, op het
   punt in de tekst waar de lezer zelf al aan het rekenen is.
   ========================================================================= */

.ewnl-koopblok {
	display: grid;
	grid-template-columns: 190px 1fr;
	gap: 26px;
	align-items: center;
	margin: 40px 0;
	padding: 26px;
	background: var(--ewnl-zacht, #f4f5f7);
	border: 1px solid rgba(16, 24, 40, .07);
	border-radius: 20px;
	/* Anders duwt lange inhoud het blok uit een smalle artikelkolom. */
	min-width: 0;
}

.ewnl-koopblok__foto {
	display: block;
	background: #fff;
	border-radius: 14px;
	overflow: hidden;
	aspect-ratio: 1;
	min-width: 0;
}

.ewnl-koopblok__foto img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	display: block;
	mix-blend-mode: multiply;
}

.ewnl-koopblok__body { min-width: 0; }

.ewnl-koopblok__kicker {
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--ewnl-grijs, #8a93a8);
	margin-bottom: 6px;
}

.ewnl-koopblok .ewnl-koopblok__titel {
	font-family: var(--ewnl-kop, Fraunces), Georgia, serif;
	font-weight: 400;
	font-size: 22px;
	line-height: 1.25;
	margin: 0 0 8px;
}

.ewnl-koopblok .ewnl-koopblok__titel a {
	color: var(--ewnl-navy, #101828);
	text-decoration: none;
	box-shadow: none;
}

.ewnl-koopblok .ewnl-koopblok__titel a:hover { text-decoration: underline; }

.ewnl-koopblok__tekst {
	margin: 0 0 12px;
	font-size: 14.5px;
	line-height: 1.6;
	color: var(--ewnl-tekst, #44506a);
}

.ewnl-koopblok__usps {
	list-style: none;
	margin: 0 0 14px;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 8px 20px;
}

.ewnl-koopblok__usps li {
	display: flex;
	align-items: center;
	gap: 7px;
	margin: 0;
	font-size: 13.5px;
	color: var(--ewnl-tekst, #44506a);
}

.ewnl-koopblok__usps li svg { flex: none; color: var(--ewnl-accent, #1d9a8a); }

.ewnl-koopblok__abo { margin: 0 0 14px; }

.ewnl-koopblok__voet {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
}

.ewnl-koopblok__prijs {
	font-size: 21px;
	font-weight: 600;
	color: var(--ewnl-navy, #101828);
	line-height: 1.2;
}

.ewnl-koopblok__prijs del { opacity: .45; font-weight: 400; font-size: .8em; margin-right: 5px; }
.ewnl-koopblok__prijs ins { text-decoration: none; }

.ewnl-koopblok__bespaar {
	display: block;
	font-size: 12.5px;
	font-weight: 500;
	color: var(--ewnl-accent, #1d9a8a);
}

/* Wint van .entry-content a en soortgelijke themaregels met drie klassen. */
.ewnl-koopblok .ewnl-koopblok__knop,
.ewnl-kbartikel__tekst .ewnl-koopblok__knop {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: var(--ewnl-navy, #101828);
	color: #fff;
	font-size: 15px;
	font-weight: 600;
	text-decoration: none;
	box-shadow: none;
	padding: 13px 26px;
	border-radius: 999px;
	border: 0;
	transition: transform .15s ease, background .15s ease;
}

.ewnl-koopblok .ewnl-koopblok__knop:hover,
.ewnl-kbartikel__tekst .ewnl-koopblok__knop:hover {
	background: var(--ewnl-accent, #1d9a8a);
	color: #fff;
	transform: translateY(-1px);
}

.ewnl-koopblok .ewnl-koopblok__knop.loading { opacity: .6; pointer-events: none; }
.ewnl-koopblok .added_to_cart { display: none; }

@media (max-width: 640px) {
	.ewnl-koopblok {
		grid-template-columns: 1fr;
		gap: 18px;
		padding: 20px;
		margin: 30px 0;
	}

	.ewnl-koopblok__foto { max-width: 160px; aspect-ratio: 1; }
	.ewnl-koopblok__voet { flex-direction: column; align-items: stretch; }
	.ewnl-koopblok .ewnl-koopblok__knop { width: 100%; }
}

/* ---------------------------------------------------------------- Blogpagina */

.ewnl-blog__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	margin-top: 14px;
	font-size: 13.5px;
	color: var(--ewnl-grijs, #8a93a8);
}

.ewnl-blog__meer {
	margin-top: 56px;
	padding-top: 34px;
	border-top: 1px solid rgba(16, 24, 40, .08);
}

.ewnl-blog__meer > h2 {
	font-family: var(--ewnl-kop, Fraunces), Georgia, serif;
	font-weight: 400;
	font-size: 26px;
	margin: 0 0 22px;
	color: var(--ewnl-navy, #101828);
}

.ewnl-blog__meer .ewnl-art__body h3 {
	font-family: var(--ewnl-kop, Fraunces), Georgia, serif;
	font-weight: 400;
	font-size: 18px;
	line-height: 1.3;
	margin: 0 0 6px;
	color: var(--ewnl-navy, #101828);
}

/* ============================================================================
   Retour & reparatie op Mijn account
   ========================================================================= */

.ewnl-retour__intro { font-size: 15px; line-height: 1.65; color: var(--ewnl-tekst, #44506a); margin-bottom: 24px; }
.ewnl-retour__intro p:last-child { margin-bottom: 0; }

.ewnl-retour__eerder {
	margin: 0 0 30px;
	padding: 18px 20px;
	background: var(--ewnl-zacht, #f4f5f7);
	border-radius: 14px;
}

.ewnl-retour__eerder h3 {
	font-family: var(--ewnl-kop, Fraunces), Georgia, serif;
	font-weight: 400;
	font-size: 17px;
	margin: 0 0 12px;
	color: var(--ewnl-navy, #101828);
}

.ewnl-retour__eerder ul { list-style: none; margin: 0; padding: 0; }

.ewnl-retour__eerder li {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px 14px;
	padding: 9px 0;
	border-top: 1px solid rgba(16, 24, 40, .07);
	font-size: 14px;
}

.ewnl-retour__eerder li:first-child { border-top: 0; }
.ewnl-retour__datum { color: var(--ewnl-grijs, #8a93a8); font-size: 13px; min-width: 92px; }
.ewnl-retour__wat { flex: 1 1 200px; min-width: 0; color: var(--ewnl-navy, #101828); }

.ewnl-retour__status {
	font-size: 12px;
	font-weight: 600;
	padding: 4px 11px;
	border-radius: 999px;
	background: rgba(16, 24, 40, .07);
	color: var(--ewnl-tekst, #44506a);
	white-space: nowrap;
}

.ewnl-retour__status--akkoord,
.ewnl-retour__status--afgerond { background: rgba(29, 154, 138, .13); color: var(--ewnl-accent, #1d9a8a); }
.ewnl-retour__status--afgewezen { background: rgba(200, 60, 60, .12); color: #b03d3d; }

/* De twee keuzes als kaartjes, niet als kale radioknoppen: het verschil tussen
   retourneren en repareren moet je kunnen lezen voordat je kiest. */
.ewnl-retour__keuze { border: 0; padding: 0; margin: 0 0 18px; }

.ewnl-retour__keuze legend {
	font-size: 13.5px;
	font-weight: 600;
	color: var(--ewnl-navy, #101828);
	margin-bottom: 10px;
	padding: 0;
}

.ewnl-retour__keuze legend span { color: var(--ewnl-accent, #1d9a8a); }

.ewnl-retour__optie {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	padding: 14px 16px;
	margin-bottom: 10px;
	background: #fff;
	border: 1px solid rgba(16, 24, 40, .12);
	border-radius: 13px;
	cursor: pointer;
	transition: border-color .15s ease, background .15s ease;
}

.ewnl-retour__optie:hover { border-color: rgba(29, 154, 138, .5); }
.ewnl-retour__optie:has(input:checked) { border-color: var(--ewnl-accent, #1d9a8a); background: rgba(29, 154, 138, .05); }
.ewnl-retour__optie input { margin: 3px 0 0; flex: none; accent-color: var(--ewnl-accent, #1d9a8a); }
.ewnl-retour__optie b { display: block; font-size: 15px; color: var(--ewnl-navy, #101828); margin-bottom: 2px; }
.ewnl-retour__optie small { display: block; font-size: 13px; line-height: 1.5; color: var(--ewnl-grijs, #8a93a8); }

.ewnl-retour__form input[type="file"] {
	padding: 11px 12px;
	font-size: 14px;
	background: #fff;
	border: 1px solid rgba(16, 24, 40, .14);
	border-radius: 11px;
	width: 100%;
}

.ewnl-retour .ewnl-form__rij .ewnl-form__klein { margin-top: 6px; }
