/* ==========================================================================
   Workmed — checkout.css
   Winkelwagen, afrekenen en bedankt-pagina (klassieke WooCommerce-shortcodes).
   Geladen op is_cart() en is_checkout() (incl. order-received / order-pay).

   Inhoud
     1. Gedeeld: stappen, titels, overzichtskaart, totalen, vertrouwensregels
     2. Winkelwagen
     3. Afrekenen: raster, secties, velden, keuzekaarten, overzicht
     4. Bedankt-pagina
     5. Responsief (≤1199 / ≤1023 / ≤767)
   ========================================================================== */

/* --------------------------------------------------------------------------
   1. Gedeeld
   -------------------------------------------------------------------------- */

.checkout-page {
	overflow-wrap: break-word;
}

/* Stappenindicator */
.checkout-steps {
	padding-top: 30px;
}

.checkout-steps__list {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
	font-size: 13.5px;
	line-height: 1.4;
	color: var(--c-muted);
}

.checkout-steps__item,
.checkout-steps__link {
	display: flex;
	align-items: center;
	gap: 8px;
}

.checkout-steps__link {
	color: inherit;
}

.checkout-steps__link:hover {
	color: var(--c-green);
}

.checkout-steps__item + .checkout-steps__item::before {
	content: "";
	width: 28px;
	height: 1px;
	margin-right: 2px;
	background: var(--c-line-2);
}

.checkout-steps__num {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 24px;
	height: 24px;
	flex-shrink: 0;
	border-radius: 50%;
	background: var(--c-line);
	color: var(--c-muted);
	font-size: 12px;
	font-weight: 700;
	line-height: 1;
}

.checkout-steps__item.is-done .checkout-steps__num {
	background: var(--c-green);
	color: #fff;
}

.checkout-steps__item.is-current .checkout-steps__num {
	background: var(--c-petrol);
	color: #fff;
}

.checkout-steps__item.is-current .checkout-steps__label {
	color: var(--c-petrol);
	font-weight: 600;
}

/* Paginatitel ("Uw winkelwagen", "Afrekenen") */
.checkout-title {
	font-size: var(--fs-h1-shop);
	line-height: 1.1;
	font-weight: 500;
	letter-spacing: -.02em;
	margin: 0 0 6px;
}

.checkout-title strong {
	font-weight: 800;
}

.checkout-count {
	margin: 0 0 18px;
	font-size: 15px;
	color: var(--c-muted);
}

.checkout-note {
	margin: 0;
	padding: 14px 18px;
	border-radius: var(--radius-sm);
	background: var(--c-sand);
	font-size: 14.5px;
	line-height: 1.5;
	color: var(--c-body-2);
}

/* Overzichtskaart (winkelwagen, afrekenen, bedankt) */
.summary-card {
	background: var(--c-sand);
	border-radius: 16px;
	padding: 30px 30px 28px;
}

.summary-card__eyebrow {
	margin: 0 0 16px;
	font-size: 11px;
	font-weight: 400;
	line-height: 1.4;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--c-muted-2);
}

/* Totalenlijst: tabel-markup (voor hooks die rijen toevoegen), weergegeven als regels */
.summary-table,
.summary-table tbody,
.summary-table tfoot {
	display: block;
	width: 100%;
	border: 0;
}

.summary-table tr {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 12px;
	font-size: 15px;
	line-height: 1.5;
	color: var(--c-body-2);
}

.summary-table tr + tr {
	margin-top: 10px;
}

.summary-table th,
.summary-table td {
	padding: 0;
	border: 0;
	font-size: inherit;
	font-weight: 400;
	color: inherit;
	text-align: left;
	vertical-align: baseline;
}

.summary-table td {
	text-align: right;
	font-weight: 600;
	color: var(--c-text);
	white-space: nowrap;
}

.summary-table td[colspan] {
	flex: 1;
	text-align: left;
	white-space: normal;
}

.summary-table__note {
	display: block;
	font-size: 12.5px;
	color: var(--c-muted);
}

.summary-table .order-total {
	align-items: baseline;
	margin: 16px 0;
	padding-top: 16px;
	border-top: 1px solid var(--c-line);
}

.summary-table .order-total th {
	font-size: 17px;
	font-weight: 700;
	color: var(--c-text);
}

.summary-table .order-total td {
	font-weight: 800;
	white-space: normal;
}

.summary-table .order-total td strong,
.summary-table .order-total td > .woocommerce-Price-amount {
	display: block;
	font-size: 28px;
	font-weight: 800;
	line-height: 1;
	white-space: nowrap;
}

.summary-table .includes_tax,
.summary-table .order-total small {
	display: block;
	margin-top: 4px;
	font-size: 12px;
	font-weight: 400;
	color: var(--c-muted);
	white-space: normal;
}

.summary-table .includes_tax .woocommerce-Price-amount {
	font-weight: 400;
}

.summary-table .cart-discount td,
.summary-table .cart-discount td .woocommerce-Price-amount {
	color: var(--c-green);
}

.summary-table .woocommerce-remove-coupon {
	margin-left: 6px;
	font-size: 12.5px;
	font-weight: 600;
}

.is-free {
	color: var(--c-green);
	font-weight: 600;
}

.is-muted {
	color: var(--c-muted);
	font-weight: 400;
}

.free-hint {
	margin: 0;
	padding: 10px 12px;
	border-radius: 10px;
	background: var(--c-green-tint);
	font-size: 13px;
	line-height: 1.45;
	font-weight: 400;
	color: var(--c-green);
}

