/**
 * Groomzo v2 — utilitypagina's (cart-fallback / mijn account / zoeken /
 * 404, 14 sep 2026). Zelfde Atelier-taal als legal/faq: warm paper-vlak,
 * rustige centrumkolom, Fraunces-koppen met amber signatuurlijntje,
 * Instrument Sans body, pine links/knoppen. Woo-cart/account zijn skins
 * van de eigen Woo-markup (formulieren/logica onaangeroerd).
 *
 * Kit-afvangen (repo-bekende vallen): Elementor Kit zet h1–h4 sitewide op
 * Fredoka/70px, .elementor-kit-4 a op linkblauw, inputs navy, buttons op
 * navy-pill — family/size/color/linkkleuren/input-props/knoppen dus
 * !important. Vuurregel: body-contextklassen zijn hook-only; element-
 * selectors staan op main.gzv-utility.
 */

/* Astra-wrapper-neutralisatie (zelfde val als shop/faq/blog): op cart/account
   zijn #page en .ast-container boxed + flex-shrinkwrap (woocommerce-cart
   layout) — zonder dit is de kolom 901px breed en linksgeduwd, en ontsnapt
   de cart-body aan <main> zodat de footer eroverheen schuift. */
body.gzv-cartv2 #page,
body.gzv-accountv2 #page,
body.gzv-search #page,
body.gzv-404 #page,
body.gzv-author #page {
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
	display: block !important;
}

body.gzv-cartv2 .ast-container,
body.gzv-accountv2 .ast-container,
body.gzv-search .ast-container,
body.gzv-404 .ast-container,
body.gzv-author .ast-container {
	max-width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	display: block !important;
}

/* ---------------------------------------------------------------- basis */
main.gzv-utility {
	display: block !important;
	background: var(--gz-paper);
	color: var(--gz-body);
	font-family: var(--gz-sans);
	font-size: 1.02rem;
	line-height: 1.7;
	padding: clamp(48px, 8vw, 96px) 0 clamp(64px, 9vw, 120px);
	min-height: 52vh;
	/* Astra flex-container: zonder dit krimpt <main> naar content-breedte. */
	flex: 1 1 auto;
	width: 100%;
}

.gzv-utility__inner {
	max-width: 60rem;
	margin: 0 auto;
	padding: 0 var(--gz-gutter);
}

/* Cart + account: kolom op de site-rasterbreedte (1280) zodat de content
   links exact uitlijnt met de header-content-box (owner-review 14 sep).
   Zoeken (leeslijst) en 404 houden de rustige centrumkolom. */
.gzv-cartv2 .gzv-utility__inner,
.gzv-accountv2 .gzv-utility__inner {
	max-width: var(--gz-grid);
}

.gzv-404 .gzv-utility__inner {
	max-width: 40rem;
	text-align: center;
}

.gzv-utility__head {
	margin-bottom: 30px;
	border-bottom: 1px solid var(--gz-line);
	padding-bottom: 20px;
	position: relative;
}

.gzv-utility__head::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: -1px;
	width: 56px;
	height: 3px;
	background: var(--gz-amber);
	border-radius: 2px;
}

.gzv-utility__title {
	font-family: var(--gz-disp) !important;
	font-weight: 600;
	font-size: clamp(1.9rem, 4.2vw, 2.6rem) !important;
	line-height: 1.12;
	letter-spacing: -0.01em;
	color: var(--gz-ink) !important;
	margin: 0 0 6px;
}

.gzv-utility__eyebrow {
	font-family: var(--gz-sans) !important;
	font-size: 0.82rem;
	font-weight: 600;
	letter-spacing: .18em;
	color: var(--gz-amber);
	margin: 0 0 10px;
}

.gzv-utility__sub {
	color: var(--gz-muted);
	margin: 0;
	font-size: 1rem;
}

/* ---------------------------------------------------------------- knoppen */
.gzv-utility .gzv-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding: 13px 30px !important;
	border: 0;
	border-radius: 999px !important;
	background: var(--gz-pine) !important;
	color: var(--gz-ivory) !important;
	font: 600 15.5px/1.1 var(--gz-sans) !important;
	letter-spacing: .01em;
	text-align: center;
	text-decoration: none !important;
	cursor: pointer;
	transition: background-color .18s ease;
}

.gzv-utility .gzv-btn:hover,
.gzv-utility .gzv-btn:focus-visible {
	background: var(--gz-pine-deep) !important;
	color: var(--gz-ivory) !important;
}

.gzv-utility .gzv-btn:focus-visible {
	outline: 2px solid var(--gz-amber);
	outline-offset: 2px;
}

/* ---------------------------------------------------------------- 404 */
.gzv-404__ctas {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 18px;
	margin-top: 34px;
}

.gzv-404__ctas .gzv-btn {
	min-width: 230px;
}

.gzv-404 .gzv-utility__head::after {
	left: 50%;
	transform: translateX(-50%);
}

.gzv-404__faq {
	font-family: var(--gz-sans) !important;
	font-size: 0.95rem;
	font-weight: 600;
	color: var(--gz-pine) !important;
	text-decoration: none;
	min-height: 44px;
	display: inline-flex;
	align-items: center;
}

.gzv-404__faq:hover,
.gzv-404__faq:focus-visible {
	color: var(--gz-moss) !important;
	outline: 2px solid var(--gz-amber);
	outline-offset: 2px;
	border-radius: 4px;
}

@media (min-width: 640px) {
	.gzv-404__ctas {
		flex-direction: row;
		justify-content: center;
	}
}

/* ---------------------------------------------------------------- zoeken */
.gzv-search__form {
	display: flex;
	gap: 10px;
	margin-top: 18px;
	max-width: 34rem;
}

.gzv-search__input {
	flex: 1 1 auto;
	min-width: 0;
	background: #ffffff !important;
	border: 1px solid var(--gz-line) !important;
	border-radius: 999px !important;
	padding: 13px 20px !important;
	font-family: var(--gz-sans) !important;
	font-size: 0.95rem !important;
	color: var(--gz-ink) !important;
	line-height: 1.4 !important;
	height: auto !important;
	box-shadow: none !important;
}

.gzv-search__input:focus {
	outline: 2px solid var(--gz-amber) !important;
	outline-offset: 1px;
	border-color: var(--gz-pine) !important;
}

