/**
 * Mijn account, winkelwagenpagina en afrekenen.
 */

/* ------------------------------------------------------------- Artikelpagina */
.artikelpagina div.product {
	grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
	gap: clamp(1.5rem, 4vw, 3.5rem);
}

.artikelpagina .woocommerce-product-gallery { position: relative; }
.artikelpagina .woocommerce-product-gallery__wrapper {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 0.6rem;
	margin: 0;
	padding: 0;
	list-style: none;
}
.artikelpagina .woocommerce-product-gallery__image {
	width: 100% !important;
	float: none !important;
	margin: 0 !important;
	padding: 0 !important;
}
.artikelpagina .woocommerce-product-gallery__image:first-child { grid-column: 1 / -1; }
.artikelpagina .woocommerce-product-gallery__image img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 12px;
	background: var(--kleur-licht);
}
.artikelpagina .woocommerce-product-gallery__image:not(:first-child) img { aspect-ratio: 1 / 1; object-fit: cover; cursor: pointer; }
.artikelpagina .woocommerce-product-gallery__trigger {
	position: absolute;
	top: 0.8rem;
	right: 0.8rem;
	z-index: 3;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 2.6rem;
	height: 2.6rem;
	border-radius: 50%;
	background: var(--kleur-wit);
	box-shadow: 0 4px 14px rgba(17, 19, 24, 0.16);
	text-decoration: none;
}

.artikelpagina .price { font-size: clamp(2rem, 4vw, 2.6rem); }

.artikelpagina form.cart { flex-wrap: nowrap; gap: 0.8rem; margin-block: var(--ruimte-m); }
.artikelpagina form.cart .button {
	flex: 1 1 auto;
	min-height: 3rem;
	padding-inline: 1.6rem;
	white-space: nowrap;
}

.artikelpagina .shophulp { margin-top: var(--ruimte-m); }
.artikelpagina .shophulp__blok { grid-template-columns: repeat(auto-fit, minmax(13rem, 1fr)); }
.artikelpagina .shopbetaal { flex-wrap: wrap; }

@media ( max-width: 860px ) {
	.artikelpagina div.product { grid-template-columns: 1fr; }
	.artikelpagina form.cart { flex-wrap: wrap; }
}

/* -------------------------------------------------------------- Winkelwagen */
.winkelwagen {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 21rem;
	gap: var(--ruimte-m);
	align-items: start;
}

.wagenregels {
	padding: 0.4rem 1.2rem;
	border-radius: 12px;
	background: var(--kleur-wit);
	border: 1px solid var(--kleur-lijn);
}

.wagenregel {
	display: grid;
	grid-template-columns: 1.4rem 4.4rem minmax(0, 1fr) auto auto 2rem;
	align-items: center;
	gap: 0.9rem;
	padding-block: 1rem;
	border: 0;
}
.wagenregel + .wagenregel { border-top: 1px solid var(--kleur-lijn); }

.wagenregel__kies { width: 1.1rem; height: 1.1rem; accent-color: var(--kleur-primair); }

.wagenregel__beeld img {
	display: block;
	width: 4.4rem;
	height: 4.4rem;
	object-fit: cover;
	border-radius: 8px;
}

