/* ==========================================================================
   EMS Techniek – merkboard v2
   Alle kleuren, fonts en schaduwen komen uit theme.json (var(--wp--preset--*) en var(--wp--custom--*)).
   Hier staan geen losse kleurwaarden.
   ========================================================================== */

:root {
	--ems-navy: var(--wp--preset--color--navy);
	--ems-navy-donker: var(--wp--preset--color--navy-donker);
	--ems-navy-licht: var(--wp--preset--color--navy-licht);
	--ems-goud: var(--wp--preset--color--goud);
	--ems-groen: var(--wp--preset--color--groen);
	--ems-groen-donker: var(--wp--preset--color--groen-donker);
	--ems-groen-licht: var(--wp--preset--color--groen-licht);
	--ems-lichtblauw: var(--wp--preset--color--lichtblauw);
	--ems-achtergrond: var(--wp--preset--color--achtergrond);
	--ems-antraciet: var(--wp--preset--color--antraciet);
	--ems-grijs: var(--wp--preset--color--grijs);
	--ems-lichtgrijs: var(--wp--preset--color--lichtgrijs);
	--ems-wit: var(--wp--preset--color--wit);
	--ems-oranje: var(--wp--preset--color--oranje);
	--ems-oranje-licht: var(--wp--preset--color--oranje-licht);
	--ems-rood: var(--wp--preset--color--rood);
	--ems-rood-licht: var(--wp--preset--color--rood-licht);

	--ems-kop: var(--wp--preset--font-family--archivo);
	--ems-tekst: var(--wp--preset--font-family--source-sans);

	--ems-schaduw: var(--wp--preset--shadow--kaart);
	--ems-schaduw-hover: var(--wp--preset--shadow--kaart-hover);
	--ems-radius: var(--wp--custom--radius--normaal);
	--ems-radius-klein: var(--wp--custom--radius--klein);
	--ems-radius-groot: var(--wp--custom--radius--groot);
	--ems-container: var(--wp--custom--container);
	--ems-gutter: var(--wp--custom--gutter);
	--ems-focus: var(--wp--custom--focus);
}

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

*, *::before, *::after { box-sizing: border-box; }

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

body {
	margin: 0;
	background: var(--ems-achtergrond);
	color: var(--ems-antraciet);
	font-family: var(--ems-tekst);
}

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

a { color: var(--ems-navy-licht); text-underline-offset: 0.15em; }
a:hover { color: var(--ems-navy); }

:focus-visible { outline: var(--ems-focus); outline-offset: 2px; }

h1, h2, h3, h4 { font-family: var(--ems-kop); color: var(--ems-navy); margin: 0 0 0.6em; }

.screen-reader-text {
	position: absolute !important;
	width: 1px; height: 1px;
	padding: 0; margin: -1px;
	overflow: hidden; clip: rect(0 0 0 0);
	white-space: nowrap; border: 0;
}

.ems-skiplink {
	position: absolute; left: var(--ems-gutter); top: -100px; z-index: 100;
	background: var(--ems-goud); color: var(--ems-navy);
	padding: 0.75rem 1rem; font-weight: 700; border-radius: var(--ems-radius-klein);
}
.ems-skiplink:focus { top: var(--ems-gutter); }

.ems-container {
	width: 100%;
	max-width: var(--ems-container);
	margin-inline: auto;
	padding-inline: var(--ems-gutter);
}

.ems-inhoud { padding-block: 2rem 3rem; }
.ems-sectie { padding-block: 2rem; }
.ems-sectie__intro { margin-top: -0.25rem; color: var(--ems-grijs); }

.ems-grid { display: grid; gap: 1.25rem; }
.ems-grid--3 { grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); }

/* ---------- Knoppen ---------- */
/* Groen = bestellen. Goud met navy tekst = offerte/project/eerst contact. Navy outline = neutraal. */

.ems-knop,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit {
	display: inline-flex; align-items: center; justify-content: center; gap: 0.4rem;
	min-height: 44px; padding: 0.6rem 1.15rem;
	border: 2px solid var(--ems-navy); border-radius: var(--ems-radius);
	background: transparent; color: var(--ems-navy);
	font-family: var(--ems-tekst); font-size: 1rem; font-weight: 700; line-height: 1.2;
	text-decoration: none; cursor: pointer;
	transition: background-color 0.15s, color 0.15s, border-color 0.15s;
}
.ems-knop:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover {
	background: var(--ems-navy); color: var(--ems-wit); border-color: var(--ems-navy);
}

.ems-knop--bestellen,
.woocommerce a.button.add_to_cart_button,
.woocommerce button.single_add_to_cart_button,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce a.checkout-button,
.woocommerce #place_order,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
	background: var(--ems-groen); border-color: var(--ems-groen); color: var(--ems-wit);
}
.ems-knop--bestellen:hover,
.woocommerce a.button.add_to_cart_button:hover,
.woocommerce button.single_add_to_cart_button:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce #place_order:hover {
	background: var(--ems-groen-donker); border-color: var(--ems-groen-donker); color: var(--ems-wit);
}

.ems-knop--offerte { background: var(--ems-goud); border-color: var(--ems-goud); color: var(--ems-navy); }
.ems-knop--offerte:hover { background: var(--ems-navy); border-color: var(--ems-navy); color: var(--ems-wit); }

.ems-knop--neutraal { background: transparent; }

.ems-knop--neutraal-licht { border-color: var(--ems-wit); color: var(--ems-wit); }
.ems-knop--neutraal-licht:hover { background: var(--ems-wit); color: var(--ems-navy); border-color: var(--ems-wit); }

.ems-knop--spoed { background: var(--ems-goud); border-color: var(--ems-goud); color: var(--ems-navy); font-size: 1.1rem; }

.ems-knoppen { display: flex; flex-wrap: wrap; gap: 0.75rem; margin: 1rem 0 0; padding: 0; }

.woocommerce a.button.disabled,
.woocommerce button.button:disabled,
.woocommerce button.button:disabled[disabled] { opacity: 0.55; cursor: not-allowed; }

/* ---------- Kaarten ---------- */

.ems-kaart {
	background: var(--ems-wit);
	border-radius: var(--ems-radius-groot);
	box-shadow: var(--ems-schaduw);
	padding: 1.5rem;
}
.ems-kaart--tekst > :last-child { margin-bottom: 0; }
.ems-kaart--breed { display: grid; gap: 1.5rem; grid-template-columns: 1fr; align-items: center; }
@media (min-width: 800px) { .ems-kaart--breed { grid-template-columns: 2fr 1fr; } }