.free-hint strong,
.free-hint .woocommerce-Price-amount {
	font-weight: 700;
}

/* Betaallogo's */
.pay-badges {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 8px;
	margin: 14px 0 0;
	padding: 0;
	list-style: none;
}

.pay-badge {
	padding: 5px 10px;
	border-radius: 6px;
	background: var(--c-white);
	font-size: 11px;
	font-weight: 700;
	line-height: 1.4;
}

/* Vertrouwensregels */
.checkout-trust {
	display: flex;
	flex-direction: column;
	gap: 8px;
	margin: 18px 0 0;
	padding: 0;
	list-style: none;
	font-size: 13.5px;
	line-height: 1.45;
	color: var(--c-body);
}

.checkout-trust li {
	display: flex;
	align-items: center;
	gap: 8px;
}

.checkout-trust .icon {
	color: var(--c-green);
}

/* Mini-artikelen (overzicht afrekenen / bedankt) */
.summary-table .summary-table__items {
	margin-bottom: 16px;
	padding-bottom: 6px;
	border-bottom: 1px solid var(--c-line-2);
}

.summary-table .mini-item {
	align-items: center;
	padding: 10px 0;
}

.summary-table .mini-item + .mini-item {
	margin-top: 0;
}

.summary-table .mini-item .product-name {
	flex: 1;
	min-width: 0;
}

.summary-table .mini-item .product-total {
	font-size: 14.5px;
	font-weight: 700;
}

.mini-item__row {
	display: flex;
	align-items: center;
	gap: 12px;
}

.mini-thumb {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 60px;
	height: 70px;
	flex-shrink: 0;
	padding: 8px;
	border-radius: 30px 30px 5px 5px;
	background: var(--c-white);
}

.mini-thumb img {
	display: block;
	max-width: 100%;
	max-height: 100%;
	width: auto;
	height: auto;
	object-fit: contain;
	mix-blend-mode: multiply;
}

.mini-thumb__qty {
	position: absolute;
	top: -6px;
	right: -6px;
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 22px;
	height: 22px;
	padding: 0 4px;
	border-radius: 11px;
	background: var(--c-petrol);
	color: #fff;
	font-size: 11px;
	font-weight: 700;
	line-height: 1;
}

.mini-item__text {
	min-width: 0;
}

.mini-item__name {
	display: block;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.3;
	color: var(--c-text);
}

/* Variatie-/itemgegevens (dl.variation en wc-item-meta) compact op één regel */
.mini-item__text .variation,
.mini-item__meta,
.cart-item .variation {
	display: flex;
	flex-wrap: wrap;
	gap: 0 6px;
	margin: 2px 0 0;
	font-size: 12.5px;
	line-height: 1.45;
	color: var(--c-muted);
}

.variation dt,
.variation dd {
	margin: 0;
	font-weight: 400;
}

.variation dd p {
	display: inline;
	margin: 0;
}

.mini-item__meta .wc-item-meta-label {
	font-weight: 400;
}

/* --------------------------------------------------------------------------
   2. Winkelwagen
   -------------------------------------------------------------------------- */

.cart-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 400px;
	gap: 56px;
	align-items: start;
	padding: 36px 0 110px;
}

.cart-layout--empty {
	grid-template-columns: minmax(0, 704px);
}

.cart-main,
.cart-aside {
	min-width: 0;
}

.cart-aside {
	position: sticky;
	top: calc(var(--header-h) + 24px);
}

.cart-aside__back {
	display: none;
}

/* Artikelregels */
.cart-items,
.cart-items tbody {
	display: block;
	width: 100%;
	border: 0;
}

.cart-items {
	border-top: 1px solid var(--c-line);
}

.cart-items td {
	padding: 0;
	border: 0;
	text-align: left;
	vertical-align: middle;
}

.cart-item {
	display: grid;
	grid-template-columns: 110px minmax(0, 1fr) 150px 110px 40px;
	gap: 24px;
	align-items: center;
	padding: 24px 0;
	border-bottom: 1px solid var(--c-line);
}

.cart-item__media {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 120px;
	padding: 14px;
	overflow: hidden;
	border-radius: 55px 55px 8px 8px;
	background: var(--thumb-bg, var(--c-sand));
}

.cart-item__media a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
}

.cart-item__media img {
	display: block;
	max-width: 100%;
	max-height: 100%;
	width: auto;
	height: auto;
	object-fit: contain;
	mix-blend-mode: multiply;
}

.cart-item__name {
	font-size: 17px;
	font-weight: 600;
	line-height: 1.35;
}

.cart-item__name a {
	color: inherit;
}

.cart-item__name a:hover {
	color: var(--c-green);
}

.cart-item .variation {
	margin-top: 4px;
	font-size: 13.5px;
}

.cart-item__stock {
	display: flex;
	align-items: center;
	gap: 6px;
	margin: 8px 0 0;
	font-size: 13.5px;
	color: var(--c-green);
}

.cart-item__stock::before {
	content: "";
	width: 7px;
	height: 7px;
	border-radius: 4px;
	background: currentColor;
}

.cart-item .backorder_notification {
	margin: 8px 0 0;
	font-size: 13.5px;
	color: #8A4A2E;
}

/* Aantal-stepper in de regel */
.cart-item .quantity {
	height: 44px;
	width: fit-content;
	padding: 0;
	border-radius: 24px;
	overflow: hidden;
	background: transparent;
}