.gzv-search__input::placeholder {
	color: var(--gz-muted) !important;
	font-family: var(--gz-sans) !important;
}

.gzv-search__btn {
	border: 0;
	border-radius: 999px !important;
	background: var(--gz-pine) !important;
	color: var(--gz-ivory) !important;
	font: 600 14px/1 var(--gz-sans) !important;
	padding: 0 22px !important;
	min-height: 46px;
	cursor: pointer;
	transition: background-color .18s ease;
}

.gzv-search__btn:hover,
.gzv-search__btn:focus-visible {
	background: var(--gz-pine-deep) !important;
	color: var(--gz-ivory) !important;
}

.gzv-search__count {
	color: var(--gz-muted);
	font-size: 0.88rem;
	margin: 0 0 14px;
}

.gzv-search__list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.gzv-search__item {
	border-bottom: 1px solid var(--gz-line-soft);
}

.gzv-search__item:last-child {
	border-bottom: 0;
}

.gzv-search__link {
	display: flex;
	gap: 16px;
	align-items: flex-start;
	padding: 18px 4px;
	text-decoration: none !important;
	/* Kit-val (.elementor-kit-4 a = blauw op de link zelf): expliciet pine,
	   ook :visited — zichtbare kinderen dragen eigen kleuren, dit is de
	   structurele dichting tegen toekomstige onge-styde inhoud. */
	color: var(--gz-pine) !important;
}

.gzv-search__link:visited {
	color: var(--gz-pine) !important;
}

.gzv-search__link:hover .gzv-search__title,
.gzv-search__link:focus-visible .gzv-search__title {
	color: var(--gz-moss) !important;
}

.gzv-search__link:focus-visible {
	outline: 2px solid var(--gz-amber);
	outline-offset: 2px;
	border-radius: 6px;
}

.gzv-search__thumb {
	flex: 0 0 auto;
	width: 60px;
	height: 60px;
	border-radius: 10px;
	overflow: hidden;
	background: #ffffff;
	border: 1px solid var(--gz-line-soft);
	display: flex;
	align-items: center;
	justify-content: center;
}

.gzv-search__thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.gzv-search__txt {
	display: flex;
	flex-direction: column;
	gap: 3px;
	min-width: 0;
}

.gzv-search__type {
	font-size: 0.72rem;
	font-weight: 600;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--gz-muted);
}

.gzv-search__title {
	font-family: var(--gz-disp) !important;
	font-weight: 600;
	font-size: 1.18rem;
	line-height: 1.3;
	color: var(--gz-ink) !important;
}

.gzv-search__excerpt {
	font-size: 0.92rem;
	color: var(--gz-muted);
	line-height: 1.55;
}

.gzv-search__empty {
	color: var(--gz-muted);
	background: var(--gz-soft);
	border: 1px solid var(--gz-line-soft);
	border-radius: var(--gz-r-md);
	padding: 26px 24px;
	margin: 0;
}

.gzv-search__pagination {
	margin-top: 30px;
}

.gzv-search__pagination .nav-links {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	justify-content: center;
}

.gzv-search__pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 40px;
	height: 40px;
	padding: 0 12px !important;
	border: 1px solid var(--gz-line);
	border-radius: 999px !important;
	font: 500 14px/1 var(--gz-sans) !important;
	color: var(--gz-pine) !important;
	text-decoration: none !important;
	background: transparent;
}

.gzv-search__pagination a.page-numbers:hover,
.gzv-search__pagination a.page-numbers:focus-visible {
	background: var(--gz-moss-soft) !important;
	border-color: var(--gz-line-hover);
	outline: none;
}

.gzv-search__pagination .page-numbers.current {
	background: var(--gz-pine) !important;
	border-color: var(--gz-pine) !important;
	color: var(--gz-ivory) !important;
}

/* ------------------------------------------------- Woo-deel: cart-fallback */
.gzv-cartv2__body a,
.gzv-accountv2__body a {
	color: var(--gz-pine) !important;
}

.gzv-cartv2__body a:hover,
.gzv-accountv2__body a:hover {
	color: var(--gz-moss) !important;
}

/* Notices (legacy-pagina verstopte ze via inline CSS; hier gewoon zichtbaar). */
.gzv-cartv2__body .woocommerce-notices-wrapper .woocommerce-message,
.gzv-cartv2__body .woocommerce-notices-wrapper .woocommerce-info,
.gzv-cartv2__body .woocommerce-message,
.gzv-cartv2__body .woocommerce-error,
.gzv-cartv2__body .woocommerce-info {
	background: var(--gz-moss-soft) !important;
	border-top: 3px solid var(--gz-moss) !important;
	border-radius: var(--gz-r-sm);
	color: var(--gz-ink) !important;
	font-size: 0.95rem;
	box-shadow: none;
}

.gzv-cartv2__body .woocommerce-error {
	background: #F7E9E4 !important;
	border-top-color: #B45838 !important;
}

/* Woo's ::before-info-glyph weglaten: het is een iconfont-private-use teken
   dat als tofu-blokje renderde zodra het Woo-font niet laadt (KP-passive) —
   tekst-only notices zijn rustiger én font-onafhankelijk. */
.gzv-cartv2__body .woocommerce-info::before,
.gzv-cartv2__body .woocommerce-message::before,
.gzv-cartv2__body .woocommerce-error::before {
	content: none !important;
}

.gzv-cartv2__body .woocommerce-notices-wrapper .woocommerce-info,
.gzv-cartv2__body .woocommerce-info,
.gzv-cartv2__body .woocommerce-message {
	padding-left: 1.2em !important;
}

/* Cart-tabel als rustige witte kaart. */
.gzv-cartv2__body table.shop_table {
	background: var(--gz-card);
	border: 1px solid var(--gz-line-soft) !important;
	border-radius: var(--gz-r-md) !important;
	border-collapse: separate;
	border-spacing: 0;
	overflow: hidden;
	width: 100%;
	font-size: 0.95rem;
}

/* Magic Tier "(Bundle)"-suffix: op de checkout al weg (r4) — op de cart ook
   (owner-review 14 sep); de "Set: …"-meta blijft de bundelcontext vertellen. */
.gzv-cartv2__body .tier-bundle-indicator {
	display: none !important;
}

