/*
Theme Name: AllroundWeb Child
Theme URI: https://www.allroundweb.nl/
Description: Designed by <a href="https://allroundweb.nl/">Allround Web</a>.
Author: Allround Web
Version: 1.0.0
Template: hello-elementor
*/

/* ---------------------------------------------------------------------------
   Juridische pagina's uit de footer.

   Deze pagina's gebruiken het kale WordPress-paginatemplate en geen Elementor-
   template. Ze erven daardoor alleen de regel color:#FFFFFF uit elementor-kit-9,
   op de witte themabodem: witte tekst op wit. Hieronder krijgen ze een eigen
   documentopmaak in de huisstijl. De body-class komt uit functions.php.
   ------------------------------------------------------------------------- */

body.aw-legal {
	--aw-bg:      #1C1C1E;
	--aw-surface: #161618;
	--aw-text:    #F2F2F4;
	--aw-muted:   #B9B9BF;
	--aw-subtle:  #8A8A8E;
	--aw-accent:  #C8902F;
	--aw-hover:   #E8A317;
	--aw-line:    rgba(255, 255, 255, .12);
	background-color: var(--aw-bg);
}

body.aw-legal .site-main {
	background-color: var(--aw-bg);
	color: var(--aw-text);
	font-family: 'Inter', system-ui, -apple-system, sans-serif;
	padding: 72px 24px 104px;
}

body.aw-legal .page-header,
body.aw-legal .page-content {
	max-width: 780px;
	margin-inline: auto;
}

/* Kop van het document */
body.aw-legal .page-header {
	margin-bottom: 44px;
	padding-bottom: 28px;
	border-bottom: 1px solid var(--aw-accent);
}

body.aw-legal .entry-title {
	margin: 0;
	font-family: 'Playfair Display', Georgia, serif;
	font-weight: 700;
	font-size: clamp(2rem, 1.4rem + 2.2vw, 2.9rem);
	line-height: 1.12;
	color: var(--aw-text);
}

/* Lopende tekst */
body.aw-legal .page-content {
	font-size: 1rem;
	line-height: 1.75;
	color: var(--aw-muted);
}

body.aw-legal .page-content > * + * { margin-top: 1.15em; }

body.aw-legal .page-content h2 {
	margin: 2.4em 0 .35em;
	font-family: 'Playfair Display', Georgia, serif;
	font-weight: 700;
	font-size: 1.45rem;
	line-height: 1.25;
	color: var(--aw-text);
}

body.aw-legal .page-content h3 {
	margin: 1.9em 0 .3em;
	font-family: 'Inter', system-ui, sans-serif;
	font-weight: 600;
	font-size: 1.05rem;
	line-height: 1.4;
	color: var(--aw-text);
}

body.aw-legal .page-content h2:first-child,
body.aw-legal .page-content h3:first-child { margin-top: 0; }

body.aw-legal .page-content strong { color: var(--aw-text); font-weight: 600; }
body.aw-legal .page-content em     { color: var(--aw-subtle); }

body.aw-legal .page-content a {
	color: var(--aw-accent);
	text-decoration: underline;
	text-underline-offset: 3px;
	text-decoration-thickness: 1px;
}
body.aw-legal .page-content a:hover,
body.aw-legal .page-content a:focus-visible { color: var(--aw-hover); }

body.aw-legal .page-content ul,
body.aw-legal .page-content ol { padding-left: 1.35em; }
body.aw-legal .page-content li + li { margin-top: .4em; }
body.aw-legal .page-content li::marker { color: var(--aw-accent); }

/* Tabellen, onder andere de gegenereerde verzendkostentabel */
body.aw-legal .page-content table {
	width: 100%;
	border-collapse: collapse;
	margin-block: 1.4em;
}
body.aw-legal .page-content th,
body.aw-legal .page-content td {
	padding: 14px 16px;
	/* Hello Elementor zet randen op alle vier de zijden; we willen alleen rijlijnen. */
	border: 0;
	border-bottom: 1px solid var(--aw-line);
	text-align: left;
	vertical-align: top;
}
body.aw-legal .page-content thead th {
	font-size: .74rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: .07em;
	color: var(--aw-subtle);
	border-bottom-color: var(--aw-accent);
}
body.aw-legal .page-content tbody tr:last-child th,
body.aw-legal .page-content tbody tr:last-child td { border-bottom: 0; }

/* Losse noten onder een tabel of blok */
body.aw-legal .awdev-shipping-countries,
body.aw-legal .awdev-shipping-note { color: var(--aw-subtle); opacity: 1; }

@media (max-width: 640px) {
	body.aw-legal .site-main { padding: 48px 20px 72px; }
	body.aw-legal .page-content th,
	body.aw-legal .page-content td { padding: 12px 10px; }
}

/* ---------------------------------------------------------------------------
   Productafbeeldingen: het hele product in beeld, nooit bijgesneden.

   WooCommerce sneed de `woocommerce_thumbnail` standaard hard bij naar 1:1
   (instelling `woocommerce_thumbnail_cropping`, nu `uncropped`). Bij staande of
   liggende productfoto's, zoals de grinder (893x1761) en de doekjes (1230x898),
   viel daardoor een deel van het product buiten beeld. De bestanden behouden nu
   hun eigen verhouding; onderstaande regels zetten ze in een vierkant vak met
   `object-fit: contain`, zodat het raster uitgelijnd blijft en de foto compleet
   is. De witte bodem maakt van de overgebleven ruimte een bewuste marge.
   ------------------------------------------------------------------------- */

/* De shop en de archieven draaien op de Elementor-lus met de kaart
   "FillMaticPro Product Card" (template 54); de winkelwagen-cross-sells en
   gerelateerde producten op de gewone WooCommerce-lus. Beide staan hieronder. */
.e-loop-item.product .elementor-widget-image img,
ul.products li.product img,
.woocommerce ul.products li.product img,
.related ul.products li.product img,
.cross-sells ul.products li.product img {
	aspect-ratio: 1 / 1;
	width: 100%;
	height: auto;
	object-fit: contain;
	background: #fff;
}

/* Hoofdafbeelding en miniaturen op de productpagina. */
.woocommerce-product-gallery .woocommerce-product-gallery__image img {
	object-fit: contain;
	background: #fff;
}

/* ---------------------------------------------------------------------------
   Footer (template #36).

   Bovenin vier kolommen: merk + contact, Shop, Service & support en
   FillMaticPro. De kolommen zijn gewone Elementor-widgets; kleuren en
   lettertypes staan in de widgets zelf, de kolomverdeling hieronder.
   Onderin een HTML-widget met bedrijfsgegevens, betaalmethoden en de
   juridische links. "Cookie preferences" opent het venster van WPConsent
   via de class wpconsent-open-preferences.
   ------------------------------------------------------------------------- */

/* Elementor geeft elke container width:100%; zonder !important wint dat. */
.fmp-footer .fmp-footer-col {
	flex: 1 1 0 !important;
	width: auto !important;
	min-width: 0 !important;
}

.fmp-footer .fmp-footer-brand {
	flex: 1.5 1 0 !important;
	max-width: 360px;
}

.fmp-footer .fmp-footer-intro p { margin: 0; }

