/* Wheelerz Licht, basis. Maten en kleuren uit het canvas "Wheelerz ontwerp zonder Elementor".
   Mobiel eerst (bord 2, 390 px), desktop vanaf 1024 px (bord 5, 1366 px). */

@font-face {
	font-family: "Manrope";
	font-style: normal;
	font-display: swap;
	font-weight: 200 800;
	src: url("../fonts/manrope-latin-wght-normal.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
	font-family: "Manrope";
	font-style: normal;
	font-display: swap;
	font-weight: 200 800;
	src: url("../fonts/manrope-latin-ext-wght-normal.woff2") format("woff2");
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

:root {
	--wz-blauw: #0868B8;
	--wz-blauw-donker: #075E9F;
	--wz-blauw-licht: #EAF3FB;
	--wz-blauw-rand: #BFD9F0;
	--wz-grijs-licht: #F4F6F8;
	--wz-zwart: #111111;
	--wz-tekst: #4B5563;
	--wz-gedempt: #6B7280;
	--wz-lijn: #E3E7EB;
	--wz-rood: #C8102E;
	--wz-groen: #15803D;
	--wz-wit: #FFFFFF;
	--wz-rand-pagina: 16px;
	--wz-r-s: 8px;
	--wz-r: 10px;
	--wz-r-m: 12px;
	--wz-r-l: 14px;
	--wz-schaduw-menu: 0 18px 44px rgba(17, 17, 17, 0.14);
}
@media (min-width: 1024px) {
	:root { --wz-rand-pagina: 56px; --wz-r-l: 16px; }
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
	margin: 0;
	font-family: Manrope, system-ui, -apple-system, "Segoe UI", sans-serif;
	font-size: 16px;
	line-height: 1.5;
	color: var(--wz-zwart);
	background: var(--wz-wit);
	-webkit-font-smoothing: antialiased;
}
img { max-width: 100%; height: auto; display: block; }
a { color: var(--wz-zwart); text-decoration: none; }
a:hover { color: var(--wz-blauw); }
a:focus-visible, button:focus-visible, input:focus-visible, summary:focus-visible { outline: 3px solid var(--wz-blauw); outline-offset: 2px; border-radius: 4px; }
button { font: inherit; cursor: pointer; }
h1, h2, h3, p { margin: 0; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.wz-skip:focus { position: fixed !important; top: 8px; left: 8px; width: auto; height: auto; clip: auto; z-index: 1000; background: var(--wz-wit); padding: 12px 16px; border-radius: var(--wz-r); }
[hidden] { display: none !important; }

.wz-wrap { width: 100%; max-width: 1366px; margin: 0 auto; padding-left: var(--wz-rand-pagina); padding-right: var(--wz-rand-pagina); }
/* Alleen verbergen, nooit een display opleggen: zo houdt elk onderdeel zijn eigen flex of grid. */
@media (max-width: 1023.98px) { .wz-alleen-desktop { display: none !important; } }
@media (min-width: 1024px) { .wz-alleen-mobiel { display: none !important; } }
.wz-ico { flex: none; }

/* Typografie */
.wz-h1 { font-size: 28px; line-height: 1.1; font-weight: 800; letter-spacing: -0.7px; }
.wz-h2 { font-size: 24px; line-height: 1.15; font-weight: 800; letter-spacing: -0.5px; }
.wz-h3 { font-size: 20px; line-height: 1.2; font-weight: 800; letter-spacing: -0.4px; }
.wz-bovenkop { font-size: 12px; font-weight: 800; color: var(--wz-blauw); text-transform: uppercase; letter-spacing: 0.6px; }
.wz-type { font-size: 11px; font-weight: 700; color: var(--wz-gedempt); text-transform: uppercase; letter-spacing: 0.3px; }
.wz-gedempt { color: var(--wz-gedempt); }
.wz-link { font-size: 14px; font-weight: 700; color: var(--wz-blauw); text-decoration: underline; }
@media (min-width: 1024px) {
	.wz-h1 { font-size: 40px; letter-spacing: -1.1px; }
	.wz-h2 { font-size: 34px; letter-spacing: -0.9px; }
	.wz-h3 { font-size: 22px; }
	.wz-bovenkop { font-size: 13px; }
	.wz-type { font-size: 12px; letter-spacing: 0.4px; }
	.wz-link { font-size: 15px; }
}

/* Knoppen, chips, badges */
.wz-knop { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 44px; padding: 0 18px; border-radius: var(--wz-r); border: 0; font-weight: 800; font-size: 15px; line-height: 1.1; text-align: center; }
.wz-knop--blauw { background: var(--wz-blauw); color: var(--wz-wit); }
a.wz-knop--blauw:hover, button.wz-knop--blauw:hover { background: var(--wz-blauw-donker); color: var(--wz-wit); }
.wz-knop--rand { background: var(--wz-wit); color: var(--wz-blauw); border: 2px solid var(--wz-blauw); font-weight: 700; }
.wz-knop--groot { min-height: 52px; font-size: 16px; }
.wz-knop--blok { display: flex; width: 100%; }
.wz-chip { flex: none; display: inline-flex; align-items: center; height: 40px; padding: 0 14px; border-radius: 999px; background: var(--wz-blauw-licht); color: var(--wz-blauw-donker); font-weight: 700; font-size: 14px; white-space: nowrap; }
.wz-chip--blauw { background: var(--wz-blauw); color: var(--wz-wit); }
.wz-chip--rood { background: var(--wz-wit); border: 2px solid var(--wz-rood); color: var(--wz-rood); font-weight: 800; }
.wz-chip--grijs { background: var(--wz-grijs-licht); color: var(--wz-zwart); height: 38px; font-size: 13px; }
.wz-chip--licht { height: 38px; font-size: 13px; }
.wz-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.wz-badge { display: inline-flex; align-items: center; padding: 4px 7px; border-radius: 6px; font-size: 12px; font-weight: 800; line-height: 1.2; }
.wz-badge--rood { background: var(--wz-rood); color: var(--wz-wit); }
.wz-badge--licht { background: var(--wz-blauw-licht); color: var(--wz-blauw-donker); }
.wz-badge--wit { background: var(--wz-wit); color: var(--wz-blauw); align-self: flex-start; }
.wz-badge--pil { border-radius: 999px; padding: 5px 10px; align-self: flex-start; }
.wz-pilknop { display: inline-flex; align-items: center; gap: 8px; height: 40px; padding: 0 14px; border-radius: 999px; border: 2px solid var(--wz-blauw); background: var(--wz-wit); color: var(--wz-blauw); font-weight: 800; font-size: 14px; }
.wz-pilknop--wit { border: 0; margin-top: 6px; align-self: flex-start; }
.wz-rondknop { width: 44px; height: 44px; border-radius: 50%; border: 2px solid var(--wz-lijn); background: var(--wz-wit); color: var(--wz-zwart); display: inline-flex; align-items: center; justify-content: center; }
.wz-rondknop--blauw { border: 0; background: var(--wz-blauw); color: var(--wz-wit); }
.wz-ikoonknop { width: 48px; height: 48px; display: inline-flex; align-items: center; justify-content: center; border: 0; background: transparent; color: var(--wz-zwart); padding: 0; }

/* Prijs */
.wz-prijs { display: inline-flex; align-items: baseline; gap: 6px; flex-wrap: wrap; }
.wz-prijs-nu { font-weight: 800; color: var(--wz-zwart); }
.wz-prijs-van { font-size: 12px; color: var(--wz-gedempt); font-weight: 600; }
.wz-prijs--s .wz-prijs-nu { font-size: 16px; color: var(--wz-blauw); }
.wz-prijs--m .wz-prijs-nu { font-size: 20px; }
.wz-prijs--l .wz-prijs-nu { font-size: 20px; }
.wz-voorraad { font-size: 12px; font-weight: 700; color: var(--wz-groen); }
.wz-voorraad--uit { color: var(--wz-gedempt); }
@media (min-width: 1024px) {
	.wz-prijs--l .wz-prijs-nu { font-size: 24px; }
	.wz-prijs-van { font-size: 14px; }
}

/* Foto's: altijd in een wit vlak, foto's nooit uitgesneden (fotoregel) */
.wz-foto { width: 100%; height: 100%; object-fit: contain; }
.wz-foto-leeg { display: block; width: 100%; height: 100%; background: var(--wz-grijs-licht); border-radius: var(--wz-r-s); }

/* USP-regel */
.wz-usp { background: var(--wz-blauw-licht); color: var(--wz-blauw-donker); font-size: 12px; font-weight: 700; }
.wz-usp .wz-ico { color: var(--wz-blauw); }
.wz-usp-rij { height: 32px; display: flex; align-items: center; justify-content: center; gap: 32px; }
.wz-usp-item { display: inline-flex; align-items: center; gap: 6px; }
@media (min-width: 1024px) {
	.wz-usp { font-size: 13px; }
	.wz-usp-rij { height: 36px; justify-content: flex-start; }
	.wz-usp-rechts { margin-left: auto; }
}

/* Header */
.wz-kop { background: var(--wz-wit); position: relative; z-index: 50; }
.wz-kop-rij { height: 64px; display: grid; grid-template-columns: 48px 1fr auto; align-items: center; padding-left: 4px; padding-right: 6px; border-bottom: 1px solid var(--wz-lijn); }
.wz-logo { display: flex; align-items: center; justify-content: center; height: 52px; }
.wz-logo-img { height: 52px; width: auto; }
.wz-logo-tekst { font-weight: 800; font-size: 22px; color: var(--wz-blauw); }
.wz-kop .wz-zoek--kop { display: none; }
.wz-kop-acties { display: flex; align-items: center; }
.wz-kop-link { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-width: 44px; height: 44px; color: var(--wz-zwart); font-weight: 700; font-size: 15px; }
.wz-kop-wagen { position: relative; display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-width: 44px; height: 44px; color: var(--wz-zwart); font-weight: 800; font-size: 15px; }
.wz-teller { position: absolute; top: 3px; right: 3px; min-width: 18px; height: 18px; padding: 0 5px; border-radius: 9px; background: var(--wz-blauw); color: var(--wz-wit); font-size: 12px; font-weight: 800; display: inline-flex; align-items: center; justify-content: center; }
.wz-kop-zoek-m { padding-top: 12px; }
.wz-zoek { display: flex; margin: 0; }
.wz-zoek input { flex: 1; min-width: 0; height: 48px; border: 2px solid var(--wz-lijn); border-right: 0; border-radius: var(--wz-r) 0 0 var(--wz-r); padding: 0 14px; font: 600 16px Manrope, system-ui, sans-serif; color: var(--wz-zwart); background: var(--wz-grijs-licht); }
.wz-zoek button { width: 54px; height: 48px; border: 0; border-radius: 0 var(--wz-r) var(--wz-r) 0; background: var(--wz-blauw); color: var(--wz-wit); display: inline-flex; align-items: center; justify-content: center; }
@media (min-width: 1024px) {
	.wz-kop-rij { height: 84px; display: flex; gap: 32px; padding-left: var(--wz-rand-pagina); padding-right: var(--wz-rand-pagina); border-bottom: 0; }
	.wz-logo { height: 64px; flex: none; }
	.wz-logo-img { height: 64px; }
	.wz-kop .wz-zoek--kop { display: flex; flex: 1; max-width: 560px; }
	.wz-zoek button { width: 56px; }
	.wz-kop-acties { margin-left: auto; gap: 6px; }
	.wz-kop-link { padding: 0 12px; height: 48px; }
	.wz-kop-link .wz-ico { color: var(--wz-blauw); }
	.wz-kop-wagen { height: 48px; padding: 0 16px; border-radius: var(--wz-r); background: var(--wz-blauw); color: var(--wz-wit); }
	.wz-kop-wagen:hover { background: var(--wz-blauw-donker); color: var(--wz-wit); }
	.wz-kop-wagen .wz-teller { position: static; min-width: 22px; height: 22px; padding: 0 6px; border-radius: 11px; background: var(--wz-wit); color: var(--wz-blauw); }
}

/* Menubalk en megamenu (desktop) */
.wz-menubalk { display: none; }
@media (min-width: 1024px) {
	.wz-menubalk { display: block; border-top: 1px solid var(--wz-lijn); border-bottom: 1px solid var(--wz-lijn); background: var(--wz-wit); }
	.wz-menubalk-rij { height: 52px; display: flex; align-items: center; gap: 2px; position: relative; }
	.wz-mb-item { position: static; }
	.wz-mb-link { height: 52px; padding: 0 16px; display: inline-flex; align-items: center; gap: 6px; font-weight: 700; font-size: 16px; color: var(--wz-zwart); border-bottom: 3px solid transparent; }
	.wz-mb-link[aria-expanded="true"], .wz-mb-link.is-actief { color: var(--wz-blauw); font-weight: 800; border-bottom-color: var(--wz-blauw); }
	.wz-mb-eigen { font-weight: 800; color: var(--wz-blauw); gap: 8px; }
	.wz-stip { width: 8px; height: 8px; border-radius: 50%; background: var(--wz-blauw); }
	.wz-mb-actie { font-weight: 800; color: var(--wz-rood); margin-left: auto; }
	.wz-mb-service { font-size: 15px; color: var(--wz-tekst); }
	.wz-mega { position: absolute; top: 100%; left: var(--wz-rand-pagina); right: var(--wz-rand-pagina); background: var(--wz-wit); border: 1px solid var(--wz-lijn); border-top: 0; border-radius: 0 0 16px 16px; box-shadow: var(--wz-schaduw-menu); padding: 28px 32px 32px; z-index: 60; }
	.wz-mega-grid { display: grid; grid-template-columns: 1fr 1fr 1.25fr 1.25fr; }
	.wz-mega-kol { display: flex; flex-direction: column; gap: 2px; padding: 0 28px; border-right: 1px solid var(--wz-lijn); }
	.wz-mega-kol:first-child { padding-left: 0; }
	.wz-mega-kol:last-child { border-right: 0; padding-right: 0; }
	.wz-mega-kol--prod { gap: 10px; }
	.wz-mega-alle { display: flex; align-items: center; justify-content: space-between; height: 44px; font-weight: 800; font-size: 17px; color: var(--wz-blauw); text-decoration: underline; }
	.wz-mega-alle span { font-size: 13px; color: var(--wz-gedempt); font-weight: 600; text-decoration: none; }
	.wz-mega-link { display: flex; align-items: center; height: 40px; font-weight: 600; font-size: 16px; color: var(--wz-zwart); }
	.wz-mega-merk { height: 36px; font-size: 15px; }
	.wz-mega-merk.is-eigen { font-weight: 800; color: var(--wz-blauw); }
	.wz-mega-meer { height: 36px; font-size: 15px; color: var(--wz-blauw); text-decoration: underline; }
	.wz-mega-kop { font-size: 13px; font-weight: 800; color: var(--wz-gedempt); text-transform: uppercase; letter-spacing: 0.5px; min-height: 44px; display: flex; align-items: center; margin-top: 8px; }
	.wz-mega-kol .wz-mega-kop:first-child { margin-top: 0; }
	.wz-mega-prod { display: flex; gap: 12px; align-items: center; padding: 10px; border-radius: var(--wz-r); background: var(--wz-grijs-licht); color: var(--wz-zwart); }
	.wz-mega-prod-foto { width: 96px; height: 72px; flex: none; border-radius: var(--wz-r-s); background: var(--wz-wit); display: flex; align-items: center; justify-content: center; overflow: hidden; padding: 4px; }
	.wz-mega-prod-tekst { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
	.wz-mega-prod-type { font-size: 12px; color: var(--wz-gedempt); font-weight: 700; }
	.wz-mega-prod-naam { font-weight: 800; font-size: 15px; line-height: 1.25; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
	.wz-mega-tegel { display: flex; flex-direction: column; height: 100%; min-height: 320px; border-radius: var(--wz-r-m); overflow: hidden; border: 1px solid var(--wz-lijn); background: var(--wz-wit); }
	.wz-mega-tegel-foto { height: 190px; display: flex; align-items: center; justify-content: center; padding: 12px; background: var(--wz-wit); }
	.wz-mega-tegel-tekst { flex: 1; display: flex; flex-direction: column; gap: 6px; padding: 18px; background: var(--wz-blauw); color: var(--wz-wit); }
	.wz-mega-tegel-titel { font-size: 20px; font-weight: 800; }
	.wz-mega-tegel-sub { font-size: 14px; color: var(--wz-blauw-licht); font-weight: 600; }
	.wz-mega--merken { padding: 24px 32px; }
	.wz-mega-merken { display: grid; grid-template-columns: repeat(6, 1fr); gap: 10px; }
}

/* Mobiel menu (bord Mobiel-menu) */
.wz-mmenu { margin: 0; padding: 0; border: 0; width: 100%; max-width: 100%; height: 100%; max-height: 100%; background: var(--wz-wit); color: var(--wz-zwart); }
.wz-mmenu[open] { display: flex; flex-direction: column; }
.wz-mmenu::backdrop { background: rgba(17, 17, 17, 0.45); }
.wz-mmenu-kop { flex: none; height: 64px; padding: 0 6px 0 4px; display: grid; grid-template-columns: 48px 1fr auto; align-items: center; border-bottom: 1px solid var(--wz-lijn); }
.wz-mmenu-zoek { flex: none; padding: 12px 16px; }
.wz-mmenu-inhoud { flex: 1; overflow-y: auto; display: flex; flex-direction: column; }
.wz-mm-eigen { flex: none; height: 60px; padding: 0 16px; display: flex; align-items: center; justify-content: space-between; gap: 12px; background: var(--wz-blauw-licht); border-top: 1px solid var(--wz-blauw-rand); border-bottom: 1px solid var(--wz-blauw-rand); color: var(--wz-zwart); }
.wz-mm-eigen > span:first-child { display: flex; flex-direction: column; gap: 2px; }
.wz-mm-eigen-titel { font-weight: 800; font-size: 18px; color: var(--wz-blauw-donker); }
.wz-mm-eigen-sub { font-size: 13px; color: var(--wz-blauw-donker); font-weight: 700; }
.wz-mm-eigen-foto { width: 84px; height: 52px; display: flex; align-items: center; justify-content: center; overflow: hidden; background: var(--wz-wit); border-radius: var(--wz-r-s); padding: 2px 4px; }
.wz-mm-groep { border-bottom: 1px solid var(--wz-lijn); }
.wz-mm-groep summary { list-style: none; height: 56px; padding: 0 16px; display: flex; align-items: center; justify-content: space-between; font-weight: 800; font-size: 18px; cursor: pointer; }
.wz-mm-groep summary::-webkit-details-marker { display: none; }
.wz-mm-groep[open] summary { color: var(--wz-blauw); }
.wz-mm-groep[open] summary .wz-ico { transform: rotate(180deg); }
.wz-mm-groep-inhoud { display: flex; flex-direction: column; padding: 0 0 8px; }
.wz-mm-alle { display: flex; align-items: center; justify-content: space-between; height: 46px; padding: 0 16px 0 24px; font-weight: 800; font-size: 16px; color: var(--wz-blauw); text-decoration: underline; }
.wz-mm-alle span { font-size: 13px; color: var(--wz-gedempt); font-weight: 600; text-decoration: none; }
.wz-mm-link { display: flex; align-items: center; height: 46px; padding: 0 16px 0 24px; font-weight: 600; font-size: 16px; color: var(--wz-zwart); }
.wz-mm-budget { padding: 6px 16px 4px 24px; display: flex; gap: 8px; flex-wrap: wrap; }
.wz-mm-budget .wz-chip { height: 36px; padding: 0 12px; font-size: 14px; }
.wz-mm-rij { display: flex; align-items: center; height: 56px; padding: 0 16px; font-weight: 800; font-size: 18px; border-bottom: 1px solid var(--wz-lijn); }
.wz-mm-actie { color: var(--wz-rood); }
.wz-mm-onder { margin-top: auto; padding: 12px 16px 16px; display: flex; flex-direction: column; gap: 2px; background: var(--wz-grijs-licht); }
.wz-mm-onder a { display: flex; align-items: center; gap: 10px; height: 44px; font-weight: 700; font-size: 15px; color: var(--wz-zwart); }

/* Homepage: snelchips */
.wz-snelchips { position: relative; display: flex; gap: 8px; overflow-x: auto; padding-top: 10px; padding-bottom: 12px; scrollbar-width: none; }
.wz-snelchips::-webkit-scrollbar { display: none; }

/* Held */
.wz-held { background: var(--wz-blauw-licht); padding: 22px 0 24px; }
.wz-held-grid { display: flex; flex-direction: column; gap: 14px; }
.wz-held-tekst { display: flex; flex-direction: column; gap: 14px; }
.wz-held-titel { font-size: 32px; line-height: 1.06; font-weight: 800; letter-spacing: -0.9px; }
.wz-held-sub { font-size: 15px; line-height: 1.5; color: var(--wz-tekst); }
.wz-held-deals { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.wz-held-knoppen { display: flex; flex-direction: column; gap: 10px; }
.wz-held-noot { font-size: 12px; color: var(--wz-tekst); font-weight: 600; line-height: 1.4; }
.wz-deal { display: flex; flex-direction: column; height: 100%; border-radius: var(--wz-r-m); background: var(--wz-wit); overflow: hidden; color: var(--wz-zwart); border: 1px solid var(--wz-blauw-rand); }
.wz-deal-foto { position: relative; height: 120px; display: flex; align-items: center; justify-content: center; padding: 10px; background: var(--wz-wit); }
.wz-deal-foto .wz-badge--rood { position: absolute; top: 8px; left: 8px; }
.wz-badge--rechts { position: absolute; top: 8px; right: 8px; }
.wz-deal-foto .wz-badge--licht { display: none; }
.wz-deal-tekst { flex: 1; display: flex; flex-direction: column; gap: 4px; padding: 10px 12px 12px; border-top: 1px solid var(--wz-lijn); }
.wz-deal-naam { font-weight: 800; font-size: 15px; line-height: 1.2; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.wz-deal .wz-knop { margin-top: auto; min-height: 40px; font-size: 14px; border-radius: var(--wz-r-s); }
.wz-deal .wz-prijs { margin-bottom: 4px; }
@media (min-width: 1024px) {
	.wz-held { padding: 40px 0 44px; }
	.wz-held-grid { display: grid; grid-template-columns: 420px 1fr; gap: 40px; align-items: center; }
	.wz-held-tekst { gap: 18px; }
	.wz-held-titel { font-size: 54px; line-height: 1.02; letter-spacing: -1.6px; }
	.wz-held-sub { font-size: 18px; }
	.wz-held-tekst .wz-held-knoppen { max-width: 360px; }
	.wz-held-noot { font-size: 13px; }
	.wz-held-deals { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
	.wz-deal { border-radius: var(--wz-r-l); }
	.wz-deal-foto { height: 190px; padding: 14px; }
	.wz-deal-foto .wz-badge--rood { top: 12px; left: 12px; font-size: 13px; padding: 5px 9px; }
	.wz-deal-foto .wz-badge--licht { display: inline-flex; top: 12px; right: 12px; }
	.wz-deal-tekst { gap: 6px; padding: 14px 16px 16px; }
	.wz-deal-naam { font-size: 17px; }
	.wz-deal .wz-knop { min-height: 44px; font-size: 15px; border-radius: var(--wz-r); }
}

/* Secties */
.wz-sectie { padding-top: 26px; }
.wz-sectie-kop { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; margin-bottom: 12px; }
.wz-sectie-acties { display: flex; align-items: center; gap: 10px; }
.wz-sectie-acties .wz-link { margin-right: 10px; }
@media (min-width: 1024px) {
	.wz-sectie { padding-top: 44px; }
	.wz-sectie-kop { margin-bottom: 18px; gap: 24px; }
}

/* Veegrijen */
/* position: relative, zodat verborgen schermlezertekst (absoluut) binnen de veegrij blijft en de pagina niet verbreedt. */
.wz-rij { position: relative; display: flex; gap: 10px; overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding-inline: var(--wz-rand-pagina); scrollbar-width: none; padding-bottom: 2px; }
.wz-rij::-webkit-scrollbar { display: none; }
.wz-rij > * { scroll-snap-align: start; }
.wz-banners .wz-rij { margin-right: calc(-1 * var(--wz-rand-pagina)); padding-right: var(--wz-rand-pagina); }

/* Banners eigen merk: kleur boven, wit met foto onder */
.wz-banner { flex: none; width: 290px; display: flex; flex-direction: column; border-radius: var(--wz-r-l); overflow: hidden; background: var(--wz-wit); border: 1px solid var(--wz-lijn); color: var(--wz-zwart); }
.wz-banner-kop { display: flex; flex-direction: column; gap: 3px; padding: 16px 18px 14px; }
.wz-banner-kop--blauw { background: var(--wz-blauw); color: var(--wz-wit); }
.wz-banner-kop--licht { background: var(--wz-blauw-licht); color: var(--wz-zwart); }
.wz-banner-label { font-size: 12px; font-weight: 800; text-transform: uppercase; letter-spacing: 0.5px; color: var(--wz-blauw-donker); }
.wz-banner-kop--blauw .wz-banner-label { color: var(--wz-blauw-licht); } /* contrast 5,1:1 in plaats van 3,9:1 */
.wz-banner-titel { font-size: 22px; font-weight: 800; line-height: 1.1; letter-spacing: -0.4px; }
.wz-banner-sub { font-size: 13px; font-weight: 600; color: var(--wz-tekst); }
.wz-banner-kop--blauw .wz-banner-sub { color: var(--wz-blauw-licht); }
.wz-banner-foto { position: relative; height: 168px; display: flex; align-items: center; justify-content: center; padding: 12px 14px 2px; }
.wz-banner-foto .wz-badge--rood { position: absolute; top: 10px; left: 12px; }
.wz-banner-voet { display: flex; align-items: center; justify-content: space-between; padding: 6px 14px 14px; }
.wz-banner-voet .wz-knop { min-height: 42px; font-size: 14px; padding: 0 16px; }
.wz-banners-voet { display: flex; align-items: center; justify-content: space-between; padding-top: 12px; }
.wz-stippen { display: flex; gap: 6px; }
.wz-stippen span { width: 6px; height: 6px; border-radius: 3px; background: var(--wz-blauw-rand); }
.wz-stippen span.is-actief { width: 20px; background: var(--wz-blauw); }
@media (min-width: 1024px) {
	.wz-banners .wz-rij { gap: 16px; margin-right: 0; padding-right: 0; }
	.wz-banner { width: calc((100% - 32px) / 3); border-radius: var(--wz-r-l); }
	.wz-banner-kop { padding: 22px 24px 18px; gap: 5px; }
	.wz-banner-label { font-size: 13px; }
	.wz-banner-titel { font-size: 26px; letter-spacing: -0.5px; }
	.wz-banner-sub { font-size: 15px; }
	.wz-banner-foto { height: 210px; padding: 16px 20px 4px; }
	.wz-banner-foto .wz-badge--rood { top: 14px; left: 16px; font-size: 13px; padding: 5px 9px; }
	.wz-banner-voet { padding: 8px 20px 20px; }
	.wz-banner-voet .wz-knop { min-height: 44px; font-size: 15px; padding: 0 18px; }
	.wz-banners-voet { justify-content: center; }
	.wz-stippen span { width: 8px; height: 8px; border-radius: 4px; }
	.wz-stippen span.is-actief { width: 24px; }
}

/* Mozaiek: foto altijd in een wit vlak, kleur in het tekstvlak */
.wz-mozaiek { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.wz-tegel { min-height: 184px; border-radius: var(--wz-r-l); border: 1px solid var(--wz-lijn); overflow: hidden; display: flex; flex-direction: column; color: var(--wz-zwart); background: var(--wz-wit); }
.wz-tegel-foto { height: 108px; display: flex; align-items: center; justify-content: center; padding: 10px 12px; background: var(--wz-wit); }
.wz-tegel-tekst { flex: 1; display: flex; flex-direction: column; justify-content: center; gap: 2px; padding: 10px 12px 12px; background: var(--wz-grijs-licht); }
.wz-tegel:nth-child(3) .wz-tegel-tekst { background: var(--wz-blauw-licht); }
.wz-tegel-titel { font-size: 17px; font-weight: 800; line-height: 1.15; }
.wz-tegel-sub { font-size: 12px; color: var(--wz-tekst); font-weight: 600; }
.wz-tegel--breed { grid-column: span 2; min-height: 150px; flex-direction: row; }
.wz-tegel--breed .wz-tegel-tekst { justify-content: flex-end; padding: 14px; background: var(--wz-blauw-licht); }
.wz-tegel--breed .wz-tegel-titel { font-size: 20px; letter-spacing: -0.3px; }
.wz-tegel--breed .wz-tegel-foto { width: 184px; flex: none; height: auto; padding: 8px; }
.wz-tegel--breed .wz-pilknop { display: none; }
.wz-tegel-pijl { width: 30px; height: 30px; border-radius: 50%; background: var(--wz-blauw); color: var(--wz-wit); display: inline-flex; align-items: center; justify-content: center; flex: none; margin-bottom: auto; }
.wz-tegel--eigen .wz-tegel-tekst { background: var(--wz-blauw); color: var(--wz-wit); }
.wz-tegel--eigen .wz-tegel-sub { color: var(--wz-blauw-licht); }
.wz-tegel--actie { border: 2px solid var(--wz-rood); padding: 14px; justify-content: space-between; }
.wz-tegel--actie .wz-tegel-tekst { background: transparent; padding: 0; flex: none; }
.wz-tegel--actie .wz-tegel-titel { color: var(--wz-rood); }
.wz-tegel-groot { font-size: 38px; font-weight: 800; color: var(--wz-rood); letter-spacing: -1.2px; line-height: 1; }
.wz-mozaiek .wz-tegel--eigen { order: 6; }
.wz-mozaiek .wz-tegel--actie { order: 5; }
.wz-uitklapknop { margin-top: 12px; }
.wz-uitklapknop[aria-expanded="true"] .wz-ico, .wz-pilknop[aria-expanded="true"] .wz-ico { transform: rotate(180deg); }
.wz-meer-cats { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; padding-top: 12px; }
.wz-meer-kop { font-size: 14px; font-weight: 700; color: var(--wz-tekst); margin-right: 6px; }
@media (min-width: 1024px) {
	.wz-mozaiek { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
	.wz-tegel { min-height: 260px; border-radius: var(--wz-r-l); }
	.wz-tegel-foto { height: 164px; padding: 14px 18px; }
	.wz-tegel-tekst { padding: 16px 20px 18px; gap: 4px; }
	.wz-tegel-titel { font-size: 22px; letter-spacing: -0.3px; }
	.wz-tegel-sub { font-size: 14px; }
	.wz-tegel--breed { min-height: 260px; }
	.wz-tegel--breed .wz-tegel-tekst { justify-content: flex-end; padding: 24px; gap: 6px; }
	.wz-tegel--breed .wz-tegel-titel { font-size: 28px; letter-spacing: -0.5px; }
	.wz-tegel--breed .wz-tegel-sub { font-size: 15px; }
	.wz-tegel--breed .wz-tegel-foto { width: 56%; padding: 16px; }
	.wz-tegel--breed .wz-pilknop { display: inline-flex; }
	.wz-tegel--breed:not(.wz-tegel--eigen) .wz-pilknop { border: 2px solid var(--wz-blauw); }
	.wz-mozaiek .wz-tegel--eigen { order: 5; }
	.wz-mozaiek .wz-tegel--actie { order: 6; padding: 20px; }
	.wz-tegel-groot { font-size: 44px; letter-spacing: -1.5px; }
	.wz-meer-cats .wz-chip { height: 40px; font-size: 14px; }
}

/* Productkaarten (Meest verkocht) */
.wz-rij--kaarten { margin-right: calc(-1 * var(--wz-rand-pagina)); padding-right: var(--wz-rand-pagina); }
.wz-pkaart { flex: none; width: 220px; border: 1px solid var(--wz-lijn); border-radius: var(--wz-r-m); overflow: hidden; display: flex; flex-direction: column; background: var(--wz-wit); color: var(--wz-zwart); }
.wz-pkaart-foto { position: relative; height: 150px; display: flex; align-items: center; justify-content: center; padding: 12px; background: var(--wz-wit); }
.wz-pkaart-foto .wz-badge--rood { position: absolute; top: 10px; left: 10px; }
.wz-pkaart-tekst { display: flex; flex-direction: column; gap: 5px; padding: 12px; border-top: 1px solid var(--wz-lijn); flex: 1; }
.wz-pkaart-naam { font-size: 15px; line-height: 1.25; font-weight: 800; color: var(--wz-zwart); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.wz-pkaart .wz-prijs--m .wz-prijs-nu { font-size: 18px; }
.wz-pkaart-knop { margin-top: auto; min-height: 42px; font-size: 14px; border-radius: var(--wz-r-s); }
.wz-pkaart-knop.added::after { content: none; }
.wz-pkaart .added_to_cart { font-size: 13px; font-weight: 700; color: var(--wz-blauw); text-decoration: underline; text-align: center; }
@media (min-width: 1024px) {
	.wz-rij--kaarten { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; overflow: visible; margin-right: 0; padding-right: 0; }
	.wz-pkaart { width: auto; border-radius: var(--wz-r-l); }
	.wz-pkaart-foto { height: 200px; padding: 14px; }
	.wz-pkaart-tekst { padding: 14px 16px 16px; gap: 6px; }
	.wz-pkaart-naam { font-size: 17px; }
	.wz-pkaart .wz-prijs--m .wz-prijs-nu { font-size: 22px; }
	.wz-pkaart-knop { min-height: 44px; font-size: 15px; border-radius: var(--wz-r); }
}

/* Winkels */
.wz-winkels { margin-top: 22px; border-radius: var(--wz-r-l); background: var(--wz-blauw-licht); padding: 20px 16px; display: flex; flex-direction: column; gap: 12px; }
.wz-winkels-intro { display: flex; flex-direction: column; gap: 12px; }
.wz-winkels-intro p { font-size: 15px; line-height: 1.5; color: var(--wz-tekst); }
.wz-winkel { display: flex; flex-direction: column; gap: 4px; padding: 14px; border-radius: var(--wz-r-m); background: var(--wz-wit); }
.wz-winkel > .wz-ico { display: none; color: var(--wz-blauw); }
.wz-winkel-naam { font-weight: 800; font-size: 16px; }
.wz-winkel-adres { font-size: 13px; color: var(--wz-tekst); line-height: 1.5; }
.wz-winkel-open { font-size: 13px; font-weight: 700; color: var(--wz-groen); }
.wz-winkel-route { font-size: 13px; font-weight: 700; color: var(--wz-blauw); text-decoration: underline; }
@media (min-width: 1024px) {
	.wz-winkels { margin-top: 44px; padding: 36px 40px; display: grid; grid-template-columns: 1.1fr 1fr 1fr; gap: 28px; align-items: stretch; border-radius: 16px; }
	.wz-winkels-intro { justify-content: center; }
	.wz-winkels-intro p { font-size: 16px; }
	.wz-winkels-intro .wz-h2 { font-size: 32px; letter-spacing: -0.8px; }
	.wz-winkels-intro .wz-knop { align-self: flex-start; min-height: 48px; padding: 0 20px; font-size: 16px; }
	.wz-winkel { gap: 6px; padding: 20px; }
	.wz-winkel > .wz-ico { display: block; }
	.wz-winkel-naam { font-size: 18px; }
	.wz-winkel-adres, .wz-winkel-open, .wz-winkel-route { font-size: 14px; }
	.wz-winkel-route { margin-top: auto; }
}

/* Waarom */
.wz-waarom { padding-top: 22px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.wz-waarom-item { display: flex; flex-direction: column; gap: 6px; padding: 14px; border-radius: var(--wz-r-m); border: 1px solid var(--wz-lijn); }
.wz-waarom-item .wz-ico { color: var(--wz-blauw); width: 24px; height: 24px; }
.wz-waarom-titel { font-weight: 800; font-size: 14px; line-height: 1.25; }
.wz-waarom-tekst { display: none; font-size: 14px; color: var(--wz-tekst); line-height: 1.5; }
@media (min-width: 1024px) {
	.wz-waarom { padding-top: 44px; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
	.wz-waarom-item { gap: 8px; padding: 20px; border-radius: var(--wz-r-l); }
	.wz-waarom-item .wz-ico { width: 28px; height: 28px; }
	.wz-waarom-titel { font-size: 17px; }
	.wz-waarom-tekst { display: block; }
}

/* Merken */
@media (max-width: 1023.98px) { .wz-merk:nth-child(n+6):not(.wz-merk--alle) { display: none; } }
.wz-merken { padding: 22px 0 28px; display: flex; flex-direction: column; gap: 10px; }
.wz-merken-rij { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.wz-merk { height: 48px; display: flex; align-items: center; justify-content: center; border-radius: var(--wz-r); background: var(--wz-grijs-licht); font-weight: 800; font-size: 15px; color: var(--wz-zwart); text-align: center; padding: 0 6px; }
.wz-merk.is-eigen { background: var(--wz-blauw-licht); color: var(--wz-blauw); }
.wz-merk--alle { color: var(--wz-blauw); text-decoration: underline; }
@media (min-width: 1024px) {
	.wz-merken { padding: 40px 0 48px; gap: 16px; }
	.wz-merken-rij { grid-template-columns: repeat(8, minmax(0, 1fr)); gap: 10px; }
	.wz-merk { height: 60px; font-size: 16px; }
}

/* Nieuwsbrief */
.wz-nieuwsbrief { margin-top: 8px; border-radius: var(--wz-r-l); background: var(--wz-blauw-licht); padding: 20px 16px; display: flex; flex-direction: column; gap: 10px; }
.wz-nb-tekst { display: flex; flex-direction: column; gap: 8px; }
.wz-nieuwsbrief .wz-h2 { font-size: 22px; }
.wz-nb-klein { font-size: 12px; color: var(--wz-tekst); font-weight: 600; line-height: 1.4; }
.wz-nb-klein a { color: var(--wz-blauw); text-decoration: underline; }
.wz-nb-form { display: flex; }
.wz-nb-form input { flex: 1; min-width: 0; height: 48px; border: 2px solid var(--wz-blauw-rand); border-right: 0; border-radius: var(--wz-r) 0 0 var(--wz-r); padding: 0 14px; font: 600 16px Manrope, system-ui, sans-serif; }
.wz-nb-form .wz-knop { border-radius: 0 var(--wz-r) var(--wz-r) 0; min-height: 48px; }
@media (min-width: 1024px) {
	.wz-nieuwsbrief { padding: 30px 40px; display: grid; grid-template-columns: 1fr 480px; gap: 40px; align-items: center; border-radius: 16px; }
	.wz-nieuwsbrief .wz-h2 { font-size: 28px; }
	.wz-nb-klein { font-size: 14px; }
	.wz-nb-form input, .wz-nb-form .wz-knop { height: 52px; min-height: 52px; }
}

/* Footer */
.wz-footer { margin-top: 24px; background: var(--wz-grijs-licht); border-top: 1px solid var(--wz-lijn); padding: 24px 0 20px; }
.wz-footer-grid { display: flex; flex-direction: column; gap: 20px; }
.wz-footer-contact { display: flex; flex-direction: column; gap: 10px; }
.wz-logo--footer { justify-content: flex-start; height: 44px; }
.wz-logo--footer .wz-logo-img { height: 44px; }
.wz-footer-kop { font-size: 13px; font-weight: 800; text-transform: uppercase; letter-spacing: 0.5px; }
.wz-footer-winkels { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.wz-footer-winkel { display: flex; flex-direction: column; gap: 3px; padding: 12px; border-radius: var(--wz-r); background: var(--wz-wit); border: 1px solid var(--wz-lijn); font-size: 13px; color: var(--wz-tekst); line-height: 1.45; }
.wz-footer-winkel .wz-winkel-naam { font-size: 14px; color: var(--wz-zwart); }
.wz-footer-winkel .wz-gedempt { font-size: 12px; font-weight: 600; }
.wz-footer-rij { display: flex; align-items: center; gap: 10px; height: 44px; font-weight: 700; font-size: 15px; }
.wz-footer-rij .wz-ico { color: var(--wz-blauw); }
.wz-social { display: flex; gap: 10px; }
.wz-social a { width: 44px; height: 44px; border-radius: 50%; background: var(--wz-wit); border: 1px solid var(--wz-lijn); display: flex; align-items: center; justify-content: center; }
.wz-footer-groep { border-top: 1px solid var(--wz-lijn); }
.wz-footer-groep:last-of-type { border-bottom: 1px solid var(--wz-lijn); }
.wz-footer-groep summary { list-style: none; height: 52px; display: flex; align-items: center; justify-content: space-between; cursor: pointer; text-transform: none; letter-spacing: 0; font-size: 15px; }
.wz-footer-groep summary::-webkit-details-marker { display: none; }
.wz-footer-groep[open] summary .wz-ico { transform: rotate(180deg); }
.wz-footer-groep ul { list-style: none; margin: 0; padding: 6px 0 10px; }
.wz-footer-groep a { display: flex; align-items: center; height: 40px; font-size: 15px; font-weight: 600; color: var(--wz-tekst); }
.wz-footer-onder { display: flex; flex-direction: column; gap: 16px; padding-top: 20px; }
.wz-betaal { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.wz-betaal-kop { width: 100%; font-size: 13px; font-weight: 800; text-transform: uppercase; letter-spacing: 0.5px; }
.wz-betaal-badge { height: 32px; padding: 0 12px; display: inline-flex; align-items: center; border-radius: 6px; background: var(--wz-wit); border: 1px solid var(--wz-lijn); font-weight: 800; font-size: 13px; }
.wz-footer-actie { color: var(--wz-rood) !important; font-weight: 800 !important; }
.wz-footer-jurlinks { display: flex; flex-wrap: wrap; gap: 4px 16px; }
.wz-footer-jurlinks a { display: inline-flex; align-items: center; min-height: 44px; font-size: 14px; font-weight: 600; color: var(--wz-tekst); text-decoration: underline; }
.wz-footer-juridisch { font-size: 12px; color: var(--wz-tekst); font-weight: 600; line-height: 1.5; border-top: 1px solid var(--wz-lijn); padding-top: 16px; }
@media (min-width: 1024px) {
	.wz-footer { margin-top: 44px; padding: 44px 0 24px; }
	.wz-footer-grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr; gap: 40px; }
	.wz-footer-contact { gap: 16px; }
	.wz-logo--footer, .wz-logo--footer .wz-logo-img { height: 48px; }
	.wz-footer-winkel { padding: 14px; font-size: 14px; }
	.wz-footer-winkel .wz-winkel-naam { font-size: 15px; }
	.wz-footer-rij { height: 32px; }
	.wz-footer-groep, .wz-footer-groep:last-of-type { border: 0; }
	.wz-footer-groep summary { pointer-events: none; height: auto; text-transform: uppercase; letter-spacing: 0.5px; font-size: 13px; margin-bottom: 10px; }
	.wz-footer-groep summary .wz-ico { display: none; }
	.wz-footer-groep ul { padding: 0; display: block !important; }
	.wz-footer-groep a { height: 32px; }
	.wz-footer-onder { flex-direction: row; align-items: center; justify-content: space-between; border-top: 1px solid var(--wz-lijn); margin-top: 32px; }
	.wz-betaal-kop { width: auto; text-transform: none; letter-spacing: 0; margin-right: 6px; }
	.wz-footer-juridisch { border: 0; padding: 0; font-size: 13px; text-align: right; }
}
/* Op desktop staan alle footergroepen open, ook als ze dicht zijn opgeslagen. */
@media (min-width: 1024px) {
	.wz-footer-groep:not([open]) > ul { display: block; }
}

/* Pagina's */
.wz-pagina { padding-top: 20px; padding-bottom: 40px; }
.wz-pagina .wz-h1 { margin-bottom: 16px; }
.wz-tekst { max-width: 760px; font-size: 16px; line-height: 1.65; color: var(--wz-tekst); }
.wz-tekst h2, .wz-tekst h3 { color: var(--wz-zwart); margin: 1.4em 0 0.5em; }
.wz-tekst a { color: var(--wz-blauw); text-decoration: underline; }
.wz-pagina--winkel .wz-tekst { max-width: none; }
.rank-math-breadcrumb { font-size: 13px; font-weight: 600; color: var(--wz-gedempt); margin-bottom: 8px; }
.rank-math-breadcrumb a { color: var(--wz-blauw); text-decoration: underline; }
.wz-shop { padding-top: 16px; padding-bottom: 40px; }
.wz-404 .wz-zoek { max-width: 520px; margin: 16px 0; }

/* ============ Productlijst: categorie, winkel, zoeken (borden Categorie-mobiel, -desktop, -filter) ============ */

/* Kop als banner */
.wz-catkop { position: relative; min-height: 216px; display: flex; flex-direction: column; justify-content: flex-end; overflow: hidden; background: linear-gradient(135deg, var(--wz-blauw-donker), var(--wz-blauw)); color: var(--wz-wit); }
.wz-catkop--foto { background: var(--wz-zwart); }
.wz-catkop-foto { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 60%; }
.wz-catkop--foto::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(17,17,17,0.15) 0%, rgba(17,17,17,0.55) 45%, rgba(17,17,17,0.82) 100%); }
.wz-catkop-tekst { position: relative; z-index: 1; display: flex; flex-direction: column; gap: 6px; padding-top: 16px; padding-bottom: 16px; }
.wz-kruimel { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; font-size: 13px; font-weight: 600; color: var(--wz-lijn); }
.wz-kruimel a { color: var(--wz-wit); text-decoration: underline; }
.wz-catkop-h1 { font-size: 30px; font-weight: 800; letter-spacing: -0.8px; line-height: 1.08; color: var(--wz-wit); }
.wz-catkop-regel { font-size: 15px; line-height: 1.4; font-weight: 600; color: var(--wz-wit); }
@media (min-width: 1024px) {
	.wz-catkop { height: 280px; min-height: 0; justify-content: center; }
	.wz-catkop--foto::after { background: linear-gradient(90deg, rgba(17,17,17,0.86) 0%, rgba(17,17,17,0.66) 45%, rgba(17,17,17,0.12) 100%); }
	.wz-catkop-foto { object-position: 50% 55%; }
	.wz-catkop-tekst { gap: 10px; padding-top: 0; padding-bottom: 0; }
	.wz-kruimel { font-size: 14px; }
	.wz-catkop-h1 { font-size: 46px; letter-spacing: -1.3px; line-height: 1.05; max-width: 720px; }
	.wz-catkop-regel { font-size: 18px; max-width: 640px; }
}

/* Filter- en sorteerbalk mobiel (plakt bovenaan) */
.wz-mbalk { position: sticky; top: 0; z-index: 30; padding: 10px 16px; background: var(--wz-wit); border-bottom: 1px solid var(--wz-lijn); display: flex; flex-direction: column; gap: 8px; }
.admin-bar .wz-mbalk { top: 46px; }
.wz-mbalk-knoppen { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.wz-mbalk-filter { height: 46px; display: flex; align-items: center; justify-content: center; gap: 8px; border-radius: var(--wz-r); border: 2px solid var(--wz-blauw); background: var(--wz-wit); color: var(--wz-blauw); font: 800 15px Manrope, system-ui, sans-serif; }
.wz-mbalk-tekst { font-size: 13px; color: var(--wz-gedempt); font-weight: 600; }

/* Sorteren (formulier van WooCommerce) */
.wz-sorteer { position: relative; display: flex; align-items: center; }
.wz-sorteer > .wz-ico { position: absolute; left: 14px; pointer-events: none; color: var(--wz-zwart); }
.wz-sorteer .woocommerce-ordering { margin: 0; width: 100%; }
.wz-sorteer select { width: 100%; height: 46px; padding: 0 36px 0 40px; border-radius: var(--wz-r); border: 2px solid var(--wz-lijn); background: var(--wz-wit) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23111111' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right 12px center; color: var(--wz-zwart); font: 800 15px Manrope, system-ui, sans-serif; -webkit-appearance: none; appearance: none; cursor: pointer; }
@media (min-width: 1024px) {
	.wz-sorteer::before { content: "Sorteren"; font-size: 14px; font-weight: 700; color: var(--wz-tekst); margin-right: 10px; }
	.wz-sorteer > .wz-ico { display: none; }
	.wz-sorteer .woocommerce-ordering { width: auto; }
	.wz-sorteer select { height: 44px; padding: 0 40px 0 14px; }
}

/* Raster: filterkolom en lijst */
.wz-cat { padding-top: 14px; }
.wz-cat--zonderfilter { padding-bottom: 32px; }
.wz-cat-lijst { display: flex; flex-direction: column; gap: 16px; min-width: 0; }
.wz-cat-balk { display: flex; align-items: center; justify-content: space-between; gap: 16px; height: 48px; }
.wz-cat-aantal { font-size: 15px; color: var(--wz-tekst); font-weight: 600; }
@media (min-width: 1024px) {
	.wz-cat { padding-top: 28px; display: grid; grid-template-columns: 272px 1fr; gap: 32px; align-items: start; }
	/* Aanbiedingen: geen filterkolom, dus vier kaarten naast elkaar. */
	.wz-cat--zonderfilter { display: block; padding-bottom: 48px; }
	.wz-cat--zonderfilter ul.products { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

/* Gekozen filters */
.wz-fchips { align-items: center; }
.wz-fchip { display: inline-flex; align-items: center; gap: 6px; min-height: 36px; padding: 0 10px 0 12px; border-radius: 999px; background: var(--wz-blauw-licht); color: var(--wz-blauw-donker); font-size: 14px; font-weight: 700; }

/* Filterpaneel */
.wz-filters { display: flex; flex-direction: column; background: var(--wz-wit); }
.wz-filters-kop { height: 52px; display: flex; align-items: center; justify-content: space-between; border-top: 1px solid var(--wz-lijn); border-bottom: 1px solid var(--wz-lijn); flex: none; }
.wz-filters-titel { font-size: 17px; font-weight: 800; }
.wz-filters-kopacties { display: flex; align-items: center; gap: 4px; }
.wz-filters-wis { display: inline-flex; align-items: center; height: 40px; padding: 0 10px; color: var(--wz-blauw); font-size: 14px; font-weight: 700; text-decoration: underline; }
.wz-filters-inhoud { display: flex; flex-direction: column; }
.wz-filters-voet { display: none; }
.wz-schakel { position: relative; display: flex; align-items: center; justify-content: space-between; height: 48px; border-bottom: 1px solid var(--wz-lijn); font-size: 15px; font-weight: 800; cursor: pointer; }
.wz-schakel input { position: absolute; opacity: 0; width: 46px; height: 26px; right: 0; margin: 0; cursor: pointer; }
.wz-schakel-baan { position: relative; width: 46px; height: 26px; border-radius: 13px; background: #9CA3AF; flex: none; transition: background 0.15s; }
.wz-schakel-baan::after { content: ""; position: absolute; top: 3px; left: 3px; width: 20px; height: 20px; border-radius: 50%; background: var(--wz-wit); transition: transform 0.15s; }
.wz-schakel input:checked + .wz-schakel-baan { background: var(--wz-blauw); }
.wz-schakel input:checked + .wz-schakel-baan::after { transform: translateX(20px); }
.wz-schakel input:focus-visible + .wz-schakel-baan { outline: 3px solid var(--wz-blauw); outline-offset: 2px; }
.wz-fgroep summary { list-style: none; height: 48px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--wz-lijn); font-weight: 800; font-size: 15px; cursor: pointer; }
.wz-fgroep summary::-webkit-details-marker { display: none; }
.wz-fgroep[open] summary .wz-ico { transform: rotate(180deg); }
.wz-fgroep-inhoud { display: flex; flex-direction: column; padding: 4px 0 8px; border-bottom: 1px solid var(--wz-lijn); }
.wz-opties { display: flex; flex-direction: column; }
.wz-js .wz-opties:not(.is-open) > .wz-optie:nth-child(n+7) { display: none; }
.wz-opties-meer { align-self: flex-start; height: 40px; padding: 0; border: 0; background: transparent; color: var(--wz-blauw); font: 700 14px Manrope, system-ui, sans-serif; text-decoration: underline; }
.wz-optie { position: relative; display: flex; align-items: center; gap: 10px; min-height: 40px; font-size: 15px; font-weight: 600; color: var(--wz-zwart); cursor: pointer; }
.wz-optie input { position: absolute; opacity: 0; width: 20px; height: 20px; margin: 0; cursor: pointer; }
.wz-vak { width: 20px; height: 20px; border-radius: 5px; border: 2px solid #9CA3AF; background: var(--wz-wit); flex: none; display: inline-flex; align-items: center; justify-content: center; color: transparent; }
.wz-optie input[type="radio"] + .wz-vak { border-radius: 50%; }
.wz-optie input:checked + .wz-vak, .wz-optie.is-aan .wz-vak { background: var(--wz-blauw); border-color: var(--wz-blauw); color: var(--wz-wit); }
.wz-optie input:focus-visible + .wz-vak { outline: 3px solid var(--wz-blauw); outline-offset: 2px; }
.wz-optie:hover { color: var(--wz-blauw); }

@media (max-width: 1023.98px) {
	.wz-filters { position: fixed; left: 0; right: 0; top: 56px; bottom: 0; z-index: 200; border-radius: 16px 16px 0 0; overflow: hidden; box-shadow: 0 0 0 100vmax rgba(17, 17, 17, 0.45); }
	.wz-js .wz-filters:not(.is-open) { display: none; }
	.wz-filters-kop { height: 60px; padding: 0 16px; border-top: 0; }
	.wz-filters-titel { font-size: 18px; }
	.wz-filters-inhoud { flex: 1; overflow-y: auto; padding: 0 16px; }
	.wz-schakel { height: 52px; }
	.wz-filters-voet { display: block; flex: none; padding: 12px 16px 16px; border-top: 1px solid var(--wz-lijn); background: var(--wz-wit); }
	html.wz-filters-open { overflow: hidden; }
	/* Zonder JavaScript staat het paneel gewoon in de pagina. */
	html:not(.wz-js) .wz-filters { position: static; box-shadow: none; border-radius: 0; margin-bottom: 16px; }
}
@media (min-width: 1024px) {
	.wz-filters { position: sticky; top: 16px; }
	.wz-filters .wz-fgroep:not([open]) + .wz-fgroep { margin-top: 0; }
}

/* Productkaarten in de lijst */
ul.products { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
ul.products::before, ul.products::after { content: none !important; }
ul.products li.product { margin: 0 !important; padding: 0; width: auto !important; float: none !important; display: flex; }
.wz-lkaart { flex: 1; display: flex; flex-direction: column; border: 1px solid var(--wz-lijn); border-radius: var(--wz-r-m); overflow: hidden; background: var(--wz-wit); color: var(--wz-zwart); }
.wz-lkaart:hover { border-color: var(--wz-blauw-rand); color: var(--wz-zwart); }
.wz-lkaart:hover .wz-lkaart-naam { color: var(--wz-blauw); }
.wz-lkaart-foto { position: relative; height: 136px; display: flex; align-items: center; justify-content: center; padding: 10px; background: var(--wz-wit); }
.wz-lkaart-foto .wz-badge--rood { position: absolute; top: 10px; left: 10px; z-index: 1; }
.wz-lkaart-tekst { display: flex; flex-direction: column; gap: 4px; padding: 4px 10px 12px; }
.wz-lkaart-naam { font-size: 14px; font-weight: 800; line-height: 1.25; min-height: 35px; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.wz-lkaart-spec { font-size: 12px; color: var(--wz-gedempt); font-weight: 600; }
.wz-prijs--k { margin-top: 2px; }
.wz-prijs--k .wz-prijs-nu { font-size: 18px; }
.wz-prijs--k .wz-prijs-van { font-size: 12px; }
@media (min-width: 1024px) {
	ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
	.wz-lkaart-foto { height: 210px; padding: 16px; }
	.wz-lkaart-foto .wz-badge--rood { top: 16px; left: 16px; }
	.wz-lkaart-tekst { padding: 4px 16px 18px; }
	.wz-lkaart-naam { font-size: 16px; min-height: 40px; }
	.wz-prijs--k .wz-prijs-nu { font-size: 22px; }
}

/* Meer laden */
.wz-meer { padding-top: 8px; display: flex; flex-direction: column; gap: 10px; align-items: center; }
.wz-meer-balk { width: min(320px, 100%); height: 4px; border-radius: 2px; background: var(--wz-lijn); position: relative; overflow: hidden; }
.wz-meer-balk span { position: absolute; left: 0; top: 0; height: 100%; background: var(--wz-blauw); transition: width 0.2s; }
.wz-meer-tekst { font-size: 14px; color: var(--wz-gedempt); font-weight: 600; }
.wz-meer-knop { width: min(320px, 100%); min-height: 50px; font-size: 16px; font-weight: 800; border-width: 2px; }
.wz-meer-knop[aria-busy="true"] { opacity: 0.6; pointer-events: none; }
.wz-leeg { padding: 24px; border-radius: var(--wz-r-l); background: var(--wz-grijs-licht); display: flex; flex-direction: column; gap: 8px; color: var(--wz-tekst); }

/* Verder kijken */
.wz-verder { padding-top: 32px; display: flex; flex-direction: column; gap: 12px; }
.wz-verder-rij { gap: 12px; }
.wz-verder-tegel { flex: none; width: 160px; display: flex; flex-direction: column; border-radius: var(--wz-r-m); border: 1px solid var(--wz-lijn); overflow: hidden; color: var(--wz-zwart); background: var(--wz-wit); }
.wz-verder-foto { height: 96px; display: flex; align-items: center; justify-content: center; padding: 6px 10px; background: var(--wz-wit); }
.wz-verder-tekst { display: flex; flex-direction: column; gap: 1px; padding: 8px 10px 10px; background: var(--wz-grijs-licht); flex: 1; }
.wz-verder-naam { font-size: 15px; font-weight: 800; line-height: 1.2; }
.wz-verder-aantal { font-size: 12px; color: var(--wz-gedempt); font-weight: 600; }
@media (min-width: 1024px) {
	.wz-verder { padding-top: 36px; }
	.wz-verder-tegel { width: 180px; }
}

/* Maathulp en vindbare tekst: één sectie, mobiel in DOM-volgorde, desktop als raster */
.wz-catonder { margin-top: 28px; display: flex; flex-direction: column; gap: 20px; }
.wz-maathulp { border-radius: var(--wz-r-l); background: var(--wz-blauw-licht); padding: 20px 16px; display: flex; flex-direction: column; gap: 12px; }
.wz-maathulp p { font-size: 15px; line-height: 1.5; color: var(--wz-tekst); }
.wz-maathulp-knoppen { display: flex; flex-wrap: wrap; gap: 8px; }
.wz-maathulp-knoppen .wz-knop { min-height: 48px; padding: 0 14px; }
.wz-seoblok { display: flex; flex-direction: column; gap: 6px; }
.wz-seoblok p { font-size: 15px; line-height: 1.6; color: var(--wz-tekst); }
.wz-seoblok a { color: var(--wz-blauw); text-decoration: underline; }
.wz-faq { display: flex; flex-direction: column; gap: 4px; }
.wz-faq .wz-h3 { margin-bottom: 6px; }
.wz-faq-lijst { border-top: 1px solid var(--wz-lijn); }
.wz-faq-item { border-bottom: 1px solid var(--wz-lijn); }
.wz-faq-item summary { list-style: none; min-height: 52px; padding: 10px 0; display: flex; align-items: center; justify-content: space-between; gap: 12px; font-weight: 800; font-size: 16px; cursor: pointer; }
.wz-faq-item summary::-webkit-details-marker { display: none; }
.wz-faq-item[open] summary .wz-ico { transform: rotate(180deg); }
.wz-faq-item p { padding: 0 0 14px; font-size: 15px; line-height: 1.6; color: var(--wz-tekst); }
@media (min-width: 1024px) {
	.wz-catonder { margin-top: 40px; display: grid; grid-template-columns: 1fr 1fr; column-gap: 48px; row-gap: 20px; align-items: start; }
	.wz-catonder .wz-maathulp { grid-column: 1; grid-row: 1; border-radius: 16px; padding: 28px 32px; margin-bottom: 16px; }
	.wz-maathulp .wz-h3 { font-size: 26px; letter-spacing: -0.6px; }
	.wz-maathulp-knoppen .wz-knop { padding: 0 20px; }
	.wz-catonder .wz-seoblok--eerste { grid-column: 2; grid-row: 1; padding: 8px 0; }
	.wz-catonder .wz-seoblok--rest { grid-column: 1; }
	.wz-catonder .wz-faq { grid-column: 2; grid-row: 2 / span 6; }
}

/* ============ Productpagina (borden Product-desktop, Product-mobiel, Product-koopblok) ============ */
.wz-kruimel--pdp { padding-top: 10px; font-size: 12px; color: var(--wz-gedempt); }
.wz-kruimel--pdp a { color: var(--wz-blauw); }
.wz-pdp-boven { display: flex; flex-direction: column; gap: 16px; padding-top: 8px; }
.wz-pdp-galerijkolom { display: flex; flex-direction: column; gap: 10px; min-width: 0; }
.wz-galerij { display: flex; flex-direction: column; gap: 8px; }
.wz-galerij-hoofd { position: relative; height: 290px; width: 100%; border-radius: var(--wz-r-l); border: 1px solid var(--wz-lijn); background: var(--wz-wit); display: flex; align-items: center; justify-content: center; padding: 14px; overflow: hidden; cursor: zoom-in; }
.wz-galerij-hoofd .wz-badge--rood { position: absolute; top: 12px; left: 12px; z-index: 1; font-size: 13px; padding: 5px 9px; }
.wz-galerij-hoofd .wz-badge--rechts { top: 12px; right: 12px; z-index: 1; font-size: 12px; padding: 5px 9px; }
.wz-galerij-foto { max-width: 100%; max-height: 100%; width: auto; height: auto; object-fit: contain; }
.wz-galerij-hint { position: absolute; bottom: 14px; right: 16px; font-size: 12px; color: var(--wz-gedempt); font-weight: 600; }
.wz-galerij-stippen { position: absolute; bottom: 10px; left: 0; right: 0; display: flex; justify-content: center; gap: 6px; }
.wz-galerij-stippen span { width: 6px; height: 6px; border-radius: 3px; background: var(--wz-blauw-rand); }
.wz-galerij-stippen span:first-child { width: 18px; background: var(--wz-blauw); }
.wz-galerij-mini { display: flex; gap: 8px; overflow-x: auto; scrollbar-width: none; }
.wz-galerij-duim { flex: none; width: 72px; height: 56px; border-radius: var(--wz-r-s); border: 1px solid var(--wz-lijn); background: var(--wz-wit); display: flex; align-items: center; justify-content: center; padding: 4px; }
.wz-galerij-duim img { max-width: 100%; max-height: 100%; object-fit: contain; }
.wz-galerij-duim.is-actief { border: 2px solid var(--wz-blauw); }
.wz-lichtbak { width: 100%; height: 100%; max-width: 100%; max-height: 100%; margin: 0; border: 0; padding: 48px 16px 16px; background: var(--wz-wit); }
.wz-lichtbak[open] { display: flex; align-items: center; justify-content: center; }
.wz-lichtbak img { max-width: 100%; max-height: 100%; object-fit: contain; }
.wz-lichtbak-sluit { position: absolute; top: 4px; right: 4px; }
.wz-pdp-usps { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.wz-pdp-usp { display: flex; align-items: center; gap: 10px; padding: 10px 12px; border-radius: var(--wz-r); border: 1px solid var(--wz-lijn); font-size: 14px; font-weight: 700; line-height: 1.25; }
.wz-pdp-usp .wz-ico { color: var(--wz-blauw); }
@media (min-width: 1024px) {
	.wz-kruimel--pdp { padding-top: 16px; font-size: 13px; }
	.wz-pdp-boven { display: grid; grid-template-columns: 1fr 460px; gap: 40px; align-items: start; padding-top: 16px; }
	.wz-galerij { gap: 10px; }
	.wz-galerij-hoofd { height: 520px; padding: 24px; border-radius: 16px; }
	.wz-galerij-hoofd .wz-badge--rood { top: 16px; left: 16px; font-size: 14px; padding: 6px 10px; }
	.wz-galerij-hoofd .wz-badge--rechts { top: 16px; right: 16px; font-size: 13px; padding: 6px 10px; }
	.wz-galerij-mini { gap: 10px; }
	.wz-galerij-duim { width: 110px; height: 82px; border-radius: var(--wz-r); padding: 6px; }
	.wz-pdp-usps { padding-top: 6px; }
}

/* Koopblok */
.wz-koop { display: flex; flex-direction: column; gap: 12px; }
.wz-koop-kop { display: flex; flex-direction: column; gap: 4px; }
.wz-koop-h1 { font-size: 26px; font-weight: 800; letter-spacing: -0.6px; line-height: 1.1; }
.wz-koop-sub { font-size: 13px; color: var(--wz-tekst); font-weight: 600; }
.wz-koop-prijs { display: flex; flex-direction: column; gap: 4px; }
.wz-koop-prijsrij { display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap; }
.wz-koop-nu { font-size: 32px; font-weight: 800; letter-spacing: -0.8px; }
.wz-koop-van { font-size: 15px; color: var(--wz-gedempt); font-weight: 600; }
.wz-koop-prijsrij .wz-badge--rood { align-self: center; }
.wz-koop-btw { font-size: 12px; color: var(--wz-gedempt); font-weight: 600; }
.wz-koop-in3 { font-size: 13px; font-weight: 600; }
.wz-koop-in3 a { color: var(--wz-blauw); text-decoration: underline; }
.wz-pdp-keuze { display: flex; flex-direction: column; gap: 8px; }
.wz-pdp-keuzekop { font-size: 14px; font-weight: 800; }
.wz-pdp-keuzekop span { font-weight: 600; color: var(--wz-tekst); }
.wz-kleuren { display: flex; flex-wrap: wrap; gap: 8px; }
.wz-kleur { display: flex; flex-direction: column; align-items: center; gap: 4px; width: 76px; color: var(--wz-zwart); }
.wz-kleur-foto { width: 76px; height: 58px; border-radius: var(--wz-r); border: 2px solid var(--wz-lijn); background: var(--wz-wit); display: flex; align-items: center; justify-content: center; padding: 4px; }
.wz-kleur.is-aan .wz-kleur-foto { border-color: var(--wz-blauw); }
.wz-kleur.is-uit .wz-kleur-foto img { opacity: 0.5; }
.wz-kleur-naam { font-size: 11px; font-weight: 700; text-align: center; line-height: 1.2; }
.wz-kleur.is-uit .wz-kleur-naam { color: var(--wz-gedempt); }
.wz-levering { display: flex; flex-direction: column; gap: 8px; padding: 12px; border-radius: var(--wz-r-m); background: var(--wz-grijs-licht); }
.wz-levering-voorraad { display: flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 800; color: var(--wz-groen); }
.wz-levering-voorraad.is-uit { color: var(--wz-gedempt); }
.wz-levering-regel { display: flex; align-items: flex-start; gap: 8px; font-size: 14px; font-weight: 600; line-height: 1.35; }
.wz-levering-regel .wz-ico { color: var(--wz-blauw); margin-top: 1px; }
.wz-koop-bel { min-height: 48px; }
.wz-koop-klein { font-size: 12px; color: var(--wz-gedempt); font-weight: 600; text-align: center; }
.wz-pdp-ook { display: flex; flex-direction: column; gap: 8px; }
.wz-ook { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 12px 14px; border-radius: var(--wz-r); border: 1px solid var(--wz-lijn); color: var(--wz-zwart); }
.wz-ook-tekst { display: flex; flex-direction: column; gap: 2px; }
.wz-ook-naam { font-size: 14px; font-weight: 800; }
.wz-ook-sub { font-size: 12px; color: var(--wz-gedempt); font-weight: 600; }
.wz-ook-prijs { display: flex; align-items: center; gap: 8px; font-size: 15px; font-weight: 800; white-space: nowrap; }
@media (min-width: 1024px) {
	.wz-koop { gap: 14px; padding: 24px; border-radius: 16px; border: 1px solid var(--wz-lijn); background: var(--wz-wit); }
	.wz-koop-h1 { font-size: 30px; letter-spacing: -0.8px; }
	.wz-koop-sub { font-size: 14px; }
	.wz-koop-nu { font-size: 34px; letter-spacing: -0.9px; }
	.wz-koop-van { font-size: 16px; }
	.wz-koop-in3 { font-size: 14px; }
}

/* Het WooCommerce-formulier in het koopblok */
.wz-koop-formulier form.cart { display: flex; flex-direction: column; gap: 12px; margin: 0; }
.wz-koop-formulier .variations { border: 0; margin: 0; width: 100%; border-collapse: collapse; }
.wz-koop-formulier .variations tr { display: flex; flex-direction: column; gap: 8px; margin-bottom: 4px; }
.wz-koop-formulier .variations th, .wz-koop-formulier .variations td { display: block; padding: 0; text-align: left; border: 0; }
.wz-koop-formulier .variations th label { font-size: 14px; font-weight: 800; }
.wz-koop-formulier .variations select { width: 100%; height: 48px; border-radius: var(--wz-r); border: 2px solid var(--wz-lijn); padding: 0 12px; font: 700 15px Manrope, system-ui, sans-serif; background: var(--wz-wit); }
.wz-koop-formulier .reset_variations { font-size: 13px; font-weight: 700; color: var(--wz-blauw); text-decoration: underline; }
.wz-koop-formulier .woocommerce-variation-price, .wz-koop-formulier .woocommerce-variation-description { display: none; }
.wz-koop-formulier .woocommerce-variation-availability p { margin: 0; font-size: 14px; font-weight: 700; }
.wz-koop-formulier .woocommerce-variation-availability .out-of-stock { color: var(--wz-rood); }
/* Knoppen van Variation Swatches als de maatknoppen uit het ontwerp */
.wz-koop-formulier ul.variable-items-wrapper { display: grid !important; grid-template-columns: repeat(auto-fill, minmax(120px, 1fr)); gap: 8px; margin: 0; padding: 0; }
.wz-koop-formulier ul.variable-items-wrapper li.variable-item { width: auto !important; height: auto !important; min-height: 56px; margin: 0 !important; padding: 6px 8px !important; border-radius: var(--wz-r) !important; box-shadow: none !important; border: 2px solid var(--wz-lijn) !important; background: var(--wz-wit) !important; display: flex !important; flex-direction: column; align-items: center; justify-content: center; font: 800 16px Manrope, system-ui, sans-serif; color: var(--wz-zwart); }
.wz-koop-formulier ul.variable-items-wrapper li.variable-item.selected { border-color: var(--wz-blauw) !important; background: var(--wz-blauw-licht) !important; }
.wz-koop-formulier ul.variable-items-wrapper li.variable-item.disabled { opacity: 0.45; }
.wz-koop-formulier .variable-item-span { font: inherit; padding: 0 !important; }
.wz-maat-advies { display: block; font-size: 12px; font-weight: 600; color: var(--wz-tekst); }
.wz-koop-formulier .single_variation_wrap, .wz-koop-formulier .woocommerce-variation-add-to-cart { display: flex; flex-direction: column; gap: 12px; }
.wz-koop-formulier .woocommerce-variation-add-to-cart, .wz-koop-formulier form.cart:not(.variations_form) { flex-direction: row; flex-wrap: wrap; align-items: center; gap: 10px; }
.wz-koop-formulier .quantity { flex: none; height: 56px; width: 110px; display: inline-flex; align-items: center; justify-content: space-between; border-radius: var(--wz-r-m); border: 2px solid var(--wz-lijn); padding: 0 4px; }
.wz-koop-formulier .quantity input.qty { width: 32px; border: 0; text-align: center; font: 800 16px Manrope, system-ui, sans-serif; -moz-appearance: textfield; background: transparent; }
.wz-koop-formulier .quantity input.qty::-webkit-inner-spin-button, .wz-koop-formulier .quantity input.qty::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
.wz-aantal-knop { width: 36px; height: 44px; border: 0; background: transparent; font: 800 20px Manrope, system-ui, sans-serif; color: var(--wz-zwart); }
.wz-koop-formulier .single_add_to_cart_button { flex: 1; min-width: 160px; height: 56px; border: 0; border-radius: var(--wz-r-m); background: var(--wz-blauw); color: var(--wz-wit); font: 800 17px Manrope, system-ui, sans-serif; cursor: pointer; }
.wz-koop-formulier .single_add_to_cart_button:hover { background: var(--wz-blauw-donker); }
.wz-koop-formulier .single_add_to_cart_button.disabled { opacity: 0.55; cursor: not-allowed; }
.wz-koop-formulier .stock { margin: 0; font-size: 14px; font-weight: 700; }

/* Kerngegevens, omschrijving, specificaties */
.wz-pdp-info { display: flex; flex-direction: column; gap: 22px; padding-top: 22px; }
.wz-pdp-links { display: flex; flex-direction: column; gap: 22px; min-width: 0; }
.wz-pdp-blok { display: flex; flex-direction: column; gap: 10px; }
.wz-kern { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.wz-kern-tegel { padding: 12px; border-radius: var(--wz-r); background: var(--wz-blauw-licht); display: flex; flex-direction: column; gap: 2px; }
.wz-kern-label { font-size: 12px; color: var(--wz-blauw-donker); font-weight: 700; }
.wz-kern-waarde { font-size: 15px; font-weight: 800; line-height: 1.2; }
.wz-pdp-tekst { max-width: none; font-size: 15px; }
.wz-pdp-tekst h2, .wz-pdp-tekst h3 { font-size: 20px; font-weight: 800; letter-spacing: -0.4px; margin: 0.6em 0 0.3em; }
.wz-specs summary { list-style: none; display: flex; align-items: center; justify-content: space-between; min-height: 48px; cursor: pointer; }
.wz-specs summary::-webkit-details-marker { display: none; }
.wz-specs[open] summary .wz-ico { transform: rotate(180deg); }
.wz-specs-lijst { margin: 6px 0 0; border-top: 1px solid var(--wz-lijn); }
.wz-spec { display: flex; justify-content: space-between; gap: 12px; padding: 10px 0; border-bottom: 1px solid var(--wz-lijn); font-size: 15px; }
.wz-spec dt { color: var(--wz-gedempt); font-weight: 600; }
.wz-spec dd { margin: 0; font-weight: 700; text-align: right; }
.wz-pdp-links-lijst { display: flex; flex-direction: column; padding-top: 8px; }
.wz-pdp-linkrij { height: 48px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--wz-lijn); font-weight: 800; font-size: 15px; color: var(--wz-zwart); }
.wz-pdp-hulp { display: flex; flex-direction: column; gap: 22px; padding-top: 28px; }
.wz-pdp-ookbekeken { display: flex; flex-direction: column; gap: 10px; }
.wz-ookbekeken { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.wz-ookbekeken .wz-lkaart-foto { height: 130px; }
@media (min-width: 1024px) {
	.wz-pdp-info { display: grid; grid-template-columns: 1.2fr 1fr; gap: 48px; align-items: start; padding-top: 40px; }
	.wz-kern { grid-template-columns: repeat(3, 1fr); gap: 10px; }
	.wz-kern-tegel { padding: 14px; }
	.wz-kern-waarde { font-size: 16px; }
	.wz-specs summary { pointer-events: none; }
	.wz-specs summary .wz-ico { display: none; }
	.wz-pdp-hulp { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; padding-top: 40px; }
	.wz-ookbekeken { gap: 12px; }
}

/* Plakbalk mobiel */
.wz-plakbalk { position: fixed; left: 0; right: 0; bottom: 0; z-index: 90; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 16px calc(10px + env(safe-area-inset-bottom)); background: var(--wz-wit); border-top: 1px solid var(--wz-lijn); box-shadow: 0 -6px 18px rgba(17, 17, 17, 0.08); }
.wz-plakbalk-prijs { display: flex; flex-direction: column; min-width: 0; }
.wz-plakbalk-naam { font-size: 12px; color: var(--wz-gedempt); font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.wz-plakbalk-nu { font-size: 20px; font-weight: 800; }
.wz-plakbalk .wz-knop { min-height: 48px; flex: none; }
.wz-koop-formulier form.cart > .wz-pdp-keuze, .wz-koop-formulier form.cart > .wz-levering, .wz-koop-formulier form.cart > .wz-maat-noot { flex-basis: 100%; }
.wz-koop-formulier .single_variation_wrap { margin-top: 0; }
.wz-maat-noot { font-size: 12px; color: var(--wz-gedempt); font-weight: 600; }

/* YITH Product Add-ons (Rijklaar maken, accessoires) compact in het koopblok */
.wz-koop-formulier #yith-wapo-container, .wz-koop-formulier .yith-wapo-container { flex-basis: 100%; display: flex; flex-direction: column; gap: 12px; margin: 0; }
.wz-koop-formulier .yith-wapo-block { display: flex; flex-direction: column; gap: 12px; margin: 0; }
.wz-koop-formulier .yith-wapo-addon { margin: 0 !important; padding: 0 !important; border: 0 !important; background: none !important; }
.wz-koop-formulier .wapo-addon-title { margin: 0 0 8px !important; font: 800 14px Manrope, system-ui, sans-serif !important; color: var(--wz-zwart) !important; }
.wz-koop-formulier .yith-wapo-addon .options { display: flex !important; flex-direction: column; gap: 8px; }
.wz-koop-formulier .yith-wapo-option { margin: 0 !important; padding: 8px 12px !important; border: 1px solid var(--wz-lijn); border-radius: var(--wz-r); background: var(--wz-wit); width: 100% !important; }
.wz-koop-formulier .yith-wapo-option.selected { border-color: var(--wz-blauw); background: var(--wz-blauw-licht); }
.wz-koop-formulier .yith-wapo-option .label { display: block !important; margin: 0 !important; }
.wz-koop-formulier .yith-wapo-option .option-container { display: flex !important; flex-direction: row !important; align-items: center; gap: 10px; }
.wz-koop-formulier .yith-wapo-option .image-container { flex: none; width: 56px; height: 44px; margin: 0 !important; display: flex; align-items: center; justify-content: center; }
.wz-koop-formulier .yith-wapo-option .image-container img { max-width: 56px !important; max-height: 44px !important; width: auto !important; height: auto !important; object-fit: contain; }
.wz-koop-formulier .yith-wapo-option .checkbox-button-container { display: flex; align-items: center; gap: 8px; margin: 0 !important; flex: 1; }
.wz-koop-formulier .yith-wapo-option label { font-size: 14px; font-weight: 700; line-height: 1.3; cursor: pointer; }
.wz-koop-formulier .yith-wapo-option .option-price { font-weight: 600; color: var(--wz-tekst); }
.wz-koop-formulier .yith-wapo-option input[type="checkbox"] { width: 20px; height: 20px; accent-color: var(--wz-blauw); margin: 0; }
.wz-koop-formulier .yith-wapo-option p.description { margin: 2px 0 0 66px; font-size: 12px; color: var(--wz-gedempt); font-weight: 600; }
.wz-koop-formulier #wapo-total-price-table, .wz-koop-formulier .wapo-total-price-table { flex-basis: 100%; font-size: 14px; margin: 0; }
.wz-koop-formulier #wapo-total-price-table table { width: 100%; border-collapse: collapse; }
.wz-koop-formulier #wapo-total-price-table th, .wz-koop-formulier #wapo-total-price-table td { padding: 4px 0; text-align: left; font-weight: 600; border: 0; }
.wz-koop-formulier #wapo-total-price-table td:last-child { text-align: right; font-weight: 800; }

/* Correcties na de controle van de categoriepagina */
li.product.outofstock .wz-lkaart-foto img { opacity: 0.55; }
html:not(.wz-js) .wz-filters-voet { display: block; padding-top: 12px; }
.wz-verder-rij { padding-top: 6px; padding-bottom: 6px; }
@media (max-width: 1023.98px) {
	.wz-optie { min-height: 44px; }
	.wz-filters-wis, .wz-opties-meer { min-height: 44px; display: inline-flex; align-items: center; }
	.wz-fchip { min-height: 44px; }
	.wz-fchips .wz-link { display: inline-flex; align-items: center; min-height: 44px; }
	.wz-kruimel a { padding: 12px 0; margin: -12px 0; } /* groter tikvlak zonder dat de regel hoger wordt */
	.wz-mbalk .wz-sorteer select { font-size: 13px; padding: 0 22px 0 30px; background-position: right 6px center; }
	.wz-mbalk .wz-sorteer > .wz-ico { left: 9px; width: 16px; height: 16px; }
	.wz-verder-tegel { width: 128px; }
}
@media (min-width: 1024px) {
	.wz-filters { max-height: calc(100vh - 32px); overflow-y: auto; overscroll-behavior: contain; }
}
.wz-koop-formulier .reset_variations { display: none !important; }
.wz-maat-noot a { color: var(--wz-blauw); text-decoration: underline; font-weight: 700; }
.wz-wapo-kop { width: 100%; min-height: 48px; display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 0 14px; border: 1px solid var(--wz-lijn); border-radius: var(--wz-r); background: var(--wz-wit); font: 800 14px Manrope, system-ui, sans-serif; color: var(--wz-zwart); cursor: pointer; text-align: left; }
.wz-wapo-kop[aria-expanded="true"] .wz-ico { transform: rotate(180deg); }
.wz-wapo-kop span { font-weight: 600; color: var(--wz-tekst); }
.wz-koop-formulier #wapo-total-price-table th, .wz-koop-formulier #wapo-total-price-table td { font-size: 14px !important; line-height: 1.4 !important; padding: 2px 0 !important; }
.wz-koop-formulier #wapo-total-price-table tr:last-child th, .wz-koop-formulier #wapo-total-price-table tr:last-child td { font-weight: 800 !important; font-size: 15px !important; }
.wz-koop-formulier button.single_add_to_cart_button.button.alt { background: var(--wz-blauw) !important; color: var(--wz-wit) !important; border-radius: var(--wz-r-m) !important; font: 800 17px Manrope, system-ui, sans-serif !important; height: 56px; padding: 0 20px !important; }
.wz-koop-formulier button.single_add_to_cart_button.button.alt:hover { background: var(--wz-blauw-donker) !important; }
.wz-koop-formulier button.single_add_to_cart_button.button.alt.disabled { opacity: 0.55; }

/* ============ Winkelwagen (borden Winkelwagen-desktop en -mobiel) ============ */
.wz-pagina--winkel { padding-top: 16px; }
.wz-woo .woocommerce-notices-wrapper:empty { display: none; }
.wz-wagen { display: flex; flex-direction: column; gap: 16px; }
.wz-wagen-links, .wz-wagen-form { display: flex; flex-direction: column; gap: 12px; min-width: 0; }
.wz-wagen-kop { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.wz-wagen-kop .wz-h1 { font-size: 26px; letter-spacing: -0.6px; }
.wz-wagen-telling { font-size: 14px; color: var(--wz-gedempt); font-weight: 600; }
.wz-wagen-bezorg { display: flex; align-items: flex-start; gap: 8px; padding: 10px 12px; border-radius: var(--wz-r); background: var(--wz-blauw-licht); font-size: 13px; font-weight: 700; color: var(--wz-blauw-donker); line-height: 1.35; }
.wz-wagen-items { display: flex; flex-direction: column; border-top: 1px solid var(--wz-lijn); }
.wz-wagen-item { display: flex; gap: 12px; padding: 14px 0; border-bottom: 1px solid var(--wz-lijn); }
.wz-wagen-foto { width: 96px; height: 72px; flex: none; border-radius: var(--wz-r); border: 1px solid var(--wz-lijn); background: var(--wz-wit); display: flex; align-items: center; justify-content: center; padding: 4px; }
.wz-wagen-foto a { display: flex; width: 100%; height: 100%; align-items: center; justify-content: center; }
.wz-wagen-tekst { flex: 1; display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.wz-wagen-naam { font-size: 15px; font-weight: 800; line-height: 1.25; }
.wz-wagen-naam a { color: var(--wz-zwart); }
.wz-wagen-sub { font-size: 13px; color: var(--wz-gedempt); font-weight: 600; }
.wz-wagen-tekst dl.variation { margin: 0; display: grid; grid-template-columns: auto 1fr; gap: 2px 6px; font-size: 13px; color: var(--wz-tekst); }
.wz-wagen-tekst dl.variation dt { font-weight: 700; }
.wz-wagen-tekst dl.variation dd { margin: 0; }
.wz-wagen-tekst dl.variation p { margin: 0; }
.wz-wagen-rij { display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap; }
.wz-wagen .quantity { height: 48px; width: 128px; display: inline-flex; align-items: center; justify-content: space-between; border-radius: var(--wz-r); border: 2px solid var(--wz-lijn); padding: 0 2px; }
.wz-wagen .quantity input.qty { width: 32px; border: 0; text-align: center; font: 800 15px Manrope, system-ui, sans-serif; -moz-appearance: textfield; background: transparent; }
.wz-wagen .quantity input.qty::-webkit-inner-spin-button, .wz-wagen .quantity input.qty::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
.wz-wagen .wz-aantal-knop { width: 44px; height: 44px; flex: none; }
.wz-wagen-prijs { display: flex; align-items: baseline; gap: 6px; }
.wz-wagen-nu { font-size: 18px; font-weight: 800; }
.wz-wagen-van { font-size: 12px; color: var(--wz-gedempt); font-weight: 600; }
.wz-wagen-weg a.remove { display: inline-flex !important; align-items: center; gap: 6px; width: auto !important; height: 44px !important; font: 700 13px Manrope, system-ui, sans-serif !important; color: var(--wz-tekst) !important; text-decoration: underline; background: none !important; border-radius: 0 !important; }
.wz-wagen-acties { padding: 8px 0 0; }
.wz-js .wz-wagen-bijwerken { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.wz-wagen-verder { display: inline-flex; align-items: center; min-height: 44px; }
.wz-coupon summary { list-style: none; display: inline-flex; align-items: center; min-height: 44px; font-size: 13px; font-weight: 700; color: var(--wz-tekst); text-decoration: underline; cursor: pointer; }
.wz-coupon summary::-webkit-details-marker { display: none; }
.wz-coupon-veld { display: flex; gap: 8px; padding-top: 4px; }
.wz-coupon-veld input { flex: 1; min-width: 0; height: 48px; border: 2px solid var(--wz-lijn); border-radius: var(--wz-r); padding: 0 14px; font: 600 16px Manrope, system-ui, sans-serif; }
.wz-coupon-veld .wz-knop { min-height: 48px; }
.wz-wagen-extra { display: flex; flex-direction: column; gap: 10px; padding-top: 10px; }
.wz-wagen-extra-rij { gap: 10px; }
.wz-extra { flex: none; width: 180px; display: flex; flex-direction: column; border: 1px solid var(--wz-lijn); border-radius: var(--wz-r-m); overflow: hidden; background: var(--wz-wit); }
.wz-extra-foto { height: 110px; display: flex; align-items: center; justify-content: center; padding: 10px; background: var(--wz-wit); }
.wz-extra-tekst { display: flex; flex-direction: column; gap: 6px; padding: 10px 12px 12px; flex: 1; }
.wz-extra-naam { font-size: 14px; font-weight: 800; color: var(--wz-zwart); line-height: 1.25; }
.wz-extra-prijs { font-size: 16px; font-weight: 800; }
.wz-extra .wz-pkaart-knop { margin-top: auto; min-height: 44px; background: var(--wz-wit); color: var(--wz-blauw); border: 2px solid var(--wz-blauw); font-size: 13px; border-radius: var(--wz-r-s); }
.wz-extra .wz-pkaart-knop:hover { background: var(--wz-blauw-licht); color: var(--wz-blauw); }

/* Overzicht (winkelwagen en kassa) */
.wz-overzicht { display: flex; flex-direction: column; gap: 12px; }
.wz-overzicht-blok { display: flex; flex-direction: column; gap: 8px; padding: 14px; border-radius: var(--wz-r-m); background: var(--wz-grijs-licht); }
.wz-overzicht-tabel { width: 100%; border-collapse: collapse; }
.wz-overzicht-tabel th, .wz-overzicht-tabel td { padding: 4px 0; font-size: 14px; font-weight: 600; color: var(--wz-tekst); text-align: left; vertical-align: top; border: 0; background: none; }
.wz-overzicht-tabel td { text-align: right; }
.wz-overzicht-tabel tr.order-total th, .wz-overzicht-tabel tr.order-total td { padding-top: 10px; border-top: 1px solid var(--wz-lijn); font-size: 16px; font-weight: 800; color: var(--wz-zwart); }
.wz-overzicht-tabel tr.order-total td { font-size: 22px; }
.wz-overzicht-tabel tr.order-total td small, .wz-overzicht-tabel .includes_tax { display: block; font-size: 12px; font-weight: 600; color: var(--wz-gedempt); }
.wz-overzicht-tabel ul#shipping_method { list-style: none; margin: 0; padding: 0; text-align: left; }
.wz-overzicht-tabel ul#shipping_method li { margin: 0 0 4px; }
.wz-gratis { color: var(--wz-groen); font-weight: 800; }
.wz-overzicht-noot { font-size: 12px; color: var(--wz-gedempt); font-weight: 600; }
.wz-afrekenknop { min-height: 56px; font-size: 17px; border-radius: var(--wz-r-m); gap: 10px; }
.wc-proceed-to-checkout { padding: 0; }
.wz-betaal--wagen { justify-content: center; }
.wz-betaal--wagen .wz-betaal-kop { width: auto; text-transform: none; letter-spacing: 0; font-size: 13px; margin-right: 4px; }
.wz-betaal--wagen .wz-betaal-badge { height: 30px; font-size: 12px; }
.wz-wagen-usps { grid-template-columns: 1fr 1fr; }
.wz-wagen-usps .wz-pdp-usp { font-size: 13px; }
@media (min-width: 1024px) {
	.wz-wagen { display: grid; grid-template-columns: 1fr 400px; gap: 40px; align-items: start; }
	.wz-wagen-kop .wz-h1 { font-size: 32px; letter-spacing: -0.8px; }
	.wz-wagen-bezorg { font-size: 14px; padding: 12px 14px; align-items: center; }
	.wz-wagen-foto { width: 140px; height: 104px; padding: 6px; }
	.wz-wagen-naam { font-size: 17px; }
	.wz-wagen-extra-rij { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; overflow: visible; }
	.wz-extra { width: auto; }
	.wz-overzicht { padding: 22px; border-radius: 16px; border: 1px solid var(--wz-lijn); background: var(--wz-wit); }
	.wz-betaal--wagen { justify-content: flex-start; }
	.wz-wagen-usps { grid-template-columns: 1fr; padding-top: 6px; border-top: 1px solid var(--wz-lijn); }
	.wz-wagen-usps .wz-pdp-usp { font-size: 14px; }
}

/* ============ Afrekenen (borden Kassa-desktop en -mobiel) ============ */
.wz-kassakop { border-bottom: 1px solid var(--wz-lijn); background: var(--wz-wit); }
.wz-kassakop-rij { height: 60px; display: flex; align-items: center; justify-content: space-between; }
.wz-kassakop .wz-logo, .wz-kassakop .wz-logo-img { height: 44px; }
.wz-kassakop-rechts { display: flex; align-items: center; gap: 24px; font-size: 13px; font-weight: 700; }
.wz-kassakop-veilig { display: flex; align-items: center; gap: 6px; color: var(--wz-groen); }
.wz-kassakop-hulp { display: flex; align-items: center; gap: 6px; color: var(--wz-zwart); }
.wz-kassavoet { margin-top: 40px; border-top: 1px solid var(--wz-lijn); }
.wz-kassavoet-rij { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 18px; padding-top: 12px; padding-bottom: 18px; font-size: 13px; color: var(--wz-tekst); font-weight: 600; }
.wz-kassavoet-rij a { color: var(--wz-tekst); text-decoration: underline; display: inline-flex; align-items: center; min-height: 44px; }
.wz-kassavoet-bedrijf { margin-left: auto; }
.wz-kassa { display: flex; flex-direction: column; gap: 16px; }
.wz-kassa-links { display: flex; flex-direction: column; gap: 14px; min-width: 0; }
.wz-kassa-kop { display: flex; flex-direction: column; gap: 6px; }
.wz-kassa-kop .wz-h1 { font-size: 24px; letter-spacing: -0.6px; }
.wz-kassa-sub { font-size: 13px; color: var(--wz-gedempt); font-weight: 600; }
.wz-kassa-mini summary { list-style: none; min-height: 48px; display: flex; align-items: center; justify-content: space-between; font-weight: 800; font-size: 15px; cursor: pointer; }
.wz-kassa-mini summary::-webkit-details-marker { display: none; }
.wz-kassa-mini-totaal { display: flex; align-items: center; gap: 8px; }
.wz-kassa-mini[open] .wz-kassa-mini-totaal .wz-ico { transform: rotate(180deg); }
.wz-kassa-stappen { display: flex; flex-direction: column; gap: 14px; }
.wz-stap { display: flex; flex-direction: column; gap: 12px; padding: 18px 16px; border-radius: var(--wz-r-l); border: 1px solid var(--wz-lijn); background: var(--wz-wit); }
.wz-stap-kop { display: flex; align-items: center; gap: 10px; font-size: 18px; font-weight: 800; }
.wz-stap-nr { width: 28px; height: 28px; border-radius: 50%; background: var(--wz-blauw); color: var(--wz-wit); font-size: 14px; font-weight: 800; display: inline-flex; align-items: center; justify-content: center; flex: none; }
.wz-velden { display: flex; flex-wrap: wrap; gap: 12px; max-width: 640px; }
.wz-kassa .form-row { width: 100%; margin: 0 !important; padding: 0 !important; display: flex; flex-direction: column; gap: 5px; float: none !important; }
.wz-kassa .form-row-first, .wz-kassa .form-row-last { width: calc(50% - 6px); }
.wz-kassa .form-row label { font-size: 13px; font-weight: 700; color: var(--wz-zwart); line-height: 1.3; }
.wz-kassa .form-row .required { color: var(--wz-rood); text-decoration: none; }
.wz-kassa .form-row .optional { color: var(--wz-gedempt); font-weight: 600; }
.wz-kassa .form-row input.input-text, .wz-kassa .form-row select, .wz-kassa .form-row textarea { width: 100%; min-height: 48px; border: 2px solid var(--wz-lijn); border-radius: var(--wz-r); padding: 0 14px; font: 600 16px Manrope, system-ui, sans-serif; color: var(--wz-zwart); background: var(--wz-wit); }
.wz-kassa .form-row textarea { padding: 12px 14px; min-height: 96px; }
.wz-kassa .form-row input.input-text:focus, .wz-kassa .form-row select:focus, .wz-kassa .form-row textarea:focus { border-color: var(--wz-blauw); outline: none; box-shadow: 0 0 0 3px var(--wz-blauw-rand); }
.wz-kassa .form-row.woocommerce-invalid input.input-text, .wz-kassa .form-row.woocommerce-invalid select { border-color: var(--wz-rood); }
.wz-kassa .form-row .description { font-size: 12px; color: var(--wz-gedempt); font-weight: 600; background: none !important; padding: 0 !important; margin: 0 !important; position: static !important; display: block !important; }
.wz-kassa .form-row .description::before { content: none !important; }
.wz-kassa .select2-container .select2-selection--single { height: 48px; border: 2px solid var(--wz-lijn); border-radius: var(--wz-r); }
.wz-kassa .select2-container .select2-selection--single .select2-selection__rendered { line-height: 44px; padding-left: 14px; font: 600 16px Manrope, system-ui, sans-serif; }
.wz-kassa .select2-container .select2-selection--single .select2-selection__arrow { height: 44px; }
.wz-kassa-noot { margin: 0; font-size: 13px; color: var(--wz-tekst); font-weight: 600; }
.wz-stap-extra { display: flex; flex-direction: column; gap: 12px; max-width: 640px; }
.wz-keuzes { display: flex; flex-direction: column; gap: 10px; }
.wz-keuze { position: relative; display: flex; align-items: center; gap: 12px; padding: 12px 14px; border-radius: var(--wz-r-m); background: var(--wz-wit); border: 2px solid var(--wz-lijn); cursor: pointer; }
.wz-keuze input { position: absolute; opacity: 0; width: 22px; height: 22px; left: 14px; margin: 0; }
.wz-keuze-bol { width: 22px; height: 22px; border-radius: 50%; border: 2px solid #9CA3AF; flex: none; display: inline-flex; align-items: center; justify-content: center; }
.wz-keuze-tekst { flex: 1; display: flex; flex-direction: column; gap: 2px; }
.wz-keuze-naam { font-size: 15px; font-weight: 800; }
.wz-keuze-prijs { font-size: 14px; font-weight: 800; }
.wz-keuze.is-aan, .wz-keuze:has(input:checked) { background: var(--wz-blauw-licht); border-color: var(--wz-blauw); }
.wz-keuze:has(input:checked) .wz-keuze-bol, .wz-keuze.is-aan .wz-keuze-bol { border-color: var(--wz-blauw); }
.wz-keuze:has(input:checked) .wz-keuze-bol::after, .wz-keuze.is-aan .wz-keuze-bol::after { content: ""; width: 12px; height: 12px; border-radius: 50%; background: var(--wz-blauw); }
.wz-keuze:has(input:focus-visible) { outline: 3px solid var(--wz-blauw); outline-offset: 2px; }
.wz-kassa .woocommerce-shipping-fields h3, .wz-kassa .woocommerce-additional-fields h3 { font-size: 15px; font-weight: 800; margin: 4px 0 8px; }
.wz-kassa #ship-to-different-address label { display: flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 700; min-height: 44px; }
.wz-kassa input[type="checkbox"] { width: 20px; height: 20px; accent-color: var(--wz-blauw); }
/* Betalen: het blok van WooCommerce als keuzekaarten */
.wz-kassa #payment { background: none; border-radius: 0; }
.wz-kassa #payment ul.payment_methods { list-style: none; margin: 0; padding: 0; border: 0; display: flex; flex-direction: column; gap: 10px; }
.wz-kassa #payment ul.payment_methods li.wc_payment_method { margin: 0; padding: 12px 14px; border-radius: var(--wz-r-m); border: 2px solid var(--wz-lijn); background: var(--wz-wit); }
.wz-kassa #payment ul.payment_methods li.wc_payment_method:has(input:checked) { background: var(--wz-blauw-licht); border-color: var(--wz-blauw); }
.wz-kassa #payment ul.payment_methods li > input { width: 20px; height: 20px; accent-color: var(--wz-blauw); margin: 0 8px 0 0; vertical-align: middle; }
.wz-kassa #payment ul.payment_methods li > label { font-size: 15px; font-weight: 800; cursor: pointer; }
.wz-kassa #payment ul.payment_methods li img { max-height: 24px; width: auto; display: inline-block; vertical-align: middle; margin-left: 6px; }
.wz-kassa #payment div.payment_box { margin: 10px 0 0; padding: 0; background: none; font-size: 13px; color: var(--wz-tekst); }
.wz-kassa #payment div.payment_box::before { content: none; }
.wz-kassa #payment .place-order { margin: 14px 0 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.wz-kassa #place_order { width: 100%; height: 58px; border: 0; border-radius: var(--wz-r-m); background: var(--wz-blauw) !important; color: var(--wz-wit) !important; font: 800 17px Manrope, system-ui, sans-serif !important; cursor: pointer; float: none; }
.wz-kassa #place_order:hover { background: var(--wz-blauw-donker) !important; }
.wz-kassa .woocommerce-terms-and-conditions-wrapper { font-size: 13px; color: var(--wz-tekst); }
.wz-kassa .woocommerce-privacy-policy-text p { margin: 0; font-size: 12px; }
.wz-kassa-zij { display: flex; flex-direction: column; gap: 12px; }
.wz-kassa-zij > .wz-h3, .wz-kassa-zij-overzicht { display: none; }
.wz-kassa-item { display: flex; gap: 12px; align-items: center; }
.wz-kassa-item-foto { width: 72px; height: 54px; flex: none; border-radius: var(--wz-r-s); border: 1px solid var(--wz-lijn); background: var(--wz-wit); display: flex; align-items: center; justify-content: center; padding: 4px; }
.wz-kassa-item-tekst { flex: 1; display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.wz-kassa-item-naam { font-size: 14px; font-weight: 800; line-height: 1.25; }
.wz-kassa-item-sub, .wz-kassa-item-tekst dl.variation { font-size: 12px; color: var(--wz-gedempt); font-weight: 600; margin: 0; }
.wz-kassa-item-tekst dl.variation dd, .wz-kassa-item-tekst dl.variation p { margin: 0; display: inline; }
.wz-kassa-item-prijs { font-size: 15px; font-weight: 800; white-space: nowrap; }
.wz-kassa-akkoord { font-size: 12px; color: var(--wz-tekst); font-weight: 600; line-height: 1.45; }
.wz-kassa-akkoord a, .wz-bedankt-vragen a { color: var(--wz-blauw); text-decoration: underline; }
.wz-kassa-vragen { display: flex; align-items: center; gap: 8px; min-height: 44px; font-size: 13px; font-weight: 700; color: var(--wz-zwart); }
.wz-kassa-melding { font-size: 14px; color: var(--wz-tekst); margin: 0; }
@media (min-width: 1024px) {
	.wz-kassakop-rij { height: 76px; }
	.wz-kassakop .wz-logo, .wz-kassakop .wz-logo-img { height: 56px; }
	.wz-kassakop-rechts { font-size: 14px; }
	.wz-kassa { display: grid; grid-template-columns: 1fr 420px; gap: 40px; align-items: start; padding-top: 12px; }
	.wz-kassa-kop .wz-h1 { font-size: 32px; letter-spacing: -0.8px; }
	.wz-kassa-sub { font-size: 14px; }
	.wz-stap { padding: 24px; border-radius: 14px; }
	.wz-stap-kop { font-size: 20px; }
	.wz-velden--stap1 { max-width: 520px; }
	.wz-kassa-zij { position: sticky; top: 16px; padding: 22px; border-radius: 16px; border: 1px solid var(--wz-lijn); background: var(--wz-wit); }
	.wz-kassa-zij > .wz-h3, .wz-kassa-zij-overzicht { display: block; }
	.wz-kassa-proxy { min-height: 58px; font-size: 17px; border-radius: var(--wz-r-m); }
	/* Op desktop staat de bestelknop rechts; de knop van WooCommerce in stap 3 blijft voor betaalmethoden die hem nodig hebben, maar is visueel verborgen zolang het proxy-knopje werkt. */
	.wz-js .wz-kassa #payment #place_order.wz-verborgen { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
	/* Foutmeldingen van WooCommerce (checkout.js zet ze bovenaan in het formulier) over de volle breedte, anders schuift het raster. */
	.wz-kassa > .woocommerce-NoticeGroup, .wz-kassa > .woocommerce-error, .wz-kassa > .woocommerce-message, .wz-kassa > .woocommerce-info { grid-column: 1 / -1; }
}
/* Zonder JavaScript doet de knop rechts niets; dan alleen de knop van WooCommerce. */
html:not(.wz-js) .wz-kassa-proxy, .wz-kassa-proxy[hidden] { display: none !important; }
.wz-kassa-item-meta { display: block; font-size: 13px; color: var(--wz-gedempt); font-weight: 600; }
.wz-kassa-item-meta p { display: inline; margin: 0; }

/* ============ Bedankt (bord Bedankt-mobiel) ============ */
.wz-bedankt { display: flex; flex-direction: column; gap: 14px; max-width: 640px; }
.wz-bedankt-vink { width: 56px; height: 56px; border-radius: 50%; background: var(--wz-groen); color: var(--wz-wit); display: flex; align-items: center; justify-content: center; }
.wz-bedankt-kop { display: flex; flex-direction: column; gap: 6px; }
.wz-bedankt-kop .wz-h1 { font-size: 26px; letter-spacing: -0.6px; }
.wz-bedankt-sub { margin: 0; font-size: 14px; color: var(--wz-tekst); font-weight: 600; line-height: 1.45; }
.wz-bedankt-stappen { display: flex; flex-direction: column; gap: 10px; padding: 14px; border-radius: var(--wz-r-m); background: var(--wz-blauw-licht); }
.wz-bedankt-stappen-kop { font-size: 14px; font-weight: 800; color: var(--wz-blauw-donker); }
.wz-bedankt-stap { display: flex; gap: 10px; font-size: 14px; font-weight: 600; line-height: 1.4; }
.wz-bedankt-stap .wz-stap-nr { width: 24px; height: 24px; font-size: 12px; }
.wz-bedankt-vragen { margin: 0; display: flex; align-items: center; gap: 10px; padding: 12px 14px; border-radius: var(--wz-r-m); background: var(--wz-grijs-licht); font-size: 13px; font-weight: 700; }
.wz-bedankt-terug { display: flex; align-items: center; justify-content: center; min-height: 48px; font-size: 15px; }

/* Correcties na de controle van de productpagina */
.wz-koop-formulier li.variable-item:focus-visible { outline: 3px solid var(--wz-blauw) !important; outline-offset: 2px; }
.wz-koop-formulier .woo-selected-variation-item-name { display: none !important; }
.wz-koop-formulier .wz-maatkop { display: flex !important; justify-content: space-between; align-items: baseline; gap: 8px; }
.wz-koop-formulier .wz-maatkop a { font-size: 13px; font-weight: 700; color: var(--wz-blauw); text-decoration: underline; padding: 12px 0; margin: -12px 0; }
/* Extra's met meer dan één keuze zijn al ingeklapt voordat JavaScript klaar is (geen verspringing). */
.wz-js .wz-koop-formulier .yith-wapo-addon:has(.yith-wapo-option + .yith-wapo-option):not(.wz-open):not(:has(input:checked)):not(:has([required])) .options-container { display: none; }
.wz-js .wz-koop-formulier .yith-wapo-addon:has(.yith-wapo-option + .yith-wapo-option) .wapo-addon-title { visibility: hidden; height: 0; margin: 0 !important; overflow: hidden; }
@media (max-width: 1023.98px) {
	.wz-koop-formulier .quantity { display: none !important; }
	.wz-koop-formulier .single_add_to_cart_button { width: 100%; }
}
@media (min-width: 1024px) {
	.wz-koop-formulier .quantity { width: 130px; }
	.wz-koop-formulier .wz-aantal-knop { width: 44px; }
}

/* WooCommerce-standaardstijlen (woocommerce-general) in winkelwagen en kassa terugzetten naar het ontwerp */
.woocommerce .wz-overzicht table.shop_table, .woocommerce .wz-overzicht-blok table, .woocommerce table.wz-overzicht-tabel { border: 0 !important; border-radius: 0 !important; margin: 0 !important; }
.woocommerce .wz-overzicht table.shop_table th, .woocommerce .wz-overzicht table.shop_table td, .woocommerce table.wz-overzicht-tabel th, .woocommerce table.wz-overzicht-tabel td { border: 0 !important; padding: 4px 0 !important; }
.woocommerce .wz-overzicht tr.order-total th, .woocommerce .wz-overzicht tr.order-total td, .woocommerce table.wz-overzicht-tabel tr.order-total th, .woocommerce table.wz-overzicht-tabel tr.order-total td { border-top: 1px solid var(--wz-lijn) !important; padding-top: 10px !important; }
.wz-overzicht .woocommerce-shipping-destination, .wz-overzicht .woocommerce-shipping-calculator { display: none; }
.woocommerce a.button.alt.wz-afrekenknop, .woocommerce .wz-afrekenknop { display: flex !important; align-items: center; justify-content: center; gap: 10px; min-height: 56px; padding: 0 20px !important; background: var(--wz-blauw) !important; color: var(--wz-wit) !important; border-radius: var(--wz-r-m) !important; font: 800 17px Manrope, system-ui, sans-serif !important; margin: 0 !important; }
.woocommerce a.button.alt.wz-afrekenknop:hover { background: var(--wz-blauw-donker) !important; }
.woocommerce .wz-wagen a.remove:hover { background: none !important; color: var(--wz-rood) !important; }
.woocommerce .wz-extra a.button, .woocommerce .wz-pkaart a.button { display: inline-flex !important; align-items: center; justify-content: center; padding: 0 12px !important; }
.woocommerce .wz-coupon-veld button.button, .woocommerce .wz-kassa button.button:not(#place_order) { background: var(--wz-wit); color: var(--wz-blauw); border: 2px solid var(--wz-blauw); border-radius: var(--wz-r); font: 800 14px Manrope, system-ui, sans-serif; padding: 0 16px; }

/* Mijn account (geen eigen bord in het ontwerp: zelfde velden, knoppen en kaarten als de kassa). */
.woocommerce-account .wz-woo { padding-bottom: 48px; }
.woocommerce-account .wz-woo > .woocommerce > .woocommerce-notices-wrapper { grid-column: 1 / -1; }
.woocommerce-account .wz-woo .col2-set { display: grid; gap: 16px; }
.woocommerce-account .wz-woo .col2-set::before, .woocommerce-account .wz-woo .col2-set::after { content: none; display: none; }
.woocommerce-account .wz-woo .col2-set > .u-column1, .woocommerce-account .wz-woo .col2-set > .u-column2 { width: auto !important; float: none !important; }
.woocommerce-account .wz-woo h2 { font-size: 22px; line-height: 1.25; margin: 0 0 12px; }
.woocommerce-account .wz-woo form.login, .woocommerce-account .wz-woo form.register, .woocommerce-account .wz-woo form.lost_reset_password { max-width: 480px; margin: 0; padding: 20px; border: 1px solid var(--wz-lijn) !important; border-radius: var(--wz-r-l) !important; display: flex; flex-direction: column; gap: 14px; }
.woocommerce-account .wz-woo .form-row { width: 100%; margin: 0 !important; padding: 0 !important; display: flex; flex-direction: column; gap: 5px; float: none !important; }
.woocommerce-account .wz-woo .form-row label:not(.woocommerce-form__label-for-checkbox) { font-size: 13px; font-weight: 700; color: var(--wz-zwart); line-height: 1.3; }
.woocommerce-account .wz-woo .form-row .required { color: var(--wz-rood); text-decoration: none; }
.woocommerce-account .wz-woo input.input-text, .woocommerce-account .wz-woo select { width: 100%; min-height: 48px; border: 2px solid var(--wz-lijn); border-radius: var(--wz-r); padding: 0 14px; font: 600 16px Manrope, system-ui, sans-serif; color: var(--wz-zwart); background: var(--wz-wit); }
.woocommerce-account .wz-woo input.input-text:focus, .woocommerce-account .wz-woo select:focus { border-color: var(--wz-blauw); outline: none; box-shadow: 0 0 0 3px var(--wz-blauw-rand); }
.woocommerce-account .wz-woo .password-input { display: block; position: relative; }
.woocommerce-account .wz-woo .woocommerce-form__label-for-checkbox { display: inline-flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 600; }
.woocommerce-account .wz-woo .woocommerce-form__input-checkbox { width: 20px; height: 20px; accent-color: var(--wz-blauw); }
.woocommerce-account .wz-woo .button { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 0 22px !important; border: 0; border-radius: var(--wz-r) !important; background: var(--wz-blauw) !important; color: var(--wz-wit) !important; font: 700 16px Manrope, system-ui, sans-serif !important; }
.woocommerce-account .wz-woo .button:hover { background: var(--wz-blauw-donker) !important; }
.woocommerce-account .wz-woo .lost_password a, .woocommerce-account .wz-woo .woocommerce-MyAccount-content a:not(.button) { color: var(--wz-blauw); font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 0; display: flex; gap: 8px; overflow-x: auto; scrollbar-width: none; }
.woocommerce-MyAccount-navigation li { flex: none; }
.woocommerce-MyAccount-navigation a { display: flex; align-items: center; min-height: 44px; padding: 0 14px; border-radius: 999px; border: 1px solid var(--wz-lijn); font-size: 15px; font-weight: 700; white-space: nowrap; }
.woocommerce-MyAccount-navigation .is-active a { background: var(--wz-blauw-licht); border-color: var(--wz-blauw-rand); color: var(--wz-blauw-donker); }
.woocommerce-MyAccount-content { margin-top: 20px; color: var(--wz-tekst); }
.woocommerce-MyAccount-content table { width: 100%; border-collapse: collapse; font-size: 15px; }
.woocommerce-MyAccount-content th, .woocommerce-MyAccount-content td { padding: 12px 8px; border: 0 !important; border-bottom: 1px solid var(--wz-lijn) !important; text-align: left; }
.woocommerce-MyAccount-content address { font-style: normal; padding: 16px; border-radius: var(--wz-r-l); background: var(--wz-grijs-licht); }
@media (min-width: 1024px) {
	.woocommerce-account .wz-woo .col2-set { grid-template-columns: 1fr 1fr; gap: 32px; }
	.woocommerce-account.logged-in .wz-woo > .woocommerce { display: grid; grid-template-columns: 240px 1fr; gap: 40px; align-items: start; }
	/* De clearfix van WooCommerce (::before en ::after) zou anders als rastercel meetellen. */
	.woocommerce-account.logged-in .wz-woo > .woocommerce::before, .woocommerce-account.logged-in .wz-woo > .woocommerce::after { content: none; display: none; }
	.woocommerce-MyAccount-navigation, .woocommerce-MyAccount-content { width: auto !important; float: none !important; margin-top: 0; }
	.woocommerce-MyAccount-navigation ul { flex-direction: column; gap: 4px; }
	.woocommerce-MyAccount-navigation a { border: 0; border-radius: var(--wz-r); }
}

/* ============ Informatiepagina's (geen eigen bord: bouwstenen van de winkel) ============ */
.wz-info { display: flex; flex-direction: column; gap: 28px; margin-top: 16px; }
.wz-tekst { max-width: 760px; color: var(--wz-tekst); font-size: 16px; line-height: 1.65; min-width: 0; }
.wz-tekst h2, .wz-tekst h3, .wz-tekst h4 { color: var(--wz-zwart); font-weight: 800; line-height: 1.25; letter-spacing: -0.3px; margin: 1.6em 0 0.5em; }
.wz-tekst h2 { font-size: 22px; }
.wz-tekst h3 { font-size: 18px; }
.wz-tekst h4 { font-size: 16px; }
.wz-tekst > :first-child, .wz-tekst > div:first-child > :first-child { margin-top: 0; }
.wz-tekst p { margin: 0 0 1em; }
.wz-tekst ul, .wz-tekst ol { margin: 0 0 1em; padding-left: 1.3em; }
.wz-tekst li { margin-bottom: 0.35em; }
.wz-tekst a { color: var(--wz-blauw); font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.wz-tekst a:hover { color: var(--wz-blauw-donker); }
.wz-tekst strong { color: var(--wz-zwart); }
.wz-tekst img { border-radius: var(--wz-r-l); margin: 8px 0 16px; }
.wz-tekst table { width: 100%; border-collapse: collapse; margin: 0 0 1.2em; font-size: 15px; display: block; overflow-x: auto; }
.wz-tekst th, .wz-tekst td { padding: 10px 12px; border-bottom: 1px solid var(--wz-lijn); text-align: left; white-space: nowrap; }
.wz-tekst th { color: var(--wz-zwart); background: var(--wz-grijs-licht); }
.wz-info-zij { display: flex; flex-direction: column; gap: 16px; }
.wz-info-zij-kop { font-size: 17px; font-weight: 800; margin: 0 0 8px; color: var(--wz-zwart); }
.wz-info-zij-kop a { color: inherit; }
.wz-info-nav { padding: 18px; border: 1px solid var(--wz-lijn); border-radius: var(--wz-r-l); }
.wz-info-nav ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; }
.wz-info-nav a { display: flex; align-items: center; min-height: 44px; padding: 0 12px; margin: 0 -12px; border-radius: var(--wz-r); font-size: 15px; font-weight: 700; }
.wz-info-nav a[aria-current="page"] { background: var(--wz-blauw-licht); color: var(--wz-blauw-donker); }
.wz-info-contact { padding: 18px; border-radius: var(--wz-r-l); background: var(--wz-blauw-licht); display: flex; flex-direction: column; gap: 6px; }
.wz-info-contact-regel { display: inline-flex; align-items: center; gap: 10px; min-height: 44px; font-weight: 800; color: var(--wz-blauw-donker); }
.wz-info-contact-regel svg { flex: none; }
.wz-info-contact-tijd { font-size: 14px; font-weight: 600; color: var(--wz-tekst); }
.wz-ks-intro { max-width: 640px; color: var(--wz-tekst); font-size: 16px; margin: 8px 0 20px; }
.wz-ks-onderwerpen { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr; gap: 10px; }
.wz-ks-kaart { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 64px; padding: 0 18px; border: 1px solid var(--wz-lijn); border-radius: var(--wz-r-l); font-size: 17px; font-weight: 800; background: var(--wz-wit); }
.wz-ks-kaart:hover { border-color: var(--wz-blauw-rand); background: var(--wz-blauw-licht); color: var(--wz-blauw-donker); }
.wz-ks-kaart svg { color: var(--wz-blauw); flex: none; }
.wz-ks-contact { margin-top: 20px; max-width: 520px; }
@media (min-width: 768px) {
	.wz-ks-onderwerpen { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 1024px) {
	.wz-info { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 56px; align-items: start; margin-top: 24px; }
	.wz-info-zij { position: sticky; top: 24px; }
	.wz-tekst h2 { font-size: 26px; }
	.wz-ks-onderwerpen { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
	.wz-ks-intro { font-size: 17px; }
}
/* Wachtwoord tonen (de opmaak van WooCommerce zelf wordt niet geladen). */
.woocommerce-account .wz-woo .password-input input { padding-right: 52px; }
.woocommerce-account .wz-woo .show-password-input { position: absolute; top: 2px; right: 2px; width: 44px; height: 44px; border: 0; padding: 0; border-radius: var(--wz-r); cursor: pointer; background: transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 24 24' fill='none' stroke='%234B5563' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 12s3.5-7 10-7 10 7 10 7-3.5 7-10 7S2 12 2 12z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E") center / 22px no-repeat; }
.woocommerce-account .wz-woo .show-password-input.display-password { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 24 24' fill='none' stroke='%230868B8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 12s3.5-7 10-7 10 7 10 7-3.5 7-10 7S2 12 2 12z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3Cpath d='M3 3l18 18'/%3E%3C/svg%3E"); }
.woocommerce-account .wz-woo .show-password-input::after { content: none; }