.gzv-cartv2__body table.shop_table th {
	font-family: var(--gz-sans) !important;
	font-size: 0.72rem !important;
	font-weight: 600;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--gz-muted) !important;
	padding: 14px 12px !important;
	border-bottom: 1px solid var(--gz-line-soft) !important;
	background: transparent !important;
	line-height: 1.4;
}

.gzv-cartv2__body table.shop_table td {
	padding: 16px 12px !important;
	border-bottom: 1px solid var(--gz-line-soft) !important;
	background: transparent !important;
	color: var(--gz-body);
	vertical-align: middle;
}

.gzv-cartv2__body table.shop_table tr:last-child td {
	border-bottom: 0 !important;
}

.gzv-cartv2__body table.cart img {
	width: 64px !important;
	height: 64px !important;
	object-fit: cover;
	border-radius: 10px;
	border: 1px solid var(--gz-line-soft);
	display: block;
}

.gzv-cartv2__body table.cart td.product-name a {
	font-weight: 600;
	color: var(--gz-ink) !important;
}

.gzv-cartv2__body .quantity .qty {
	background: #ffffff !important;
	border: 1px solid var(--gz-line) !important;
	border-radius: 8px !important;
	font-family: var(--gz-sans) !important;
	font-size: 0.92rem !important;
	color: var(--gz-ink) !important;
	min-height: 42px !important;
	padding: 6px 8px !important;
	box-shadow: none !important;
}

/* Coupon + bijwerken-rij. */
.gzv-cartv2__body table.cart td.actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	align-items: center;
	justify-content: space-between;
}

.gzv-cartv2__body td.actions .coupon {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	align-items: center;
	float: none !important;
}

.gzv-cartv2__body td.actions .coupon .input-text {
	background: #ffffff !important;
	border: 1px solid var(--gz-line) !important;
	border-radius: 999px !important;
	font-family: var(--gz-sans) !important;
	font-size: 0.9rem !important;
	color: var(--gz-ink) !important;
	min-height: 44px !important;
	padding: 8px 18px !important;
	box-shadow: none !important;
	float: none !important;
	width: auto !important;
}

/* Coupon-foutmelding (17 sep): Woo valideert al via ?wc-ajax=apply_coupon
   (cart.js show_coupon_error) en zet de servertekst als
   p.coupon-error-notice onder het veld — maar stylet hem niet: op paper
   leek het gewone grijze bodytekst (QA c6: "niet zichtbaar"). Zelfde
   error-palet als de woocommerce-error-notice hierboven (#F7E9E4/#B45838),
   als rustig tekstpanel op eigen regel; veldrand gaat mee in foutstaat. */
.gzv-cartv2__body td.actions .coupon .coupon-error-notice {
	flex: 1 0 100%;
	margin: 0;
	background: #F7E9E4;
	border-radius: var(--gz-r-sm);
	padding: 10px 14px;
	font-family: var(--gz-sans) !important;
	font-size: 0.9rem !important;
	font-weight: 600 !important;
	color: #B45838 !important;
}

.gzv-cartv2__body td.actions .coupon .input-text.has-error {
	border-color: #B45838 !important;
}

/* "Winkelwagen bijwerken" verstopt (r2-audit): qty-wijzigingen updaten al
   live via AJAX (bewezen) — de knop is ruis naast coupon-apply, die
   (name="apply_coupon") gewoon zichtbaar blijft. */
.gzv-cartv2__body td.actions button[name="update_cart"] {
	display: none !important;
}

/* Woo-knoppen in de cart-context: rustige secundaire pill. */
.gzv-cartv2__body .button,
.gzv-cartv2__body button.button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: transparent !important;
	color: var(--gz-pine) !important;
	border: 1px solid var(--gz-line-hover) !important;
	border-radius: 999px !important;
	font: 600 13.5px/1.1 var(--gz-sans) !important;
	padding: 11px 20px !important;
	min-height: 44px;
	text-decoration: none !important;
	cursor: pointer;
	transition: background-color .18s ease, color .18s ease;
}

.gzv-cartv2__body .button:hover,
.gzv-cartv2__body button.button:hover,
.gzv-cartv2__body .button:focus-visible {
	background: var(--gz-moss-soft) !important;
	color: var(--gz-pine-deep) !important;
}

/* ------------------------------------------------- cart desktop-layout
   (owner-review 14 sep): totals NAAST de tabel; productrijen als rustige
   rij-kaarten met de verwijder-X als LAATSTE kolom (Woo-DOM-volgorde heeft
   product-remove eerst — grid-items herordenen via order). */