.wagenregel__info { display: flex; flex-direction: column; gap: 0.2rem; }
.wagenregel__naam {
	font-family: var(--font-kop);
	font-size: 1.05rem;
	font-weight: 800;
	color: inherit;
	text-decoration: none;
}
.wagenregel__naam:hover { color: var(--kleur-primair); }
.wagenregel__voorraad { font-size: 0.86rem; color: var(--kleur-tekst-zacht); }
.wagenregel__groen { color: #1b7f3b; font-weight: 600; }
.wagenregel__rood { color: var(--kleur-accent); font-weight: 600; }

.wagenregel__aantal .quantity { background: var(--kleur-wit); border: 1px solid var(--kleur-lijn); border-radius: 999px; }
.wagenregel__aantal .quantity .kwdv-stap { height: 2.4rem; width: 2.1rem; }
.wagenregel__aantal .quantity input.qty { height: 2.4rem; width: 2.4rem; }
.wagenregel__vast { display: inline-block; padding: 0.35rem 0.9rem; }

.wagenregel__prijs {
	font-family: var(--font-kop);
	font-size: 1.1rem;
	font-weight: 800;
	color: var(--kleur-accent);
	white-space: nowrap;
}

.wagenregel__weg {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2rem;
	height: 2rem;
	border-radius: 50%;
	color: var(--kleur-tekst-zacht);
	text-decoration: none;
}
.wagenregel__weg:hover { background: var(--kleur-licht); color: var(--kleur-accent); }

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

.winkelwagen__btw { margin: 0.9rem 0 1.1rem; font-size: 0.88rem; color: var(--kleur-tekst-zacht); }

.winkelwagen__weg {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	padding: 0.7rem 1.2rem;
	border: 1px solid var(--kleur-lijn);
	border-radius: var(--btn-radius);
	background: var(--kleur-wit);
	color: var(--kleur-tekst);
	font: inherit;
	font-weight: 600;
	cursor: pointer;
}
.winkelwagen__weg:hover { border-color: var(--kleur-accent); color: var(--kleur-accent); }

/* Totaalblok */
.wagentotaal {
	position: sticky;
	top: 6rem;
	padding: 1.3rem 1.4rem;
	border-radius: 12px;
	background: var(--kleur-wit);
	border: 1px solid var(--kleur-lijn);
}
.wagentotaal__kop {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 1rem;
	margin-bottom: 0.6rem;
}
.wagentotaal__titel { margin: 0; font-size: 1.4rem; }
.wagentotaal__bedrag { font-family: var(--font-kop); font-size: 1.3rem; font-weight: 800; }
.wagentotaal__bedrag .amount { color: inherit; }

.wagentotaal__lijst { margin-top: 0.6rem; padding-top: 0.6rem; border-top: 1px solid var(--kleur-lijn); }
.wagentotaal__regel {
	display: flex;
	justify-content: space-between;
	gap: 1rem;
	padding-block: 0.3rem;
	font-size: 0.94rem;
	border: 0;
}
.wagentotaal__regel--korting .wagentotaal__korting { color: var(--kleur-accent); font-weight: 700; }

.wagentotaal__knop { margin-top: 1rem; }
.wagentotaal__zin { margin: 0.7rem 0 0; font-size: 0.84rem; color: var(--kleur-tekst-zacht); text-align: center; }

@media ( max-width: 860px ) {
	.winkelwagen { grid-template-columns: 1fr; }
	.wagentotaal { position: static; }
	.wagenregel {
		grid-template-columns: 1.4rem 4.4rem minmax(0, 1fr) 2rem;
		row-gap: 0.6rem;
	}
	.wagenregel__aantal { grid-column: 2 / 4; }
	.wagenregel__prijs { grid-column: 4 / 5; grid-row: 2; }
}

/* ---------------------------------------------------------------- Afrekenen */
.afrekenen {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 22rem;
	gap: var(--ruimte-m);
	align-items: start;
}
.afrekenen__gegevens {
	padding: 1.4rem 1.5rem;
	border-radius: 12px;
	background: var(--kleur-wit);
	border: 1px solid var(--kleur-lijn);
}
.afrekenen__kop { margin: 0 0 1rem; font-size: 1.4rem; }
.afrekenen__zijde { display: grid; gap: 1rem; position: sticky; top: 6rem; }

.bestelblok,
.afrekenen #payment {
	padding: 1.2rem 1.3rem;
	border-radius: 12px;
	background: var(--kleur-wit);
	border: 1px solid var(--kleur-lijn);
}
.bestelblok__titel { margin: 0 0 0.8rem; font-size: 1.25rem; }
.bestelblok__lijst { margin: 0; padding: 0; list-style: none; }