/* Adres is geen link en hoort niet op te lichten bij hover. */
.fmp-footer .fmp-footer-list .elementor-icon-list-item:hover > .elementor-icon-list-text { color: #B9B9BF !important; }

.fmp-footer .fmp-footer-list .elementor-icon-list-icon { margin-top: 3px; }

.fmp-footer .fmp-footer-bottom {
	border-top: 1px solid rgba(255, 255, 255, .08);
}

.fmp-footer-legal {
	display: grid;
	grid-template-columns: 1fr auto;
	align-items: center;
	gap: 14px 32px;
	font-family: 'Inter', system-ui, sans-serif;
	font-size: 13px;
	line-height: 1.6;
	color: #8A8A8E;
}

.fmp-footer-legal p { margin: 0; }

.fmp-footer-pay {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.fmp-footer-pay li {
	padding: 4px 10px;
	border: 1px solid rgba(255, 255, 255, .14);
	border-radius: 6px;
	font-size: 12px;
	font-weight: 500;
	color: #B9B9BF;
	white-space: nowrap;
}

.fmp-footer-links {
	grid-column: 1 / -1;
	display: flex;
	flex-wrap: wrap;
	gap: 6px 22px;
}

.fmp-footer-legal a {
	color: #B9B9BF;
	text-decoration: none;
}

.fmp-footer-legal a:hover,
.fmp-footer-legal a:focus-visible {
	color: var(--e-global-color-accent, #C8902F);
	text-decoration: underline;
	text-underline-offset: 3px;
}

@media (max-width: 1024px) {
	/* Merkblok op een eigen rij, de drie linkkolommen eronder. */
	.fmp-footer .fmp-footer-brand {
		flex: 1 1 100% !important;
		max-width: none;
	}
	.fmp-footer .fmp-footer-intro { max-width: 520px !important; }
}

@media (max-width: 767px) {
	.fmp-footer .fmp-footer-top { --padding-top: 48px; --padding-bottom: 36px; }
	.fmp-footer .fmp-footer-links-col { flex: 1 1 calc(50% - 24px) !important; }
	.fmp-footer-legal { grid-template-columns: 1fr; }
}

/* ---------------------------------------------------------------------------
   Productmeta op de productpagina (SKU, categorie, merk).

   In de inline-weergave van Elementor stonden de onderdelen zonder ruimte
   tegen elkaar: "FMP-PM-004Categories". Het merk-blok mist bovendien de
   class detail-container, dus de afstand zit op de container zelf.
   ------------------------------------------------------------------------- */

.elementor-woo-meta--view-inline .product_meta {
	display: flex;
	flex-wrap: wrap;
	gap: 4px 18px;
}

/* ---------------------------------------------------------------------------
   Blogartikel (template #90 "FillMaticPro Blog - Single").

   Donkere kop die aansluit op de header ([aw_post_hero] uit functions.php),
   daaronder een leeskolom van 720px met rechts een meelopende inhoudsopgave.
   Onder de 1025px schuift de inhoudsopgave ingeklapt boven het artikel.
   ------------------------------------------------------------------------- */

.aw-post {
	--aw-ink:    #1C1C1E;
	--aw-body:   #3A3A3E;
	--aw-muted:  #6E6E73;
	--aw-line:   rgba(28, 28, 30, .1);
	--aw-gold:   #C8902F;
	/* Goud op wit haalt geen leesbaar contrast; links in de tekst krijgen een donkerder tint. */
	--aw-link:   #8F6318;
	--aw-tint:   #FBF7EF;
}

/* Kop */
.aw-hero {
	background: var(--e-global-color-primary, #1C1C1E);
	color: #F2F2F4;
	font-family: 'Inter', system-ui, sans-serif;
}

.aw-hero__inner {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	align-items: center;
	gap: 56px;
	max-width: 1200px;
	margin: 0 auto;
	padding: 36px 20px 72px;
}

.aw-hero__inner.has-media { grid-template-columns: minmax(0, 1fr) 360px; }

.aw-hero__bc {
	display: flex;
	flex-wrap: wrap;
	gap: 4px 10px;
	margin-bottom: 40px;
	font-size: 13px;
	color: #8A8A8E;
}

.aw-hero__bc a { color: #B9B9BF; text-decoration: none; }
.aw-hero__bc a:hover,
.aw-hero__bc a:focus-visible { color: var(--aw-gold); }
.aw-hero__bc span { opacity: .5; }

.aw-hero__cat {
	display: inline-block;
	margin-bottom: 16px;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--aw-gold);
	text-decoration: none;
}

.aw-hero__cat:hover { color: #E8A317; }

.aw-hero__title {
	max-width: 820px;
	margin: 0 0 20px;
	font-family: 'Playfair Display', Georgia, serif;
	font-weight: 700;
	font-size: clamp(2rem, 1.25rem + 2.6vw, 3.25rem);
	line-height: 1.1;
	color: #FFFFFF;
}

.aw-hero__lead {
	max-width: 680px;
	margin: 0 0 24px;
	font-size: 1.125rem;
	line-height: 1.6;
	color: #B9B9BF;
}

/* De puntjes staan in de tussenruimte; begint een regel na het afbreken met een
   nieuw onderdeel, dan valt het puntje buiten beeld in plaats van vooraan. */
.aw-hero__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 6px 22px;
	margin: 0;
	overflow: hidden;
	font-size: 14px;
	color: #8A8A8E;
}

.aw-hero__meta span { position: relative; }

.aw-hero__meta span + span::before {
	content: "\00b7";
	position: absolute;
	left: -14px;
	opacity: .6;
}

.aw-hero__meta a { color: #F2F2F4; text-decoration: none; }
.aw-hero__meta a:hover,
.aw-hero__meta a:focus-visible { color: var(--aw-gold); }

/* De uitgelichte afbeeldingen zijn vierkante productfoto's; ze staan heel in beeld op wit. */
.aw-hero__media {
	margin: 0;
	aspect-ratio: 1 / 1;
	overflow: hidden;
	border-radius: 16px;
	background: #FFFFFF;
}

.aw-hero__media img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

/* Leeskolom + inhoudsopgave */
.aw-post .aw-post-body {
	max-width: 1200px;
	margin: 0 auto;
}

.aw-post .aw-post-main {
	flex: 1 1 0 !important;
	width: auto !important;
	min-width: 0 !important;
	max-width: 720px;
}

.aw-post .aw-post-aside {
	flex: 0 0 280px !important;
	width: 280px !important;
	position: sticky;
	top: 32px;
	align-self: flex-start;
}

/* De TOC-widget tekent zijn kader via CSS-variabelen; die zetten we hier om
   naar een dunne lijn links, met een gouden markering bij de actieve kop. */
.aw-post .aw-post-aside .aw-toc {
	--box-border-width: 0px;
	--box-border-radius: 0;
	--box-padding: 0;
	--separator-width: 0px;
	--header-background-color: transparent;
	--item-text-color: var(--aw-body);
	--item-text-hover-color: var(--aw-ink);
	--item-text-active-color: var(--aw-ink);
	--item-text-decoration: none;
	--item-text-hover-decoration: none;
	--item-text-active-decoration: none;
	--toggle-button-color: var(--aw-muted);
	border-left: 1px solid var(--aw-line);
}

.aw-toc .elementor-toc__header { padding: 0 0 12px 20px; }

.aw-toc .elementor-toc__header-title {
	font-family: 'Inter', sans-serif !important;
	font-size: 12px !important;
	font-weight: 600 !important;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--aw-muted);
}

/* Op desktop staat de inhoudsopgave altijd open. */
@media (min-width: 1025px) {
	.aw-toc .elementor-toc__toggle-button { display: none !important; }
}

.aw-toc .elementor-toc__list-wrapper { margin: 0; }
.aw-toc .elementor-toc__list-item { margin: 0; }

.aw-toc .elementor-toc__list-item-text-wrapper i,
.aw-toc .elementor-toc__list-item-text-wrapper svg,
.aw-toc .elementor-toc__list-item-text-wrapper::before { display: none !important; }

.aw-toc .elementor-toc__list-item-text {
	display: block;
	margin-left: -1px;
	padding: 7px 0 7px 20px;
	border-left: 2px solid transparent;
	font-family: 'Inter', sans-serif !important;
	font-size: 14px;
	font-weight: 400;
	line-height: 1.45;
}

.aw-toc .elementor-toc__list-item-text.elementor-item-active {
	border-left-color: var(--aw-gold) !important;
	font-weight: 600;
}

/* Artikeltekst. De Strategic Content Engine levert eigen opmaak (sce-frontend.css);
   hieronder alleen de huisstijl erop. De kit geeft de content-widget de lichte
   tekstkleur van het donkere thema (#F2F2F4); vandaar de extra .aw-post. */
.aw-post .bl-article {
	--sce-accent: var(--aw-gold);
	font-family: 'Inter', system-ui, sans-serif;
	font-size: 1.0625rem;
	line-height: 1.8;
	color: var(--aw-body);
}

.aw-post .bl-article :is(p, li, td, dd) { color: var(--aw-body); }

.bl-article .sce-article { max-width: none; }

.bl-article p { margin: 0 0 1.3em; }

.bl-article h2 {
	margin: 2.2em 0 .6em;
	font-family: 'Playfair Display', Georgia, serif;
	font-weight: 700;
	font-size: 1.8rem;
	line-height: 1.25;
	color: var(--aw-ink);
	scroll-margin-top: 24px;
}

.bl-article h3 {
	margin: 1.8em 0 .5em;
	font-family: 'Inter', sans-serif;
	font-weight: 600;
	font-size: 1.2rem;
	line-height: 1.4;
	color: var(--aw-ink);
}

.bl-article h2:first-child,
.bl-article .sce-article > h2:first-child { margin-top: 0; }

.bl-article strong { color: var(--aw-ink); font-weight: 600; }

.bl-article a {
	color: var(--aw-link);
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}

.bl-article a:hover,
.bl-article a:focus-visible { color: var(--aw-ink); }

.bl-article ul,
.bl-article ol { margin: 0 0 1.4em; padding-left: 1.3em; }
.bl-article li { margin: .45em 0; }
.bl-article li::marker { color: var(--aw-gold); }

.bl-article blockquote,
.sce-layout .bl-article .sce-article > blockquote {
	margin: 1.8em 0;
	padding: 1.1em 1.4em;
	border: 0;
	border-left: 3px solid var(--aw-gold);
	border-radius: 0 12px 12px 0;
	background: var(--aw-tint);
	font-style: normal;
	color: var(--aw-ink);
}

.bl-article blockquote p:last-child { margin-bottom: 0; }

.bl-article img { max-width: 100%; height: auto; border-radius: 12px; }

/* De byline staat al in de kop van het artikel. */
.bl-article .sce-byline { display: none; }

/* Auteursblok voor artikelen zonder SCE-auteurskaart */
.aw-author {
	display: flex;
	gap: 18px;
	align-items: flex-start;
	margin-top: 48px;
	padding: 24px;
	border: 1px solid var(--aw-line);
	border-radius: 14px;
	font-family: 'Inter', sans-serif;
}

.aw-author__avatar {
	display: flex;
	flex: none;
	align-items: center;
	justify-content: center;
	width: 52px;
	height: 52px;
	border-radius: 50%;
	background: var(--aw-gold);
	color: #FFFFFF;
	font-weight: 700;
	font-size: 1.2rem;
}

.aw-author p { margin: 0; }
.aw-author__name { font-weight: 600; color: var(--aw-ink); }
.aw-author__bio { margin-top: 2px !important; font-size: 15px; line-height: 1.55; color: var(--aw-muted); }

.aw-author__link {
	display: inline-block;
	margin-top: 10px;
	font-size: 14px;
	font-weight: 600;
	color: var(--aw-link);
	text-decoration: none;
}

.aw-author__link::after { content: " \2192"; }
.aw-author__link:hover { color: var(--aw-ink); }

/* Call-to-action onder het artikel */
.aw-post-cta {
	margin-top: 64px;
	background: var(--e-global-color-primary, #1C1C1E);
	font-family: 'Inter', sans-serif;
}

.aw-post-cta__inner {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 24px 48px;
	max-width: 1200px;
	margin: 0 auto;
	padding: 56px 20px;
}

.aw-post-cta h2 {
	margin: 0 0 8px;
	font-family: 'Playfair Display', Georgia, serif;
	font-size: 1.9rem;
	line-height: 1.2;
	color: #FFFFFF;
}

.aw-post-cta p { max-width: 560px; margin: 0; color: #B9B9BF; line-height: 1.6; }

.aw-post-cta__actions { display: flex; flex-wrap: wrap; gap: 12px; }

.aw-btn {
	display: inline-block;
	padding: 14px 24px;
	border-radius: 10px;
	font-weight: 600;
	font-size: 15px;
	text-decoration: none;
	transition: background-color .2s, color .2s, border-color .2s;
}

.aw-btn--primary { background: var(--e-global-color-cta, #E8A317); color: #1C1C1E; }
.aw-btn--primary:hover { background: #F2B53A; color: #1C1C1E; }
.aw-btn--ghost { border: 1px solid rgba(255, 255, 255, .25); color: #F2F2F4; }
.aw-btn--ghost:hover { border-color: #FFFFFF; color: #FFFFFF; }

/* Lees verder */
.aw-post .aw-post-related {
	max-width: 1200px;
	margin: 0 auto;
}

.aw-post-related__title .elementor-heading-title {
	font-family: 'Playfair Display', Georgia, serif !important;
	font-size: 2rem !important;
	color: var(--aw-ink) !important;
}

/* Blogkaart (#88): categorie en datum zijn h6-koppen en kregen het kit-font
   (Playfair) in plaats van Inter. Geldt ook voor het blogoverzicht. */
.e-loop-item .blcat .elementor-heading-title,
.e-loop-item .bldate .elementor-heading-title {
	font-family: 'Inter', sans-serif !important;
	font-size: .75rem !important;
	font-weight: 600 !important;
	letter-spacing: .1em !important;
	text-transform: uppercase;
}

/* Artikel zonder uitgelichte afbeelding: een donker vlak met het woordmerk,
   zodat de kaart even hoog begint als de rest. Elementor gebruikt ::before van
   een container als achtergrond-overlay over de hele kaart; die positionering
   wordt hier teruggezet naar een gewoon blok bovenin. */
.e-loop-item.post:not(.has-post-thumbnail) > .e-con:first-child::before {
	content: "FILLMATICPRO" !important;
	position: static !important;
	width: 100% !important;
	height: auto !important;
	opacity: 1 !important;
	mix-blend-mode: normal !important;
	border-radius: 0 !important;
	display: flex;
	align-items: center;
	justify-content: center;
	aspect-ratio: 16 / 10;
	background: radial-gradient(circle at 50% 50%, #2A2A2D 0, #1C1C1E 70%);
	font-family: 'Inter', sans-serif;
	font-size: 15px;
	font-weight: 700;
	letter-spacing: .24em;
	color: rgba(255, 255, 255, .85);
}

@media (max-width: 1024px) {
	.aw-hero__inner.has-media { grid-template-columns: minmax(0, 1fr) 240px; gap: 40px; }
	.aw-post .aw-post-body { flex-direction: column !important; align-items: center; }
	.aw-post .aw-post-main { width: 100% !important; flex: none !important; }
	.aw-post .aw-post-aside {
		order: -1;
		position: static;
		flex: none !important;
		width: 100% !important;
		max-width: 720px !important;
		margin-inline: auto;
	}
	.aw-post .aw-post-aside .aw-toc {
		border: 1px solid var(--aw-line);
		border-radius: 12px;
	}
	.aw-toc .elementor-toc__header { padding: 14px 18px; cursor: pointer; }
	.aw-toc .elementor-toc__body { padding-bottom: 10px; }
	.aw-toc .elementor-toc__list-item-text { margin-left: 0; padding-left: 18px; }
}

@media (max-width: 767px) {
	.aw-hero__inner,
	.aw-hero__inner.has-media { grid-template-columns: minmax(0, 1fr); gap: 32px; padding-bottom: 48px; }
	.aw-hero__bc { margin-bottom: 28px; }
	.aw-hero__media { max-width: 320px; }
	.bl-article h2 { font-size: 1.5rem; }
	.aw-post-cta h2 { font-size: 1.5rem; }
}

/* ---------------------------------------------------------------------------
   Hoofdmenu ([aw_mega_menu] in headertemplate #34).

   Desktop: knoppen in de donkere headerbalk die een wit paneel openen onder
   de balk, met kolommen per machinetype en producten met foto en live prijs.
   Mobiel en tablet: een donker uitschuifpaneel van rechts met accordeons.
   ------------------------------------------------------------------------- */

.elementor-location-header .elementor-element-fmp0004 { position: relative; z-index: 60; }

/* Het paneel lijnt uit op de headerrij van 1200px, niet op de widget eromheen.
   De selectors hieronder beginnen met .aw-mm zodat ze winnen van de algemene
   knopopmaak van Hello Elementor (roze rand en tekst op [type=button]). */
.elementor-widget-shortcode:has(.aw-mm) { position: static !important; }

.aw-mm .woocommerce-price-suffix { display: none; }

.aw-mm {
	--mm-ink:   #1C1C1E;
	--mm-body:  #3A3A3E;
	--mm-muted: #6E6E73;
	--mm-line:  rgba(28, 28, 30, .08);
	--mm-gold:  #C8902F;
	font-family: 'Inter', system-ui, sans-serif;
}

.aw-mm ul { margin: 0; padding: 0; list-style: none; }
.aw-mm button { font: inherit; }

.aw-mm .aw-mm__burger,
.aw-mm .aw-mm__backdrop,
.aw-mm .aw-mm__drawer-head,
.aw-mm .aw-mm__drawer-foot { display: none; }

.aw-mm .aw-mm__list { display: flex; align-items: center; gap: 8px; }

.aw-mm .aw-mm__top {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 10px 14px;
	border: 0;
	border-radius: 8px;
	background: transparent;
	color: #F2F2F4;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.2;
	text-decoration: none;
	opacity: .85;
	cursor: pointer;
	transition: opacity .2s, background-color .2s;
}

.aw-mm .aw-mm__top:hover,
.aw-mm .aw-mm__top:focus-visible,
.aw-mm .aw-mm__item.is-open > .aw-mm__top {
	opacity: 1;
	color: #FFFFFF;
	background: rgba(255, 255, 255, .06);
}

.aw-mm .aw-mm__top:focus-visible { outline: 2px solid var(--mm-gold); outline-offset: 2px; }

.aw-mm .aw-mm__chev { width: 12px; height: 12px; transition: transform .2s; }
.aw-mm .aw-mm__item.is-open > .aw-mm__top .aw-mm__chev { transform: rotate(180deg); }

/* Paneel (desktop) */
@media (min-width: 1025px) {
	.aw-mm .aw-mm__panel {
		position: absolute;
		top: calc(100% + 6px);
		left: 50%;
		width: min(1160px, calc(100vw - 40px));
		padding-top: 12px;
		opacity: 0;
		visibility: hidden;
		transform: translate(-50%, 8px);
		transition: opacity .18s ease, transform .18s ease, visibility 0s linear .18s;
	}

	/* Het hulpmenu is een gewone, smalle dropdown onder het eigen item. */
	.aw-mm .aw-mm__item.is-compact { position: relative; }
	.aw-mm .aw-mm__item.is-compact .aw-mm__panel {
		top: calc(100% + 6px);
		left: auto;
		right: 0;
		width: 280px;
		transform: translateY(8px);
	}

	.aw-mm .aw-mm__item.is-open > .aw-mm__panel {
		opacity: 1;
		visibility: visible;
		transform: translate(-50%, 0);
		transition: opacity .18s ease, transform .18s ease;
	}
	.aw-mm .aw-mm__item.is-compact.is-open > .aw-mm__panel { transform: none; }

	.aw-mm .aw-mm__panel-inner {
		overflow: hidden;
		border-radius: 16px;
		background: #FFFFFF;
		box-shadow: 0 24px 60px rgba(0, 0, 0, .28), 0 2px 8px rgba(0, 0, 0, .12);
	}

	.aw-mm .aw-mm__cols {
		display: grid;
		grid-template-columns: repeat(var(--aw-mm-cols, 3), minmax(0, 1fr));
		gap: 0 36px;
		padding: 32px 36px 26px;
	}

	.aw-mm .aw-mm__links--plain { padding: 10px; }
	.aw-mm .aw-mm__links--plain .aw-mm__link { padding: 10px 12px; }
}

.aw-mm .aw-mm__col-title {
	margin: 0;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--mm-gold);
}

.aw-mm .aw-mm__col-desc {
	margin: 4px 0 12px;
	font-size: 13px;
	line-height: 1.45;
	color: var(--mm-muted);
}

.aw-mm .aw-mm__link {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 0 -10px;
	padding: 8px 10px;
	border-radius: 10px;
	color: var(--mm-ink);
	text-decoration: none;
	transition: background-color .15s;
}

.aw-mm .aw-mm__link:hover,
.aw-mm .aw-mm__link:focus-visible { background: #F6F4EF; }
.aw-mm .aw-mm__link:focus-visible { outline: 2px solid var(--mm-gold); outline-offset: -2px; }

.aw-mm .aw-mm__thumb {
	flex: none;
	width: 44px;
	height: 44px;
	overflow: hidden;
	border: 1px solid var(--mm-line);
	border-radius: 8px;
	background: #FFFFFF;
}

.aw-mm .aw-mm__thumb img { width: 100%; height: 100%; object-fit: contain; }

.aw-mm .aw-mm__label { display: flex; flex: 1; flex-direction: column; min-width: 0; }
.aw-mm .aw-mm__name { font-size: 14px; font-weight: 600; line-height: 1.3; }
.aw-mm .aw-mm__sub { margin-top: 1px; font-size: 12.5px; line-height: 1.35; color: var(--mm-muted); }

.aw-mm .aw-mm__price {
	flex: none;
	font-size: 13.5px;
	font-weight: 600;
	font-variant-numeric: tabular-nums;
	color: var(--mm-ink);
	white-space: nowrap;
}

.aw-mm .aw-mm__price del { margin-right: 4px; font-weight: 400; color: var(--mm-muted); }
.aw-mm .aw-mm__price ins { text-decoration: none; }
.aw-mm .aw-mm__price.is-out { font-weight: 500; color: var(--mm-muted); }

.aw-mm .aw-mm__foot {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 28px;
	padding: 16px 36px;
	border-top: 1px solid var(--mm-line);
	background: #FAF9F6;
}

.aw-mm .aw-mm__foot-link {
	font-size: 14px;
	font-weight: 600;
	color: #8F6318;
	text-decoration: none;
}

.aw-mm .aw-mm__foot-link:hover,
.aw-mm .aw-mm__foot-link:focus-visible { color: var(--mm-ink); }

/* Mobiel en tablet: uitschuifpaneel */
@media (max-width: 1024px) {
	.aw-mm .aw-mm__burger {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 44px;
		height: 44px;
		margin-right: -10px;
		border: 0;
		border-radius: 10px;
		background: transparent;
		color: #FFFFFF;
		cursor: pointer;
	}

	.aw-mm .aw-mm__burger-lines,
	.aw-mm .aw-mm__burger-lines::before,
	.aw-mm .aw-mm__burger-lines::after {
		display: block;
		width: 22px;
		height: 2px;
		border-radius: 2px;
		background: currentColor;
	}
	.aw-mm .aw-mm__burger-lines { position: relative; }
	.aw-mm .aw-mm__burger-lines::before,
	.aw-mm .aw-mm__burger-lines::after { content: ""; position: absolute; left: 0; }
	.aw-mm .aw-mm__burger-lines::before { top: -7px; }
	.aw-mm .aw-mm__burger-lines::after { top: 7px; }

	.aw-mm .aw-mm__backdrop {
		display: block;
		position: fixed;
		inset: 0;
		z-index: 9998;
		background: rgba(10, 10, 12, .55);
		opacity: 0;
		transition: opacity .25s;
	}
	.aw-mm .aw-mm__backdrop[hidden] { display: none; }
	.aw-mm.is-drawer-open .aw-mm__backdrop { opacity: 1; }

	.aw-mm .aw-mm__drawer {
		position: fixed;
		top: 0;
		right: 0;
		bottom: 0;
		z-index: 9999;
		display: flex;
		flex-direction: column;
		width: min(420px, 100%);
		overflow-y: auto;
		overscroll-behavior: contain;
		background: #1C1C1E;
		transform: translateX(100%);
		visibility: hidden;
		transition: transform .3s cubic-bezier(.2, .8, .2, 1), visibility 0s linear .3s;
	}

	.aw-mm.is-drawer-open .aw-mm__drawer {
		transform: none;
		visibility: visible;
		transition: transform .3s cubic-bezier(.2, .8, .2, 1);
	}

	.aw-mm .aw-mm__drawer-head {
		display: flex;
		align-items: center;
		justify-content: space-between;
		padding: 18px 20px;
		border-bottom: 1px solid rgba(255, 255, 255, .08);
	}

	.aw-mm .aw-mm__brand {
		font-size: 20px;
		font-weight: 700;
		letter-spacing: .02em;
		color: #FFFFFF;
		text-decoration: none;
	}

	.aw-mm .aw-mm__close {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 40px;
		height: 40px;
		margin-right: -8px;
		border: 0;
		border-radius: 10px;
		background: rgba(255, 255, 255, .06);
		color: #FFFFFF;
		cursor: pointer;
	}
	.aw-mm .aw-mm__close svg { width: 16px; height: 16px; }

	.aw-mm .aw-mm__list { flex-direction: column; align-items: stretch; gap: 0; padding: 8px 0; }
	.aw-mm .aw-mm__item { border-bottom: 1px solid rgba(255, 255, 255, .06); }

	.aw-mm .aw-mm__top {
		justify-content: space-between;
		width: 100%;
		padding: 18px 20px;
		border-radius: 0;
		font-size: 17px;
		font-weight: 500;
		opacity: 1;
	}
	.aw-mm .aw-mm__top:hover,
	.aw-mm .aw-mm__item.is-open > .aw-mm__top { background: transparent; }
	.aw-mm .aw-mm__chev { width: 14px; height: 14px; }

	.aw-mm .aw-mm__panel { display: none; padding: 0 12px 16px; }
	.aw-mm .aw-mm__item.is-open > .aw-mm__panel { display: block; }

	.aw-mm .aw-mm__panel-inner { overflow: hidden; border-radius: 14px; background: #FFFFFF; }
	.aw-mm .aw-mm__cols { display: block; padding: 6px 18px 4px; }
	.aw-mm .aw-mm__col { padding: 14px 0 10px; }
	.aw-mm .aw-mm__col + .aw-mm__col { border-top: 1px solid var(--mm-line); }
	.aw-mm .aw-mm__links--plain { padding: 8px; }
	.aw-mm .aw-mm__links--plain .aw-mm__link { margin: 0; padding: 12px; }
	.aw-mm .aw-mm__link { padding: 9px 10px; }
	.aw-mm .aw-mm__foot { flex-direction: column; gap: 12px; padding: 16px 18px; }

	.aw-mm .aw-mm__drawer-foot {
		display: block;
		margin-top: auto;
		padding: 24px 20px 32px;
		font-size: 14px;
		color: #8A8A8E;
	}
	.aw-mm .aw-mm__drawer-foot p { margin: 0 0 4px; }
	.aw-mm .aw-mm__drawer-foot a { color: #F2F2F4; text-decoration: none; }

	html.aw-mm-lock,
	html.aw-mm-lock body { overflow: hidden; }
}

@media (prefers-reduced-motion: reduce) {
	.aw-mm *,
	.aw-mm *::before,
	.aw-mm *::after { transition: none !important; }
}

/* Keuzehulp in het menu: knop in de balk (desktop vanaf 1200px), kaart bovenaan
   het uitschuifpaneel (mobiel) en een knop in de voet van de machinepanelen. */
.aw-mm .aw-mm__finder {
	display: inline-flex;
	align-items: center;
	margin-left: 8px;
	padding: 9px 16px;
	border: 1px solid var(--mm-gold);
	border-radius: 999px;
	color: #FFFFFF;
	font-size: 15px;
	font-weight: 600;
	text-decoration: none;
	transition: background-color .2s, color .2s;
}

.aw-mm .aw-mm__finder:hover,
.aw-mm .aw-mm__finder:focus-visible { background: var(--mm-gold); color: #1C1C1E; }
.aw-mm .aw-mm__finder-sub { display: none; }

@media (min-width: 1025px) and (max-width: 1199px) {
	.aw-mm .aw-mm__item--finder { display: none; }
}

.aw-mm .aw-mm__foot-link--cta {
	margin-left: auto;
	padding: 8px 16px;
	border-radius: 999px;
	background: var(--e-global-color-cta, #E8A317);
	color: #1C1C1E;
}

.aw-mm .aw-mm__foot-link--cta:hover,
.aw-mm .aw-mm__foot-link--cta:focus-visible { background: #F2B53A; color: #1C1C1E; }

@media (max-width: 1024px) {
	.aw-mm .aw-mm__item--finder { order: -1; padding: 8px 12px 12px; border-bottom: 0; }

	.aw-mm .aw-mm__finder {
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		gap: 4px;
		margin: 0;
		padding: 18px 20px;
		border: 0;
		border-radius: 14px;
		background: linear-gradient(135deg, #E8A317, #C8902F);
		color: #1C1C1E;
	}

	.aw-mm .aw-mm__finder-title { font-size: 17px; font-weight: 700; }
	.aw-mm .aw-mm__finder-title::after { content: " \2192"; }
	.aw-mm .aw-mm__finder-sub { display: block; font-size: 14px; font-weight: 500; opacity: .8; }
	.aw-mm .aw-mm__foot-link--cta { margin-left: 0; align-self: flex-start; }
}

/* ---------------------------------------------------------------------------
   Keuzehulp-pagina ([aw_machine_finder] op /machine-finder/).
   ------------------------------------------------------------------------- */

.aw-finder {
	--f-ink:   #1C1C1E;
	--f-body:  #3A3A3E;
	--f-muted: #6E6E73;
	--f-line:  rgba(28, 28, 30, .1);
	--f-gold:  #C8902F;
	font-family: 'Inter', system-ui, sans-serif;
	background: #F6F5F2;
	padding-bottom: 96px;
}

.aw-finder__hero { background: var(--e-global-color-primary, #1C1C1E); }

.aw-finder__hero-inner {
	max-width: 760px;
	margin: 0 auto;
	padding: 64px 20px 128px;
	text-align: center;
}

.aw-finder__eyebrow {
	margin: 0 0 14px;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--f-gold);
}

.aw-finder__title {
	margin: 0 0 16px;
	font-family: 'Playfair Display', Georgia, serif;
	font-weight: 700;
	font-size: clamp(2rem, 1.3rem + 2.4vw, 3rem);
	line-height: 1.12;
	color: #FFFFFF;
}

.aw-finder__lead { margin: 0; font-size: 1.1rem; line-height: 1.6; color: #B9B9BF; }

.aw-finder__body { max-width: 860px; margin: -88px auto 0; padding: 0 20px; }

.aw-finder__card {
	position: relative;
	overflow: hidden;
	padding: 40px 44px 32px;
	border-radius: 20px;
	background: #FFFFFF;
	box-shadow: 0 24px 60px rgba(28, 28, 30, .12);
}

.aw-finder__progress {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 4px;
	background: #EFEDE8;
}

.aw-finder__progress span {
	display: block;
	width: 0;
	height: 100%;
	background: var(--f-gold);
	transition: width .35s ease;
}

.aw-finder__step { margin: 0; padding: 0; border: 0; min-width: 0; }

.aw-finder__count {
	margin: 0 0 8px;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--f-muted);
}

/* Een legend negeert marges binnen een fieldset; zwevend gedraagt hij zich als blok. */
.aw-finder__step > .aw-finder__q { float: left; width: 100%; }

.aw-finder__q {
	display: block;
	margin: 0 0 10px;
	padding: 0;
	font-family: 'Playfair Display', Georgia, serif;
	font-size: clamp(1.5rem, 1.2rem + 1vw, 2rem);
	font-weight: 700;
	line-height: 1.2;
	color: var(--f-ink);
}

.aw-finder__help { clear: both; margin: 0 0 4px; font-size: 15px; color: var(--f-muted); }

.aw-finder__opts {
	clear: both;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
	gap: 12px;
	margin-top: 22px;
}

.aw-finder__opt {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 4px;
	padding: 18px 20px;
	border: 1.5px solid var(--f-line);
	border-radius: 14px;
	background: #FFFFFF;
	cursor: pointer;
	transition: border-color .15s, box-shadow .15s, background-color .15s;
}

.aw-finder__opt:hover { border-color: rgba(28, 28, 30, .3); }

.aw-finder__opt input {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}

.aw-finder__opt:has(input:focus-visible) { box-shadow: 0 0 0 3px rgba(200, 144, 47, .35); }

.aw-finder__opt:has(input:checked) {
	border-color: var(--f-gold);
	background: #FBF7EF;
}

.aw-finder__opt-title { font-size: 16px; font-weight: 600; color: var(--f-ink); }
.aw-finder__opt-sub { font-size: 14px; line-height: 1.45; color: var(--f-muted); }

.aw-finder__nav {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-top: 28px;
}

.aw-finder button.aw-finder__back,
.aw-finder button.aw-finder__restart {
	padding: 10px 0;
	border: 0;
	background: transparent;
	color: var(--f-muted);
	font: inherit;
	font-size: 15px;
	font-weight: 500;
	cursor: pointer;
}

.aw-finder button.aw-finder__back:hover,
.aw-finder button.aw-finder__restart:hover { color: var(--f-ink); background: transparent; }

.aw-finder button.aw-finder__next {
	padding: 12px 22px;
	border: 0;
	border-radius: 10px;
	background: var(--f-ink);
	color: #FFFFFF;
	font: inherit;
	font-size: 15px;
	font-weight: 600;
	cursor: pointer;
	transition: opacity .2s;
}

.aw-finder button.aw-finder__next:hover { background: #2A2A2D; color: #FFFFFF; }
.aw-finder button.aw-finder__next:disabled { opacity: .3; cursor: default; }

/* Resultaat */
.aw-finder__picks { display: grid; gap: 16px; margin-top: 24px; }

.aw-finder__pick {
	position: relative;
	display: grid;
	grid-template-columns: 140px minmax(0, 1fr);
	gap: 22px;
	padding: 20px;
	border: 1px solid var(--f-line);
	border-radius: 16px;
}

.aw-finder__pick.is-top { border: 2px solid var(--f-gold); background: #FFFDF8; }

.aw-finder__badge {
	position: absolute;
	top: -11px;
	left: 20px;
	padding: 3px 10px;
	border-radius: 999px;
	background: var(--f-gold);
	color: #FFFFFF;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .04em;
}

.aw-finder__pick-img {
	display: block;
	overflow: hidden;
	aspect-ratio: 1 / 1;
	border: 1px solid var(--f-line);
	border-radius: 12px;
	background: #FFFFFF;
}

.aw-finder__pick-img img { width: 100%; height: 100%; object-fit: contain; }

.aw-finder__pick-brand {
	margin: 0 0 2px;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--f-gold);
}

.aw-finder__pick-name { margin: 0 0 10px; font-size: 19px; font-weight: 700; line-height: 1.3; }
.aw-finder__pick-name a { color: var(--f-ink); text-decoration: none; }
.aw-finder__pick-name a:hover { color: #8F6318; }

.aw-finder__why { margin: 0 0 14px; padding: 0; list-style: none; }

.aw-finder__why li {
	position: relative;
	margin: 4px 0;
	padding-left: 22px;
	font-size: 14.5px;
	line-height: 1.45;
	color: var(--f-body);
}

.aw-finder__why li::before {
	content: "";
	position: absolute;
	top: .45em;
	left: 2px;
	width: 10px;
	height: 6px;
	border-left: 2px solid var(--f-gold);
	border-bottom: 2px solid var(--f-gold);
	transform: rotate(-45deg);
}

.aw-finder__pick-foot { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 20px; }
.aw-finder__price { font-size: 20px; font-weight: 700; color: var(--f-ink); }

.aw-finder__btn {
	padding: 11px 20px;
	border-radius: 10px;
	background: var(--e-global-color-cta, #E8A317);
	color: #1C1C1E;
	font-size: 15px;
	font-weight: 600;
	text-decoration: none;
}

.aw-finder__btn:hover { background: #F2B53A; color: #1C1C1E; }

.aw-finder__after {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px 28px;
	margin-top: 28px;
	padding-top: 20px;
	border-top: 1px solid var(--f-line);
	font-size: 15px;
}

.aw-finder__after a { color: #8F6318; font-weight: 600; text-decoration: none; }
.aw-finder__after a:hover { color: var(--f-ink); }

@media (max-width: 767px) {
	.aw-finder__hero-inner { padding: 44px 20px 104px; }
	.aw-finder__card { padding: 30px 20px 24px; border-radius: 16px; }
	.aw-finder__opts { grid-template-columns: 1fr; }
	.aw-finder__pick { grid-template-columns: 88px minmax(0, 1fr); gap: 14px; padding: 16px; }
	.aw-finder__pick-name { font-size: 17px; }
}

/* ---------------------------------------------------------------------------
   Inloggen en winkelwagen in de header (onderdeel van [aw_mega_menu]).
   ------------------------------------------------------------------------- */

.aw-mm { display: flex; align-items: center; gap: 8px; }

.aw-hdr { display: flex; align-items: center; gap: 4px; margin-left: 6px; }

.aw-hdr__icon {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border-radius: 10px;
	color: #F2F2F4;
	text-decoration: none;
	transition: background-color .2s, color .2s;
}

.aw-hdr__icon:hover,
.aw-hdr__icon:focus-visible,
.aw-hdr-cart.is-open .aw-hdr__cart { color: #FFFFFF; background: rgba(255, 255, 255, .08); }
.aw-hdr__icon:focus-visible { outline: 2px solid #C8902F; outline-offset: 2px; }
.aw-hdr__icon svg { width: 23px; height: 23px; }

.aw-hdr__count {
	position: absolute;
	top: 4px;
	right: 2px;
	min-width: 19px;
	height: 19px;
	padding: 0 5px;
	border: 2px solid var(--e-global-color-primary, #1C1C1E);
	border-radius: 999px;
	background: var(--e-global-color-cta, #E8A317);
	color: #1C1C1E;
	font-size: 11px;
	font-weight: 700;
	line-height: 15px;
	text-align: center;
	box-sizing: border-box;
}

/* Ingelogd: klein groen bolletje bij het accounticoon. */
.aw-hdr__dot {
	position: absolute;
	top: 9px;
	right: 9px;
	width: 8px;
	height: 8px;
	border: 2px solid var(--e-global-color-primary, #1C1C1E);
	border-radius: 50%;
	background: #3DBE7A;
}

/* Winkelwagenpaneel (alleen desktop) */
.aw-hdr-cart { position: relative; }
.aw-hdr-cart__panel { display: none; }

@media (min-width: 1025px) {
	.aw-hdr-cart__panel {
		display: block;
		position: absolute;
		top: calc(100% + 4px);
		right: -8px;
		z-index: 70;
		width: 360px;
		padding-top: 10px;
		opacity: 0;
		visibility: hidden;
		transform: translateY(8px);
		transition: opacity .18s ease, transform .18s ease, visibility 0s linear .18s;
	}

	.aw-hdr-cart.is-open .aw-hdr-cart__panel {
		opacity: 1;
		visibility: visible;
		transform: none;
		transition: opacity .18s ease, transform .18s ease;
	}
}

.aw-hdr-cart__inner {
	padding: 22px;
	border-radius: 16px;
	background: #FFFFFF;
	box-shadow: 0 24px 60px rgba(0, 0, 0, .28), 0 2px 8px rgba(0, 0, 0, .12);
	font-family: 'Inter', system-ui, sans-serif;
	color: #1C1C1E;
}

.aw-hdr-cart__title { margin: 0 0 12px; font-size: 16px; font-weight: 700; }
.aw-hdr-cart__title span { font-weight: 500; color: #6E6E73; }
.aw-hdr-cart__empty { margin: -4px 0 16px; font-size: 14px; line-height: 1.5; color: #6E6E73; }

.aw-hdr-cart__items {
	max-height: 280px;
	margin: 0;
	padding: 0;
	overflow-y: auto;
	list-style: none;
}

.aw-hdr-cart__item {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 10px 0;
	border-top: 1px solid rgba(28, 28, 30, .08);
}

.aw-hdr-cart__item:first-child { border-top: 0; }

.aw-hdr-cart__thumb {
	flex: none;
	width: 48px;
	height: 48px;
	overflow: hidden;
	border: 1px solid rgba(28, 28, 30, .08);
	border-radius: 8px;
}

.aw-hdr-cart__thumb img { width: 100%; height: 100%; object-fit: contain; }

.aw-hdr-cart__name { flex: 1; min-width: 0; font-size: 14px; font-weight: 600; line-height: 1.3; }
.aw-hdr-cart__qty { display: block; margin-top: 2px; font-size: 13px; font-weight: 400; color: #6E6E73; }
.aw-hdr-cart__line { flex: none; font-size: 14px; font-weight: 600; white-space: nowrap; }
.aw-hdr-cart .woocommerce-price-suffix { display: none; }

.aw-hdr-cart__subtotal {
	display: flex;
	justify-content: space-between;
	margin: 6px 0 16px;
	padding-top: 14px;
	border-top: 1px solid rgba(28, 28, 30, .12);
	font-size: 15px;
}

.aw-hdr-cart__buttons { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }

.aw-hdr-cart__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 12px 14px;
	border: 1px solid rgba(28, 28, 30, .18);
	border-radius: 10px;
	color: #1C1C1E;
	font-size: 14px;
	font-weight: 600;
	text-decoration: none;
	text-align: center;
}

.aw-hdr-cart__btn:hover { border-color: #1C1C1E; color: #1C1C1E; }
.aw-hdr-cart__btn.is-primary { border-color: transparent; background: var(--e-global-color-cta, #E8A317); }
.aw-hdr-cart__btn.is-primary:hover { background: #F2B53A; }

/* De knop "Find my machine" past naast menu en iconen pas vanaf 1280px. */
@media (min-width: 1025px) and (max-width: 1279px) {
	.aw-mm .aw-mm__item--finder { display: none; }
	.aw-mm .aw-mm__top { padding-inline: 12px; }
}

/* Mobiel: account en winkelwagen links van de hamburger. */
@media (max-width: 1024px) {
	.aw-mm { gap: 0; }
	.aw-hdr { margin-left: 0; }
	.aw-mm .aw-mm__burger { order: 3; margin-left: 2px; }
}

/* ---------------------------------------------------------------------------
   My account (/my-account/): inlogformulier en accountoverzicht.

   De pagina draait op het kale paginatemplate van Hello Elementor met de
   WooCommerce-shortcode. Uitgelogd: een gecentreerde inlogkaart. Ingelogd:
   navigatie links, inhoud rechts.
   ------------------------------------------------------------------------- */

body.woocommerce-account { background: #F6F5F2; }

body.woocommerce-account .site-main {
	max-width: 1200px;
	margin: 0 auto;
	padding: 56px 20px 96px;
	font-family: 'Inter', system-ui, sans-serif;
	color: #3A3A3E;
}

body.woocommerce-account .page-header { margin: 0 0 32px; text-align: center; }

body.woocommerce-account .page-header .entry-title {
	margin: 0;
	font-family: 'Playfair Display', Georgia, serif;
	font-weight: 700;
	font-size: clamp(2rem, 1.5rem + 1.6vw, 2.6rem);
	color: #1C1C1E;
}

body.woocommerce-account .woocommerce a { color: #8F6318; }
body.woocommerce-account .woocommerce a:hover { color: #1C1C1E; }

/* Uitgelogd: één kaart met links inloggen en rechts registreren. */
body.woocommerce-account:not(.logged-in) .woocommerce {
	max-width: 920px;
	margin: 0 auto;
	padding: 36px 40px;
	border-radius: 18px;
	background: #FFFFFF;
	box-shadow: 0 20px 50px rgba(28, 28, 30, .1);
}

/* Wachtwoord vergeten / opnieuw instellen: alleen één formulier, dus smaller. */
body.woocommerce-account:not(.logged-in) .woocommerce:not(:has(#customer_login)) { max-width: 480px; }

body.woocommerce-account #customer_login {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0;
	width: auto;
	margin: 0;
}

body.woocommerce-account #customer_login::before,
body.woocommerce-account #customer_login::after { display: none; }

body.woocommerce-account #customer_login .u-column1,
body.woocommerce-account #customer_login .u-column2 {
	float: none;
	width: auto;
	max-width: none;
	padding: 0;
}

body.woocommerce-account #customer_login .u-column1 { padding-right: 40px; }
body.woocommerce-account #customer_login .u-column2 { padding-left: 40px; border-left: 1px solid rgba(28, 28, 30, .08); }

body.woocommerce-account:not(.logged-in) .woocommerce h2 {
	margin: 0 0 6px;
	font-family: 'Inter', sans-serif;
	font-size: 20px;
	font-weight: 700;
	color: #1C1C1E;
}

body.woocommerce-account:not(.logged-in) .woocommerce h2::after {
	display: block;
	margin-top: 6px;
	font-size: 14px;
	font-weight: 400;
	line-height: 1.5;
	color: #6E6E73;
}

body.woocommerce-account #customer_login .u-column1 h2::after { content: "Welcome back. Log in with your email address and password."; }
body.woocommerce-account #customer_login .u-column2 h2::after { content: "New here? Create an account to see your orders and check out faster next time."; }

body.woocommerce-account form.woocommerce-form-login,
body.woocommerce-account form.woocommerce-form-register,
body.woocommerce-account form.woocommerce-ResetPassword {
	margin: 20px 0 0;
	padding: 0;
	border: 0;
	border-radius: 0;
}

body.woocommerce-account form.woocommerce-form-register > p:not(.form-row),
body.woocommerce-account .woocommerce-privacy-policy-text p {
	margin: 0 0 14px;
	font-size: 13.5px;
	line-height: 1.55;
	color: #6E6E73;
}

body.woocommerce-account .woocommerce-form-register__submit { width: 100%; }

body.woocommerce-account .woocommerce form .form-row { margin: 0 0 16px; padding: 0; }

body.woocommerce-account .woocommerce form .form-row label {
	display: block;
	margin-bottom: 6px;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.4;
	color: #1C1C1E;
}

body.woocommerce-account .woocommerce form .form-row .required { color: #B5432F; text-decoration: none; }

body.woocommerce-account .woocommerce form .input-text,
body.woocommerce-account .woocommerce form select {
	width: 100%;
	min-height: 48px;
	padding: 10px 14px;
	border: 1.5px solid rgba(28, 28, 30, .16);
	border-radius: 10px;
	background: #FFFFFF;
	font-size: 16px;
	color: #1C1C1E;
	transition: border-color .15s, box-shadow .15s;
}

body.woocommerce-account .woocommerce form .input-text:focus,
body.woocommerce-account .woocommerce form select:focus {
	border-color: #C8902F;
	outline: 0;
	box-shadow: 0 0 0 3px rgba(200, 144, 47, .2);
}

body.woocommerce-account .woocommerce-form-login .form-row:has(.woocommerce-form-login__submit) {
	display: flex;
	flex-direction: column-reverse;
	gap: 16px;
	margin-top: 4px;
}

body.woocommerce-account .woocommerce-form-login__rememberme {
	display: inline-flex !important;
	align-items: center;
	gap: 8px;
	font-weight: 400 !important;
	color: #3A3A3E !important;
}

body.woocommerce-account .woocommerce-form-login__rememberme input { accent-color: #C8902F; width: 16px; height: 16px; }

body.woocommerce-account .woocommerce button.button,
body.woocommerce-account .woocommerce .button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding: 12px 22px;
	border: 0;
	border-radius: 10px;
	background: var(--e-global-color-cta, #E8A317);
	color: #1C1C1E;
	font-size: 15px;
	font-weight: 600;
	text-decoration: none;
	cursor: pointer;
}

body.woocommerce-account .woocommerce button.button:hover,
body.woocommerce-account .woocommerce .button:hover { background: #F2B53A; color: #1C1C1E; }

body.woocommerce-account .woocommerce-form-login__submit { width: 100%; }

body.woocommerce-account .woocommerce-LostPassword {
	margin: 18px 0 0;
	padding-top: 18px;
	border-top: 1px solid rgba(28, 28, 30, .08);
	font-size: 14px;
	text-align: center;
}

body.woocommerce-account .woocommerce-LostPassword::after {
	content: "Ordering without an account is possible too.";
	display: block;
	margin-top: 8px;
	color: #6E6E73;
}

body.woocommerce-account .woocommerce-LostPassword a { font-weight: 600; text-decoration: none; }

/* Ingelogd: navigatie links, inhoud rechts */
body.woocommerce-account.logged-in .woocommerce {
	display: grid;
	grid-template-columns: 260px minmax(0, 1fr);
	gap: 32px;
	align-items: start;
}

body.woocommerce-account .woocommerce-MyAccount-navigation {
	float: none;
	width: auto;
	padding: 10px;
	border-radius: 16px;
	background: #FFFFFF;
	box-shadow: 0 10px 30px rgba(28, 28, 30, .06);
}

body.woocommerce-account .woocommerce-MyAccount-navigation ul { margin: 0; padding: 0; list-style: none; }

body.woocommerce-account .woocommerce-MyAccount-navigation a {
	display: block;
	padding: 11px 14px;
	border-radius: 10px;
	color: #3A3A3E;
	font-size: 15px;
	font-weight: 500;
	text-decoration: none;
}

body.woocommerce-account .woocommerce-MyAccount-navigation a:hover { background: #F6F4EF; color: #1C1C1E; }

body.woocommerce-account .woocommerce-MyAccount-navigation .is-active a {
	background: #FBF7EF;
	color: #1C1C1E;
	font-weight: 600;
	box-shadow: inset 3px 0 0 #C8902F;
}

body.woocommerce-account .woocommerce-MyAccount-content {
	float: none;
	width: auto;
	padding: 32px;
	border-radius: 16px;
	background: #FFFFFF;
	box-shadow: 0 10px 30px rgba(28, 28, 30, .06);
	line-height: 1.65;
}

body.woocommerce-account .woocommerce-MyAccount-content table { width: 100%; border-collapse: collapse; }

body.woocommerce-account .woocommerce-MyAccount-content th,
body.woocommerce-account .woocommerce-MyAccount-content td {
	padding: 12px 10px;
	border: 0;
	border-bottom: 1px solid rgba(28, 28, 30, .08);
	text-align: left;
}

@media (max-width: 767px) {
	body.woocommerce-account .site-main { padding: 36px 16px 72px; }
	body.woocommerce-account:not(.logged-in) .woocommerce { padding: 24px 20px; }
	body.woocommerce-account #customer_login { grid-template-columns: 1fr; }
	body.woocommerce-account #customer_login .u-column1 { padding: 0 0 28px; }
	body.woocommerce-account #customer_login .u-column2 { padding: 28px 0 0; border-left: 0; border-top: 1px solid rgba(28, 28, 30, .08); }
	body.woocommerce-account.logged-in .woocommerce { grid-template-columns: 1fr; gap: 16px; }
	body.woocommerce-account .woocommerce-MyAccount-content { padding: 22px 18px; }
}

/* ---------------------------------------------------------------------------
   Knoptoestanden in menu, header en keuzehulp.

   Hello Elementor zet op elke knop bij hover en focus een roze achtergrond
   ([type=button]:hover, button:focus { background-color: #c36 }). Die regels
   laden na dit stylesheet en hebben dezelfde specificiteit als onze knoppen,
   dus winnen ze. Op mobiel blijft een knop na een tik in hover/focus staan,
   waardoor het menu daar roze werd. Hieronder de toestanden expliciet in de
   huisstijl, met een extra element in de selector zodat ze altijd voorgaan.
   ------------------------------------------------------------------------- */

.aw-mm,
.aw-hdr,
.aw-finder { -webkit-tap-highlight-color: transparent; }

.aw-mm button.aw-mm__top,
.aw-mm button.aw-mm__top:is(:hover, :focus, :active) {
	border: 0;
	box-shadow: none;
	text-decoration: none;
}

.aw-mm button.aw-mm__top:is(:hover, :focus, :active) {
	background: rgba(255, 255, 255, .06);
	color: #FFFFFF;
}

.aw-mm button.aw-mm__top:focus:not(:focus-visible) { outline: 0; }

.aw-mm button.aw-mm__burger:is(:hover, :focus, :active) {
	border: 0;
	background: rgba(255, 255, 255, .08);
	color: #FFFFFF;
}

.aw-mm button.aw-mm__close:is(:hover, :focus, :active) {
	border: 0;
	background: rgba(255, 255, 255, .14);
	color: #FFFFFF;
}

.aw-mm :is(button, a):focus-visible,
.aw-hdr a:focus-visible { outline: 2px solid #C8902F; outline-offset: 2px; }

@media (max-width: 1024px) {
	/* In het uitschuifpaneel geen achtergrond bij tikken; open = gouden tekst. */
	.aw-mm button.aw-mm__top:is(:hover, :focus, :active) { background: transparent; color: #FFFFFF; }
	.aw-mm .aw-mm__item.is-open > button.aw-mm__top { color: #E8A317; }
	.aw-mm .aw-mm__item.is-open > button.aw-mm__top .aw-mm__chev { color: #E8A317; }
	.aw-mm .aw-mm__item > button.aw-mm__top:active { background: rgba(255, 255, 255, .04); }
}

.aw-finder button.aw-finder__next:is(:focus, :active):not(:disabled) { background: #1C1C1E; color: #FFFFFF; }
.aw-finder button.aw-finder__next:disabled:is(:hover, :focus) { background: #1C1C1E; color: #FFFFFF; }
.aw-finder button:is(.aw-finder__back, .aw-finder__restart):is(:focus, :active) { background: transparent; color: #1C1C1E; }

/* ---------------------------------------------------------------------------
   Service-pagina's (FAQ, Shipping & delivery, Warranty, Returns), body.aw-service.

   Zelfde opbouw als het blogartikel: donkere kop, leeskolom van 720px met rechts
   een meelopende inhoudsopgave, en onderaan een servicedesk-blok. De opmaak
   komt uit aw_service_content() in functions.php.
   ------------------------------------------------------------------------- */

body.aw-service { background: #FFFFFF; }

/* Hello begrenst .site-main op 1140px; de kop en het slotblok lopen over de volle breedte. */
body.aw-service .site-main,
body.aw-service .page-content {
	max-width: none !important;
	width: 100%;
	margin: 0 !important;
	padding: 0 !important;
}

body.aw-service .page-content > .aw-svc-hero ~ * { font-family: 'Inter', system-ui, sans-serif; }

/* Kop */
body.aw-service .aw-svc-hero {
	background: var(--e-global-color-primary, #1C1C1E);
	font-family: 'Inter', system-ui, sans-serif;
}

body.aw-service .aw-svc-hero__inner {
	max-width: 1200px;
	margin: 0 auto;
	padding: 56px 20px 0;
}

body.aw-service .aw-svc-hero__eyebrow {
	margin: 0 0 14px;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: #C8902F;
}

body.aw-service .aw-svc-hero__title {
	max-width: 820px;
	margin: 0 0 16px;
	font-family: 'Playfair Display', Georgia, serif;
	font-weight: 700;
	font-size: clamp(2.1rem, 1.4rem + 2.4vw, 3.25rem);
	line-height: 1.1;
	color: #FFFFFF;
}

body.aw-service .aw-svc-hero__lead {
	max-width: 640px;
	margin: 0 0 40px;
	font-size: 1.125rem;
	line-height: 1.6;
	color: #B9B9BF;
}

/* Wissel tussen de vier pagina's, als tabbladen op de onderrand van de kop. */
body.aw-service .aw-svc-hero__tabs { display: flex; flex-wrap: wrap; gap: 4px; }

body.aw-service .aw-svc-hero__tab {
	padding: 12px 20px;
	border-radius: 10px 10px 0 0;
	color: #B9B9BF;
	font-size: 15px;
	font-weight: 500;
	text-decoration: none;
	transition: color .2s, background-color .2s;
}

body.aw-service .aw-svc-hero__tab:hover { color: #FFFFFF; background: rgba(255, 255, 255, .06); }
body.aw-service .aw-svc-hero__tab.is-current { background: #FFFFFF; color: #1C1C1E; font-weight: 600; }
body.aw-service .aw-svc-hero__tab:focus-visible { outline: 2px solid #C8902F; outline-offset: -2px; }

/* Tekst + inhoudsopgave */
body.aw-service .aw-svc-body {
	display: flex;
	gap: 72px;
	max-width: 1200px;
	margin: 0 auto;
	padding: 56px 20px 72px;
}

body.aw-service .aw-svc-article {
	flex: 1 1 0;
	min-width: 0;
	max-width: 720px;
	font-size: 1.0625rem;
	line-height: 1.8;
	color: #3A3A3E;
}

body.aw-service .aw-svc-article > *:first-child { margin-top: 0; }
body.aw-service .aw-svc-article p { margin: 0 0 1.2em; color: #3A3A3E; }

body.aw-service .aw-svc-article h2 {
	margin: 2.2em 0 .6em;
	font-family: 'Playfair Display', Georgia, serif;
	font-weight: 700;
	font-size: 1.75rem;
	line-height: 1.25;
	color: #1C1C1E;
	scroll-margin-top: 24px;
}

body.aw-service .aw-svc-article > h2:first-child { margin-top: 0; }

body.aw-service .aw-svc-article h3 {
	margin: 1.8em 0 .5em;
	font-family: 'Inter', sans-serif;
	font-size: 1.2rem;
	font-weight: 600;
	line-height: 1.4;
	color: #1C1C1E;
}

body.aw-service .aw-svc-article strong { color: #1C1C1E; font-weight: 600; }
body.aw-service .aw-svc-article em { color: #6E6E73; }

body.aw-service .aw-svc-article a {
	color: #8F6318;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}

body.aw-service .aw-svc-article a:hover { color: #1C1C1E; }

body.aw-service .aw-svc-article ul,
body.aw-service .aw-svc-article ol { margin: 0 0 1.3em; padding-left: 1.3em; }
body.aw-service .aw-svc-article li { margin: .4em 0; }
body.aw-service .aw-svc-article li::marker { color: #C8902F; }

/* Knoppen uit de blokeditor */
body.aw-service .aw-svc-article .wp-block-buttons { display: flex; flex-wrap: wrap; gap: 12px; margin: 1.4em 0 1.8em; }

body.aw-service .aw-svc-article .wp-block-button__link {
	display: inline-flex;
	align-items: center;
	padding: 13px 22px;
	border: 0;
	border-radius: 10px;
	background: var(--e-global-color-cta, #E8A317);
	color: #1C1C1E;
	font-size: 15px;
	font-weight: 600;
	line-height: 1.3;
	text-decoration: none;
	transition: background-color .2s;
}

body.aw-service .aw-svc-article .wp-block-button__link:hover { background: #F2B53A; color: #1C1C1E; }
body.aw-service .aw-svc-article .wp-block-button__link::after { content: " \2192"; margin-left: 6px; }

/* Afbeeldingen, zoals de EU-kaart over de wettelijke garantie */
body.aw-service .aw-svc-article .wp-block-image,
body.aw-service .aw-svc-article figure:not(.wp-block-table) {
	margin: 0 0 2em;
	padding: 20px;
	border: 1px solid rgba(28, 28, 30, .1);
	border-radius: 16px;
	background: #FFFFFF;
	text-align: center;
}

body.aw-service .aw-svc-article figure img { max-width: 100%; height: auto; border-radius: 8px; }
body.aw-service .aw-svc-article figcaption { margin-top: 10px; font-size: 14px; color: #6E6E73; }

/* Tabellen */
body.aw-service .aw-table-wrap {
	margin: 1.4em 0 1.8em;
	overflow-x: auto;
	border: 1px solid rgba(28, 28, 30, .1);
	border-radius: 14px;
}

body.aw-service .aw-svc-article .wp-block-table { margin: 0; }
body.aw-service .aw-svc-article .wp-block-table .aw-table-wrap,
body.aw-service .aw-svc-article figure.wp-block-table { margin: 1.4em 0 1.8em; }
body.aw-service .aw-svc-article figure.wp-block-table .aw-table-wrap { margin: 0; }

body.aw-service .aw-svc-article table {
	width: 100%;
	margin: 0;
	border-collapse: collapse;
	font-size: 15px;
	line-height: 1.5;
}

body.aw-service .aw-svc-article th,
body.aw-service .aw-svc-article td {
	padding: 12px 16px;
	border: 0;
	border-bottom: 1px solid rgba(28, 28, 30, .08);
	background: transparent;
	text-align: left;
	vertical-align: top;
	color: #3A3A3E;
}

body.aw-service .aw-svc-article thead th {
	background: #F6F5F2;
	border-bottom: 1px solid rgba(28, 28, 30, .12);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: #6E6E73;
}

body.aw-service .aw-svc-article tbody tr:last-child td,
body.aw-service .aw-svc-article tbody tr:last-child th { border-bottom: 0; }
body.aw-service .aw-svc-article tbody tr:nth-child(even) td { background: #FBFAF8; }
body.aw-service .aw-svc-article tbody td:first-child { font-weight: 500; color: #1C1C1E; }

/* Losse noten bij de gegenereerde verzendtabel */
body.aw-service .aw-svc-article .awdev-shipping-countries,
body.aw-service .aw-svc-article .awdev-shipping-note { color: #6E6E73; font-size: 14px; opacity: 1; }

/* FAQ: uitklapbare vragen */
body.aw-service .aw-faq {
	margin: 0 0 10px;
	border: 1px solid rgba(28, 28, 30, .1);
	border-radius: 14px;
	background: #FFFFFF;
	transition: border-color .2s, box-shadow .2s;
}

body.aw-service .aw-faq[open] { border-color: rgba(200, 144, 47, .55); box-shadow: 0 8px 24px rgba(28, 28, 30, .06); }

body.aw-service .aw-faq summary {
	position: relative;
	padding: 18px 56px 18px 22px;
	font-size: 16.5px;
	font-weight: 600;
	line-height: 1.4;
	color: #1C1C1E;
	list-style: none;
	cursor: pointer;
}

body.aw-service .aw-faq summary::-webkit-details-marker { display: none; }

body.aw-service .aw-faq summary::before,
body.aw-service .aw-faq summary::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 24px;
	width: 14px;
	height: 2px;
	border-radius: 2px;
	background: #C8902F;
	transition: transform .2s;
}

body.aw-service .aw-faq summary::after { transform: rotate(90deg); }
body.aw-service .aw-faq[open] summary::after { transform: rotate(0deg); }
body.aw-service .aw-faq summary:hover { color: #8F6318; }
body.aw-service .aw-faq summary:focus-visible { outline: 2px solid #C8902F; outline-offset: -2px; border-radius: 14px; }

body.aw-service .aw-faq__answer { padding: 0 22px 6px; }
body.aw-service .aw-faq__answer p { font-size: 16px; line-height: 1.7; }
body.aw-service .aw-faq__answer .wp-block-buttons { margin: .4em 0 1.2em; }

body.aw-service .aw-svc-article .aw-faq + h2 { margin-top: 1.8em; }

/* Zijbalk */
body.aw-service .aw-svc-aside {
	flex: 0 0 280px;
	position: sticky;
	top: 32px;
	align-self: flex-start;
	display: flex;
	flex-direction: column;
	gap: 24px;
}

body.aw-service .aw-svc-toc { border-left: 1px solid rgba(28, 28, 30, .1); }

body.aw-service .aw-svc-toc__title {
	margin: 0 0 10px;
	padding-left: 20px;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: #6E6E73;
}

body.aw-service .aw-svc-toc ul { margin: 0; padding: 0; list-style: none; }

body.aw-service .aw-svc-toc a {
	display: block;
	margin-left: -1px;
	padding: 7px 0 7px 20px;
	border-left: 2px solid transparent;
	font-size: 14px;
	line-height: 1.45;
	color: #3A3A3E;
	text-decoration: none;
}

body.aw-service .aw-svc-toc a:hover { color: #1C1C1E; }
body.aw-service .aw-svc-toc a.is-active { border-left-color: #C8902F; font-weight: 600; color: #1C1C1E; }

body.aw-service .aw-svc-help {
	padding: 20px;
	border-radius: 14px;
	background: #F6F5F2;
	font-size: 14px;
	line-height: 1.55;
}

body.aw-service .aw-svc-help p { margin: 0 0 8px; color: #3A3A3E; }
body.aw-service .aw-svc-help__title { font-weight: 700; color: #1C1C1E !important; }
body.aw-service .aw-svc-help a { display: block; color: #8F6318; font-weight: 600; text-decoration: none; word-break: break-word; }
body.aw-service .aw-svc-help a:hover { color: #1C1C1E; }
body.aw-service .aw-svc-help__link { margin-top: 10px; }
body.aw-service .aw-svc-help__link::after { content: " \2192"; }

/* Afsluiting */
body.aw-service .aw-svc-cta { background: var(--e-global-color-primary, #1C1C1E); font-family: 'Inter', sans-serif; }

body.aw-service .aw-svc-cta__inner {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 24px 48px;
	max-width: 1200px;
	margin: 0 auto;
	padding: 56px 20px;
}

body.aw-service .aw-svc-cta h2 {
	margin: 0 0 8px;
	font-family: 'Playfair Display', Georgia, serif;
	font-size: 1.9rem;
	line-height: 1.2;
	color: #FFFFFF;
}

body.aw-service .aw-svc-cta p { max-width: 560px; margin: 0; color: #B9B9BF; line-height: 1.6; }
body.aw-service .aw-svc-cta__actions { display: flex; flex-wrap: wrap; gap: 12px; }

@media (max-width: 1024px) {
	body.aw-service .aw-svc-body { flex-direction: column; align-items: center; gap: 28px; padding-top: 40px; }
	body.aw-service .aw-svc-article { width: 100%; flex: none; }
	body.aw-service .aw-svc-aside { position: static; order: -1; width: 100%; max-width: 720px; flex: none; }
	body.aw-service .aw-svc-toc { padding: 16px 18px 10px; border: 1px solid rgba(28, 28, 30, .1); border-radius: 12px; }
	body.aw-service .aw-svc-toc__title { padding-left: 0; }
	body.aw-service .aw-svc-toc ul { display: flex; flex-wrap: wrap; gap: 6px 8px; padding-bottom: 6px; }
	body.aw-service .aw-svc-toc a { margin: 0; padding: 6px 12px; border: 1px solid rgba(28, 28, 30, .12); border-radius: 999px; font-size: 13.5px; }
	body.aw-service .aw-svc-toc a.is-active { border-color: #C8902F; }
	body.aw-service .aw-svc-help { display: none; }
}

@media (max-width: 767px) {
	body.aw-service .aw-svc-hero__inner { padding-top: 40px; }
	body.aw-service .aw-svc-hero__lead { margin-bottom: 28px; font-size: 1.05rem; }
	body.aw-service .aw-svc-hero__tabs { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; }
	body.aw-service .aw-svc-hero__tab { flex: none; padding: 11px 16px; font-size: 14px; }
	body.aw-service .aw-svc-article h2 { font-size: 1.45rem; }
	body.aw-service .aw-svc-article th, body.aw-service .aw-svc-article td { padding: 10px 12px; font-size: 14px; }
	body.aw-service .aw-faq summary { padding: 16px 48px 16px 18px; font-size: 16px; }
	body.aw-service .aw-faq summary::before, body.aw-service .aw-faq summary::after { right: 18px; }
	body.aw-service .aw-faq__answer { padding: 0 18px 4px; }
	body.aw-service .aw-svc-cta h2 { font-size: 1.5rem; }
}

/* De EU-kaart over de wettelijke garantie is een grote afbeelding; niet breder dan nodig. */
body.aw-service .aw-svc-article figure img { width: 100%; max-width: 600px; }

/* Hello onderstreept elke link in .page-content; de knoppen in het slotblok niet. */
body.aw-service .aw-svc-cta .aw-btn { text-decoration: none; }

/* ==========================================================================
   Winkelwagen (AWCC-template + Bootstrap)
   De plugin-CSS laadt na dit bestand, daarom beginnen alle regels met
   body.woocommerce-cart .woocommerce zodat ze zwaarder wegen.
   ========================================================================== */
body.woocommerce-cart {
	--c-ink:   #1C1C1E;
	--c-muted: #6E6E73;
	--c-line:  #E6E6E8;
	--c-gold:  #C8902F;
	--c-cta:   #E8A317;
	background: #F4F4F5;
}
body.woocommerce-cart .woocommerce {
	max-width: 1200px;
	margin: 0 auto;
	padding: 40px 0 72px;
	font-family: 'Inter', system-ui, sans-serif;
	color: var(--c-ink);
}
body.woocommerce-cart .woocommerce a { color: var(--c-ink); }
body.woocommerce-cart .woocommerce a:hover { color: var(--c-gold); }

/* Kop */
.aw-cart-head {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 28px;
}
body.woocommerce-cart .aw-cart-head .aw-cart-head__title {
	margin: 0;
	font-family: 'Playfair Display', Georgia, serif;
	font-size: clamp(30px, 4vw, 40px);
	font-weight: 700;
	line-height: 1.1;
	color: var(--c-ink);
}
.aw-cart-head__count { margin: 6px 0 0; color: var(--c-muted); font-size: 15px; }
body.woocommerce-cart .woocommerce .aw-cart-head__back {
	font-size: 15px;
	font-weight: 600;
	text-decoration: none;
	white-space: nowrap;
}
.aw-cart-head__back::before { content: "\2190\00a0"; }

/* Meldingen */
body.woocommerce-cart .woocommerce .woocommerce-notices-wrapper:empty { display: none; }
body.woocommerce-cart .woocommerce :is(.woocommerce-message, .woocommerce-info, .woocommerce-error) {
	width: auto;
	margin: 0 0 24px;
	padding: 14px 18px 14px 48px;
	background: #fff;
	/* AWCC zet border: none !important */
	border: 1px solid var(--c-line) !important;
	border-left: 4px solid var(--c-gold) !important;
	border-radius: 10px;
	box-shadow: none;
	color: var(--c-ink);
	font-size: 15px;
	line-height: 1.5;
	outline: none;
}
body.woocommerce-cart .woocommerce .woocommerce-error { border-left-color: #C0392B !important; }
body.woocommerce-cart .woocommerce :is(.woocommerce-message, .woocommerce-info, .woocommerce-error)::before { top: 14px; left: 18px; color: var(--c-gold); }
body.woocommerce-cart .woocommerce .woocommerce-error::before { color: #C0392B; }
/* "Bekijk winkelwagen" terwijl je er al bent */
body.woocommerce-cart .woocommerce .woocommerce-message a.wc-forward { display: none; }

/* Raster: winkelwagen links, overzicht rechts */
body.woocommerce-cart .woocommerce .awwcc-full-cart {
	max-width: none;
	padding: 0;
}
body.woocommerce-cart .woocommerce .awwcc-full-cart > .row {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 24px;
	margin: 0;
}
body.woocommerce-cart .woocommerce .awwcc-full-cart > .row > * {
	width: auto;
	max-width: none;
	padding: 0;
	margin: 0;
}
@media (min-width: 992px) {
	body.woocommerce-cart .woocommerce .awwcc-full-cart > .row {
		grid-template-columns: minmax(0, 1fr) 360px;
		gap: 32px;
		align-items: start;
	}
	body.woocommerce-cart .woocommerce .awwcc-full-cart .awcc-summary-col { top: 24px; }
}
@media (min-width: 1200px) {
	body.woocommerce-cart .woocommerce .awwcc-full-cart > .row { grid-template-columns: minmax(0, 1fr) 380px; }
}

/* Kaarten */
body.woocommerce-cart .woocommerce form.woocommerce-cart-form,
body.woocommerce-cart .woocommerce .awcc-cart-totals-wrapper {
	background: #fff;
	border: 1px solid var(--c-line);
	border-radius: 14px;
	box-shadow: 0 1px 2px rgba(28, 28, 30, .04);
	line-height: 1.5;
}
body.woocommerce-cart .woocommerce form.woocommerce-cart-form {
	padding: 8px 28px;
	row-gap: 0;
	margin: 0;
}

/* Productregels */
body.woocommerce-cart .woocommerce .cart-header,
body.woocommerce-cart .woocommerce .cart-item-row {
	margin: 0;
	padding: 20px 0;
	border-bottom: 1px solid var(--c-line);
}
body.woocommerce-cart .woocommerce .cart-header > *,
body.woocommerce-cart .woocommerce .cart-item-row > * {
	width: auto;
	max-width: none;
	padding: 0;
}
body.woocommerce-cart .woocommerce .cart-item-name a {
	font-size: 16px;
	font-weight: 600;
	line-height: 1.4;
	text-decoration: none;
}
body.woocommerce-cart .woocommerce .cart-item-row img {
	width: 88px;
	height: 88px;
	max-height: none;
	object-fit: contain;
	background: #F4F4F5;
	border-radius: 10px;
	padding: 6px;
}
body.woocommerce-cart .woocommerce .cart-item-row .amount { font-variant-numeric: tabular-nums; }
body.woocommerce-cart .woocommerce .quantity .qty {
	width: 72px;
	height: 44px;
	margin: 0;
	padding: 0 6px;
	border: 1px solid #D4D4D8;
	border-radius: 8px;
	background: #fff;
	color: var(--c-ink);
	font-size: 16px;
	text-align: center;
}
body.woocommerce-cart .woocommerce .quantity .qty:focus {
	outline: none;
	border-color: var(--c-gold);
	box-shadow: 0 0 0 3px rgba(200, 144, 47, .2);
}
body.woocommerce-cart .woocommerce div a.remove {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	min-width: 40px;
	height: 40px;
	border-radius: 8px;
	transform: none;
}
body.woocommerce-cart .woocommerce div a.remove svg { width: 18px; fill: #8A8A8E; transition: fill .15s; }
body.woocommerce-cart .woocommerce div a.remove:hover { background: #FBEAEA; transform: none; }
body.woocommerce-cart .woocommerce div a.remove:hover svg { fill: #C0392B; }

@media (min-width: 992px) {
	/* Eén raster voor kop en regels, zodat de kolommen precies onder elkaar staan:
	   afbeelding | product | prijs | aantal | subtotaal | verwijderen */
	body.woocommerce-cart .woocommerce .cart-header,
	body.woocommerce-cart .woocommerce .cart-item-row {
		display: grid !important;
		grid-template-columns: 88px minmax(0, 1fr) 96px 80px 104px 40px;
		/* AWCC geeft .cart-item-row.d-flex een eigen column-gap */
		column-gap: 20px !important;
		align-items: center;
	}
	body.woocommerce-cart .woocommerce :is(.awcc-cart-totals-and-qty-head, .awcc-cart-totals-and-qty, .awcc-cart-remove-and-thumb) { display: contents; }
	body.woocommerce-cart .woocommerce .cart-header {
		padding: 16px 0 12px;
		font-size: 12px;
		font-weight: 600;
		letter-spacing: .06em;
		text-transform: uppercase;
		color: var(--c-muted);
	}
	body.woocommerce-cart .woocommerce .cart-header .awcc-cart-remove-and-thumb-head { display: none; }
	body.woocommerce-cart .woocommerce .cart-header .cart-item-name { grid-column: 1 / 3; }
	body.woocommerce-cart .woocommerce .cart-header .awcc-cart-totals-and-qty-head > :nth-child(2) { text-align: center; }
	body.woocommerce-cart .woocommerce .cart-header .awcc-cart-totals-and-qty-head > :is(:first-child, :last-child) { text-align: right; }
	body.woocommerce-cart .woocommerce .cart-item-row .awcc-remove-link-wrapper { grid-column: 6; grid-row: 1; }
	body.woocommerce-cart .woocommerce .cart-item-row .awcc-cart-remove-and-thumb > a { grid-column: 1; grid-row: 1; }
	body.woocommerce-cart .woocommerce .cart-item-row .cart-item-name { grid-column: 2; grid-row: 1; }
	body.woocommerce-cart .woocommerce .awcc-cart-totals-and-qty > .amount { text-align: right; color: var(--c-muted); }
	body.woocommerce-cart .woocommerce .awcc-cart-totals-and-qty > .amount:last-child { color: var(--c-ink); font-weight: 600; }
	body.woocommerce-cart .woocommerce .awcc-cart-totals-and-qty > .quantity { display: flex; justify-content: center; }
}

/* Kortingscode */
body.woocommerce-cart .woocommerce .cart-actions { padding: 20px 0 24px; margin: 0; }
body.woocommerce-cart .woocommerce .cart-actions .coupon {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
	padding: 0;
}
body.woocommerce-cart .woocommerce .cart-actions .coupon #coupon_code {
	flex: 0 1 260px;
	width: auto;
	height: 44px;
	padding: 0 14px;
	border: 1px solid #D4D4D8;
	border-radius: 8px;
	font-size: 15px;
}
body.woocommerce-cart .woocommerce .cart-actions .coupon #coupon_code:focus {
	outline: none;
	border-color: var(--c-gold);
	box-shadow: 0 0 0 3px rgba(200, 144, 47, .2);
}

/* Knoppen: secundair donker omlijnd, afrekenen in CTA-goud */
body.woocommerce-cart .woocommerce :is(button, .button):not(.btn-primary) {
	height: 44px;
	padding: 0 20px;
	border: 1.5px solid var(--c-ink);
	border-radius: 8px;
	background: #fff;
	color: var(--c-ink);
	font-family: inherit;
	font-size: 15px;
	font-weight: 600;
	line-height: 1;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	text-decoration: none;
}
body.woocommerce-cart .woocommerce :is(button, .button):not(.btn-primary):is(:hover, :focus, :active) {
	background: var(--c-ink);
	border-color: var(--c-ink);
	color: #fff;
}
body.woocommerce-cart .woocommerce .wc-proceed-to-checkout .btn-primary {
	display: block;
	width: 100%;
	padding: 17px 20px;
	border: 0;
	border-radius: 10px;
	background: var(--c-cta);
	color: var(--c-ink);
	font-size: 17px;
	font-weight: 700;
	line-height: 1.2;
	text-decoration: none;
	box-shadow: none;
	transition: background .15s;
}
body.woocommerce-cart .woocommerce .wc-proceed-to-checkout .btn-primary::after { content: "\00a0\2192"; }
body.woocommerce-cart .woocommerce .wc-proceed-to-checkout .btn-primary:is(:hover, :focus, :active) {
	background: #F2B53A;
	color: var(--c-ink);
}
body.woocommerce-cart .woocommerce .wc-proceed-to-checkout .btn-primary:focus-visible { outline: 2px solid var(--c-ink); outline-offset: 2px; }

/* Overzicht */
body.woocommerce-cart .woocommerce .awcc-cart-totals-wrapper { padding: 24px 28px; }
.aw-cart-sum__title {
	margin: 0 0 16px;
	font-family: 'Inter', system-ui, sans-serif;
	font-size: 18px;
	font-weight: 700;
	color: var(--c-ink);
}
body.woocommerce-cart .woocommerce .cart-totals-container .awcc-cart-flex-column {
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: baseline;
	gap: 6px 16px;
	margin: 0;
	padding: 14px 0;
	border-bottom: 1px solid var(--c-line);
	font-size: 15px;
}
body.woocommerce-cart .woocommerce .cart-totals-container .awcc-cart-flex-column > div:nth-child(n) {
	width: auto;
	max-width: none;
	padding: 0;
	flex: 0 1 auto;
}
body.woocommerce-cart .woocommerce .cart-totals-container .awcc-cart-flex-column strong { font-weight: 600; }
body.woocommerce-cart .woocommerce .cart-totals-container .awcc-cart-flex-column:first-child { padding-top: 0; }
/* Verzending: opties onder het label, over de volle breedte */
body.woocommerce-cart .woocommerce .cart-totals-container .shipping > div:nth-child(n) { width: 100%; flex-basis: 100%; }
body.woocommerce-cart .woocommerce #shipping_method { margin: 4px 0 0; padding: 0; list-style: none; }
body.woocommerce-cart .woocommerce .shipping ul#shipping_method li {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0;
	padding: 6px 0;
	line-height: 1.4;
}
body.woocommerce-cart .woocommerce #shipping_method input {
	margin: 0;
	width: 18px;
	height: 18px;
	accent-color: var(--c-gold);
}
body.woocommerce-cart .woocommerce #shipping_method label { margin: 0; cursor: pointer; }
body.woocommerce-cart .woocommerce .woocommerce-shipping-destination {
	margin: 8px 0 4px;
	color: var(--c-muted);
	font-size: 13px;
	line-height: 1.45;
}
body.woocommerce-cart .woocommerce .shipping-calculator-button {
	color: var(--c-gold);
	font-size: 14px;
	font-weight: 600;
	text-decoration: underline;
	text-underline-offset: 3px;
}
body.woocommerce-cart .woocommerce .shipping-calculator-button::after { display: none; }
body.woocommerce-cart .woocommerce .shipping-calculator-form { margin-top: 12px; }
body.woocommerce-cart .woocommerce .shipping-calculator-form p { margin: 0 0 10px; }
body.woocommerce-cart .woocommerce .shipping-calculator-form :is(input.input-text, select) {
	width: 100%;
	height: 44px;
	border: 1px solid #D4D4D8;
	border-radius: 8px;
}

/* Totaal */
body.woocommerce-cart .woocommerce .cart-totals-container .order-total {
	margin: 16px -28px 0;
	padding: 18px 28px;
	background: #FAF4E8;
	border: 0;
	border-top: 1px solid #F0E3C8;
	border-bottom: 1px solid #F0E3C8;
	align-items: baseline;
}
body.woocommerce-cart .woocommerce .cart-totals-container .order-total > div:first-child strong { font-size: 17px; font-weight: 700; }
body.woocommerce-cart .woocommerce .cart-totals-container .order-total .woocommerce-Price-amount {
	font-size: 26px;
	font-weight: 700;
	color: var(--c-ink);
	letter-spacing: -.01em;
}
body.woocommerce-cart .woocommerce .cart-totals-container .order-total .includes_tax {
	color: var(--c-muted);
	font-size: 12px;
	margin-top: 4px;
}
body.woocommerce-cart .woocommerce .cart-totals-container .order-total .includes_tax .woocommerce-Price-amount { font-size: inherit; font-weight: inherit; color: inherit; letter-spacing: 0; }
body.woocommerce-cart .woocommerce .cart-totals-container .wc-proceed-to-checkout { margin: 20px 0 0; padding: 0; }
body.woocommerce-cart .woocommerce .awcc-payment-icons { margin-top: 14px; }
body.woocommerce-cart .woocommerce .awcc-payment-icons img { height: 24px; opacity: 1; }

/* Beloftes onder de afrekenknop */
.aw-cart-trust {
	margin: 20px 0 0;
	padding: 18px 0 0;
	border-top: 1px solid var(--c-line);
	list-style: none;
	display: grid;
	gap: 14px;
}
.aw-cart-trust li { display: flex; gap: 12px; align-items: flex-start; margin: 0; }
.aw-cart-trust svg { flex: none; color: var(--c-gold); margin-top: 1px; }
.aw-cart-trust span { font-size: 13px; line-height: 1.45; color: var(--c-muted); }
.aw-cart-trust strong { display: block; font-size: 14px; font-weight: 600; color: var(--c-ink); }

/* Cross-sells */
body.woocommerce-cart .woocommerce .awcc-cross-sells-row { margin-top: 56px; }
body.woocommerce-cart .woocommerce .awcc-cross-sells-row .cross-sells h2 {
	margin: 0 0 20px;
	font-family: 'Playfair Display', Georgia, serif;
	font-size: 28px;
	font-weight: 700;
	color: var(--c-ink);
}
body.woocommerce-cart .woocommerce .awcc-cross-sells-row .cross-sells ul.products {
	grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
	gap: 20px;
}
@media (min-width: 992px) {
	body.woocommerce-cart .woocommerce .awcc-cross-sells-row .cross-sells ul.products { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
body.woocommerce-cart .woocommerce .awcc-cross-sells-row .cross-sells ul.products li.product {
	padding: 12px 12px 16px;
	background: #fff;
	border: 1px solid var(--c-line);
	border-radius: 14px;
	transition: border-color .15s, box-shadow .15s;
}
body.woocommerce-cart .woocommerce .awcc-cross-sells-row .cross-sells ul.products li.product:hover {
	border-color: #D9C29A;
	box-shadow: 0 6px 20px rgba(28, 28, 30, .06);
}
body.woocommerce-cart .woocommerce .awcc-cross-sells-row .cross-sells ul.products li.product img {
	background: #F4F4F5;
	border-radius: 10px;
}
body.woocommerce-cart .woocommerce .awcc-cross-sells-row .cross-sells ul.products li.product .woocommerce-loop-product__title {
	margin: 14px 0 8px;
	font-family: 'Inter', system-ui, sans-serif;
	font-size: 15px;
	font-weight: 600;
	line-height: 1.4;
	color: var(--c-ink);
}
body.woocommerce-cart .woocommerce .awcc-cross-sells-row .cross-sells ul.products li.product .price .woocommerce-Price-amount {
	color: var(--c-ink);
	font-size: 16px;
}
body.woocommerce-cart .woocommerce .awcc-cross-sells-row .cross-sells ul.products li.product > a.add_to_cart_button { display: flex; width: 100%; margin: 4px 0 0; padding: 0 12px; line-height: 1; }
body.woocommerce-cart .woocommerce .awcc-cross-sells-row .cross-sells ul.products li.product > a.added_to_cart { display: block; margin-top: 8px; font-size: 14px; text-align: center; }

/* Lege winkelwagen */
body.woocommerce-cart .woocommerce .wc-empty-cart-message .cart-empty {
	padding: 28px 28px 28px 60px;
	font-size: 16px;
}
body.woocommerce-cart .woocommerce .wc-empty-cart-message .cart-empty::before { top: 29px; left: 28px; }
body.woocommerce-cart .woocommerce .return-to-shop { margin: 0; }
body.woocommerce-cart .woocommerce .return-to-shop .button {
	background: var(--c-cta);
	border-color: var(--c-cta);
	height: 50px;
	padding: 0 26px;
}

/* Mobiel en tablet: AWCC toont dan per product een kaartje met prijs, aantal en verwijderen */
@media (max-width: 991px) {
	body.woocommerce-cart .woocommerce { padding: 24px 16px 56px; }
	.aw-cart-head { margin-bottom: 20px; }
	body.woocommerce-cart .woocommerce form.woocommerce-cart-form { padding: 4px 18px; }
	body.woocommerce-cart .woocommerce .cart-item-row {
		display: flex;
		flex-wrap: nowrap !important;
		gap: 16px !important;
		padding: 18px 0;
		border: 0;
		border-bottom: 1px solid var(--c-line);
		border-radius: 0;
	}
	body.woocommerce-cart .woocommerce .cart-item-row .awcc-cart-remove-and-thumb { flex: none; }
	body.woocommerce-cart .woocommerce .cart-item-row img { width: 80px; height: 80px; }
	body.woocommerce-cart .woocommerce .cart-item-row .cart-item-name { flex: 1 1 auto; min-width: 0; padding: 0; }
	body.woocommerce-cart .woocommerce .cart-item-name a { font-size: 15px; }
	body.woocommerce-cart .woocommerce .cart-item-name .awcc-hide-desktop {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		gap: 10px;
		margin-top: 8px;
	}
	body.woocommerce-cart .woocommerce .cart-item-name .awcc-hide-desktop > .amount {
		flex-basis: 100%;
		padding: 0;
		font-weight: 600;
	}
	body.woocommerce-cart .woocommerce .cart-item-name .quantity .qty { width: 64px; height: 40px; margin: 0; font-size: 16px; }
	body.woocommerce-cart .woocommerce .cart-actions .coupon #coupon_code { flex: 1 1 160px; }
	body.woocommerce-cart .woocommerce .cart-actions .coupon button { flex: 0 0 auto; width: auto; }
	body.woocommerce-cart .woocommerce .awcc-cart-totals-wrapper { padding: 22px 20px; }
	body.woocommerce-cart .woocommerce .cart-totals-container .order-total { margin-left: -20px; margin-right: -20px; padding-left: 20px; padding-right: 20px; }
	body.woocommerce-cart .woocommerce .awcc-cross-sells-row { margin-top: 40px; }
	body.woocommerce-cart .woocommerce .awcc-cross-sells-row .cross-sells h2 { font-size: 24px; }
	body.woocommerce-cart .woocommerce .awcc-cross-sells-row .cross-sells ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
}
@media (max-width: 480px) {
	.aw-cart-head { flex-wrap: wrap; align-items: baseline; }
	body.woocommerce-cart .woocommerce .aw-cart-head__back { font-size: 14px; }
}

/* ==========================================================================
   Checkout (AWCC accordion, afleidingsvrij)
   AWCC laadt na dit bestand en zet veel kleuren vast met !important. Alle regels
   beginnen daarom met body.awcc-distraction-free, zodat ze zwaarder wegen. De
   plugin-variabelen (--awcc-*) worden hier op de huisstijl gezet.
   ========================================================================== */
body.woocommerce-checkout { background: #F4F4F5; color: #1C1C1E; }
body.awcc-distraction-free .awcc-accordion {
	--awcc-ink: #1C1C1E;
	--awcc-ink-soft: #6E6E73;
	--awcc-line: #E6E6E8;
	--awcc-brand: #9A6B1E;
	--awcc-brand-soft: #FAF4E8;
	--awcc-cta: #E8A317;
	--awcc-cta-hover: #F2B53A;
	--awcc-ok: #1C1C1E;
	--awcc-field-line: #C7C7CC;
	--awcc-readonly: #F4F4F5;
	--awcc-focus: #C8902F;
	--awcc-danger: #C0392B;
	font-family: 'Inter', system-ui, sans-serif;
}

/* Topbalk: zelfde donker en logo als de siteheader */
body.awcc-distraction-free .awcc-checkout-topbar { background: #1C1C1E; border-bottom: 0; }
body.awcc-distraction-free .awcc-checkout-topbar-inner { max-width: 1088px; padding: 20px 24px; }
body.awcc-distraction-free .awcc-checkout-topbar .awcc-topbar-logo a.aw-co-logo {
	display: inline-block;
	font-family: 'Inter', system-ui, sans-serif;
	font-size: 22px;
	font-weight: 700;
	letter-spacing: .02em;
	line-height: 1;
	color: #fff;
	text-decoration: none;
}
.aw-co-logo span { color: #C8902F; }
body.awcc-distraction-free .awcc-topbar-secure { color: #D9D9DC; font-size: 14px; font-weight: 500; }
body.awcc-distraction-free .awcc-topbar-secure svg { color: #C8902F; }

/* Paginatitel en meldingen op de breedte van de kolommen */
body.awcc-distraction-free .site-main .page-header {
	max-width: 1040px;
	margin: 40px auto 24px;
	padding: 0;
}
body.awcc-distraction-free .site-main .page-header .entry-title {
	margin: 0;
	font-family: 'Playfair Display', Georgia, serif;
	font-size: clamp(30px, 4vw, 40px);
	font-weight: 700;
	line-height: 1.1;
	color: #1C1C1E;
}
body.woocommerce-checkout .woocommerce .woocommerce-notices-wrapper:empty { display: none; }
body.woocommerce-checkout .woocommerce :is(.woocommerce-message, .woocommerce-info, .woocommerce-error):not(.awcc-block-error) {
	width: auto;
	max-width: 1040px;
	margin: 0 auto 24px;
	padding: 14px 18px 14px 48px;
	background: #fff;
	border: 1px solid #E6E6E8 !important;
	border-left: 4px solid #C8902F !important;
	border-radius: 10px;
	box-shadow: none;
	color: #1C1C1E !important;
	font-family: 'Inter', system-ui, sans-serif;
	font-size: 15px;
	line-height: 1.5;
	outline: none;
}
body.woocommerce-checkout .woocommerce .woocommerce-error:not(.awcc-block-error) { border-left-color: #C0392B !important; }
body.woocommerce-checkout .woocommerce :is(.woocommerce-message, .woocommerce-info)::before { top: 14px; left: 18px; color: #C8902F; }
body.woocommerce-checkout .woocommerce .woocommerce-message a.wc-forward {
	float: right;
	margin: 0 0 0 16px;
	padding: 0;
	background: none;
	border: 0;
	color: #1C1C1E;
	font-size: 14px;
	font-weight: 600;
	text-decoration: underline;
	text-underline-offset: 3px;
}
body.woocommerce-checkout .woocommerce .woocommerce-message a.wc-forward:hover { color: #9A6B1E; background: none; }

/* Stappen */
body.awcc-distraction-free .awcc-accordion .awcc-block { border-color: #E6E6E8; }
body.awcc-distraction-free .awcc-accordion .awcc-block.is-todo { background: #FAFAFA; }
body.awcc-distraction-free .awcc-accordion .awcc-block.is-open {
	border-color: #C8902F !important;
	box-shadow: 0 0 0 1px #C8902F, 0 8px 22px rgba(28, 28, 30, .06) !important;
}
body.awcc-distraction-free .awcc-accordion .awcc-block-no { background: #FAF4E8 !important; color: #9A6B1E !important; }
body.awcc-distraction-free .awcc-accordion .awcc-block.is-todo .awcc-block-no { background: #F0F0F2 !important; color: #8A8A8E !important; }
body.awcc-distraction-free .awcc-accordion .awcc-block.is-done .awcc-block-no { background: #1C1C1E !important; color: #E8A317 !important; }
body.awcc-distraction-free .awcc-accordion .awcc-block-title { font-family: 'Inter', system-ui, sans-serif; letter-spacing: -.005em; }
body.awcc-distraction-free .awcc-accordion .awcc-block-edit:hover { color: #1C1C1E !important; }
/* "Billing details" herhaalt de staptitel "Delivery address" */
body.awcc-distraction-free .awcc-accordion .woocommerce-billing-fields > h3 { display: none; }

/* Velden */
body.awcc-distraction-free .awcc-accordion .awcc-block-body :is(input, select, textarea):focus-visible {
	outline: 3px solid rgba(200, 144, 47, .3) !important;
	outline-offset: 0;
	border-color: #C8902F !important;
}
body.awcc-distraction-free .awcc-accordion input.awcc-autofilled { background: #F4F4F5 !important; color: #6E6E73 !important; }
body.awcc-distraction-free .awcc-pc-dd-item:is(:hover, :focus) { background: #FAF4E8; }
body.awcc-distraction-free .awcc-pc-dd-main { color: #1C1C1E; }
body.awcc-distraction-free .awcc-accordion input[type=checkbox] {
	width: 20px;
	height: 20px;
	margin: 0 10px 0 0;
	vertical-align: middle;
	accent-color: #C8902F;
}
body.awcc-distraction-free .awcc-accordion .woocommerce-account-fields .create-account label,
body.awcc-distraction-free .awcc-accordion #ship-to-different-address label {
	display: flex;
	align-items: center;
	margin: 0;
	font-size: 1rem;
	font-weight: 600;
	cursor: pointer;
}
body.awcc-distraction-free .awcc-accordion #ship-to-different-address { margin: 8px 0 18px; font-size: 1rem; }
body.awcc-distraction-free .awcc-accordion .woocommerce-account-fields { margin: 4px 0 12px; }

/* Knoppen: goud met donkere tekst, net als "Proceed to checkout" */
body.awcc-distraction-free .awcc-accordion :is(.awcc-block-next, .awcc-place-order-btn, #place_order) {
	background: #E8A317 !important;
	color: #1C1C1E !important;
	border-radius: 10px !important;
	box-shadow: none !important;
	transition: background .15s;
}
body.awcc-distraction-free .awcc-accordion :is(.awcc-block-next, .awcc-place-order-btn, #place_order):is(:hover, :focus) {
	background: #F2B53A !important;
	color: #1C1C1E !important;
}
body.awcc-distraction-free .awcc-accordion :is(.awcc-block-next, .awcc-place-order-btn, #place_order):focus-visible { outline: 2px solid #1C1C1E !important; outline-offset: 2px; }
body.awcc-distraction-free .awcc-accordion .awcc-coupon-wrapper > button,
body.awcc-distraction-free .awcc-accordion .woocommerce-form-login.awcc-login-inline button[name="login"] {
	background: #fff !important;
	color: #1C1C1E !important;
	border: 1.5px solid #1C1C1E !important;
	border-radius: 10px !important;
}
body.awcc-distraction-free .awcc-accordion .awcc-coupon-wrapper > button:hover,
body.awcc-distraction-free .awcc-accordion .woocommerce-form-login.awcc-login-inline button[name="login"]:hover {
	background: #1C1C1E !important;
	color: #fff !important;
	border-color: #1C1C1E !important;
}

/* Verzendmethodes en betaalmethodes als kaartjes */
body.awcc-distraction-free .awcc-accordion .awcc-block--shipping #shipping_method { list-style: none; margin: 0; padding: 0; }
body.awcc-distraction-free .awcc-accordion .awcc-block--shipping #shipping_method li {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 12px;
	margin: 0 0 10px;
	padding: 16px;
	background: #fff;
	border: 1.5px solid #E6E6E8;
	border-radius: 12px;
	line-height: 1.4;
	transition: border-color .15s, background .15s;
}
body.awcc-distraction-free .awcc-accordion .awcc-block--shipping #shipping_method li:hover { border-color: #C8902F; }
body.awcc-distraction-free .awcc-accordion .awcc-block--shipping #shipping_method li:has(input:checked) {
	border-color: #C8902F;
	box-shadow: inset 0 0 0 1px #C8902F;
	background: #FDF9F1;
}
body.awcc-distraction-free .awcc-accordion .awcc-block--shipping #shipping_method li input[type=radio] {
	flex: none;
	width: 20px;
	height: 20px;
	margin: 0;
	accent-color: #C8902F;
}
body.awcc-distraction-free .awcc-accordion .awcc-block--shipping #shipping_method li > label {
	flex: 1 1 0;
	min-width: 0;
	margin: 0;
	font-size: 1rem;
	font-weight: 600;
	cursor: pointer;
}
body.awcc-distraction-free .awcc-accordion .awcc-block--shipping #shipping_method li > :not(input):not(label) { flex-basis: 100%; }
body.awcc-distraction-free .awcc-accordion .awcc-block--shipping #shipping_method li :is(button, .button) {
	margin-top: 4px;
	padding: 10px 16px;
	background: #fff;
	border: 1.5px solid #1C1C1E;
	border-radius: 10px;
	color: #1C1C1E;
	font-weight: 600;
}
body.awcc-distraction-free .awcc-accordion .awcc-block--shipping #shipping_method li :is(button, .button):hover { background: #1C1C1E; color: #fff; }
body.awcc-distraction-free .awcc-accordion .awcc-block--payment .wc_payment_methods li:hover { border-color: #C8902F !important; }
body.awcc-distraction-free .awcc-accordion .awcc-block--payment .wc_payment_methods li:has(input:checked) {
	border-color: #C8902F !important;
	box-shadow: inset 0 0 0 1px #C8902F;
	background: #FDF9F1;
}
body.awcc-distraction-free .awcc-accordion .awcc-block--payment .wc_payment_methods li input[type=radio] { accent-color: #C8902F; }
body.awcc-distraction-free .awcc-accordion .awcc-block--payment .payment_box { background: #fff !important; }
body.awcc-distraction-free .awcc-accordion .awcc-block--payment .awcc-place-order { border-top-color: #E6E6E8; }
body.awcc-distraction-free .awcc-accordion .awcc-terms-consent { color: #6E6E73; }
body.awcc-distraction-free .awcc-accordion .awcc-terms-consent a { color: #1C1C1E; }

/* Overzicht */
body.awcc-distraction-free .awcc-accordion .awcc-acc-summary {
	border-color: #E6E6E8;
	box-shadow: 0 1px 2px rgba(28, 28, 30, .04);
}
body.awcc-distraction-free .awcc-accordion .awcc-acc-summary #order_review_heading {
	font-family: 'Inter', system-ui, sans-serif;
	font-size: 1.15rem;
	font-weight: 700;
	color: #1C1C1E;
}
/* De ouder knipt af (overflow: hidden), dus een eigen vlak in plaats van tot de rand */
body.awcc-distraction-free .awcc-accordion .awcc-summary-total {
	margin: 14px 0 0;
	padding: 16px;
	background: #FAF4E8;
	border: 1px solid #F0E3C8;
	border-radius: 10px;
}
body.awcc-distraction-free .awcc-accordion .awcc-coupon-toggle:hover { color: #1C1C1E !important; }
body.woocommerce-checkout .woocommerce > .woocommerce-notices-wrapper { padding: 0; }

@media (max-width: 1100px) {
	/* Zijmarge 16px, zoals in de winkelwagen (de Elementor-container geeft er al 10) */
	body.awcc-distraction-free .site-main .page-header { margin-left: 16px; margin-right: 16px; }
	body.awcc-distraction-free .elementor-shortcode > .woocommerce { padding: 0 6px; }
}
@media (max-width: 600px) {
	body.awcc-distraction-free .awcc-checkout-topbar-inner { padding: 16px; }
	body.awcc-distraction-free .awcc-checkout-topbar .awcc-topbar-logo a.aw-co-logo { font-size: 19px; }
	body.awcc-distraction-free .awcc-topbar-secure { font-size: 13px; }
	body.awcc-distraction-free .site-main .page-header { margin-top: 24px; margin-bottom: 16px; }
	body.woocommerce-checkout .woocommerce :is(.woocommerce-message, .woocommerce-info, .woocommerce-error):not(.awcc-block-error) { margin-bottom: 16px; }
}

/* ==========================================================================
   Keuzehulp-blok op de homepage ([aw_finder_teaser])
   ========================================================================== */
.elementor-widget-shortcode:has(.aw-ft) { width: 100%; }
.aw-ft {
	padding: 72px 16px 0;
	background: #F2F2F4;
	font-family: 'Inter', system-ui, sans-serif;
}
.aw-ft__card {
	max-width: 1200px;
	margin: 0 auto;
	display: grid;
	grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
	gap: 48px;
	align-items: center;
	padding: 48px 56px;
	background: #1C1C1E;
	border-radius: 18px;
	color: #F2F2F4;
}
.aw-ft .aw-ft__eyebrow {
	margin: 0 0 12px;
	color: #C8902F;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: .08em;
	text-transform: uppercase;
}
.aw-ft .aw-ft__title {
	margin: 0 0 14px;
	font-family: 'Playfair Display', Georgia, serif;
	font-size: clamp(28px, 3.2vw, 38px);
	font-weight: 700;
	line-height: 1.15;
	color: #fff;
}
.aw-ft .aw-ft__lead { margin: 0 0 28px; max-width: 46ch; font-size: 17px; line-height: 1.6; color: #C7C7CC; }
.aw-ft .aw-ft__btn {
	display: inline-flex;
	align-items: center;
	padding: 16px 28px;
	border-radius: 10px;
	background: #E8A317;
	color: #1C1C1E;
	font-size: 17px;
	font-weight: 700;
	text-decoration: none;
	transition: background .15s;
}
.aw-ft .aw-ft__btn::after { content: "\00a0\2192"; }
.aw-ft .aw-ft__btn:is(:hover, :focus) { background: #F2B53A; color: #1C1C1E; }
.aw-ft .aw-ft__btn:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }
.aw-ft .aw-ft__note { margin: 14px 0 0; font-size: 14px; color: #8A8A8E; }
.aw-ft .aw-ft__steps {
	margin: 0;
	padding: 0;
	list-style: none;
	display: grid;
	gap: 12px;
}
.aw-ft .aw-ft__steps li {
	display: flex;
	align-items: center;
	gap: 16px;
	margin: 0;
	padding: 16px 18px;
	background: #2A2A2D;
	border: 1px solid #3A3A3E;
	border-radius: 12px;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.4;
	color: #F2F2F4;
}
.aw-ft .aw-ft__no {
	flex: none;
	display: grid;
	place-items: center;
	width: 32px;
	height: 32px;
	border-radius: 50%;
	background: #C8902F;
	color: #1C1C1E;
	font-size: 15px;
	font-weight: 700;
}
@media (max-width: 900px) {
	.aw-ft { padding-top: 48px; }
	.aw-ft__card { grid-template-columns: minmax(0, 1fr); gap: 28px; padding: 32px 24px; }
	.aw-ft .aw-ft__lead { font-size: 16px; margin-bottom: 22px; }
	.aw-ft .aw-ft__btn { display: flex; justify-content: center; }
	.aw-ft .aw-ft__steps li { padding: 12px 14px; font-size: 15px; }
}

/* ==========================================================================
   Serviceblok op de homepage ([aw_service_home]) + slot-CTA
   ========================================================================== */
.elementor-widget-shortcode:has(.aw-sh) { width: 100%; }
.aw-sh {
	padding: 88px 16px;
	background: #F4F4F5;
	border-top: 1px solid #E6E6E8;
	font-family: 'Inter', system-ui, sans-serif;
	color: #1C1C1E;
}
.aw-sh__inner {
	max-width: 1200px;
	margin: 0 auto;
	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
	gap: 64px;
	align-items: center;
}
.aw-sh .aw-sh__eyebrow {
	margin: 0 0 12px;
	color: #9A6B1E;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: .08em;
	text-transform: uppercase;
}
.aw-sh .aw-sh__title {
	margin: 0 0 14px;
	font-family: 'Playfair Display', Georgia, serif;
	font-size: clamp(28px, 3.2vw, 38px);
	font-weight: 700;
	line-height: 1.15;
	color: #1C1C1E;
}
.aw-sh .aw-sh__lead { margin: 0 0 28px; max-width: 52ch; font-size: 17px; line-height: 1.6; color: #6E6E73; }
.aw-sh .aw-sh__steps { margin: 0 0 32px; padding: 0; list-style: none; display: grid; gap: 16px; }
.aw-sh .aw-sh__steps li { display: flex; align-items: flex-start; gap: 14px; margin: 0; }
.aw-sh .aw-sh__steps strong { display: block; font-size: 16px; font-weight: 600; line-height: 1.4; }
.aw-sh .aw-sh__steps span:not(.aw-sh__no) { display: block; font-size: 15px; line-height: 1.5; color: #6E6E73; }
.aw-sh .aw-sh__no {
	flex: none;
	display: grid;
	place-items: center;
	width: 30px;
	height: 30px;
	border-radius: 50%;
	background: #FAF4E8;
	border: 1px solid #F0E3C8;
	color: #9A6B1E;
	font-size: 14px;
	font-weight: 700;
}
.aw-sh .aw-sh__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 24px; }
.aw-sh .aw-sh__btn {
	display: inline-flex;
	align-items: center;
	padding: 15px 26px;
	border-radius: 10px;
	background: #E8A317;
	color: #1C1C1E;
	font-size: 16px;
	font-weight: 700;
	text-decoration: none;
	transition: background .15s;
}
.aw-sh .aw-sh__btn::after { content: "\00a0\2192"; }
.aw-sh .aw-sh__btn:is(:hover, :focus) { background: #F2B53A; color: #1C1C1E; }
.aw-sh .aw-sh__btn:focus-visible { outline: 2px solid #1C1C1E; outline-offset: 3px; }
.aw-sh .aw-sh__link { color: #9A6B1E; font-size: 15px; font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.aw-sh .aw-sh__link:hover { color: #1C1C1E; }
.aw-sh .aw-sh__plans { display: grid; gap: 16px; }
.aw-sh .aw-sh__plan {
	padding: 26px 28px;
	background: #fff;
	border: 1px solid #E6E6E8;
	border-radius: 14px;
	box-shadow: 0 1px 2px rgba(28, 28, 30, .04);
}
.aw-sh .aw-sh__plan-name { margin: 0 0 4px; font-size: 14px; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; color: #6E6E73; }
.aw-sh .aw-sh__price { margin: 0 0 10px; font-size: 32px; font-weight: 700; line-height: 1.1; letter-spacing: -.01em; color: #1C1C1E; }
.aw-sh .aw-sh__price span { font-size: 15px; font-weight: 500; color: #6E6E73; }
.aw-sh .aw-sh__plan-text { margin: 0; font-size: 15px; line-height: 1.55; color: #3A3A3E; }
.aw-sh .aw-sh__note { margin: 4px 0 0; padding-left: 14px; border-left: 3px solid #C8902F; font-size: 14px; line-height: 1.55; color: #6E6E73; }
@media (max-width: 900px) {
	.aw-sh { padding: 56px 16px; }
	.aw-sh__inner { grid-template-columns: minmax(0, 1fr); gap: 32px; }
	.aw-sh .aw-sh__lead { font-size: 16px; }
	.aw-sh .aw-sh__btn { flex: 1 1 100%; justify-content: center; }
	.aw-sh .aw-sh__plan { padding: 20px 22px; }
	.aw-sh .aw-sh__price { font-size: 28px; }
}

/* Slot-CTA "Ready to Fill Smarter?" */
.aw-cta-btns { flex-wrap: wrap; justify-content: center; }
@media (max-width: 600px) {
	.aw-cta-btns, .aw-cta-btns .elementor-widget-button { width: 100%; }
	.aw-cta-btns .elementor-button { width: 100%; justify-content: center; }
}
.elementor-element-fmp004j span { white-space: nowrap; }
.aw-sh .aw-sh__guarantee {
	display: flex;
	gap: 16px;
	align-items: flex-start;
	padding: 22px 24px;
	background: #FAF4E8;
	border: 1px solid #F0E3C8;
	border-radius: 14px;
	color: #9A6B1E;
}
.aw-sh .aw-sh__guarantee svg { flex: none; margin-top: 2px; }
.aw-sh .aw-sh__guarantee p { margin: 0; font-size: 15px; line-height: 1.55; color: #3A3A3E; }
.aw-sh .aw-sh__guarantee .aw-sh__guarantee-title { margin: 0 0 4px; font-size: 17px; font-weight: 700; color: #1C1C1E; }
.aw-sh .aw-sh__guarantee a { display: inline-block; margin-top: 8px; color: #9A6B1E; font-size: 14px; font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.aw-sh .aw-sh__guarantee a:hover { color: #1C1C1E; }

/* ==========================================================================
   Homepage-hero op tablet en mobiel. De Elementor-custom-CSS zet de kolommen op
   flex: 1 1 0px; onder elkaar (kolomrichting) knijpt dat de tekst in en schuift
   de foto over de knoppen. Hier per breakpoint terugzetten naar natuurlijke hoogte.
   ========================================================================== */
@media (max-width: 1024px) {
	body .elementor-37 .elementor-element.elementor-element-fmp0019 { --padding-top: 48px; --padding-bottom: 80px; }
	body .elementor-37 .elementor-element.elementor-element-fmp0009 { --gap: 36px 36px; --row-gap: 36px; }
	body .elementor-37 .elementor-element.elementor-element-fmp0006,
	body .elementor-37 .elementor-element.elementor-element-fmp0008,
	body .elementor-37 .elementor-element.elementor-element-fmp0016 > .e-con {
		flex: 0 0 auto !important;
		width: 100% !important;
	}
	body .elementor-37 .elementor-element.elementor-element-fmp0008 {
		--min-height: 0px;
		--padding-top: 0px; --padding-bottom: 0px; --padding-left: 0px; --padding-right: 0px;
		max-width: 560px;
		align-self: center;
		overflow: hidden;
	}
	body .elementor-37 .elementor-element.elementor-element-14cd243 { width: 100%; }
	body .elementor-37 .elementor-element.elementor-element-14cd243 img {
		display: block;
		height: auto !important;
		aspect-ratio: 4 / 3;
		object-fit: cover;
		border-radius: 20px;
	}
	/* USP-balk: raster in plaats van vier gestapelde rijen */
	body .elementor-37 .elementor-element.elementor-element-fmp0016 {
		display: grid !important;
		grid-template-columns: repeat(4, minmax(0, 1fr));
		align-items: center;
		gap: 20px 16px;
		--margin-top: 0px;
		--padding-top: 22px; --padding-bottom: 22px; --padding-left: 20px; --padding-right: 20px;
	}
	body .elementor-37 .elementor-element.elementor-element-fmp0016 > .e-con { --gap: 0px; --padding-top: 0px; --padding-bottom: 0px; --padding-left: 0px; --padding-right: 0px; }
	body .elementor-37 .elementor-element.elementor-element-fmp0016 .elementor-heading-title:empty,
	body .elementor-37 .elementor-element.elementor-element-fmp0016 .elementor-widget-heading:has(.elementor-heading-title:empty) { display: none; }
}
@media (max-width: 767px) {
	body .elementor-37 .elementor-element.elementor-element-fmp0019 { --padding-top: 32px; --padding-bottom: 56px; }
	body .elementor-37 .elementor-element.elementor-element-fmp0017 { --padding-bottom: 32px; }
	body .elementor-37 .elementor-element.elementor-element-fmp0009 { --gap: 28px 28px; --row-gap: 28px; }
	body .elementor-37 .elementor-element.elementor-element-fmp0001 .elementor-heading-title { font-size: 36px; line-height: 1.08; }
	body .elementor-37 .elementor-element.elementor-element-fmp0002 { font-size: 16px; }
	body .elementor-37 .elementor-element.elementor-element-fmp0008 { max-width: none; }
	body .elementor-37 .elementor-element.elementor-element-14cd243 img { border-radius: 16px; }
	/* Knoppen even breed onder elkaar */
	body .elementor-37 .elementor-element.elementor-element-fmp0005 > .elementor-widget-button { flex: 1 1 100%; width: 100%; }
	body .elementor-37 .elementor-element.elementor-element-fmp0005 .elementor-button { width: 100%; justify-content: center; }
	body .elementor-37 .elementor-element.elementor-element-fmp0016 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 16px 12px;
		--padding-top: 18px; --padding-bottom: 18px; --padding-left: 16px; --padding-right: 16px;
	}
	body .elementor-37 .elementor-element.elementor-element-fmp0016 .elementor-heading-title { font-size: 13px !important; line-height: 1.4 !important; }
}
/* USP-teksten die over twee regels lopen niet laten overlappen */
body .elementor-37 .elementor-element.elementor-element-fmp0016 .elementor-heading-title { line-height: 1.4; }

/* ==========================================================================
   Homepage "Why FillMaticPro": kaartjes bovenaan uitlijnen (Elementor zet ze op
   verticaal centreren), loze marge onder de tekst weg, 2x2 op tablet.
   ========================================================================== */
body .elementor-37 .elementor-element.elementor-element-fmp003c > .e-con {
	--justify-content: flex-start;
	--gap: 10px 10px;
	--row-gap: 10px;
	--border-color: #E6E6E8;
	border-color: #E6E6E8;
}
body .elementor-37 .elementor-element.elementor-element-fmp003c > .e-con .elementor-heading-title { font-weight: 600; line-height: 1.35; }
body .elementor-37 .elementor-element.elementor-element-fmp003c > .e-con .elementor-widget-text-editor { color: #6E6E73; font-size: 15px; line-height: 1.6; }
body .elementor-37 .elementor-element.elementor-element-fmp003c > .e-con .elementor-widget-text-editor p:last-child { margin-bottom: 0; }
@media (max-width: 1024px) {
	body .elementor-37 .elementor-element.elementor-element-fmp003e { --padding-top: 72px; --padding-bottom: 72px; }
	body .elementor-37 .elementor-element.elementor-element-fmp003c {
		display: grid !important;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 16px;
	}
	body .elementor-37 .elementor-element.elementor-element-fmp003c > .e-con { width: auto !important; }
}
@media (max-width: 767px) {
	body .elementor-37 .elementor-element.elementor-element-fmp003e { --padding-top: 56px; --padding-bottom: 56px; }
	body .elementor-37 .elementor-element.elementor-element-fmp003c { grid-template-columns: minmax(0, 1fr); gap: 12px; --padding-top: 20px; }
	body .elementor-37 .elementor-element.elementor-element-fmp003c > .e-con { --padding-top: 20px; --padding-bottom: 20px; --padding-left: 20px; --padding-right: 20px; }
}

/* Zijmarge van de eigen homepage-blokken gelijk aan de Elementor-secties (20px) */
.aw-ft, .aw-sh { padding-left: 20px; padding-right: 20px; }

/* ==========================================================================
   Productpagina (sjabloon 74) op tablet en mobiel. Zelfde oorzaak als de
   homepage-hero: de kolommen staan op flex: 1 1 0px en knijpen onder elkaar in.
   ========================================================================== */
/* Lege badge-container (gouden balkje zonder inhoud) */
body .elementor-74 .elementor-element.elementor-element-cc00009:not(:has(*)) { display: none; }
/* Foto en productinfo op één lijn met de breadcrumb (geen extra 2x 10px containerpadding) */
body .elementor-74 .elementor-element.elementor-element-cc00002,
body .elementor-74 .elementor-element.elementor-element-cc00003,
body .elementor-74 .elementor-element.elementor-element-cc00005 { --padding-top: 0px; --padding-bottom: 0px; --padding-left: 0px; --padding-right: 0px; }
@media (max-width: 1024px) {
	body .elementor-74 .elementor-element.elementor-element-cc00042 { --padding-top: 24px; --padding-bottom: 48px; --padding-left: 20px; --padding-right: 20px; --gap: 20px 20px; --row-gap: 20px; }
	body .elementor-74 .elementor-element.elementor-element-cc00002 { --padding-top: 0px; --padding-bottom: 0px; --padding-left: 0px; --padding-right: 0px; --gap: 28px 28px; --row-gap: 28px; }
	body .elementor-74 .elementor-element.elementor-element-cc00003,
	body .elementor-74 .elementor-element.elementor-element-cc00005 {
		flex: 0 0 auto !important;
		width: 100% !important;
		--padding-top: 0px; --padding-bottom: 0px; --padding-left: 0px; --padding-right: 0px;
	}
	body .elementor-74 .elementor-element.elementor-element-cc00003 .woocommerce-product-gallery { width: 100% !important; float: none !important; margin-bottom: 0 !important; }
	body .elementor-74 .elementor-element.elementor-element-cc00003 { max-width: 640px; align-self: center; }
	/* Opties en "Frequently bought together" net zo breed als de knop erboven */
	body.single-product .awdev-services,
	body.single-product .awdev-fbt { max-width: none; margin: 20px 0 0; }
}
@media (max-width: 767px) {
	body .elementor-74 .elementor-element.elementor-element-cc00003 { max-width: none; }
	body .elementor-74 .elementor-element.elementor-element-cc00002 { --gap: 20px 20px; --row-gap: 20px; }
	body.single-product .awdev-services,
	body.single-product .awdev-fbt { padding: 18px; }
}

/* ==========================================================================
   Productoverzicht (sjabloon 77): kopblok [aw_shop_head], filter en productkaarten
   ========================================================================== */
.elementor-widget-shortcode:has(.aw-shop-head) { width: 100%; }
.aw-shop-head {
	max-width: 1240px;
	margin: 0 auto;
	padding: 0 28px;
	font-family: 'Inter', system-ui, sans-serif;
	color: #1C1C1E;
}
.aw-shop-bc { display: flex; flex-wrap: wrap; gap: 6px; padding: 26px 0 18px; font-size: 13px; color: #6E6E73; }
.aw-shop-bc a { color: inherit; text-decoration: none; }
.aw-shop-bc a:hover { color: #1C1C1E; }
.aw-shop-bc [aria-current] { color: #1C1C1E; }
.aw-shop-hero { padding-bottom: 28px; border-bottom: 1px solid #E6E6E8; }
.aw-shop-head .aw-shop-hero__eyebrow { margin: 0 0 8px; color: #9A6B1E; font-size: 12px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; }
.aw-shop-head .aw-shop-hero__title { margin: 0; font-family: 'Playfair Display', Georgia, serif; font-size: clamp(30px, 4vw, 44px); font-weight: 700; line-height: 1.1; color: #1C1C1E; }
.aw-shop-head .aw-shop-hero__intro { max-width: 680px; margin: 14px 0 0; font-size: 16px; line-height: 1.6; color: #6E6E73; }

/* Categorietegels */
.aw-shop-tiles { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 14px; margin: 28px 0 0; }
.aw-shop-tile {
	display: flex;
	flex-direction: column;
	overflow: hidden;
	background: #fff;
	border: 1px solid #E6E6E8;
	border-radius: 14px;
	color: #1C1C1E;
	text-decoration: none;
	transition: border-color .15s, box-shadow .15s, transform .15s;
}
.aw-shop-tile:hover { border-color: #C8902F; box-shadow: 0 8px 22px rgba(28, 28, 30, .08); transform: translateY(-2px); color: #1C1C1E; }
.aw-shop-tile.is-current { border-color: #C8902F; box-shadow: inset 0 0 0 1px #C8902F; }
.aw-shop-tile__img { display: grid; place-items: center; aspect-ratio: 1; background: #fff; border-bottom: 1px solid #F0F0F2; }
.aw-shop-tile__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.aw-shop-tile__icon { display: grid; place-items: center; width: 100%; height: 100%; background: #FAF4E8; color: #9A6B1E; }
.aw-shop-tile__txt { display: flex; flex-direction: column; gap: 2px; padding: 12px 14px 14px; }
.aw-shop-tile__txt strong { font-size: 15px; font-weight: 600; line-height: 1.3; }
.aw-shop-tile__txt small { font-size: 13px; color: #6E6E73; }

/* Telling + sorteren */
.aw-shop-bar { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 28px 0 0; }
.aw-shop-head .aw-shop-bar__count { margin: 0; font-size: 15px; color: #6E6E73; }
.aw-shop-bar__count b { color: #1C1C1E; }
.aw-shop-sort { display: flex; align-items: center; gap: 10px; margin: 0; font-size: 14px; color: #6E6E73; }
.aw-shop-sort label { margin: 0; font-weight: 500; }
.aw-shop-sort select {
	min-height: 42px;
	padding: 8px 36px 8px 14px;
	border: 1px solid #D8D8DC;
	border-radius: 10px;
	background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%231C1C1E' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right 14px center;
	font: 500 14px 'Inter', system-ui, sans-serif;
	color: #1C1C1E;
	cursor: pointer;
	-webkit-appearance: none;
	appearance: none;
}
.aw-shop-sort select:focus-visible { outline: 2px solid #C8902F; outline-offset: 2px; }

/* Productkaarten: vaste fotovlakken, zodat titels en prijzen op één lijn staan */
body .elementor-54 .elementor-element.elementor-element-fmp0001 img { aspect-ratio: 1; object-fit: contain; background: #fff; }

@media (max-width: 1100px) {
	.aw-shop-tiles { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 767px) {
	.aw-shop-head { padding: 0 20px; }
	.aw-shop-bc { padding: 16px 0 12px; font-size: 12px; }
	.aw-shop-hero { padding-bottom: 0; border-bottom: 0; }
	.aw-shop-head .aw-shop-hero__intro {
		font-size: 15px;
		display: -webkit-box;
		-webkit-line-clamp: 3;
		-webkit-box-orient: vertical;
		overflow: hidden;
	}
	/* Tegels als horizontale scrollrij */
	.aw-shop-tiles {
		display: flex;
		gap: 10px;
		margin: 20px -20px 0;
		padding: 0 20px 4px;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		scroll-padding: 0 20px;
		scrollbar-width: none;
	}
	.aw-shop-tiles::-webkit-scrollbar { display: none; }
	.aw-shop-tile { flex: 0 0 116px; scroll-snap-align: start; border-radius: 12px; }
	.aw-shop-tile:hover { transform: none; }
	.aw-shop-tile__txt { padding: 8px 10px 10px; }
	.aw-shop-tile__txt strong { font-size: 13px; }
	.aw-shop-tile__txt small { font-size: 11px; }
	.aw-shop-tile__icon svg { width: 28px; height: 28px; }
	.aw-shop-bar { padding: 20px 0 0; }
	.aw-shop-head .aw-shop-bar__count { font-size: 14px; }
	.aw-shop-sort label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
	.aw-shop-sort select { min-height: 40px; font-size: 14px; }

	/* Keuzehulp-filter compact; ingeklapt via script, opties als chips */
	.sf-wrap { margin-top: 16px; padding: 0 20px; }
	.sf { padding: 18px 16px; border-radius: 14px; box-shadow: none; }
	.sf-top { gap: 12px; padding-bottom: 14px; align-items: center; flex-wrap: nowrap; justify-content: space-between; }
	.sf-h { font-size: 1.25rem; }
	.sf-intro, .sf-oh { display: none; }
	.sf--collapsed .sf-top { padding-bottom: 0; border-bottom: 0; }
	.sf--collapsed .sf-qs, .sf--collapsed .sf-foot { display: none; }
	.sf-toggle {
		flex: none;
		padding: 9px 14px;
		border: 1px solid #C8902F;
		border-radius: 999px;
		background: #FAF4E8;
		color: #1C1C1E;
		font: 600 13px 'Inter', system-ui, sans-serif;
		cursor: pointer;
	}
	.sf-qs { gap: 18px; padding-top: 16px; }
	.sf-qlbl { margin-bottom: 10px; font-size: .88rem; }
	.sf-opts { flex-direction: row; flex-wrap: wrap; gap: 8px; }
	.sf-opt { padding: 8px 12px; border-radius: 999px; gap: 8px; }
	.sf-ol { font-size: .84rem; }
	.sf-oc { padding: 1px 7px; font-size: .7rem; }
	.sf-foot { margin-top: 16px; padding-top: 14px; }

	/* Productraster: twee kolommen met compacte kaarten */
	body .elementor-77 .elementor-element.elementor-element-pa00010 { --padding-left: 20px; --padding-right: 20px; }
	body .elementor-77 .elementor-element.elementor-element-pa00001 .elementor-loop-container.elementor-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 12px !important;
	}
	body .elementor-54 .elementor-element.elementor-element-fmp0005 { --padding-top: 10px; --padding-bottom: 12px; --padding-left: 10px; --padding-right: 10px; --gap: 8px; --row-gap: 8px; border-radius: 12px; }
	body .elementor-54 .elementor-element.elementor-element-fmp0005:hover { transform: none; }
	body .elementor-54 .elementor-element.elementor-element-fmp0002 .elementor-heading-title {
		font-size: 14px;
		line-height: 1.3;
		display: -webkit-box;
		-webkit-line-clamp: 3;
		-webkit-box-orient: vertical;
		overflow: hidden;
	}
	body .elementor-54 .elementor-element.elementor-element-fmp0005 .price { font-size: 15px !important; margin: 0; }
	body .elementor-54 .elementor-element.elementor-element-fmp0005 .price small { display: block; font-size: 11px; }
	body .elementor-54 .elementor-element.elementor-element-fmp0004 { margin-top: auto; }
	body .elementor-54 .elementor-element.elementor-element-fmp0004 .quantity { display: none !important; }
	body .elementor-54 .elementor-element.elementor-element-fmp0004 form.cart { display: block; margin: 0; }
	body .elementor-54 .elementor-element.elementor-element-fmp0004 a.add_to_cart_button {
		display: flex !important;
		justify-content: center;
		width: 100%;
		margin: 0 !important;
		padding: 10px 8px !important;
		font-size: 13px !important;
	}
}

/* Productoverzicht: alles op dezelfde breedte (1200px inhoud, 20px zijmarge) */
.aw-shop-head { padding-left: 20px; padding-right: 20px; }
body .elementor-77 .pa-wrap { padding-left: 20px; padding-right: 20px; }
.aw-shop-sort label { white-space: nowrap; }
.sf-toggle, .sf-toggle:hover, .sf-toggle:focus { color: #1C1C1E !important; }
@media (max-width: 767px) {
	body .elementor-77 .elementor-element.elementor-element-pa00011 { --padding-left: 0px; --padding-right: 0px; }
	.pa-wrap.sf-wrap { padding-left: 20px; padding-right: 20px; }
	.sf-top { flex-direction: column; align-items: stretch; }
	.sf-top .sf-h { margin-top: 4px; }
	.sf-toggle { width: 100%; padding: 11px 14px; }
	body .elementor-54 .elementor-element.elementor-element-fmp0004 .elementor-add-to-cart,
	body .elementor-54 .elementor-element.elementor-element-fmp0004 .e-loop-add-to-cart-form-container,
	body .elementor-54 .elementor-element.elementor-element-fmp0004 form.cart { display: block; width: 100%; }
}
body .elementor-54 .elementor-element.elementor-element-fmp0002 .elementor-heading-title { line-height: 1.3; }
@media (max-width: 767px) {
	.sf-toggle, .sf-toggle:hover, .sf-toggle:focus { border-color: #C8902F !important; background: #FAF4E8 !important; }
	body .elementor-54 .elementor-element.elementor-element-fmp0005 .elementor-element-fmp0004 a.add_to_cart_button { width: 100% !important; box-sizing: border-box; }
}
/* Machine-keuzehulp hoort niet bij accessoires en onderhoud */
body.term-accessories .elementor-77 .elementor-element-pa00006,
body.term-maintenance .elementor-77 .elementor-element-pa00006 { display: none; }
@media (max-width: 767px) {
	body .elementor-54 .elementor-element.elementor-element-fmp0004 { width: 100% !important; align-self: stretch; }
	body .elementor-54 .elementor-element.elementor-element-fmp0004 .e-loop-add-to-cart-form-container,
	body .elementor-54 .elementor-element.elementor-element-fmp0004 form.cart { width: 100% !important; }
}