@media (min-width: 1024px) {
	.gzv-cartv2__body > .woocommerce {
		display: grid;
		grid-template-columns: minmax(0, 1fr) 23rem;
		gap: 0 36px;
		align-items: start;
	}

	.gzv-cartv2__body .woocommerce-notices-wrapper {
		grid-column: 1 / -1;
	}

	.gzv-cartv2__body > .woocommerce > form.woocommerce-cart-form {
		grid-column: 1;
		grid-row: 1;
	}

	.gzv-cartv2__body .cart-collaterals {
		grid-column: 2;
		grid-row: 1;
	}

	/* Rijen: thumb | naam | prijs | aantal | subtotaal | X — alléén de
	   cart-formuliertabel (de totals-tabel is ook .shop_table en blijft
	   een gewone tabel). */
	.gzv-cartv2__body form.woocommerce-cart-form table.shop_table,
	.gzv-cartv2__body form.woocommerce-cart-form table.shop_table tbody {
		display: block;
	}

	.gzv-cartv2__body form.woocommerce-cart-form table.shop_table thead {
		display: none;
	}

	.gzv-cartv2__body form.woocommerce-cart-form table.shop_table tr.cart_item {
		display: grid;
		grid-template-columns: 84px minmax(0, 1fr) auto auto auto 26px;
		gap: 4px 24px;
		align-items: center;
		padding: 18px 18px !important;
		border-bottom: 1px solid var(--gz-line-soft) !important;
	}

	.gzv-cartv2__body form.woocommerce-cart-form table.shop_table tr.cart_item td {
		border-bottom: 0 !important;
		border-top: 0 !important;
		padding: 0 !important;
	}

	.gzv-cartv2__body form.woocommerce-cart-form td.product-thumbnail { order: 1; }
	.gzv-cartv2__body form.woocommerce-cart-form td.product-name { order: 2; }
	.gzv-cartv2__body form.woocommerce-cart-form td.product-price { order: 3; text-align: right; }
	.gzv-cartv2__body form.woocommerce-cart-form td.product-quantity { order: 4; }
	.gzv-cartv2__body form.woocommerce-cart-form td.product-subtotal { order: 5; text-align: right; }
	.gzv-cartv2__body form.woocommerce-cart-form td.product-remove { order: 6; }

	/* Mini-labels boven de bedrag-kolommen (thead is weg). */
	.gzv-cartv2__body form.woocommerce-cart-form td.product-price::before,
	.gzv-cartv2__body form.woocommerce-cart-form td.product-quantity::before,
	.gzv-cartv2__body form.woocommerce-cart-form td.product-subtotal::before {
		content: attr(data-title);
		display: block;
		font-size: 0.64rem;
		font-weight: 600;
		letter-spacing: .12em;
		text-transform: uppercase;
		color: var(--gz-muted);
		margin-bottom: 3px;
	}

	.gzv-cartv2__body td.product-subtotal {
		font-weight: 600;
		color: var(--gz-ink);
	}

	/* Verwijder-X: rustig, rechtsonder in de rij. */
	.gzv-cartv2__body form.woocommerce-cart-form td.product-remove a.remove {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 26px;
		height: 26px;
		border-radius: 999px;
		background: transparent !important;
		color: var(--gz-muted) !important;
		font-size: 18px !important;
		line-height: 1;
		text-decoration: none !important;
		transition: background-color .18s ease, color .18s ease;
	}

	.gzv-cartv2__body form.woocommerce-cart-form td.product-remove a.remove:hover,
	.gzv-cartv2__body td.product-remove a.remove:focus-visible {
		background: #F7E9E4 !important;
		color: #B45838 !important;
	}

	.gzv-cartv2__body table.cart td.actions {
		grid-column: 1 / -1;
		padding: 14px 18px 18px !important;
	}
}

/* Totals-kaart + afrekenen-CTA (pine, kit-proof). Desktop: de grid-kolom
   bepaalt de breedte (23rem); mobiel gestapeld volle breedte. */
.gzv-cartv2__body .cart_totals {
	background: var(--gz-card);
	border: 1px solid var(--gz-line-soft);
	border-radius: var(--gz-r-md);
	padding: 6px 18px 24px;
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
}

/* Kaarttitel "Totalen winkelwagen"/"Cart totals" — Kit zet hem op Fredoka
   42px navy (r2-klacht): Fraunces, rustig, kit-proof. */
.gzv-cartv2__body .cart_totals h2 {
	font-family: var(--gz-disp) !important;
	font-weight: 600;
	font-size: 1.15rem !important;
	line-height: 1.25;
	letter-spacing: -0.005em;
	color: var(--gz-ink) !important;
	margin: 14px 0 2px;
}

/* €-valutasymbool in cart-prijzen — Kit zet alléén het symbool op Readex Pro
   (cijfers zijn al Instrument Sans): terug naar het merk. */
.gzv-cartv2__body .woocommerce-Price-currencySymbol,
.gzv-utility .woocommerce-Price-currencySymbol {
	font-family: var(--gz-sans) !important;
}

/* Compacte label|waarde-rijen binnen de totals-kaart (alléén hairline
   onder de rij; Astra's border-top eruit tegen dubbele lijnen). */
.gzv-cartv2__body .cart_totals table.shop_table td,
.gzv-cartv2__body .cart_totals table.shop_table th {
	padding: 9px 0 !important;
	border-top: 0 !important;
}

.gzv-cartv2__body .cart_totals table.shop_table {
	width: 100% !important;
}

/* Klarna paylater-messaging injecteert óók onder de cart-totals op
   cart-context-pagina's — zelfde beleid als de side-cart: weg hier. */
.gzv-cartv2__body .fkwcs_paylater_messaging {
	display: none !important;
}

.gzv-cartv2__body .cart_totals table.shop_table {
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent;
}

.gzv-cartv2__body .cart_totals .order-total td,
.gzv-cartv2__body .cart_totals .order-total th {
	border-bottom: 0 !important;
}

/* TOTAAL-rij geaccentueerd (r2-audit): hairline erboven + ink/bold — was
   visueel identiek aan subtotaal/verzending. Specificiteit (0,4,1) wint van
   de compacte-rijreset (0,3,2), ook binnen de mobiele totals-regels. */
.gzv-cartv2__body .cart_totals table.shop_table .order-total th,
.gzv-cartv2__body .cart_totals table.shop_table .order-total td {
	border-top: 1px solid var(--gz-line) !important;
	padding-top: 12px !important;
	font-weight: 700;
	color: var(--gz-ink);
}

.gzv-cartv2__body .cart_totals table.shop_table .order-total td {
	font-size: 1.08rem;
}

.gzv-cartv2__body .cart_totals strong {
	color: var(--gz-ink);
}

.gzv-cartv2__body .wc-proceed-to-checkout {
	padding: 14px 0 10px;
}

.gzv-cartv2__body .wc-proceed-to-checkout .checkout-button {
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--gz-pine) !important;
	color: var(--gz-ivory) !important;
	border: 0 !important;
	border-radius: 999px !important;
	font: 600 15.5px/1.1 var(--gz-sans) !important;
	padding: 15px 28px !important;
	min-height: 50px;
	text-decoration: none !important;
	margin-bottom: 0 !important;
	transition: background-color .18s ease;
}

.gzv-cartv2__body .wc-proceed-to-checkout .checkout-button:hover,
.gzv-cartv2__body .wc-proceed-to-checkout .checkout-button:focus-visible {
	background: var(--gz-pine-deep) !important;
	color: var(--gz-ivory) !important;
}

/* Trust-regel onder de Afrekenen-CTA (r2-audit) — zelfde reassurance-ritme
   als side-cart/checkout. CSS-only met taal via html[lang]: géén PHP- of
   tracking-touch op de Woo-cartmarkup. */
.gzv-cartv2__body .wc-proceed-to-checkout::after {
	content: "";
	display: block;
	margin-top: 10px;
	font: 500 13px/1.4 var(--gz-sans);
	color: var(--gz-muted);
	text-align: center;
}

html[lang^="nl"] .gzv-cartv2__body .wc-proceed-to-checkout::after {
	content: "✓ 30 dagen gratis retour · Veilig betalen";
}