.bestelregel {
	display: grid;
	grid-template-columns: 3.2rem minmax(0, 1fr) auto;
	align-items: center;
	gap: 0.7rem;
	padding-block: 0.6rem;
	border-bottom: 1px solid var(--kleur-lijn);
}
.bestelregel__beeld img { display: block; width: 3.2rem; height: 3.2rem; object-fit: cover; border-radius: 8px; }
.bestelregel__naam { font-size: 0.92rem; line-height: 1.35; }
.bestelregel__aantal { font-weight: 700; }
.bestelregel__prijs { font-weight: 700; white-space: nowrap; }

.bestelblok__regels { margin-top: 0.8rem; }
.bestelblok__regel {
	display: flex;
	justify-content: space-between;
	gap: 1rem;
	padding-block: 0.3rem;
	font-size: 0.94rem;
}
.bestelblok__regel--groot {
	margin-top: 0.5rem;
	padding-top: 0.6rem;
	border-top: 1px solid var(--kleur-lijn);
	font-family: var(--font-kop);
	font-size: 1.1rem;
	font-weight: 800;
}
.bestelblok__regel--korting span:last-child {
	color: var(--kleur-accent);
	font-weight: 700;
	text-align: right;
}

/* [Verwijderen] onder het kortingsbedrag, ook rechts uitgelijnd. */
.bestelblok__regel--korting .woocommerce-remove-coupon {
	display: block;
	margin-top: 0.15rem;
	font-size: 0.8rem;
	font-weight: 600;
	text-align: right;
}

/* ---------------------------------- Stoelen-timer en het veld Land/regio */
:root {
	--stoeltimer-ruimte: 1.5rem;   /* ruimte boven en onder "Je stoelen vervallen over ..." */
	--land-veld-hoogte: 2.45rem;   /* gelijk aan de andere velden (39 px) */
	--land-veld-binnen: 0.5rem;    /* ruimte links in het veld, als bij de andere velden */
}

.woocommerce .evost_cart_expiration_on_cart {
	margin-block: var(--stoeltimer-ruimte) !important;
}

/* Er is maar één land (Nederland): WooCommerce toont dan een vast veld. */
.woocommerce form .form-row select.country_to_state {
	box-sizing: border-box;
	width: 100%;
	height: var(--land-veld-hoogte);
	padding: 0 var(--land-veld-binnen);
	border: 1px solid var(--kleur-lijn);
	border-radius: 4px;
	background-color: var(--kleur-wit);
	color: var(--kleur-tekst);
	font-family: inherit;
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.4;
}

.afrekenen #payment ul.wc_payment_methods {
	margin: 0 0 1rem;
	padding: 0;
	list-style: none;
	border: 0;
}
.afrekenen #payment ul.wc_payment_methods li {
	margin: 0 0 0.5rem;
	padding: 0.8rem 1rem;
	border: 2px solid var(--kleur-lijn);
	border-radius: 10px;
	background: var(--kleur-wit);
	list-style: none;
}
.afrekenen #payment ul.wc_payment_methods li label { display: inline; font-weight: 700; }
.afrekenen #payment ul.wc_payment_methods li .payment_box {
	margin: 0.6rem 0 0;
	padding: 0;
	background: none;
	font-size: 0.9rem;
	color: var(--kleur-tekst-zacht);
}
.afrekenen #payment ul.wc_payment_methods li .payment_box::before { display: none; }
.afrekenen #payment .place-order { margin: 0; padding: 0; }
.afrekenen #payment .place-order .button { width: 100%; }
.afrekenen #payment .woocommerce-privacy-policy-text { font-size: 0.86rem; color: var(--kleur-tekst-zacht); }
.afrekenen #payment .woocommerce-terms-and-conditions-wrapper { margin-bottom: 0.8rem; font-size: 0.88rem; }

@media ( max-width: 900px ) {
	.afrekenen { grid-template-columns: 1fr; }
	.afrekenen__zijde { position: static; }
}

/* --------------------------------------------- Correctie breedtes artikelpagina */
.woocommerce .artikelpagina div.product div.images,
.woocommerce .artikelpagina div.product .woocommerce-product-gallery,
.woocommerce .artikelpagina div.product div.summary {
	width: 100% !important;
	float: none !important;
	margin: 0 !important;
	clear: none !important;
}