.ems-pijler { display: flex; flex-direction: column; gap: 0.5rem; }
.ems-pijler p { flex: 1; margin: 0 0 0.75rem; }
.ems-pijler .ems-knop { align-self: flex-start; }

/* ---------- Formulieren ---------- */

input[type="text"], input[type="email"], input[type="tel"], input[type="search"], input[type="number"],
input[type="password"], input[type="date"], input[type="url"], select, textarea,
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select {
	width: 100%; min-height: 44px;
	padding: 0.55rem 0.75rem;
	border: 1px solid var(--ems-lichtgrijs); border-radius: var(--ems-radius-klein);
	background: var(--ems-wit); color: var(--ems-antraciet);
	font-family: var(--ems-tekst); font-size: 1rem; line-height: 1.4;
}
textarea { min-height: 7rem; }
input:focus, select:focus, textarea:focus { border-color: var(--ems-navy); outline: var(--ems-focus); outline-offset: 0; }

label, .woocommerce form .form-row label { display: block; font-weight: 600; margin-bottom: 0.3rem; color: var(--ems-antraciet); }
.required, .woocommerce form .form-row .required { color: var(--ems-rood); text-decoration: none; }

fieldset { border: 0; margin: 0 0 1.5rem; padding: 0; min-width: 0; }
legend { font-family: var(--ems-kop); font-weight: 700; font-size: 1.15rem; color: var(--ems-navy); margin-bottom: 0.75rem; padding: 0; }

.ems-veld { margin: 0 0 1rem; }
.ems-veld--verborgen { position: absolute; left: -9999px; }
.ems-hulptekst { display: block; margin-top: 0.3rem; font-size: 0.9rem; color: var(--ems-grijs); }

.ems-vink { display: flex; align-items: center; gap: 0.5rem; font-weight: 400; min-height: 32px; }
.ems-vink input { width: 1.15rem; height: 1.15rem; accent-color: var(--ems-navy); }
.ems-vink__aantal { color: var(--ems-grijs); }

/* Keuzekaarten (montage, dienst, locatie) */
.ems-keuzes { display: grid; gap: 0.75rem; }
@media (min-width: 640px) { .ems-keuzes { grid-template-columns: repeat(2, 1fr); } }
.ems-keuze { position: relative; }
.ems-keuze input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.ems-keuze label {
	display: flex; flex-direction: column; gap: 0.2rem; height: 100%;
	margin: 0; padding: 0.9rem 1rem 0.9rem 2.75rem;
	border: 2px solid var(--ems-lichtgrijs); border-radius: var(--ems-radius);
	background: var(--ems-wit); cursor: pointer; position: relative;
}
.ems-keuze label::before {
	content: ""; position: absolute; left: 1rem; top: 1.05rem;
	width: 1.1rem; height: 1.1rem; border-radius: 50%;
	border: 2px solid var(--ems-grijs); background: var(--ems-wit);
}
.ems-keuze input:checked + label { border-color: var(--ems-groen); background: var(--ems-groen-licht); }
.ems-keuze input:checked + label::before { border-color: var(--ems-groen); background: var(--ems-groen); box-shadow: inset 0 0 0 3px var(--ems-wit); }
.ems-keuze input:focus-visible + label { outline: var(--ems-focus); outline-offset: 2px; }
.ems-keuze__naam { font-weight: 700; color: var(--ems-navy); }
.ems-keuze__uitleg { font-weight: 400; font-size: 0.95rem; color: var(--ems-grijs); }
.ems-keuze__prijs { font-weight: 600; color: var(--ems-antraciet); }

/* ---------- Meldingen ---------- */

.ems-melding,
.woocommerce-message, .woocommerce-info, .woocommerce-error, .woocommerce-notice {
	border: 0; border-left: 4px solid var(--ems-navy);
	background: var(--ems-lichtblauw); color: var(--ems-antraciet);
	border-radius: var(--ems-radius-klein);
	padding: 0.85rem 1rem; margin: 0 0 1.25rem;
	list-style: none;
}
.woocommerce-message::before, .woocommerce-info::before, .woocommerce-error::before { display: none; }
.woocommerce-message, .ems-melding--succes { border-left-color: var(--ems-groen); background: var(--ems-groen-licht); }
.woocommerce-error, .ems-melding--fout { border-left-color: var(--ems-rood); background: var(--ems-rood-licht); }
.ems-melding--let-op { border-left-color: var(--ems-oranje); background: var(--ems-oranje-licht); }
.ems-melding p:last-child, .ems-melding ul:last-child { margin-bottom: 0; }
.woocommerce-message .button, .woocommerce-info .button { float: none; margin-left: 0.75rem; min-height: 36px; padding-block: 0.35rem; }

/* ---------- Voorraadstatus en badges ---------- */

.ems-voorraad {
	display: inline-flex; align-items: center; gap: 0.45rem;
	margin: 0.25rem 0 0.5rem; font-weight: 600; font-size: 0.95rem;
	color: var(--ems-grijs);
}
.ems-voorraad__stip { width: 0.7rem; height: 0.7rem; border-radius: 50%; background: currentColor; flex: none; }
.ems-voorraad--voorraad { color: var(--ems-groen-donker); }
.ems-voorraad--levertijd, .ems-voorraad--nabestellen { color: var(--ems-oranje); }
.ems-voorraad--aanvraag, .ems-voorraad--vervallen { color: var(--ems-grijs); }
.ems-voorraad--groot { font-size: 1.05rem; padding: 0.4rem 0.75rem; border-radius: 999px; background: var(--ems-achtergrond); }
.ems-voorraad--groot.ems-voorraad--voorraad { background: var(--ems-groen-licht); }
.ems-voorraad--groot.ems-voorraad--levertijd,
.ems-voorraad--groot.ems-voorraad--nabestellen { background: var(--ems-oranje-licht); }

.ems-badge { display: inline-block; padding: 0.15rem 0.55rem; border-radius: 999px; font-size: 0.8rem; font-weight: 700; background: var(--ems-lichtblauw); color: var(--ems-navy); }
.ems-badge--goud { background: var(--ems-goud); color: var(--ems-navy); }
.ems-badge--groen { background: var(--ems-groen-licht); color: var(--ems-groen-donker); }