html[lang^="en"] .gzv-cartv2__body .wc-proceed-to-checkout::after {
	content: "✓ 30-day free returns · Secure payment";
}

/* Lege winkelwagen. */
.gzv-cartv2__body .cart-empty {
	text-align: center;
	color: var(--gz-muted);
	font-size: 1.05rem;
	padding: 18px 0 6px;
}

.gzv-cartv2__body .return-to-shop {
	text-align: center;
	margin: 0 0 14px;
}

.gzv-cartv2__body .return-to-shop .button {
	background: var(--gz-pine) !important;
	color: var(--gz-ivory) !important;
	border: 0 !important;
	padding: 13px 30px !important;
	font-size: 15px !important;
}

.gzv-cartv2__body .return-to-shop .button:hover,
.gzv-cartv2__body .return-to-shop .button:focus-visible {
	background: var(--gz-pine-deep) !important;
	color: var(--gz-ivory) !important;
}

/* Cross-sells (indien ooit geconfigureerd): rustig, geen kit-chrome. */
.gzv-cartv2__body .cross-sells > h2 {
	font-family: var(--gz-disp) !important;
	color: var(--gz-ink) !important;
	font-size: 1.3rem !important;
}

/* --------------------------------------------- Woo-deel: mijn account */
.gzv-accountv2__body .woocommerce-MyAccount-navigation ul {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	list-style: none;
	margin: 0 0 26px;
	padding: 0;
}

.gzv-accountv2__body .woocommerce-MyAccount-navigation li {
	margin: 0;
	padding: 0;
}

.gzv-accountv2__body .woocommerce-MyAccount-navigation li a {
	display: inline-flex;
	align-items: center;
	min-height: 40px;
	padding: 9px 16px !important;
	border: 1px solid var(--gz-line) !important;
	border-radius: 999px !important;
	background: transparent !important;
	color: var(--gz-pine) !important;
	font: 500 13.5px/1.2 var(--gz-sans) !important;
	text-decoration: none !important;
	transition: background-color .18s ease;
}

.gzv-accountv2__body .woocommerce-MyAccount-navigation li a:hover,
.gzv-accountv2__body .woocommerce-MyAccount-navigation li a:focus-visible {
	background: var(--gz-moss-soft) !important;
}

.gzv-accountv2__body .woocommerce-MyAccount-navigation li.is-active a {
	background: var(--gz-pine) !important;
	border-color: var(--gz-pine) !important;
	color: var(--gz-ivory) !important;
}

.gzv-accountv2__body .woocommerce-MyAccount-content {
	font-size: 0.98rem;
}

/* Kit-val: ook de login-/registratiekoppen ("Inloggen"/"Registreren") vallen
   BUITEN .woocommerce-MyAccount-content (bestaat alleen ingelogd) — daarom
   h2/h3 op de hele account-body vangen, anders Fredoka New 42px navy. */
.gzv-accountv2__body h2,
.gzv-accountv2__body h3,
.gzv-accountv2__body .woocommerce-MyAccount-content h2,
.gzv-accountv2__body .woocommerce-MyAccount-content h3 {
	font-family: var(--gz-disp) !important;
	font-weight: 600;
	color: var(--gz-ink) !important;
	font-size: 1.3rem !important;
	line-height: 1.25;
	margin: 1.6em 0 .5em;
}

.gzv-accountv2__body h2:first-child,
.gzv-accountv2__body h3:first-child,
.gzv-accountv2__body .woocommerce-MyAccount-content h2:first-child,
.gzv-accountv2__body .woocommerce-MyAccount-content h3:first-child {
	margin-top: 0;
}

/* Login/registratie (uitgelogd): twee kolommen op desktop, gestapeld mobiel.
   Woo's .col2-set .col-1 { float:left; width:48% } geldt bínnen de grid-track
   (48% ván 394px = 189px) — float/width dus neutraliseren. */
.gzv-accountv2__body .u-columns {
	display: grid;
	gap: 40px;
}

.gzv-accountv2__body .u-columns .u-column1,
.gzv-accountv2__body .u-columns .u-column2 {
	float: none !important;
	width: auto !important;
}

/* Astra geeft .u-columns 38px padding-left — content dan 38px rechts van de
   H1/header-lijn (owner-review 14 sep); uitlijnen op het site-raster. */
.gzv-accountv2__body .u-columns {
	padding-left: 0 !important;
}

/* Woo's clearfix op .col2-set (::before/::after met content:'') worden in
   grid-context grid-items: login belandde dan in kolom 2 en "Registreren"
   op rij 2 — pseudo's dus uitschakelen binnen onze grid. */
.gzv-accountv2__body .u-columns::before,
.gzv-accountv2__body .u-columns::after {
	content: none !important;
	display: none !important;
}

@media (min-width: 880px) {
	.gzv-accountv2__body .u-columns.col2-set {
		grid-template-columns: 1fr 1fr;
	}
}

/* Formulieren (login, adres, accountgegevens). */
.gzv-accountv2__body .woocommerce-form,
.gzv-cartv2__body form.woocommerce-cart-form {
	margin: 0;
}

.gzv-accountv2__body label,
.gzv-accountv2__body .woocommerce-form__label {
	font-family: var(--gz-sans) !important;
	font-size: 0.88rem !important;
	font-weight: 500;
	color: var(--gz-ink) !important;
}

.gzv-accountv2__body input[type="text"],
.gzv-accountv2__body input[type="email"],
.gzv-accountv2__body input[type="password"],
.gzv-accountv2__body input[type="tel"],
.gzv-accountv2__body input[type="url"],
.gzv-accountv2__body input[type="search"],
.gzv-accountv2__body textarea,
.gzv-accountv2__body select {
	background: #ffffff !important;
	border: 1px solid var(--gz-line) !important;
	border-radius: 8px !important;
	font-family: var(--gz-sans) !important;
	font-size: 0.95rem !important;
	color: var(--gz-ink) !important;
	min-height: 44px;
	padding: 10px 14px !important;
	box-shadow: none !important;
	/* width !important: Astra zet een vaste smalle width op login-inputs
	   (gemeten 141px); zonder dit blijven de velden miniem. */
	width: 100% !important;
	max-width: 26rem;
}