.cart-item .qty-btn {
	width: 40px;
	height: 44px;
	border-radius: 0;
}

.cart-item .quantity .qty {
	width: 30px;
	font-size: 15px;
}

.cart-item .product-subtotal {
	text-align: right;
}

.cart-item__total {
	display: block;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.3;
}

.cart-item__each {
	display: block;
	margin-top: 2px;
	font-size: 12.5px;
	color: var(--c-muted);
}

.cart-item .product-remove {
	justify-self: end;
}

.cart-item__remove {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border-radius: 18px;
	color: var(--c-muted);
}

.cart-item__remove:hover,
.cart-item__remove:focus-visible {
	background: var(--c-sand);
	color: var(--c-red);
}

/* Acties: verder winkelen + kortingscode */
.cart-actions-row {
	display: block;
}

.cart-items td.actions {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	gap: 16px;
	margin-top: 24px;
}

.cart-actions__back,
.cart-aside__back {
	font-size: 15px;
	font-weight: 600;
}

.cart-items .coupon {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
	margin-left: auto;
}

.cart-items .coupon .input-text {
	width: 200px;
	padding: 12px 18px;
	border-radius: 24px;
	background: var(--c-white);
	font-size: 14.5px;
}

.cart-items .coupon .button {
	padding: 12px 20px;
	border-radius: 24px;
	border-color: var(--c-petrol);
	color: var(--c-text);
	font-size: 14.5px;
}

.cart-items .coupon .button:hover {
	background: var(--c-petrol);
	border-color: var(--c-petrol);
	color: #fff;
}

.coupon-error-notice {
	flex-basis: 100%;
	margin: 0;
	font-size: 13px;
	color: var(--c-red);
	text-align: right;
}

#coupon_code.has-error {
	border-color: var(--c-red);
}

/* De bijwerkknop is overbodig zodra checkout.js het aantal automatisch bijwerkt */
.workmed-cart-autoupdate .cart-actions__update {
	position: absolute !important;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	border: 0;
	white-space: nowrap;
}

/* Overzicht */
.cart_totals .wc-proceed-to-checkout {
	margin: 0;
}

.cart_totals .checkout-button {
	height: 56px;
	padding: 0 24px;
	border-radius: 28px;
	gap: 10px;
	font-size: 16px;
}

.cart_totals .shipping td {
	white-space: normal;
}

.cart_totals .woocommerce-shipping-calculator {
	margin-top: 6px;
	font-size: 13px;
	font-weight: 400;
	text-align: right;
}

.cart_totals .shipping-calculator-form {
	margin-top: 10px;
	text-align: left;
}

.cart_totals .shipping-calculator-form .form-row {
	width: 100%;
	float: none;
	margin-bottom: 10px;
}

.cart_totals .shipping-calculator-form .button {
	padding: 10px 18px;
	font-size: 14px;
}

/* Lege staat */
.cart-empty-card {
	padding: 72px 40px 48px;
	border: 1px dashed var(--c-input);
	border-radius: 160px 160px 16px 16px;
	text-align: center;
}

.cart-empty-card__title {
	margin: 0 0 8px;
	font-size: 22px;
	font-weight: 700;
	line-height: 1.3;
}

.cart-empty-card__text {
	margin: 0 0 22px;
	font-size: 15.5px;
	color: var(--c-body);
}

.cart-empty-card__text-short {
	display: none;
}

.cart-empty-card .return-to-shop {
	margin: 0;
}

.cart-empty-card .btn {
	padding: 14px 28px;
	border-radius: 28px;
	font-size: 15px;
}

/* Cross-sells onder de winkelwagen */
.cart-layout:has(~ .cross-sells) {
	padding-bottom: 56px;
}

.cross-sells {
	padding-bottom: var(--section-y);
}

.cross-sells > h2 {
	margin: 0 0 24px;
	font-size: var(--fs-h3);
	font-weight: 500;
}

.cross-sells ul.products {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 22px;
	margin: 0;
	padding: 0;
	list-style: none;
}

/* --------------------------------------------------------------------------
   3. Afrekenen
   -------------------------------------------------------------------------- */

.checkout-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 420px;
	grid-template-rows: auto auto 1fr;
	column-gap: 56px;
	align-items: start;
	padding: 36px 0 110px;
}

/* Het formulier is alleen een container voor de velden; de layout loopt via het raster */
.checkout-form {
	display: contents;
}

.checkout-head,
.checkout-main,
.checkout-form > .woocommerce-NoticeGroup,
.checkout-layout > .checkout-note {
	grid-column: 1;
	min-width: 0;
}

.checkout-head .checkout-title {
	margin-bottom: 30px;
}

.checkout-head > .woocommerce-notices-wrapper:not(:empty),
.checkout-form > .woocommerce-NoticeGroup {
	margin-bottom: 8px;
}

.checkout-head .woocommerce-form-coupon-toggle .woocommerce-info,
.checkout-head .woocommerce-form-login-toggle .woocommerce-info {
	justify-content: flex-start;
	margin-bottom: 16px;
}

.checkout-head .checkout_coupon {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 0 0 24px;
}

.checkout-head .checkout_coupon .form-row {
	float: none;
	width: auto;
	margin: 0;
}

.checkout-head .checkout_coupon .form-row-first {
	flex: 1 1 220px;
	max-width: 320px;
}

.checkout-head .checkout_coupon .input-text {
	padding: 12px 18px;
	border-radius: 24px;
	background: var(--c-white);
}