.artikelpagina form.cart .quantity { flex: 0 0 auto; }
.artikelpagina .shopbetaal { gap: 0.6rem; }
.artikelpagina .shopbetaal img { max-height: 1.5rem; width: auto; }

/* ------------------------------------------ Correctie regels in de winkelwagen */
.winkelwagen .wagenregel {
	margin: 0;
	padding: 1rem 0;
	border-radius: 0;
	background: none;
	box-shadow: none;
}
.winkelwagen .wagenregel__beeld img { width: 4.4rem; height: 4.4rem; }

/* ------------------------------------------------ Correcties afrekenpagina */
.afrekenen__adres > h3,
.afrekenen__adres .woocommerce-billing-fields > h3 { display: none; }

.afrekenen__verzend h3 { font-size: 1.05rem; }

.afrekenen #payment::before {
	content: "Betaalmethode";
	display: block;
	margin: 0 0 0.8rem;
	font-family: var(--font-kop);
	font-size: 1.25rem;
	font-weight: 800;
}

.afrekenen .woocommerce-additional-fields h3 { margin-top: 1.4rem; font-size: 1.05rem; }

/* ------------------------------------------- Waardebon boven het afrekenen */
.woocommerce-checkout .woocommerce-form-coupon-toggle { margin-bottom: var(--ruimte-m); }

.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info,
.woocommerce-checkout .woocommerce-info {
	display: flex;
	align-items: center;
	gap: 0.6rem;
	margin: 0 0 1rem;
	padding: 0.9rem 1.2rem;
	border: 1px solid var(--kleur-lijn);
	border-radius: 10px;
	background: var(--kleur-licht);
	color: var(--kleur-tekst);
	font-size: 0.95rem;
	line-height: 1.4;
}
.woocommerce-checkout .woocommerce-info::before { display: none; }
.woocommerce-checkout .woocommerce-info a {
	color: var(--kleur-accent);
	font-weight: 700;
	text-decoration: underline;
}
.woocommerce-checkout .woocommerce-info a:hover { color: var(--kleur-primair); }

.woocommerce-checkout form.checkout_coupon {
	margin: 0 0 var(--ruimte-m);
	padding: 1.1rem 1.2rem;
	border: 1px solid var(--kleur-lijn);
	border-radius: 10px;
	background: var(--kleur-wit);
}
.woocommerce-checkout form.checkout_coupon .form-row { margin: 0; }
.woocommerce-checkout form.checkout_coupon p:first-child { margin-top: 0; }
.woocommerce-checkout form.checkout_coupon input[type="text"] {
	width: 100%;
	padding: 0.7rem 1rem;
	border: 1px solid var(--kleur-lijn);
	border-radius: var(--btn-radius);
	font: inherit;
}

/* ------------------------------------------- Afrekenen: rust in de blokken */
.afrekenen__zijde { gap: var(--ruimte-m); }

.afrekenen__gegevens { border: 0; padding-left: 0; padding-right: 0; }

.afrekenen input[type="text"],
.afrekenen input[type="email"],
.afrekenen input[type="tel"],
.afrekenen input[type="password"],
.afrekenen input[type="number"],
.afrekenen textarea,
.afrekenen select,
.afrekenen .select2-container .select2-selection--single {
	border: 1px solid transparent;
	background: var(--kleur-licht);
}
.afrekenen input[type="text"]:focus,
.afrekenen input[type="email"]:focus,
.afrekenen input[type="tel"]:focus,
.afrekenen input[type="password"]:focus,
.afrekenen input[type="number"]:focus,
.afrekenen textarea:focus,
.afrekenen select:focus {
	border-color: var(--kleur-primair);
	background: var(--kleur-wit);
	outline: none;
}

/* Plaats bestelling: geen kleurwissel, wel een lichte lift. */
.afrekenen #payment .place-order .button { transition: transform 0.15s ease; }
.afrekenen #payment .place-order .button:hover,
.afrekenen #payment .place-order .button:focus {
	background: var(--kleur-accent);
	color: var(--kleur-wit);
	transform: translateY(-2px);
}