.gzv-accountv2__body input:focus,
.gzv-accountv2__body textarea:focus,
.gzv-accountv2__body select:focus {
	outline: 2px solid var(--gz-amber) !important;
	outline-offset: 1px;
	border-color: var(--gz-pine) !important;
}

.gzv-accountv2__body .woocommerce-form-row {
	margin-bottom: 14px;
}

/* Account-knoppen: pine primair. */
.gzv-accountv2__body .button,
.gzv-accountv2__body button[type="submit"] {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: var(--gz-pine) !important;
	color: var(--gz-ivory) !important;
	border: 0 !important;
	border-radius: 999px !important;
	font: 600 14px/1.1 var(--gz-sans) !important;
	padding: 13px 26px !important;
	min-height: 46px;
	text-decoration: none !important;
	cursor: pointer;
	transition: background-color .18s ease;
}

.gzv-accountv2__body .button:hover,
.gzv-accountv2__body button[type="submit"]:hover,
.gzv-accountv2__body .button:focus-visible,
.gzv-accountv2__body button[type="submit"]:focus-visible {
	background: var(--gz-pine-deep) !important;
	color: var(--gz-ivory) !important;
}

/* Bestellingen-tabel (dashboard/orders). */
.gzv-accountv2__body table.my_account_orders,
.gzv-accountv2__body .woocommerce-MyAccount-content table {
	background: var(--gz-card);
	border: 1px solid var(--gz-line-soft) !important;
	border-radius: var(--gz-r-md) !important;
	border-collapse: separate;
	border-spacing: 0;
	overflow: hidden;
	font-size: 0.92rem;
}

.gzv-accountv2__body .woocommerce-MyAccount-content table td,
.gzv-accountv2__body .woocommerce-MyAccount-content table th {
	padding: 13px 12px !important;
	border-bottom: 1px solid var(--gz-line-soft) !important;
	background: transparent !important;
}

.gzv-accountv2__body .woocommerce-MyAccount-content table tr:last-child td,
.gzv-accountv2__body .woocommerce-MyAccount-content table tr:last-child th {
	border-bottom: 0 !important;
}

.gzv-accountv2__body .woocommerce-MyAccount-content table th {
	font-size: 0.72rem !important;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--gz-muted) !important;
	font-weight: 600;
}

/* Tabellen responsive (r2, 14 sep): productkaart = kopregel thumbnail+naam,
   daaronder rustige label|waarde-regels ZONDER interne dividers (de kaartrand
   scheidt; divider-soep was de r1-klacht). SCOPE: alléén de cart-FORMULIER-
   tabel — de totals-tabel (óók .shop_table_responsive) kreeg anders kader-in-
   kader + afgesneden verzendtekst (r2-audit). Account-tabellen idem gestapeld. */
@media (max-width: 1023px) {
	.gzv-cartv2__body form.woocommerce-cart-form table.shop_table_responsive tr,
	.gzv-accountv2__body table.shop_table_responsive tr {
		background: var(--gz-card);
		border: 1px solid var(--gz-line-soft);
		border-radius: var(--gz-r-md);
		margin-bottom: 12px;
		display: block;
		position: relative;
	}

	/* Totals op mobiel: géén kaarten maar gewone rijen in de totals-kaart. */
	.gzv-cartv2__body .cart_totals table.shop_table_responsive tr {
		background: none;
		border: 0;
		border-radius: 0;
		margin: 0;
	}

	/* Géén interne td-dividers — alleen de kaartrand scheidt (Astra zet óók
	   border-top op de cellen: beide kanten op 0). */
	.gzv-cartv2__body form.woocommerce-cart-form table.shop_table_responsive tr td,
	.gzv-accountv2__body table.shop_table_responsive tr td {
		border-bottom: 0 !important;
		border-top: 0 !important;
		display: flex;
		justify-content: space-between;
		align-items: center;
		gap: 12px;
		text-align: right;
		padding: 7px 16px !important;
	}

	.gzv-cartv2__body form.woocommerce-cart-form table.shop_table_responsive tr td::before,
	.gzv-accountv2__body table.shop_table_responsive tr td::before {
		content: attr(data-title);
		float: none;
		font-size: 0.7rem;
		letter-spacing: .1em;
		text-transform: uppercase;
		color: var(--gz-muted);
		text-align: left;
		font-weight: 600;
	}

	.gzv-cartv2__body form.woocommerce-cart-form table.shop_table_responsive tr td.product-remove::before,
	.gzv-cartv2__body form.woocommerce-cart-form table.shop_table_responsive tr td.product-thumbnail::before,
	.gzv-accountv2__body table.shop_table_responsive tr td.product-remove::before {
		content: none;
	}

	/* Totals-rijen op mobiel: label links, waarde rechts; verzend-toelichting
	   als volwaardige regel die netjes afbreekt (was afgesneden in r2-audit). */
	.gzv-cartv2__body .cart_totals table.shop_table_responsive tr {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		align-items: baseline;
		gap: 4px 12px;
		padding: 7px 0;
	}

	.gzv-cartv2__body .cart_totals table.shop_table_responsive th,
	.gzv-cartv2__body .cart_totals table.shop_table_responsive td {
		border: 0 !important;
		padding: 0 !important;
		text-align: right;
		display: block;
		width: auto;
	}

	.gzv-cartv2__body .cart_totals table.shop_table_responsive th {
		font-size: 0.7rem;
		font-weight: 600;
		letter-spacing: .1em;
		text-transform: uppercase;
		color: var(--gz-muted);
	}

	.gzv-cartv2__body .cart_totals .woocommerce-shipping-destination,
	.gzv-cartv2__body .cart_totals .woocommerce-shipping-totals {
		width: 100%;
		white-space: normal;
	}

	.gzv-cartv2__body .cart_totals td blockquote,
	.gzv-cartv2__body .cart_totals #shipping_method {
		text-align: left;
	}

	/* Productkaart: kopregel = thumbnail + naam naast elkaar; detailregels
	   (prijs/aantal/subtotaal) als label|waarde eronder; X rechtsboven. */
	.gzv-cartv2__body form.woocommerce-cart-form tr.cart_item {
		display: grid;
		grid-template-columns: 76px minmax(0, 1fr);
		gap: 2px 0;
		padding: 14px 0 10px !important;
	}

	.gzv-cartv2__body form.woocommerce-cart-form tr.cart_item td.product-thumbnail {
		grid-column: 1;
		grid-row: 1;
		display: block;
		padding: 0 6px 12px 16px !important;
	}

	.gzv-cartv2__body form.woocommerce-cart-form tr.cart_item td.product-name {
		grid-column: 2;
		grid-row: 1;
		display: block;
		text-align: left;
		padding: 2px 44px 12px 10px !important;
	}

	.gzv-cartv2__body form.woocommerce-cart-form tr.cart_item td.product-price,
	.gzv-cartv2__body form.woocommerce-cart-form tr.cart_item td.product-quantity,
	.gzv-cartv2__body form.woocommerce-cart-form tr.cart_item td.product-subtotal {
		grid-column: 1 / -1;
		padding: 7px 16px !important;
	}

	/* Zachte afscheiding tussen kopregel en detailregels. */
	.gzv-cartv2__body form.woocommerce-cart-form tr.cart_item td.product-price {
		border-top: 1px solid var(--gz-line-soft) !important;
		padding-top: 11px !important;
	}

	/* Verwijder-X rechtsboven in de rij-kaart i.p.v. volle-breedte eerste cel. */
	.gzv-cartv2__body form.woocommerce-cart-form tr.cart_item td.product-remove {
		position: absolute;
		top: 12px;
		right: 10px;
		padding: 0 !important;
		z-index: 1;
	}

	.gzv-cartv2__body table.shop_table_responsive thead,
	.gzv-accountv2__body table.shop_table_responsive thead {
		display: none;
	}

	.gzv-cartv2__body table.shop_table_responsive tr td.actions {
		display: block;
		text-align: left;
		padding: 14px 16px 16px !important;
	}

	/* Coupon-rij op mobiel: géén eigen kaart (r2c-vision-audit — kader-in-
	   kader vlak ná de productkaart). Rustige veldrij op het paper-vlak; de
	   productkaart-zelf houdt zijn 12px onder-marge als scheiding. */
	.gzv-cartv2__body form.woocommerce-cart-form tr:has(> td.actions) {
		background: none;
		border: 0;
		border-radius: 0;
		margin: 0;
	}

	.gzv-cartv2__body form.woocommerce-cart-form tr:has(> td.actions) td.actions {
		padding: 2px 0 6px !important;
	}
}