/* ---------- Topbalk en header ---------- */

.ems-topbalk { background: var(--ems-navy-donker); color: var(--ems-wit); font-size: 0.9rem; }
.ems-topbalk__rij { display: flex; align-items: center; justify-content: space-between; gap: 1rem; min-height: 38px; }
.ems-usps { display: flex; gap: 1.5rem; margin: 0; padding: 0; list-style: none; }
.ems-usps li { display: flex; align-items: center; gap: 0.4rem; }
.ems-usps li::before { content: ""; width: 0.45rem; height: 0.45rem; border-radius: 50%; background: var(--ems-goud); }
.ems-topbalk__tel { color: var(--ems-wit); font-weight: 700; text-decoration: none; white-space: nowrap; }
.ems-topbalk__tel:hover { color: var(--ems-goud); }

.ems-header { background: var(--ems-navy); color: var(--ems-wit); }
.ems-header__rij {
	display: grid; align-items: center; gap: 0.75rem 1.5rem;
	grid-template-columns: auto 1fr auto; padding-block: 0.9rem;
}

.ems-merk { display: inline-flex; align-items: center; gap: 0.6rem; color: var(--ems-wit); text-decoration: none; }
.ems-merk:hover { color: var(--ems-wit); }
.ems-beeldmerk { width: 48px; height: 48px; flex: none; }
.ems-woordmerk { display: flex; flex-direction: column; line-height: 1; }
.ems-woordmerk__ems { font-family: var(--ems-kop); font-weight: 800; font-size: 1.6rem; letter-spacing: 0.14em; }
.ems-woordmerk__techniek { font-family: var(--ems-kop); font-weight: 600; font-size: 0.68rem; letter-spacing: 0.42em; margin-top: 0.2rem; }

.ems-acties { display: flex; align-items: center; gap: 1rem; }
.ems-acties__link { color: var(--ems-wit); font-weight: 600; text-decoration: none; display: inline-flex; align-items: center; gap: 0.4rem; min-height: 44px; }
.ems-acties__link:hover { color: var(--ems-goud); }
.ems-teller {
	display: inline-flex; align-items: center; justify-content: center;
	min-width: 1.5rem; height: 1.5rem; padding: 0 0.35rem; border-radius: 999px;
	background: var(--ems-groen); color: var(--ems-wit); font-size: 0.85rem; font-weight: 700;
}

.ems-menuknop {
	display: none; min-height: 44px; padding: 0.4rem 0.9rem;
	border: 2px solid var(--ems-wit); border-radius: var(--ems-radius);
	background: transparent; color: var(--ems-wit); font: inherit; font-weight: 700; cursor: pointer;
}

.ems-nav { background: var(--ems-navy-licht); }
.ems-nav__lijst, .ems-nav ul { display: flex; flex-wrap: wrap; gap: 0.25rem 2rem; margin: 0; padding: 0; list-style: none; }
.ems-nav a { display: block; padding: 0.75rem 0; color: var(--ems-wit); font-weight: 600; text-decoration: none; border-bottom: 3px solid transparent; }
.ems-nav a:hover, .ems-nav .current-menu-item > a, .ems-nav .current_page_item > a { border-bottom-color: var(--ems-goud); color: var(--ems-wit); }

/* ---------- Zoeken ---------- */

.ems-zoek { position: relative; width: 100%; }
.ems-zoek__rij { display: flex; }
.ems-zoek input[type="search"] { border-radius: var(--ems-radius) 0 0 var(--ems-radius); border-right: 0; min-height: 46px; }
.ems-zoek .ems-knop { border-radius: 0 var(--ems-radius) var(--ems-radius) 0; min-height: 46px; }
.ems-zoek--groot .ems-zoek__label { font-family: var(--ems-kop); font-size: var(--wp--preset--font-size--groot); color: var(--ems-navy); margin-bottom: 0.75rem; }
.ems-zoek--groot input[type="search"], .ems-zoek--groot .ems-knop { min-height: 56px; font-size: 1.1rem; }

.ems-suggesties {
	position: absolute; left: 0; right: 0; top: calc(100% + 4px); z-index: 50;
	background: var(--ems-wit); color: var(--ems-antraciet);
	border-radius: var(--ems-radius); box-shadow: var(--ems-schaduw-hover);
	max-height: 70vh; overflow-y: auto;
}
.ems-suggesties ul { list-style: none; margin: 0; padding: 0.35rem 0; }
.ems-suggestie {
	display: grid; grid-template-columns: 44px 1fr auto; gap: 0.75rem; align-items: center;
	padding: 0.5rem 0.9rem; color: var(--ems-antraciet); text-decoration: none;
}
.ems-suggestie:hover, .ems-suggestie:focus { background: var(--ems-lichtblauw); outline: none; }
.ems-suggestie img, .ems-suggestie__leeg { width: 44px; height: 44px; object-fit: contain; border-radius: var(--ems-radius-klein); background: var(--ems-achtergrond); }
.ems-suggestie__naam { display: block; font-weight: 600; color: var(--ems-navy); }
.ems-suggestie__sku { display: block; font-size: 0.85rem; color: var(--ems-grijs); }
.ems-suggestie__prijs { font-weight: 700; white-space: nowrap; text-align: right; font-size: 0.9rem; }
.ems-suggesties__alles { display: block; padding: 0.65rem 0.9rem; border-top: 1px solid var(--ems-achtergrond); font-weight: 700; }
.ems-suggesties__geen { padding: 0.75rem 0.9rem; margin: 0; }

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