.checkout-head .checkout_coupon .button {
	padding: 12px 20px;
	border-radius: 24px;
	border-color: var(--c-petrol);
	font-size: 14.5px;
}

.checkout-head .checkout_coupon .button:hover {
	background: var(--c-petrol);
	color: #fff;
}

.checkout-head .woocommerce-form-login {
	margin: 0 0 24px;
	padding: 24px;
	border-radius: var(--radius);
	background: var(--c-sand);
}

.checkout-head .woocommerce-form-login .form-row-first,
.checkout-head .woocommerce-form-login .form-row-last {
	width: calc(50% - 8px);
}

.checkout-head .woocommerce-form-login .button {
	padding: 12px 24px;
	background: var(--c-green);
	border-color: var(--c-green);
	color: #fff;
}

/* Secties */
.checkout-main {
	display: flex;
	flex-direction: column;
	gap: 40px;
	counter-reset: checkout-step;
}

.checkout-customer,
.checkout-customer > .woocommerce-billing-fields {
	display: flex;
	flex-direction: column;
	gap: 40px;
}

.woocommerce-shipping-fields:not(:has(*)),
.woocommerce-additional-fields:not(:has(*)) {
	display: none;
}

.woocommerce-additional-fields {
	margin-top: -16px;
}

.checkout-section {
	counter-increment: checkout-step;
}

.checkout-section__head {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 18px;
}

.checkout-section__num {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 30px;
	height: 30px;
	flex-shrink: 0;
	border-radius: 15px;
	background: var(--c-petrol);
	color: #fff;
	font-size: 14px;
	font-weight: 700;
	line-height: 1;
}

.checkout-section__num::before {
	content: counter(checkout-step);
}

.checkout-section__title {
	margin: 0;
	font-size: 22px;
	font-weight: 700;
	line-height: 1.3;
}

.checkout-section__hint {
	margin: 10px 0 0;
	font-size: 13px;
	line-height: 1.5;
	color: var(--c-muted);
}

.checkout-subtitle {
	margin: 0 0 14px;
	font-size: 17px;
	font-weight: 700;
	line-height: 1.3;
}

/* Velden */
.checkout-fields {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px;
}