/* ==================================================================
   Account r3 (16 sep): logged-in polish — nav-chrome, notices,
   typografie-details en accountgegevens-formulier. Alles binnen
   .gzv-accountv2__body (flag-scope zoals de rest van utility.css).
   ================================================================== */

/* --- 1. Navigatie: Astra/Woo legt een vierkante grijze rand op de li
   (gemeten: 1px solid #D1D5DB — de "dubbele/vierkante" buitenrand om de
   pill). Chrome alléén op de a: inactive = transparant + hairline,
   active = pine/ivory (bestaand), hover = moss-soft (bestaand). */
.gzv-accountv2__body .woocommerce-MyAccount-navigation li {
	border: 0 !important;
	background: none !important;
	box-shadow: none !important;
}

/* Focus-ring naast de bg-wissel (a11y). */
.gzv-accountv2__body .woocommerce-MyAccount-navigation li a:focus-visible {
	outline: 2px solid var(--gz-amber) !important;
	outline-offset: 2px;
}

/* --- 2. Ingelogde Woo-notices: was hard wit + 2px grijs + navy-blauw +
   Readex Pro (legacy Woo-uiterlijk). Zelfde zachte ivoor/moss-look als de
   cart-notices; icon in Groomzo-stijl (inline SVG i.p.v. Woo-iconfont,
   die hier als leeg/legacy renderde). Inhoud blijft volledig zichtbaar. */
.gzv-accountv2__body .woocommerce-message,
.gzv-accountv2__body .woocommerce-info,
.gzv-accountv2__body .woocommerce-Message,
.gzv-accountv2__body .woocommerce-NoticeGlobal,
.gzv-accountv2__body .woocommerce-error {
	background: var(--gz-moss-soft) !important;
	border: 1px solid var(--gz-line) !important;
	border-top: 3px solid var(--gz-moss) !important;
	border-radius: var(--gz-r-sm);
	color: var(--gz-ink) !important;
	font-family: var(--gz-sans) !important;
	font-size: 0.95rem;
	box-shadow: none !important;
	padding: 14px 18px !important;
	display: flex;
	align-items: center;
	gap: 6px 14px;
	flex-wrap: wrap;
}

.gzv-accountv2__body .woocommerce-error {
	background: #F7E9E4 !important;
	border-top-color: #B45838 !important;
}

/* Notice-icon: pine info-stip (error = terracotta waarschuwingsdriehoek).
   position:static !important — Woo-core positioneert de ::before absoluut,
   waardoor het icoon ÓP de tekst zweefde (overlap) i.p.v. als flex-item
   náást de regel te stromen; insets + margin resetten voor alle zekerheid. */
.gzv-accountv2__body .woocommerce-info::before,
.gzv-accountv2__body .woocommerce-Message::before,
.gzv-accountv2__body .woocommerce-NoticeGlobal::before {
	content: "" !important;
	position: static !important;
	top: auto !important;
	right: auto !important;
	left: auto !important;
	bottom: auto !important;
	flex: 0 0 auto;
	width: 18px;
	height: 18px;
	margin: 0 !important;
	background: no-repeat center / contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2322392C' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cline x1='12' y1='16' x2='12' y2='12'/%3E%3Cline x1='12' y1='8' x2='12.01' y2='8'/%3E%3C/svg%3E");
}

.gzv-accountv2__body .woocommerce-message::before {
	content: "" !important;
	position: static !important;
	top: auto !important;
	right: auto !important;
	left: auto !important;
	bottom: auto !important;
	flex: 0 0 auto;
	width: 18px;
	height: 18px;
	margin: 0 !important;
	background: no-repeat center / contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2322392C' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 11.08V12a10 10 0 1 1-5.93-9.14'/%3E%3Cpolyline points='22 4 12 14.01 9 11.01'/%3E%3C/svg%3E");
}