.ems-footer { background: var(--ems-navy-donker); color: var(--ems-wit); margin-top: 3rem; font-size: 0.95rem; }
.ems-footer a { color: var(--ems-wit); }
.ems-footer a:hover { color: var(--ems-goud); }
.ems-footer__grid { display: grid; gap: 2rem; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); padding-block: 2.5rem; }
.ems-footer h2 { color: var(--ems-wit); font-size: 1.05rem; margin-bottom: 0.75rem; }
.ems-footer ul { list-style: none; margin: 0 0 1rem; padding: 0; display: grid; gap: 0.4rem; }
.ems-footer .ems-nav__lijst { display: grid; gap: 0.4rem; }
.ems-footer address { font-style: normal; margin-bottom: 0.75rem; }
.ems-footer__zin { color: var(--ems-lichtblauw); }
.ems-footer .ems-merk { margin-bottom: 0.75rem; }
.ems-betaalmethoden { display: flex !important; flex-wrap: wrap; gap: 0.5rem !important; }
.ems-betaalmethoden li { padding: 0.3rem 0.6rem; border: 1px solid var(--ems-navy-licht); border-radius: var(--ems-radius-klein); background: var(--ems-navy); font-weight: 600; }
.ems-betaalmethoden span { font-weight: 400; color: var(--ems-lichtblauw); }
.ems-footer__onder { border-top: 1px solid var(--ems-navy-licht); padding-block: 1rem; font-size: 0.875rem; color: var(--ems-lichtblauw); }
.ems-footer__onder p { margin: 0; }

/* ---------- Homepage ---------- */

.ems-hero { background: var(--ems-navy); color: var(--ems-wit); padding-block: 3rem 3.5rem; }
.ems-hero__rij { display: grid; gap: 2rem; align-items: center; grid-template-columns: 1fr; }
.ems-hero h1 { color: var(--ems-wit); margin-bottom: 0.5rem; }
.ems-hero__sub { font-size: var(--wp--preset--font-size--middel); color: var(--ems-lichtblauw); margin: 0 0 1.5rem; max-width: 36ch; }
.ems-hero__beeld { display: none; color: var(--ems-navy-licht); }
.ems-hero__beeld .ems-beeldmerk { width: 100%; height: auto; max-width: 280px; }
@media (min-width: 900px) {
	.ems-hero__rij { grid-template-columns: 3fr 1fr; }
	.ems-hero__beeld { display: flex; justify-content: flex-end; }
}

.ems-home__zoek { margin-top: -1.75rem; }
.ems-home__zoek .ems-zoek { background: var(--ems-wit); border-radius: var(--ems-radius-groot); box-shadow: var(--ems-schaduw-hover); padding: 1.25rem; }

.ems-groepen { display: flex; flex-wrap: wrap; gap: 0.75rem; list-style: none; margin: 0; padding: 0; }
.ems-groep {
	display: inline-flex; align-items: center; min-height: 48px; padding: 0.6rem 1.1rem;
	background: var(--ems-wit); border-radius: var(--ems-radius); box-shadow: var(--ems-schaduw);
	color: var(--ems-navy); font-weight: 700; text-decoration: none;
}
.ems-groep:hover { box-shadow: var(--ems-schaduw-hover); color: var(--ems-navy); }

.ems-band { background: var(--ems-lichtblauw); padding-block: 2.5rem; margin-block: 1rem; }
.ems-band__rij { display: grid; gap: 1.5rem; align-items: center; }
@media (min-width: 800px) { .ems-band__rij { grid-template-columns: 3fr 2fr; } }
.ems-band__boven { font-weight: 600; color: var(--ems-navy-licht); margin: 0 0 0.25rem; }

.ems-service-blok h2 { margin-bottom: 0.25rem; }
.ems-service-blok p { margin: 0; }

.ems-case .ems-foto-placeholder { margin: -1.5rem -1.5rem 1rem; border-radius: var(--ems-radius-groot) var(--ems-radius-groot) 0 0; }

.ems-bedrijf__gegevens { display: grid; grid-template-columns: auto 1fr; gap: 0.35rem 1rem; margin: 0; }
.ems-bedrijf__gegevens dt { font-weight: 700; color: var(--ems-navy); }
.ems-bedrijf__gegevens dd { margin: 0; }

.ems-foto-placeholder {
	display: flex; align-items: center; justify-content: center; text-align: center;
	aspect-ratio: 4 / 3; padding: 1rem;
	background: repeating-linear-gradient(45deg, var(--ems-lichtblauw), var(--ems-lichtblauw) 12px, var(--ems-achtergrond) 12px, var(--ems-achtergrond) 24px);
	border-radius: var(--ems-radius-groot); color: var(--ems-navy); font-weight: 600;
}
.ems-foto-placeholder span { background: var(--ems-wit); padding: 0.35rem 0.7rem; border-radius: var(--ems-radius-klein); }

/* ---------- Pagina's ---------- */

.ems-pagina { padding-block: 2rem 1rem; }
.ems-pagina__inhoud { max-width: 760px; }
.ems-pagina--winkel .ems-pagina__inhoud { max-width: none; }
.ems-pagina__inhoud > .wp-block-group,
.ems-pagina__inhoud > .ems-kaart { margin-bottom: 1.5rem; }
.ems-pagina__inhoud .ems-concept {
	border: 2px dashed var(--ems-goud); background: var(--ems-wit); padding: 1rem; border-radius: var(--ems-radius);
}

.ems-404 { max-width: 760px; }
.ems-404__links { display: flex; flex-wrap: wrap; gap: 1rem; padding: 0; list-style: none; margin: 1.5rem 0; }
.ems-404__links a { font-weight: 700; }

.ems-niet-leverbaar { max-width: 760px; padding-top: 2rem; }

/* ---------- Wachtpagina ("Binnenkort beschikbaar") ---------- */

.ems-wacht {
	min-height: 100vh; display: flex; padding: 2rem 1rem; background: var(--ems-navy);
}
.ems-wacht__kaart {
	/* Centreren met auto-marges: bij een laag scherm blijft de bovenkant bereikbaar, anders dan met align-items. */
	margin: auto; width: 100%; max-width: 620px; background: var(--ems-wit); border-radius: var(--ems-radius);
	padding: 2.5rem; box-shadow: 0 18px 40px rgba(12, 35, 64, 0.35);
}
.ems-wacht__merk { display: flex; align-items: center; gap: 0.6rem; color: var(--ems-navy); margin-bottom: 1.75rem; }
.ems-wacht__merk .ems-beeldmerk { width: 56px; height: 56px; }
.ems-wacht h1 { margin: 0 0 0.75rem; font-size: 1.9rem; }
.ems-wacht__intro { margin: 0; font-size: 1.05rem; }
.ems-wacht__knoppen { display: flex; flex-wrap: wrap; gap: 0.75rem; margin: 1.75rem 0 0; }
.ems-wacht__gegevens {
	display: grid; grid-template-columns: 7rem 1fr; gap: 0.4rem 1rem; margin: 1.75rem 0 0;
	padding-top: 1.5rem; border-top: 1px solid var(--ems-lichtblauw);
}
.ems-wacht__gegevens dt { font-weight: 700; color: var(--ems-navy); }
.ems-wacht__gegevens dd { margin: 0; }