.checkout-fields--address {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.checkout-fields > .clear {
	display: none;
}

.checkout-fields .form-row {
	display: flex;
	flex-direction: column;
	gap: 6px;
	grid-column: 1 / -1;
	float: none;
	width: auto;
	margin: 0;
}

.checkout-fields--contact [id$="_first_name_field"],
.checkout-fields--contact [id$="_last_name_field"],
.checkout-fields--address [id$="_postcode_field"],
.checkout-fields--address [id$="_house_number_field"],
.checkout-fields--address [id$="_address_2_field"],
.checkout-fields--address [id$="_city_field"] {
	grid-column: span 1;
}

.checkout-fields--address [id$="_address_1_field"] {
	grid-column: span 2;
}

.checkout-fields label:not(.checkbox) {
	margin: 0;
	font-size: 13px;
	font-weight: 600;
	color: var(--c-body-2);
}

.checkout-fields .required,
.checkout-terms abbr.required {
	display: none;
}

.checkout-fields .optional {
	font-weight: 400;
}

.checkout-fields .input-text,
.checkout-fields select,
.checkout-fields textarea {
	background-color: var(--c-white);
}

.checkout-fields textarea {
	min-height: 96px;
}

.checkout-fields .woocommerce-input-wrapper strong {
	display: block;
	padding: 13px 0;
	font-size: 15px;
}

.workmed-field-hidden {
	display: none !important;
}

.checkout-inline-error-message {
	margin: 2px 0 0;
	font-size: 12.5px;
	color: var(--c-red);
}

.woocommerce-invalid .input-text,
.woocommerce-invalid select {
	border-color: var(--c-red);
}

.woocommerce-account-fields {
	margin-top: 16px;
}

.woocommerce-account-fields .create-account.checkout-fields {
	margin-top: 14px;
}

/* Checkboxen (factuuradres, account, voorwaarden) */
.checkout-main label.checkbox {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	margin: 0;
	font-size: 14.5px;
	font-weight: 400;
	line-height: 1.5;
	color: var(--c-body-2);
}

.checkout-main label.checkbox span {
	display: inline;
	font-size: inherit;
	font-weight: inherit;
	color: inherit;
}

.checkout-main label.checkbox input {
	flex-shrink: 0;
	margin: 2px 0 0;
}

.checkout-same-address {
	margin: 16px 0 0;
}

.checkout-same-address label.checkbox {
	align-items: center;
}

.checkout-same-address label.checkbox input {
	margin-top: 0;
}

.checkout-billing-address {
	margin-top: 24px;
}

.checkout-billing-address[hidden] {
	display: none;
}

/* Keuzekaarten: bezorging en betaling */
.shipping-options__list,
.option-cards {
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.shipping-options + .shipping-options {
	margin-top: 18px;
}

.shipping-options__package {
	margin: 0 0 8px;
	font-size: 14px;
	font-weight: 600;
	color: var(--c-body-2);
}

.option-card {
	position: relative;
	border: 1px solid var(--c-input);
	border-radius: var(--radius);
	background: var(--c-white);
	transition: border-color .15s, background-color .15s;
}

.option-card:hover {
	border-color: var(--c-green-2);
}

.option-card.is-selected,
.option-card:has(> .option-card__input:checked) {
	border-color: var(--c-green);
	background: var(--c-green-tint);
}

.option-card__input {
	position: absolute;
	top: 0;
	left: 0;
	width: 1px;
	height: 1px;
	margin: 0;
	opacity: 0;
	pointer-events: none;
}

.option-card__label {
	display: flex;
	align-items: center;
	gap: 14px;
	margin: 0;
	padding: 16px 18px;
	border-radius: var(--radius);
	font-size: 15px;
	font-weight: 400;
	color: var(--c-text);
	cursor: pointer;
}

.option-card__input:focus-visible + .option-card__label {
	outline: 2px solid var(--c-green);
	outline-offset: 2px;
}

.option-card__dot {
	position: relative;
	width: 20px;
	height: 20px;
	flex-shrink: 0;
	border: 2px solid var(--c-input);
	border-radius: 10px;
}

.option-card__dot::after {
	content: "";
	position: absolute;
	inset: 3px;
	border-radius: 50%;
	background: transparent;
}

.option-card.is-selected .option-card__dot,
.option-card:has(> .option-card__input:checked) .option-card__dot {
	border-color: var(--c-green);
}

.option-card.is-selected .option-card__dot::after,
.option-card:has(> .option-card__input:checked) .option-card__dot::after {
	background: var(--c-green);
}

.option-card__text {
	flex: 1;
	min-width: 0;
}

.option-card__name {
	display: block;
	font-size: 15.5px;
	font-weight: 600;
	line-height: 1.4;
}

.option-card__sub {
	display: block;
	font-size: 13px;
	line-height: 1.45;
	color: var(--c-muted);
}

.option-card__price {
	flex-shrink: 0;
	font-size: 15px;
	font-weight: 700;
	white-space: nowrap;
}

.option-card__price .is-free {
	font-weight: 700;
}

.option-card__logo {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	flex-shrink: 0;
	padding: 4px 9px;
	border-radius: 5px;
	background: var(--c-sand);
}

.option-card__logo img {
	display: block;
	max-height: 22px;
	width: auto;
}

.option-card .payment_box,
.option-card > :not(input):not(label):not(.payment_box) {
	padding: 0 18px 16px 52px;
	font-size: 13.5px;
	line-height: 1.55;
	color: var(--c-body);
}

.option-card .payment_box p {
	margin: 0 0 .6em;
}

.option-card .payment_box p:last-child {
	margin-bottom: 0;
}

.option-card .payment_box fieldset {
	margin: 10px 0 0;
	padding: 0;
	border: 0;
}

.option-card .payment_box .form-row {
	margin-bottom: 12px;
}

.checkout-payment .woocommerce-info {
	margin: 0;
}

/* Voorwaarden */
.checkout-terms {
	margin: 40px 0 0;
	padding-top: 28px;
	border-top: 1px solid var(--c-line);
}

.checkout-terms .form-row {
	margin: 0;
}

.woocommerce-terms-and-conditions-wrapper {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.woocommerce-privacy-policy-text p {
	margin: 0;
	font-size: 13px;
	line-height: 1.55;
	color: var(--c-muted);
}

.woocommerce-terms-and-conditions-checkbox-text a,
.woocommerce-privacy-policy-text a {
	font-weight: 600;
}

.woocommerce-terms-and-conditions {
	padding: 16px 18px;
	border-radius: var(--radius-sm);
	background: var(--c-sand);
	font-size: 13.5px;
	line-height: 1.6;
	color: var(--c-body);
}

/* Overzicht (rechts) */
.checkout-aside {
	grid-column: 2;
	grid-row: 1 / -1;
	position: sticky;
	top: calc(var(--header-h) + 24px);
	min-width: 0;
	padding: 30px 30px 28px;
	border-radius: 16px;
	background: var(--c-sand);
}

.checkout-summary__toggle {
	display: none;
}

.checkout-summary__head {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 12px;
	margin-bottom: 8px;
}

.checkout-summary__head .summary-card__eyebrow {
	margin: 0;
}

.checkout-summary__edit {
	font-size: 13px;
	font-weight: 600;
}

.checkout-summary .woocommerce-checkout-review-order-table {
	margin: 0;
}

.checkout-place .workmed-place-order {
	margin: 0;
}

.checkout-place__button,
.checkout-place #place_order {
	height: 56px;
	padding: 0 24px;
	border-radius: 28px;
	font-size: 16px;
	white-space: normal;
}

.checkout-place__note {
	margin: 12px 0 0;
	font-size: 12.5px;
	line-height: 1.5;
	text-align: center;
	color: var(--c-muted);
}

/* --------------------------------------------------------------------------
   4. Bedankt-pagina
   -------------------------------------------------------------------------- */

.thankyou-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 420px;
	grid-template-areas:
		"main aside"
		"help aside";
	grid-template-rows: auto 1fr;
	column-gap: 56px;
	align-items: start;
	padding: 48px 0 110px;
}

.thankyou-main {
	grid-area: main;
	min-width: 0;
}

.thankyou-main--plain {
	padding: 48px 0 110px;
	max-width: 700px;
}

.thankyou-summary {
	grid-area: aside;
	min-width: 0;
}

.thankyou-summary .summary-card__eyebrow {
	margin-bottom: 8px;
}

.thankyou-summary__invoice {
	height: 46px;
	padding: 0 20px;
	border-radius: 23px;
	background: var(--c-white);
	font-size: 14px;
}

.thankyou__badge {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 84px;
	height: 100px;
	margin-bottom: 28px;
	border-radius: 42px 42px 6px 6px;
	background: var(--c-green);
	color: #fff;
}

.thankyou__eyebrow {
	margin-bottom: 14px;
}

.thankyou__title {
	margin: 0 0 18px;
	font-size: 48px;
	line-height: 1.08;
	font-weight: 500;
	letter-spacing: -.02em;
}

.thankyou__lead {
	max-width: 600px;
	margin: 0 0 36px;
	font-size: 18px;
	line-height: 1.7;
	color: var(--c-body-2);
}

.thankyou__lead strong {
	font-weight: 700;
	color: var(--c-text);
}

.thankyou-tiles {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 16px;
	margin: 0 0 44px;
	padding: 0;
	list-style: none;
}

.thankyou-tile {
	padding: 36px 22px 24px;
	border-radius: 100px 100px 12px 12px;
	background: var(--c-sand);
	text-align: center;
}

.thankyou-tile__label {
	display: block;
	margin-bottom: 10px;
	font-size: 11px;
	line-height: 1.4;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--c-muted-2);
}