/* Velden lichtgrijs, ook tegenover de eigen opmaak van WooCommerce. */
.afrekenen .form-row input.input-text,
.afrekenen .form-row textarea,
.afrekenen .form-row select,
.afrekenen input.input-text,
.afrekenen textarea,
.afrekenen select {
	border: 1px solid transparent !important;
	background: var(--kleur-licht) !important;
	color: var(--kleur-tekst);
}
.afrekenen .form-row input.input-text:focus,
.afrekenen .form-row textarea:focus,
.afrekenen .form-row select:focus,
.afrekenen input.input-text:focus,
.afrekenen textarea:focus,
.afrekenen select:focus {
	border-color: var(--kleur-primair) !important;
	background: var(--kleur-wit) !important;
}

/* ------------------- Velden met alleen een rand, zonder grijze achtergrond */
.afrekenen .form-row input.input-text,
.afrekenen .form-row textarea,
.afrekenen .form-row select,
.afrekenen input.input-text,
.afrekenen textarea,
.afrekenen select {
	border: 1px solid var(--kleur-lijn) !important;
	background: var(--kleur-wit) !important;
}
.afrekenen .form-row input.input-text:focus,
.afrekenen .form-row textarea:focus,
.afrekenen .form-row select:focus,
.afrekenen input.input-text:focus,
.afrekenen textarea:focus,
.afrekenen select:focus {
	border-color: var(--kleur-primair) !important;
	background: var(--kleur-wit) !important;
}

/* Ruimte tussen het winkelwagenblok en de betaalmethode. */
.afrekenen #order_review {
	display: grid;
	gap: var(--ruimte-m);
}

/* De landkeuze even breed als de andere velden. */
.afrekenen .form-row select,
.afrekenen .form-row .select2-container {
	width: 100%;
	padding: 0.7rem 1rem;
	border-radius: var(--btn-radius);
}
.afrekenen .form-row .woocommerce-input-wrapper { display: block; }

.afrekenen .form-row select,
.afrekenen .form-row .select2-container { width: 100% !important; }

/* ------------------------------ Winkelwagenpagina: vaste kolommen per regel */
.winkelwagen .wagenregel {
	grid-template-columns: 1.4rem 4.4rem minmax(0, 1fr) 8.6rem 7rem 2rem;
}
.wagenregel__aantal { justify-self: start; }
.wagenregel__prijs {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	justify-self: end;
	text-align: right;
	line-height: 1.2;
}

/* Het zinnetje "incl. btw" achter een bedrag. */
.btwsuffix {
	display: inline-block;
	color: var(--kleur-tekst-zacht);
	font-family: var(--font-tekst);
	font-size: 0.78rem;
	font-weight: 400;
	white-space: nowrap;
}

.wagentotaal__bedrag { display: flex; flex-direction: column; align-items: flex-end; line-height: 1.2; }

/* De betaaliconen onder de knop naar het afrekenen. */
.wagentotaal__iconen { margin-top: 1rem; }
.wagentotaal__iconen .shopbetaal { display: flex; flex-direction: column; align-items: center; gap: 0.5rem; }
.wagentotaal__iconen .shopbetaal__label { font-size: 0.84rem; color: var(--kleur-tekst-zacht); }
.wagentotaal__iconen .shopbetaal__lijst { justify-content: center; }

/* Doorgaan naar afrekenen: geen kleurwissel, wel een lift. */
.wagentotaal__knop .button,
.wagentotaal__knop .checkout-button { transition: transform 0.15s ease; }
.wagentotaal__knop .button:hover,
.wagentotaal__knop .button:focus,
.wagentotaal__knop .checkout-button:hover,
.wagentotaal__knop .checkout-button:focus {
	background: var(--kleur-accent);
	color: var(--kleur-wit);
	transform: translateY(-2px);
}