/* ---------- Webshop: lijst en filters ---------- */

.ems-winkel { padding-block: 1.25rem 3rem; }
.ems-kruimel { font-size: 0.9rem; color: var(--ems-grijs); margin-bottom: 1rem; }
.ems-kruimel a { color: var(--ems-grijs); }
.ems-kruimel__scheiding { margin-inline: 0.4rem; }
.ems-winkel__kop { margin-bottom: 1rem; }
.ems-winkel__kop .term-description, .ems-winkel__kop .page-description { max-width: 70ch; color: var(--ems-grijs); }

.ems-winkel__grid { display: grid; gap: 1.5rem; grid-template-columns: 1fr; }
@media (min-width: 960px) {
	.ems-winkel__grid { grid-template-columns: 260px 1fr; align-items: start; }
	.ems-winkel__grid--zonder-filters { grid-template-columns: 1fr; }
}

.ems-filters { background: var(--ems-wit); border-radius: var(--ems-radius-groot); box-shadow: var(--ems-schaduw); padding: 0 1.25rem; }
.ems-filters__kop { font-family: var(--ems-kop); font-weight: 700; color: var(--ems-navy); padding-block: 1rem; cursor: pointer; min-height: 44px; }
.ems-filters[open] .ems-filters__kop { border-bottom: 1px solid var(--ems-achtergrond); margin-bottom: 1rem; }
.ems-filters__actief { font-family: var(--ems-tekst); font-weight: 400; color: var(--ems-groen-donker); }
.ems-filters fieldset { margin-bottom: 1.25rem; }
.ems-filters legend { font-size: 1rem; margin-bottom: 0.4rem; }
.ems-filters__knoppen { display: flex; align-items: center; gap: 1rem; flex-wrap: wrap; padding-bottom: 1.25rem; margin: 0; }

.woocommerce .woocommerce-result-count { margin: 0.6rem 0 1rem; color: var(--ems-grijs); }
.woocommerce .woocommerce-ordering { margin-bottom: 1rem; }
.woocommerce .woocommerce-ordering select { width: auto; }