.thankyou-tile__value {
	display: block;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.3;
}

.thankyou-tile__sub {
	display: block;
	margin-top: 4px;
	font-size: 13.5px;
	color: var(--c-body);
}

.thankyou-tile__sep {
	display: none;
}

.thankyou__actions {
	margin: 0;
}

.thankyou__actions .btn--outline {
	padding: 15px 28px;
}

.thankyou-main .woocommerce-thankyou-order-failed {
	padding: 16px 20px;
	border-radius: var(--radius-sm);
	background: #F7E2DF;
	color: var(--c-red);
	font-size: 16px;
}

.thankyou-hooks {
	margin-top: 40px;
}

.thankyou-hooks:not(:has(*)) {
	display: none;
}

.thankyou-hooks h2 {
	margin: 0 0 14px;
	font-size: 22px;
	font-weight: 700;
}

.thankyou-hooks section + section,
.thankyou-hooks .woocommerce-bacs-bank-details {
	margin-top: 28px;
}

.thankyou-hooks ul.wc-bacs-bank-details {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
	gap: 12px;
	margin: 0;
	padding: 18px 20px;
	border-radius: var(--radius);
	background: var(--c-sand);
	list-style: none;
	font-size: 14px;
}

.thankyou-hooks ul.wc-bacs-bank-details strong {
	display: block;
	font-size: 15px;
}

.thankyou-hooks .shop_table {
	font-size: 14.5px;
}

.thankyou-help {
	grid-area: help;
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	gap: 24px;
	align-items: center;
	margin-top: 56px;
	padding: 28px 32px;
	border-radius: 16px;
	background: var(--c-green-tint);
}

.thankyou-help__mark {
	--mark: 48px;
	--bar: 14px;
}

.thankyou-help__title {
	margin: 0 0 4px;
	font-size: 19px;
	font-weight: 700;
	line-height: 1.3;
}

.thankyou-help__text p {
	margin: 0;
	font-size: 15px;
	line-height: 1.55;
	color: var(--c-body);
}

.thankyou-help__short {
	display: none;
}

.thankyou-help__phone {
	padding: 13px 22px;
	border-radius: 26px;
	background: var(--c-white);
	color: var(--c-text);
	font-size: 15px;
	font-weight: 600;
	white-space: nowrap;
}

.thankyou-help__phone:hover {
	color: var(--c-green);
}

/* --------------------------------------------------------------------------
   5. Responsief
   -------------------------------------------------------------------------- */

@media (max-width: 1199px) {
	.cart-layout {
		grid-template-columns: minmax(0, 1fr) 360px;
		gap: 40px;
	}
	.cart-item {
		grid-template-columns: 96px minmax(0, 1fr) 132px 96px 36px;
		gap: 16px;
	}
	.cart-item__media {
		height: 108px;
		border-radius: 48px 48px 8px 8px;
	}
	.checkout-layout,
	.thankyou-layout {
		grid-template-columns: minmax(0, 1fr) 380px;
		column-gap: 40px;
	}
	.checkout-aside {
		padding: 26px 24px 24px;
	}
	.thankyou__title {
		font-size: 42px;
	}
	.thankyou-tile {
		padding: 30px 16px 20px;
	}
	.thankyou-tile__value {
		font-size: 16.5px;
	}
}