/* De meldingen van WooCommerce: vinkje netjes links van de tekst. */
.woocommerce-message,
.woocommerce-info:not(.wc-memberships-member-discount-message),
.woocommerce-error {
	display: flex;
	align-items: center;
	gap: 0.7rem;
	margin: 0 0 var(--ruimte-s);
	padding: 0.9rem 1.2rem;
	border: 1px solid var(--kleur-lijn);
	border-radius: 10px;
	list-style: none;
}
.woocommerce-message::before,
.woocommerce-info:not(.wc-memberships-member-discount-message)::before,
.woocommerce-error::before {
	position: static !important;
	top: auto !important;
	left: auto !important;
	margin: 0 !important;
	flex: 0 0 auto;
}
.woocommerce-message .button,
.woocommerce-info:not(.wc-memberships-member-discount-message) .button {
	margin-left: auto;
	padding: 0.5rem 1rem;
	font-size: 0.9rem;
}

/* ------------------------------------------------ Winkelwagen: besteloverzicht */
.wagentotaal__hoofdtitel {
    margin: 0 0 1rem;
    font-family: var(--font-kop);
    font-size: 1.35rem;
    font-weight: 800;
}
.wagentotaal .wagentotaal__lijst {
    margin: 0;
    padding: 0;
    border: 0;
}
.wagentotaal .wagentotaal__regel {
    align-items: baseline;
    gap: 0.8rem;
    padding-block: 0.35rem;
}
.wagentotaal .wagentotaal__kop {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    column-gap: 0.8rem;
    row-gap: 0.2rem;
    align-items: baseline;
    margin: 1rem 0 0;
    padding-top: 1rem;
    border-top: 1px solid var(--kleur-lijn);
}
.wagentotaal .wagentotaal__titel {
    grid-column: 1;
    grid-row: 1;
    font-size: 1.15rem;
}
/* WooCommerce levert bedrag en btw-specificatie samen aan.
   Plaats de specificatie onder het label zonder de berekening te wijzigen. */
.wagentotaal .wagentotaal__bedrag {
    display: contents;
}
.wagentotaal .wagentotaal__bedrag > strong {
    grid-column: 2;
    grid-row: 1;
    justify-self: end;
    font-family: var(--font-kop);
    font-size: 1.4rem;
    font-weight: 800;
    line-height: 1.2;
    white-space: nowrap;
}
.wagentotaal .wagentotaal__bedrag > .includes_tax {
    grid-column: 1 / -1;
    grid-row: 2;
    color: var(--kleur-tekst-zacht);
    font-family: var(--font-tekst);
    font-size: 0.8rem;
    font-weight: 400;
    line-height: 1.45;
}
.wagentotaal .wagentotaal__bedrag > .includes_tax .amount {
    color: inherit;
    font-weight: inherit;
}
.wagentotaal .wagentotaal__knop { margin-top: 1.2rem; }
.wagentotaal .wagentotaal__iconen { margin-top: 1rem; }


/* Winkelwagen: compacte verzendweergave. Alleen presentatie; WooCommerce
   blijft de methoden, tarieven en verzendcalculator verzorgen. */
.wagentotaal .woocommerce-shipping-destination,
.wagentotaal .woocommerce-shipping-calculator + .woocommerce-shipping-destination {
    display: none;
}
.wagentotaal .woocommerce-shipping-methods,
.wagentotaal ul#shipping_method {
    margin: 0;
    padding: 0;
    list-style: none;
}
.wagentotaal ul#shipping_method li {
    margin: 0;
    padding: 0;
    line-height: 1.5;
}
.wagentotaal .woocommerce-shipping-calculator {
    margin: 0.4rem 0 0;
    font-size: 0.88rem;
    line-height: 1.4;
}
.wagentotaal .shipping-calculator-button {
    display: inline-block;
    color: var(--kleur-tekst);
    text-decoration: underline;
    text-underline-offset: 2px;
}
/* De WooCommerce-verzendrij staat nu in een geldige tabelstructuur.
   De tabel beslaat de volle breedte van het besteloverzicht. */