.woocommerce ul.products[class*="columns-"],
.woocommerce-page ul.products[class*="columns-"] {
	display: grid; gap: 1.25rem; margin: 0 0 1.5rem; padding: 0;
	grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
}
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none; }
.woocommerce ul.products[class*="columns-"] li.product,
.woocommerce-page ul.products[class*="columns-"] li.product {
	width: auto; float: none; margin: 0;
	display: flex; flex-direction: column;
	background: var(--ems-wit); border-radius: var(--ems-radius-groot); box-shadow: var(--ems-schaduw);
	padding: 1rem; transition: box-shadow 0.15s;
}
.woocommerce ul.products li.product:hover { box-shadow: var(--ems-schaduw-hover); }
.woocommerce ul.products li.product a img { margin: 0 0 0.75rem; border-radius: var(--ems-radius); background: var(--ems-achtergrond); aspect-ratio: 1; object-fit: contain; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { font-family: var(--ems-kop); font-size: 1.05rem; color: var(--ems-navy); padding: 0; margin: 0 0 0.25rem; }
.woocommerce ul.products li.product .woocommerce-LoopProduct-link { color: inherit; text-decoration: none; flex: 1; }
.ems-productkaart__meta { margin: 0 0 0.35rem; font-size: 0.85rem; color: var(--ems-grijs); }
.woocommerce ul.products li.product .price { color: var(--ems-antraciet); font-weight: 700; font-size: 1.1rem; margin: 0.25rem 0; display: block; }
.woocommerce ul.products li.product .button, .woocommerce ul.products li.product .ems-knop { margin-top: 0.75rem; width: 100%; }
.woocommerce ul.products li.product.product-category { text-align: left; }
.woocommerce ul.products li.product-category h2 { font-size: 1.05rem; }
.woocommerce ul.products li.product-category mark { background: none; color: var(--ems-grijs); }

.woocommerce-price-suffix, .price small { font-size: 0.8em; font-weight: 400; color: var(--ems-grijs); }
.ems-klantprijs__label { display: block; font-size: 0.8rem; font-weight: 700; color: var(--ems-groen-donker); text-transform: uppercase; letter-spacing: 0.04em; }
.ems-klantprijs__basis { display: block; font-size: 0.85rem; font-weight: 400; color: var(--ems-grijs); }

.woocommerce nav.woocommerce-pagination ul { border: 0; display: flex; gap: 0.35rem; }
.woocommerce nav.woocommerce-pagination ul li { border: 0; }
.woocommerce nav.woocommerce-pagination ul li a, .woocommerce nav.woocommerce-pagination ul li span {
	min-width: 44px; min-height: 44px; display: inline-flex; align-items: center; justify-content: center;
	border-radius: var(--ems-radius-klein); background: var(--ems-wit); color: var(--ems-navy); font-weight: 700;
}
.woocommerce nav.woocommerce-pagination ul li span.current { background: var(--ems-navy); color: var(--ems-wit); }

/* ---------- Productpagina ---------- */

.ems-product__boven {
	display: grid; gap: 2rem; grid-template-columns: 1fr;
	background: var(--ems-wit); border-radius: var(--ems-radius-groot); box-shadow: var(--ems-schaduw);
	padding: 1.25rem;
}
@media (min-width: 900px) { .ems-product__boven { grid-template-columns: 1fr 1fr; padding: 2rem; } }

.woocommerce div.product .ems-product__galerij div.images,
.woocommerce div.product .ems-product__koop.summary {
	width: auto; float: none; margin: 0;
}
.woocommerce div.product .ems-product__galerij div.images img { border-radius: var(--ems-radius); background: var(--ems-achtergrond); }
.woocommerce div.product .ems-product__galerij .woocommerce-product-gallery__image--placeholder img { aspect-ratio: 1; object-fit: contain; }

.ems-product__merk { margin: 0 0 0.25rem; font-weight: 700; color: var(--ems-navy-licht); text-transform: uppercase; letter-spacing: 0.05em; font-size: 0.9rem; }
.woocommerce div.product .product_title { font-size: var(--wp--preset--font-size--groot); margin-bottom: 0.5rem; }
.ems-product__nummers { display: flex; flex-wrap: wrap; gap: 0.25rem 1.5rem; margin: 0 0 1rem; font-size: 0.95rem; }
.ems-product__nummers div { display: flex; gap: 0.35rem; }
.ems-product__nummers dt { color: var(--ems-grijs); }
.ems-product__nummers dd { margin: 0; font-weight: 600; font-family: ui-monospace, "SFMono-Regular", Consolas, monospace; }

.woocommerce div.product p.price, .woocommerce div.product span.price { color: var(--ems-antraciet); font-size: 1.75rem; font-weight: 700; margin: 0.25rem 0; }
.woocommerce div.product .woocommerce-product-details__short-description { margin: 1rem 0; }
.woocommerce div.product .woocommerce-product-details__short-description ul { padding-left: 1.2rem; }

.woocommerce div.product form.cart { margin: 1.25rem 0; display: flex; flex-wrap: wrap; gap: 0.75rem; align-items: flex-end; }
.woocommerce div.product form.cart .ems-montage,
.woocommerce div.product form.cart .ems-melding { flex-basis: 100%; }
.woocommerce div.product form.cart div.quantity { float: none; margin: 0; }
.woocommerce .quantity .qty { width: 5rem; min-height: 48px; text-align: center; }
.woocommerce div.product form.cart .button { float: none; min-height: 48px; flex: 1 1 200px; font-size: 1.05rem; }

.ems-product__aanvraag { margin: 1rem 0; padding: 1rem; border-radius: var(--ems-radius); background: var(--ems-achtergrond); }
.ems-product__usps { list-style: none; margin: 0.5rem 0 1.25rem; padding: 0; display: flex; flex-wrap: wrap; gap: 0.35rem 1.25rem; font-size: 0.9rem; color: var(--ems-grijs); }
.ems-product__usps li::before { content: "✓ "; color: var(--ems-groen); font-weight: 700; }

.ems-past-het { border-top: 1px solid var(--ems-achtergrond); padding-top: 1.25rem; margin-top: 1.25rem; }
.ems-past-het h2 { font-size: 1.15rem; margin-bottom: 0.35rem; }

.ems-product__sectie { margin-top: 1.5rem; }
.ems-specs { width: 100%; border-collapse: collapse; }
.ems-specs th, .ems-specs td { text-align: left; padding: 0.6rem 0.75rem; border-bottom: 1px solid var(--ems-achtergrond); vertical-align: top; }
.ems-specs th { width: 40%; font-weight: 600; color: var(--ems-grijs); }
.ems-specs tr:nth-child(odd) { background: var(--ems-achtergrond); }

.ems-staffels { border-collapse: collapse; margin: 0.5rem 0 1rem; font-size: 0.95rem; }
.ems-staffels caption { text-align: left; font-weight: 700; color: var(--ems-navy); margin-bottom: 0.25rem; }
.ems-staffels th, .ems-staffels td { padding: 0.35rem 1rem 0.35rem 0; text-align: left; border-bottom: 1px solid var(--ems-achtergrond); }

/* Fase 1: opvolger, relaties en reserveonderdelen (plugin ems-erp, Productinfo) */
.ems-vervangt { font-size: 0.9rem; color: var(--ems-grijs); margin: 0.25rem 0 0.75rem; }
.ems-relatie-let-op { margin: 0.75rem 0; }
.ems-relaties h3 { font-size: 1.05rem; margin: 1.25rem 0 0.5rem; }
.ems-relaties h3:first-of-type { margin-top: 0.5rem; }
.ems-artikelrijen { list-style: none; margin: 0; padding: 0; }
.ems-artikelrij { display: grid; grid-template-columns: 1fr; gap: 0.5rem; padding: 0.75rem 0; border-bottom: 1px solid var(--ems-achtergrond); }
.ems-artikelrij:last-child { border-bottom: 0; }
.ems-artikelrij__positie { font-weight: 700; color: var(--ems-navy); font-size: 0.9rem; }
.ems-artikelrij__naam a { font-weight: 600; }
.ems-artikelrij__sku { font-size: 0.85rem; color: var(--ems-grijs); white-space: nowrap; }
.ems-artikelrij__koop { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem 1rem; }
.ems-artikelrij__prijs { font-weight: 700; color: var(--ems-navy); }
.ems-artikelrij .ems-voorraad { margin: 0; font-size: 0.85rem; }
.ems-knop--klein { min-height: 40px; padding: 0.4rem 0.9rem; font-size: 0.95rem; }
.ems-klein { font-size: 0.9rem; color: var(--ems-grijs); }
@media (min-width: 800px) {
	.ems-artikelrij { grid-template-columns: 7rem 1fr auto; align-items: center; }
	.ems-artikelrij:not(:has(.ems-artikelrij__positie)) { grid-template-columns: 1fr auto; }
	.ems-artikelrij__koop { justify-content: flex-end; }
}

.ems-kitlijst { list-style: none; margin: 0.5rem 0 0; padding: 0; }
.ems-kitlijst li { padding: 0.45rem 0; border-bottom: 1px solid var(--ems-achtergrond); }
.ems-kitlijst li:last-child { border-bottom: 0; }
.ems-kitlijst__aantal { display: inline-block; min-width: 2.5rem; font-weight: 700; color: var(--ems-navy); }
.ems-factuur { display: inline-block; padding: 0.15rem 0.6rem; border-radius: 999px; font-size: 0.85rem; font-weight: 700; }
.ems-factuur--open { background: var(--ems-oranje-licht); color: var(--ems-antraciet); }
.ems-factuur--betaald { background: var(--ems-groen-licht, #E3F1E7); color: var(--ems-groen-donker); }
.ems-account-documenten h3 { font-size: 1.05rem; margin: 1.25rem 0 0.25rem; }
.ems-niet-gevonden { margin-top: 2rem; }
.ems-niet-gevonden > summary { cursor: pointer; font-family: var(--ems-kop); font-weight: 700; color: var(--ems-navy); font-size: 1.1rem; }
.ems-niet-gevonden[open] > summary { margin-bottom: 1rem; }
.ems-productaanvraag { max-width: 44rem; }
.ems-keuzehulp__titel { font-size: 0.9rem; color: var(--ems-grijs); margin-bottom: 0.5rem; }
.ems-keuzehulp__vraag h2 { margin-top: 0; }
.ems-keuzehulp__antwoorden { list-style: none; margin: 1rem 0; padding: 0; display: grid; gap: 0.6rem; }
.ems-keuzehulp__antwoord { display: block; padding: 0.9rem 1rem; border: 2px solid var(--ems-lichtblauw, #DCE6F0); border-radius: var(--ems-radius); font-weight: 600; color: var(--ems-navy); text-decoration: none; min-height: 48px; }
.ems-keuzehulp__antwoord:hover, .ems-keuzehulp__antwoord:focus { border-color: var(--ems-navy); background: var(--ems-achtergrond); }
.ems-keuzehulp__lijst { list-style: none; margin: 0; padding: 0; display: grid; gap: 1rem; }
@media (min-width: 800px) { .ems-keuzehulp__lijst { grid-template-columns: repeat(2, 1fr); } }
.ems-keuzehulp-verwijzing { margin-top: 0.5rem; }
.ems-documentlijst { list-style: none; margin: 0; padding: 0; }
.ems-document { padding: 0.6rem 0; border-bottom: 1px solid var(--ems-achtergrond); }
.ems-document:last-child { border-bottom: 0; }
.ems-document__titel { font-weight: 600; }
.ems-document__titel a::before { content: "\2193  "; color: var(--ems-groen); }

/* Montage door EMS (plugin ems-montage) */
.ems-montage { border: 2px solid var(--ems-lichtblauw); border-radius: var(--ems-radius); padding: 1rem; margin: 0; background: var(--ems-wit); }
.ems-montage__titel { font-size: 1.1rem; }
.ems-montage__intro { margin: -0.25rem 0 0.75rem; color: var(--ems-grijs); }
.ems-montage .ems-keuze { margin-bottom: 0.5rem; }
.ems-montage__machine { margin-top: 1rem; padding-top: 1rem; border-top: 1px solid var(--ems-achtergrond); }
.ems-montage__machine .form-row { margin: 0 0 0.9rem; }
.ems-montage__belofte { font-weight: 600; color: var(--ems-navy); margin: 0; }
/* Machinevelden alleen tonen bij montage in werkplaats of op locatie (zonder JavaScript). */
.ems-montage:has(#ems-montage-zelf:checked) .ems-montage__machine { display: none; }

/* ---------- Winkelwagen, afrekenen, Mijn account ---------- */

.woocommerce table.shop_table { border: 0; border-radius: var(--ems-radius-groot); background: var(--ems-wit); box-shadow: var(--ems-schaduw); border-collapse: separate; overflow: hidden; }
.woocommerce table.shop_table th { color: var(--ems-navy); font-family: var(--ems-kop); }
.woocommerce table.shop_table td, .woocommerce table.shop_table th { border-top: 1px solid var(--ems-achtergrond); padding: 0.85rem; }
.woocommerce table.shop_table dl.variation,
.woocommerce ul.order_details dl.variation,
.woocommerce .woocommerce-table dl.variation { display: grid; grid-template-columns: auto 1fr; gap: 0.1rem 0.5rem; margin: 0.35rem 0 0; font-size: 0.9rem; color: var(--ems-grijs); }
.woocommerce dl.variation dt, .woocommerce dl.variation dd { float: none; margin: 0; padding: 0; }
.woocommerce dl.variation dt { font-weight: 600; }
.woocommerce dl.variation dd p { margin: 0; }
.ems-prijs-volgt { font-weight: 600; color: var(--ems-navy); }
.ems-aantal-vast { display: inline-block; min-width: 3rem; text-align: center; }
.ems-verwachte-levering td { color: var(--ems-groen-donker); font-weight: 600; }

.woocommerce-cart .cart-collaterals .cart_totals, .woocommerce-checkout #order_review,
.woocommerce form.checkout_coupon, .woocommerce form.login, .woocommerce form.register {
	background: var(--ems-wit); border: 0; border-radius: var(--ems-radius-groot); box-shadow: var(--ems-schaduw); padding: 1.25rem;
}
.woocommerce-checkout #payment { background: var(--ems-achtergrond); border-radius: var(--ems-radius); }
.woocommerce-checkout #payment div.payment_box { background: var(--ems-wit); color: var(--ems-antraciet); }
.woocommerce-checkout #payment div.payment_box::before { border-bottom-color: var(--ems-wit); }
.woocommerce form .form-row { padding: 0; margin: 0 0 1rem; }
@media (min-width: 900px) {
	.woocommerce-checkout form.checkout { display: grid; grid-template-columns: 3fr 2fr; gap: 2rem; align-items: start; }
	.woocommerce-checkout form.checkout > .woocommerce-NoticeGroup,
	.woocommerce-checkout form.checkout > .woocommerce-notices-wrapper { grid-column: 1 / -1; }
	.woocommerce-checkout #customer_details .col-1, .woocommerce-checkout #customer_details .col-2 { float: none; width: auto; }
	.woocommerce-checkout #order_review_heading { display: none; }
}

.ems-registratie fieldset { margin-bottom: 1rem; }
.ems-registratie__intro { background: var(--ems-lichtblauw); padding: 0.75rem 1rem; border-radius: var(--ems-radius-klein); }
.ems-registratie .ems-bezorgadres { display: none; }
.ems-registratie:has(#ems_bezorg_anders:checked) .ems-bezorgadres { display: block; }
.ems-veld--check label { display: flex; gap: 0.5rem; align-items: center; font-weight: 400; }

.woocommerce-account .woocommerce-MyAccount-navigation ul { list-style: none; padding: 0; margin: 0 0 1.5rem; background: var(--ems-wit); border-radius: var(--ems-radius-groot); box-shadow: var(--ems-schaduw); overflow: hidden; }
.woocommerce-account .woocommerce-MyAccount-navigation li a { display: block; padding: 0.8rem 1rem; text-decoration: none; font-weight: 600; border-bottom: 1px solid var(--ems-achtergrond); }
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a { background: var(--ems-lichtblauw); color: var(--ems-navy); }
.woocommerce-account .woocommerce-MyAccount-content { background: var(--ems-wit); border-radius: var(--ems-radius-groot); box-shadow: var(--ems-schaduw); padding: 1.5rem; }

.ems-account-status, .ems-order-erp { border: 2px solid var(--ems-lichtblauw); border-radius: var(--ems-radius); padding: 1rem 1.25rem; margin: 1.5rem 0; }
.ems-account-status.is-goedgekeurd { border-color: var(--ems-groen); background: var(--ems-groen-licht); }
.ems-account-status h2, .ems-order-erp h2 { font-size: 1.15rem; }
.ems-account-status dl, .ems-order-erp dl { display: grid; grid-template-columns: auto 1fr; gap: 0.35rem 1rem; margin: 0 0 0.75rem; }
.ems-account-status dt, .ems-order-erp dt { font-weight: 600; color: var(--ems-grijs); }
.ems-account-status dd, .ems-order-erp dd { margin: 0; }

/* ---------- Aanvraagformulieren (plugin ems-aanvragen) ---------- */

.ems-spoed { display: flex; flex-wrap: wrap; align-items: center; gap: 0.75rem 1rem; background: var(--ems-wit); border-left: 4px solid var(--ems-goud); padding: 1rem; border-radius: var(--ems-radius); box-shadow: var(--ems-schaduw); }
.ems-spoed__uitleg { flex: 1 1 260px; color: var(--ems-grijs); }

.ems-aanvraag { margin-top: 1.5rem; }
.ems-aanvraag__grid { display: grid; gap: 1.5rem; }
@media (min-width: 960px) { .ems-aanvraag__grid { grid-template-columns: 2fr 1fr; align-items: start; } }
.ems-aanvraag__stappen, .ems-aanvraag--project {
	background: var(--ems-wit); border-radius: var(--ems-radius-groot); box-shadow: var(--ems-schaduw); padding: 1.5rem;
}
.ems-aanvraag__samenvatting {
	background: var(--ems-navy); color: var(--ems-wit); border-radius: var(--ems-radius-groot); padding: 1.5rem;
	position: sticky; top: 1rem;
}
.ems-aanvraag__samenvatting h2 { color: var(--ems-wit); font-size: 1.15rem; }
.ems-aanvraag__samenvatting dl { display: grid; grid-template-columns: auto 1fr; gap: 0.4rem 1rem; margin: 0 0 1rem; }
.ems-aanvraag__samenvatting dt { color: var(--ems-lichtblauw); }
.ems-aanvraag__samenvatting dd { margin: 0; font-weight: 600; }
.ems-aanvraag__samenvatting .ems-hulptekst { color: var(--ems-lichtblauw); }
.ems-aanvraag__intro { background: var(--ems-lichtblauw); padding: 0.75rem 1rem; border-radius: var(--ems-radius-klein); }
.ems-aanvraag .ems-keuzes { grid-template-columns: 1fr; }
@media (min-width: 640px) { .ems-aanvraag .ems-keuzes { grid-template-columns: repeat(2, 1fr); } }
.ems-aanvraag [data-ems-toon-bij-locatie] { display: none; }
.ems-aanvraag:has(#ems-waar-locatie:checked) [data-ems-toon-bij-locatie] { display: block; }

.ems-stap[hidden] { display: none; }
.ems-stap legend:focus { outline: none; }
.ems-stap__knoppen { display: flex; justify-content: space-between; gap: 0.75rem; margin-top: 1.25rem; }
.ems-stap__knoppen .ems-knop--offerte:only-child { margin-left: auto; }
.ems-voortgang { display: flex; flex-wrap: wrap; gap: 0.35rem; list-style: none; margin: 0 0 1.5rem; padding: 0; counter-reset: stap; }
.ems-voortgang li { flex: 1 1 auto; padding: 0.4rem 0.6rem; border-radius: var(--ems-radius-klein); background: var(--ems-achtergrond); color: var(--ems-grijs); font-size: 0.85rem; font-weight: 600; text-align: center; }
.ems-voortgang li.is-klaar { background: var(--ems-groen-licht); color: var(--ems-groen-donker); }
.ems-voortgang li.is-actief { background: var(--ems-navy); color: var(--ems-wit); }

/* ---------- Mobiel (getest op 390px) ---------- */

@media (max-width: 899px) {
	.ems-usps li:not(:first-child) { display: none; }
	.ems-header__rij { grid-template-columns: 1fr auto; }
	.ems-header__zoek { grid-column: 1 / -1; grid-row: 2; }
	.ems-menuknop { display: inline-flex; align-items: center; }
	.ems-acties { gap: 0.6rem; }
	.ems-acties__link:first-child { font-size: 0.9rem; }
	.ems-nav { display: none; }
	.ems-nav.is-open { display: block; }
	.ems-nav__lijst, .ems-nav ul { flex-direction: column; gap: 0; }
	.ems-nav a { padding: 0.85rem 0; border-bottom: 1px solid var(--ems-navy); }
	.ems-beeldmerk { width: 40px; height: 40px; }
	.ems-woordmerk__ems { font-size: 1.35rem; }
}

@media (max-width: 480px) {
	.ems-topbalk__rij { font-size: 0.8rem; }
	.ems-winkelwagen .ems-acties__tekst {
		position: absolute; width: 1px; height: 1px; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap;
	}
	.ems-knoppen .ems-knop { flex: 1 1 100%; }
	.ems-kaart, .ems-aanvraag__stappen, .ems-aanvraag--project { padding: 1.1rem; }
	.ems-case .ems-foto-placeholder { margin: -1.1rem -1.1rem 1rem; }
	.woocommerce ul.products[class*="columns-"] { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.75rem; }
	.woocommerce ul.products[class*="columns-"] li.product { padding: 0.75rem; }
	.woocommerce ul.products li.product .button, .woocommerce ul.products li.product .ems-knop { font-size: 0.9rem; padding-inline: 0.5rem; }
	.ems-specs th { width: 45%; }
	.woocommerce table.shop_table_responsive tr td::before { color: var(--ems-grijs); }
	.ems-suggestie { grid-template-columns: 40px 1fr; }
	.ems-suggestie__prijs { grid-column: 2; text-align: left; }
	.ems-wacht { padding: 1rem; }
	.ems-wacht__kaart { padding: 1.5rem; }
	.ems-wacht h1 { font-size: 1.5rem; }
	.ems-wacht__knoppen .ems-knop { flex: 1 1 100%; }
	.ems-wacht__gegevens { grid-template-columns: 1fr; gap: 0 0; }
	.ems-wacht__gegevens dd { margin-bottom: 0.6rem; }
}