/* Tablet staand: overzicht onder de inhoud, niet sticky; afrekenen volgt de mobiele opbouw */
@media (max-width: 1023px) {
	.cart-layout {
		grid-template-columns: minmax(0, 1fr);
		gap: 32px;
		padding: 28px 0 64px;
	}
	.cart-layout--empty {
		grid-template-columns: minmax(0, 1fr);
	}
	.cart-aside {
		position: static;
	}
	.cart-aside__back {
		display: block;
		margin-top: 18px;
		text-align: center;
	}
	.cart-actions__back {
		display: none;
	}
	.cross-sells ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 20px;
	}

	.checkout-layout {
		display: flex;
		flex-direction: column;
		padding: 28px 0 64px;
	}
	.checkout-head {
		order: 1;
	}
	.checkout-head .checkout-title {
		margin-bottom: 20px;
	}
	.checkout-aside {
		display: contents;
	}
	.checkout-summary {
		order: 2;
		margin-bottom: 28px;
		padding: 16px 18px;
		border-radius: 14px;
		background: var(--c-sand);
	}
	.checkout-form > .woocommerce-NoticeGroup {
		order: 3;
	}
	.checkout-layout > .checkout-note,
	.checkout-main {
		order: 4;
	}
	.checkout-place {
		order: 5;
		padding-top: 24px;
	}
	.checkout-summary__toggle {
		display: flex;
		justify-content: space-between;
		align-items: center;
		gap: 12px;
		width: 100%;
		padding: 0;
		border: 0;
		background: none;
		text-align: left;
		cursor: pointer;
	}
	.checkout-summary__toggle-label {
		font-size: 14px;
		font-weight: 600;
		color: var(--c-green);
	}
	.checkout-summary__when-open,
	.checkout-summary__toggle[aria-expanded="true"] .checkout-summary__when-closed {
		display: none;
	}
	.checkout-summary__toggle[aria-expanded="true"] .checkout-summary__when-open {
		display: inline;
	}
	.workmed-summary-total {
		font-size: 18px;
		font-weight: 800;
		color: var(--c-text);
		white-space: nowrap;
	}
	.workmed-summary-total small {
		display: none;
	}
	.checkout-summary__head {
		display: none;
	}
	.checkout-summary__body {
		display: none;
		margin-top: 12px;
		padding-top: 4px;
		border-top: 1px solid var(--c-line-2);
	}
	.checkout-summary.is-open .checkout-summary__body {
		display: block;
	}
	.checkout-summary .order-total {
		margin-bottom: 0;
	}
	.checkout-place .checkout-trust {
		display: none;
	}
	.checkout-place__button,
	.checkout-place #place_order {
		height: 54px;
		border-radius: 27px;
		font-size: 15.5px;
	}
	.checkout-place__note {
		margin-top: 10px;
	}

	.thankyou-layout {
		grid-template-columns: minmax(0, 1fr);
		grid-template-areas:
			"main"
			"aside"
			"help";
		grid-template-rows: auto;
		row-gap: 0;
		padding: 36px 0 64px;
	}
	.thankyou-summary {
		margin-top: 40px;
	}
	.thankyou-help {
		margin-top: 16px;
	}
}