.gzv-accountv2__body .woocommerce-error::before {
	content: "" !important;
	position: static !important;
	top: auto !important;
	right: auto !important;
	left: auto !important;
	bottom: auto !important;
	flex: 0 0 auto;
	width: 18px;
	height: 18px;
	margin: 0 !important;
	background: no-repeat center / contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23B45838' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10.29 3.86 1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0Z'/%3E%3Cline x1='12' y1='9' x2='12' y2='13'/%3E%3Cline x1='12' y1='17' x2='12.01' y2='17'/%3E%3C/svg%3E");
}

/* Notice-knop rechts (Woo floated hem); pine-pill erf hij van de bestaande
   .button-regel. Mobiel (<720) full-width stacken i.p.v. breed naast tekst. */
.gzv-accountv2__body .woocommerce-message .button,
.gzv-accountv2__body .woocommerce-info .button,
.gzv-accountv2__body .woocommerce-Message .button,
.gzv-accountv2__body .woocommerce-error .button {
	float: none !important;
	margin-left: auto !important;
}

@media (max-width: 719px) {
	.gzv-accountv2__body .woocommerce-message .button,
	.gzv-accountv2__body .woocommerce-info .button,
	.gzv-accountv2__body .woocommerce-Message .button,
	.gzv-accountv2__body .woocommerce-error .button {
		width: 100%;
		margin-left: 0 !important;
	}
}

/* --- 3. Typografie: tabellen expliciet op Instrument Sans (erven nu
   impliciet; oude Woo/Astra-tabelregels zetten soms eigen font) en
   notice-strong mee. Koppen H2/H3 = Fraunces (bestaande regel hierboven). */
.gzv-accountv2__body .woocommerce-MyAccount-content table,
.gzv-accountv2__body table.my_account_orders {
	font-family: var(--gz-sans) !important;
}

.gzv-accountv2__body .woocommerce-message strong,
.gzv-accountv2__body .woocommerce-info strong,
.gzv-accountv2__body .woocommerce-error strong {
	color: var(--gz-pine) !important;
	font-weight: 600;
}

/* --- 4. Knoppen: focus-ring (hover bestond al); radius/hoogte/font/padding
   zijn al V2 via de .button-regel hierboven (gemeten: pine, 999px, 46px,
   Instrument Sans — incl. confirm-email/browse/save/view-order/logout). */
.gzv-accountv2__body .button:focus-visible,
.gzv-accountv2__body button[type="submit"]:focus-visible {
	outline: 2px solid var(--gz-amber) !important;
	outline-offset: 2px;
}

/* --- 5a. Accountgegevens: helpertekst (span[id$=_description], géén
   .description-class in dit Woo-template) onder het veld i.p.v. inline
   ernaast (vision+DOM bewezen), subtiel en op de veldbreedte. */
.gzv-accountv2__body span[id$="_description"] {
	display: block;
	margin: 6px 0 0;
	max-width: 26rem;
	font-size: 0.8rem !important;
	line-height: 1.45;
	color: var(--gz-muted);
}

.gzv-accountv2__body span[id$="_description"] em {
	font-style: normal;
}

/* --- 5b. Wachtwoord-oog: Woo positioneert de knop absoluut t.o.v. de
   volle form-rij (gemeten 387px rechts van het 385px-veld) en de
   iconfont-glyph renderde leeg = onzichtbaar. Eigen SVG in het veld,
   verticaal gecentreerd; klik-toggle van Woo blijft onaangetast
   (type-wissel + aria-pressed). */
/* display:block !important: Woo/Astra zet flex op de wrapper waardoor de
   input 4px verspringt en absolute 50%-centrering van het oog mist. */
.gzv-accountv2__body .password-input {
	position: relative;
	display: block !important;
	max-width: 26rem;
}

.gzv-accountv2__body .password-input input[type="password"],
.gzv-accountv2__body .password-input input[type="text"] {
	padding-right: 46px !important;
}

.gzv-accountv2__body .password-input .show-password-input {
	position: absolute !important;
	top: 50% !important;
	right: 10px !important;
	left: auto !important;
	bottom: auto !important;
	/* Woo-inline-CSS zet het moderne translate:0 -50% — dat stapelt met
	   transform (twee onafhankelijke properties) tot een dubbele shift. */
	translate: 0 !important;
	transform: translateY(-50%);
	width: 26px !important;
	height: 26px !important;
	min-height: 0 !important;
	padding: 0 !important;
	margin: 0 !important;
	background: no-repeat center / 19px 19px url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2322392C' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8Z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E") !important;
	border: 0 !important;
	border-radius: 6px;
	opacity: .7;
	cursor: pointer;
	transition: opacity .15s ease;
}

/* Woo's eigen glyph leeg/legacy — vervangen door onze SVG. */
.gzv-accountv2__body .password-input .show-password-input::after {
	content: none !important;
}

/* Toestand "zichtbaar": Woo wisselt input-type + aria-pressed — beide
   afvangen zodat het icoon altijd klopt; oog-door = verborgen-toestand. */
.gzv-accountv2__body .password-input input[type="text"] + .show-password-input,
.gzv-accountv2__body .password-input .show-password-input[aria-pressed="true"] {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2322392C' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8Z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3Cline x1='1' y1='1' x2='23' y2='23'/%3E%3C/svg%3E") !important;
}

.gzv-accountv2__body .password-input .show-password-input:hover,
.gzv-accountv2__body .password-input .show-password-input:focus-visible,
.gzv-accountv2__body .password-input .show-password-input[aria-pressed="true"] {
	opacity: 1;
}

.gzv-accountv2__body .password-input .show-password-input:focus-visible {
	outline: 2px solid var(--gz-amber);
	outline-offset: 1px;
}

/* --- 5c. Wachtwoordsectie: rustige hairline + lucht boven het eerste
   wachtwoordveld zodat de sectie als groep leest (input/e o g/hulp-
   tekst staan straks op één 26rem-kolom). */
.gzv-accountv2__body .woocommerce-form-row:has(> .password-input > #password_current),
.gzv-accountv2__body .woocommerce-form-row:has(> .password-input > #account_password) {
	padding-top: 18px;
	margin-top: 24px;
	border-top: 1px solid var(--gz-line-soft);
}

/* ----------------------------------------------- Author-archief (16 sep) */
.gzv-author__grid {
	display: grid;
	gap: 22px;
	grid-template-columns: 1fr;
}

@media (min-width: 880px) {
	.gzv-author__grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

.gzv-author .gzv-search__pagination {
	margin-top: 28px;
}