.wagentotaal .wagentotaal__verzendtabel {
    width: 100%;
    margin: 0.2rem 0 0;
    border: 0;
    border-collapse: collapse;
    table-layout: fixed;
    background: transparent;
}
.wagentotaal .wagentotaal__verzendtabel tr,
.wagentotaal .wagentotaal__verzendtabel th,
.wagentotaal .wagentotaal__verzendtabel td {
    border: 0;
    background: transparent;
    box-shadow: none;
}
.wagentotaal .wagentotaal__verzendtabel th,
.wagentotaal .wagentotaal__verzendtabel td {
    padding: 0.35rem 0;
    vertical-align: top;
    font-size: 0.94rem;
    line-height: 1.5;
}
.wagentotaal .wagentotaal__verzendtabel th {
    width: 35%;
    font-weight: 400;
    text-align: left;
}
.wagentotaal .wagentotaal__verzendtabel td {
    width: 65%;
    text-align: right;
}
.wagentotaal .wagentotaal__verzendtabel ul#shipping_method li {
    text-align: right;
}
.wagentotaal .wagentotaal__verzendtabel .woocommerce-shipping-calculator {
    margin-top: 0.45rem;
    text-align: right;
}
.wagentotaal .wagentotaal__verzendtabel .shipping-calculator-form {
    text-align: left;
}

/* Verzendtarief heeft dezelfde normale tekstdikte als subtotaal. */
.wagentotaal .wagentotaal__verzendtabel #shipping_method .amount,
.wagentotaal .wagentotaal__verzendtabel #shipping_method .woocommerce-Price-amount,
.wagentotaal .wagentotaal__verzendtabel #shipping_method .woocommerce-Price-amount bdi {
    font-weight: 400;
}


/* Afrekenen: verzendtarief op dezelfde regel als de titel. */
.bestelblok .bestelblok__verzendtabel {
    display: block;
    width: 100%;
    margin: 0;
    border: 0;
    border-collapse: collapse;
    background: transparent;
}
.bestelblok .bestelblok__verzendtabel tbody { display: block; }
.bestelblok .bestelblok__verzendtabel tr {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.3rem 0;
    border: 0;
}
.bestelblok .bestelblok__verzendtabel th,
.bestelblok .bestelblok__verzendtabel td {
    display: block;
    width: auto;
    padding: 0;
    border: 0;
    background: transparent;
    font-size: 0.94rem;
    font-weight: 400;
    line-height: 1.5;
}
.bestelblok .bestelblok__verzendtabel td { min-width: 0; text-align: right; }
.bestelblok .bestelblok__verzendtabel ul#shipping_method {
    margin: 0;
    padding: 0;
    list-style: none;
}
.bestelblok .bestelblok__verzendtabel ul#shipping_method li {
    margin: 0 0 0.3rem;
    padding: 0;
    list-style: none;
}
.bestelblok .bestelblok__verzendtabel #shipping_method label,
.bestelblok .bestelblok__verzendtabel #shipping_method .amount,
.bestelblok .bestelblok__verzendtabel #shipping_method .woocommerce-Price-amount,
.bestelblok .bestelblok__verzendtabel #shipping_method .woocommerce-Price-amount bdi {
    font-weight: 400;
}
.bestelblok .bestelblok__verzendtabel .woocommerce-shipping-destination { display: none; }
.bestelblok .bestelblok__verzendtabel .woocommerce-shipping-calculator { margin: 0.25rem 0 0; }

/* Afrekenen: verzending sluit de productregels af; de extra scheidingslijn
   staat ONDER verzending, voor de btw-specificatie. */
.bestelblok .bestelblok__verzendtabel--afscheiding,
.bestelblok .bestelblok__regel--verzending {
    margin-bottom: 0.65rem;
    padding-bottom: 0.7rem;
    border-bottom: 1px solid var(--kleur-lijn);
}
/* Een apart totaalbedrag voorkomt afbreken door WooCommerce's btw-suffix.
   De btw staat hierboven al expliciet in de specificatie. */