@media (max-width: 767px) {
	.checkout-steps {
		padding-top: 16px;
	}
	.checkout-steps__list {
		gap: 6px;
		font-size: 12px;
	}
	.checkout-steps__item,
	.checkout-steps__link {
		gap: 6px;
	}
	.checkout-steps__item + .checkout-steps__item::before {
		width: 14px;
		margin-right: 0;
	}
	.checkout-steps__num {
		width: 20px;
		height: 20px;
		font-size: 11px;
	}
	.checkout-steps__num .icon {
		width: 11px;
		height: 11px;
	}

	.checkout-title {
		font-size: 30px;
		line-height: 1.12;
		letter-spacing: 0;
		margin-bottom: 4px;
	}
	.checkout-count {
		margin-bottom: 8px;
		font-size: 13.5px;
	}

	/* Winkelwagen */
	.cart-layout {
		gap: 0;
		padding: 20px 0 36px;
	}
	.cart-main {
		padding-bottom: 32px;
	}
	.cart-item {
		grid-template-columns: 72px minmax(0, 1fr) auto;
		grid-template-areas:
			"thumb name remove"
			"thumb qty total";
		gap: 10px 12px;
		align-items: start;
		padding: 16px 0;
	}
	.cart-item .product-thumbnail {
		grid-area: thumb;
	}
	.cart-item .product-name {
		grid-area: name;
	}
	.cart-item .product-quantity {
		grid-area: qty;
		align-self: end;
	}
	.cart-item .product-subtotal {
		grid-area: total;
		align-self: center;
	}
	.cart-item .product-remove {
		grid-area: remove;
	}
	.cart-item__media {
		width: 72px;
		height: 84px;
		padding: 10px;
		border-radius: 36px 36px 6px 6px;
	}
	.cart-item__name {
		font-size: 14.5px;
	}
	.cart-item .variation {
		margin-top: 3px;
		font-size: 12.5px;
	}
	.cart-item__stock,
	.cart-item__each {
		display: none;
	}
	.cart-item .quantity {
		height: 36px;
		border-radius: 20px;
	}
	.cart-item .qty-btn {
		width: 34px;
		height: 36px;
	}
	.cart-item .quantity .qty {
		width: 24px;
		font-size: 14px;
	}
	.cart-item__total {
		font-size: 16px;
	}
	.cart-item__remove {
		width: 24px;
		height: 24px;
		margin: -2px -4px 0 0;
	}
	.cart-items td.actions {
		margin-top: 16px;
	}
	.cart-items .coupon {
		flex-wrap: nowrap;
		gap: 8px;
		width: 100%;
		margin: 0;
	}
	.cart-items .coupon .input-text {
		flex: 1;
		min-width: 0;
		width: auto;
		padding: 12px 16px;
		font-size: 14px;
	}
	.cart-items .coupon .button {
		padding: 12px 18px;
		font-size: 14px;
	}
	.coupon-error-notice {
		text-align: left;
	}
	.cart-items .coupon:has(.coupon-error-notice) {
		flex-wrap: wrap;
	}

	.cart_totals.summary-card {
		padding: 22px 20px;
		border-radius: 14px;
	}
	.cart_totals .summary-card__eyebrow,
	.cart_totals .pay-badges {
		display: none;
	}
	.summary-table tr {
		font-size: 14.5px;
	}
	.summary-table .order-total th {
		font-size: 16px;
	}
	.summary-table .order-total td strong,
	.summary-table .order-total td > .woocommerce-Price-amount {
		font-size: 24px;
	}
	.cart_totals .checkout-button {
		height: 52px;
		border-radius: 26px;
		font-size: 15.5px;
	}
	.checkout-trust {
		font-size: 13px;
	}
	.cart-aside__back {
		font-size: 14.5px;
	}

	.cart-empty-card {
		padding: 48px 24px 32px;
		border-radius: 110px 110px 14px 14px;
	}
	.cart-empty-card__title {
		margin-bottom: 6px;
		font-size: 19px;
	}
	.cart-empty-card__text {
		margin-bottom: 18px;
		font-size: 14.5px;
	}
	.cart-empty-card__text-long {
		display: none;
	}
	.cart-empty-card__text-short {
		display: inline;
	}
	.cart-empty-card .btn {
		padding: 13px 24px;
		border-radius: 26px;
		font-size: 14.5px;
	}
	.cross-sells ul.products {
		gap: 12px;
	}

	/* Afrekenen */
	.checkout-layout {
		padding: 20px 0 36px;
	}
	.checkout-main,
	.checkout-customer,
	.checkout-customer > .woocommerce-billing-fields {
		gap: 30px;
	}
	.woocommerce-additional-fields {
		margin-top: -10px;
	}
	.checkout-section__title {
		font-size: 19px;
	}
	.checkout-fields {
		gap: 12px;
	}
	.checkout-fields--address [id$="_address_1_field"],
	.checkout-fields--address [id$="_city_field"] {
		grid-column: 1 / -1;
	}
	.checkout-section__hint {
		display: none;
	}
	.option-card__label {
		gap: 12px;
		padding: 14px 16px;
	}
	.option-card .payment_box,
	.option-card > :not(input):not(label):not(.payment_box) {
		padding: 0 16px 14px 48px;
	}
	.checkout-terms {
		margin-top: 30px;
		padding-top: 0;
		border-top: 0;
	}
	.checkout-main label.checkbox {
		font-size: 14px;
	}
	.checkout-head .woocommerce-form-login .form-row-first,
	.checkout-head .woocommerce-form-login .form-row-last {
		width: 100%;
	}

	/* Bedankt */
	.thankyou-layout {
		padding: 28px 0 36px;
	}
	.thankyou__badge {
		width: 64px;
		height: 76px;
		margin-bottom: 20px;
		border-radius: 32px 32px 5px 5px;
	}
	.thankyou__badge .icon {
		width: 30px;
		height: 30px;
	}
	.thankyou__eyebrow {
		margin-bottom: 10px;
	}
	.thankyou__title {
		margin-bottom: 12px;
		font-size: 32px;
		line-height: 1.1;
		letter-spacing: 0;
	}
	.thankyou__lead {
		margin-bottom: 22px;
		font-size: 15.5px;
		line-height: 1.65;
	}
	.thankyou-tiles {
		display: flex;
		flex-direction: column;
		gap: 10px;
		margin-bottom: 22px;
	}
	.thankyou-tile {
		display: flex;
		justify-content: space-between;
		gap: 12px;
		padding: 16px 18px;
		border-radius: 12px;
		text-align: left;
	}
	.thankyou-tile__label {
		margin: 0;
		font-size: 13px;
		letter-spacing: 0;
		text-transform: none;
		color: var(--c-muted);
	}
	.thankyou-tile__body {
		text-align: right;
	}
	.thankyou-tile__value,
	.thankyou-tile__sub {
		display: inline;
		margin: 0;
		font-size: 14.5px;
		font-weight: 700;
		line-height: 1.4;
		color: var(--c-text);
	}
	.thankyou-tile__sep {
		display: inline;
	}
	.thankyou-tile__break {
		display: none;
	}
	.thankyou-summary {
		margin-top: 32px;
	}
	.thankyou-summary.summary-card {
		padding: 20px 18px;
		border-radius: 14px;
	}
	.thankyou-summary .summary-card__eyebrow {
		margin-bottom: 6px;
	}
	.thankyou-summary .summary-table .summary-table__items {
		margin-bottom: 14px;
		padding-bottom: 4px;
	}
	.thankyou-summary .mini-thumb {
		width: 52px;
		height: 60px;
	}
	.thankyou-help {
		display: block;
		margin-top: 12px;
		padding: 20px 18px;
		border-radius: 14px;
	}
	.thankyou-help__mark,
	.thankyou-help__long {
		display: none;
	}
	.thankyou-help__short {
		display: inline;
	}
	.thankyou-help__title {
		font-size: 16.5px;
	}
	.thankyou-help__text p {
		margin-bottom: 12px;
		font-size: 14px;
	}
	.thankyou-help__phone {
		display: inline-block;
		padding: 11px 18px;
		border-radius: 22px;
		font-size: 14px;
	}

	.checkout-summary .mini-thumb {
		width: 52px;
		height: 60px;
	}
}

/* Huisnummer/toevoeging: labels op één regel zodat de velden uitgelijnd blijven. */
.checkout-fields--address [id$="_postcode_field"] label,
.checkout-fields--address [id$="_house_number_field"] label,
.checkout-fields--address [id$="_address_2_field"] label {
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.checkout-fields--address [id$="_address_2_field"] {
	justify-content: flex-end;
}

.checkout-place #place_order,
.checkout-place__button {
	width: 100%;
}

@media (max-width: 1023px) {
	.checkout-place {
		align-self: stretch;
		width: 100%;
	}
}