.bestelblok .bestelblok__regel--groot {
    align-items: baseline;
}
.bestelblok .bestelblok__totaalbedrag {
    white-space: nowrap;
    text-align: right;
}

/* --------------------------------------------------------------- Checkout: meldingen boven de kolommen */
/* WooCommerce plaatst validatiefouten via AJAX als een direct kind van
   form.checkout. Dat formulier is een grid: zonder expliciete plaatsing
   wordt de melding een extra kolom-item en verschuift Bestelgegevens. */
.afrekenen > .woocommerce-NoticeGroup,
.afrekenen > .woocommerce-error,
.afrekenen > .woocommerce-message,
.afrekenen > .woocommerce-info {
    grid-column: 1 / -1;
    min-width: 0;
    width: 100%;
    box-sizing: border-box;
    margin: 0;
    align-self: start;
}

/* Ook wanneer WooCommerce de meldingen na de velden invoegt, komen ze
   visueel boven beide kolommen te staan. */
.afrekenen > .woocommerce-NoticeGroup,
.afrekenen > .woocommerce-error,
.afrekenen > .woocommerce-message,
.afrekenen > .woocommerce-info {
    order: -1;
}

.afrekenen > .woocommerce-NoticeGroup:empty { display: none; }
.afrekenen > .woocommerce-NoticeGroup > .woocommerce-error,
.afrekenen > .woocommerce-NoticeGroup > .woocommerce-message,
.afrekenen > .woocommerce-NoticeGroup > .woocommerce-info {
    margin: 0;
    width: 100%;
    box-sizing: border-box;
}


/* Winkelwagen: uitklapbare waardebon, binnen het bestaande formulier. */
.winkelwagen .wagenkorting {
    margin-top: 1rem;
    padding: 0.9rem 1.1rem;
    border: 1px solid var(--kleur-lijn);
    border-radius: 10px;
    background: var(--kleur-wit);
}
.winkelwagen .wagenkorting__titel {
    cursor: pointer;
    font-weight: 600;
}
.winkelwagen .wagenkorting__velden {
    display: flex;
    gap: 0.65rem;
    margin-top: 0.85rem;
    align-items: stretch;
}
.winkelwagen .wagenkorting__invoer {
    flex: 1 1 auto;
    min-width: 0;
    padding: 0.7rem 0.9rem;
    border: 1px solid var(--kleur-lijn);
    border-radius: var(--btn-radius);
    font: inherit;
}
.winkelwagen .wagenkorting__knop { flex: 0 0 auto; }
@media (max-width: 480px) {
    .winkelwagen .wagenkorting__velden { flex-direction: column; }
}


/* Winkelwagen: kortingscode in twee stabiele kolommen. */
.wagentotaal .wagentotaal__regel--korting {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: start;
    column-gap: 0.8rem;
    padding-block: 0.55rem;
}
.wagentotaal .wagentotaal__regel--korting > span:first-child {
    min-width: 0;
    overflow-wrap: anywhere;
    color: var(--kleur-tekst);
    font-weight: 400;
    line-height: 1.5;
}
.wagentotaal .wagentotaal__regel--korting .wagentotaal__korting {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 0.2rem;
    text-align: right;
    white-space: nowrap;
    line-height: 1.5;
}
.wagentotaal .wagentotaal__regel--korting .woocommerce-remove-coupon {
    display: block;
    font-size: 0.82rem;
    font-weight: 400;
    color: var(--kleur-tekst-zacht);
    text-decoration: underline;
    text-underline-offset: 2px;
}

/* Kortingsbedrag inclusief minteken altijd op een regel, zoals bij checkout. */
.wagentotaal .wagentotaal__regel--korting .wagentotaal__kortingbedrag {
    display: block;
    white-space: nowrap;
    font-weight: 700;
    color: var(--kleur-accent);
}
.wagentotaal .wagentotaal__regel--korting .wagentotaal__kortingbedrag .amount,
.wagentotaal .wagentotaal__regel--korting .wagentotaal__kortingbedrag .woocommerce-Price-amount {
    white-space: nowrap;
    font-weight: inherit;
    color: inherit;
}
