/* =============================================================
   Snuffle Pets - winkelmand, checkout, bedankpagina en account.
   Blueprint 6.2 / 6.3. Mobile-first, tokens uit main.css.
   ============================================================= */

/* ---------- Gedeeld: paginabreedte en dubbele H1 ----------
   page.php beperkt de container tot 920px en print de paginatitel;
   op deze pagina's renderen wij een eigen H1 en volle breedte. */

.woocommerce-cart .sc-page > .sc-container,
.woocommerce-checkout .sc-page > .sc-container,
.woocommerce-account .sc-page > .sc-container { max-width: 1280px !important; }

.woocommerce-cart .sc-page article > h1,
.woocommerce-checkout .sc-page article > h1,
.woocommerce-account .sc-page article > h1 { display: none; }

/* ---------- Gedeeld: terug-link ---------- */

.sc-backlink {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-weight: 600;
	color: var(--sc-brand);
	margin: 4px 0 14px;
}
.sc-backlink:hover { color: var(--sc-brand-dark); text-decoration: underline; }
.sc-backlink--bottom { margin: 18px 0 0; }

/* ---------- Gedeeld: stappen-progressbar ---------- */

.sc-steps {
	display: flex;
	justify-content: center;
	list-style: none;
	margin: 0 0 26px;
	padding: 0;
}
.sc-steps__item {
	position: relative;
	flex: 1;
	max-width: 150px;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 6px;
	font-size: 1.2rem;
	color: var(--sc-text-muted);
	text-align: center;
}
.sc-steps__item a {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 6px;
	color: inherit;
}
.sc-steps__item a:hover .sc-steps__label { text-decoration: underline; }
.sc-steps__item + .sc-steps__item::before {
	content: '';
	position: absolute;
	top: 14px;
	left: -50%;
	width: 100%;
	height: 2px;
	background: var(--sc-border-input);
}
.sc-steps__dot {
	position: relative;
	z-index: 1;
	width: 28px;
	height: 28px;
	border-radius: 50%;
	background: #fff;
	border: 2px solid var(--sc-border-input);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-weight: 700;
	font-size: 1.2rem;
}
.sc-steps__item.is-done::before,
.sc-steps__item.is-active::before { background: var(--sc-success); }
.sc-steps__item.is-done .sc-steps__dot {
	background: var(--sc-success);
	border-color: var(--sc-success);
	color: #fff;
}
.sc-steps__item.is-active { color: var(--sc-success); font-weight: 700; }
.sc-steps__item.is-active .sc-steps__dot {
	border-color: var(--sc-success);
	color: var(--sc-success);
}

/* ---------- Gedeeld: accordions (details/summary) ---------- */

.sc-acc {
	border: 1px solid var(--sc-border);
	border-radius: var(--sc-radius-s);
	background: #fff;
}
.sc-acc + .sc-acc,
.sc-acc + .sc-cartsummary__cta,
.sc-cartsummary__cta + .sc-acc { margin-top: 12px; }
.sc-acc summary {
	list-style: none;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 10px;
	padding: 12px 14px;
	font-weight: 700;
	font-size: 1.4rem;
	cursor: pointer;
}
.sc-acc summary::-webkit-details-marker { display: none; }
.sc-acc summary::after {
	content: '+';
	color: var(--sc-brand);
	font-size: 1.9rem;
	line-height: 1;
}
.sc-acc[open] summary::after { content: '\2212'; }
.sc-acc__body { padding: 0 14px 14px; font-size: 1.3rem; }
.sc-acc__body p { margin: 0 0 8px; }
.sc-acc__body p:last-child { margin-bottom: 0; }

/* ---------- Gedeeld: tooltip ---------- */

.sc-tip { position: relative; display: inline-flex; margin-left: 4px; vertical-align: middle; }
.sc-tip__icon {
	width: 16px;
	height: 16px;
	border-radius: 50%;
	background: var(--sc-border-input);
	color: var(--sc-text);
	font-size: 1.1rem;
	font-weight: 700;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	cursor: help;
}
.sc-tip__bubble {
	position: absolute;
	bottom: calc(100% + 8px);
	left: 50%;
	transform: translateX(-50%);
	background: var(--sc-text);
	color: #fff;
	font-size: 1.2rem;
	font-weight: 400;
	padding: 6px 10px;
	border-radius: var(--sc-radius-s);
	white-space: nowrap;
	opacity: 0;
	visibility: hidden;
	transition: opacity .2s;
	pointer-events: none;
	z-index: 30;
}
.sc-tip:hover .sc-tip__bubble,
.sc-tip:focus-within .sc-tip__bubble { opacity: 1; visibility: visible; }

/* ---------- Gedeeld: Woo-knoppen binnen deze pagina's ---------- */

.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 12px 18px;
	border: 0;
	border-radius: var(--sc-radius-s);
	background: var(--sc-brand);
	color: #fff;
	font-family: var(--sc-font-body);
	font-size: 1.3rem;
	font-weight: 700;
	line-height: 1;
	cursor: pointer;
	transition: background-color .3s ease-out;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover { background: var(--sc-brand-dark); color: #fff; }

/* =============================================================
   1. Winkelmand
   ============================================================= */

.sc-cartpage { padding-bottom: 24px; }

.sc-cartpage__title { margin: 0 0 18px; }
.sc-cartpage__count { color: var(--sc-text-muted); font-weight: 400; }
.sc-title-desktop { display: none; }
.sc-title-mobile { display: inline; }
@media (min-width: 768px) {
	.sc-title-desktop { display: inline; }
	.sc-title-mobile { display: none; }
}

/* Mobiel stapelt de samenvatting BOVEN de regels (conform origineel). */
.sc-cartpage__grid { display: flex; flex-direction: column; gap: 24px; }
.sc-cartsummary { order: -1; }
@media (min-width: 768px) {
	.sc-cartpage__grid {
		display: grid;
		grid-template-columns: minmax(0, 2fr) minmax(300px, 1fr);
		gap: 32px;
		align-items: start;
	}
	.sc-cartsummary { order: 0; position: sticky; top: 130px; }
}
@media (min-width: 1170px) { .sc-cartpage__grid { gap: 48px; } }

/* Productregels */
.sc-cartrows {
	list-style: none;
	margin: 0;
	padding: 0;
	border-top: 1px solid var(--sc-border);
}
.sc-cartrow {
	display: grid;
	grid-template-columns: 84px minmax(0, 1fr) auto;
	gap: 8px 14px;
	padding: 18px 0;
	border-bottom: 1px solid var(--sc-border);
	align-items: start;
}
.sc-cartrow.is-updating { opacity: .5; pointer-events: none; }
.sc-cartrow__media img {
	width: 84px;
	height: 84px;
	object-fit: contain;
	background: #fff;
	border: 1px solid var(--sc-border);
	border-radius: var(--sc-radius-s);
}
.sc-cartrow__name { font-weight: 700; font-size: 1.5rem; }
.sc-cartrow__name:hover { color: var(--sc-brand); text-decoration: underline; }
.sc-cartrow__variant { color: var(--sc-text-muted); font-size: 1.2rem; margin-top: 2px; }
.sc-cartrow__variant dl,
.sc-cartrow__variant dd,
.sc-cartrow__variant dt { display: inline; margin: 0; }
.sc-cartrow__stock {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: var(--sc-success);
	font-size: 1.3rem;
	font-weight: 600;
	margin-top: 6px;
}
.sc-cartrow__stock--out { color: var(--sc-text-muted); }
.sc-cartrow__price { font-weight: 700; font-size: 1.6rem; text-align: right; white-space: nowrap; }
.sc-cartrow__controls {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 10px 18px;
	margin-top: 10px;
}
.sc-cartrow__qty { display: inline-flex; align-items: center; gap: 8px; }
.sc-cartrow__qty label {
	margin: 0;
	font-size: 1.3rem;
	font-weight: 600;
	color: var(--sc-text-muted);
}
.sc-cartrow__qty select { width: 74px; height: 40px; padding: 0 8px; }
.sc-cartrow__qtysingle { font-weight: 700; }
.sc-cartrow__remove {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: var(--sc-text-muted);
	font-size: 1.3rem;
}
.sc-cartrow__remove:hover { color: var(--sc-error); text-decoration: underline; }

/* Gratis-verzending-resttekst */
.sc-cart-shiptip {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	background: var(--sc-success-bg);
	color: var(--sc-success);
	border-radius: var(--sc-radius-s);
	padding: 11px 16px;
	font-size: 1.4rem;
	margin: 16px 0 0;
}
.sc-cart-shiptip .sc-icon { color: var(--sc-success); }

.sc-cartpage__formfoot { display: flex; justify-content: flex-end; margin-top: 14px; }
.sc-cart-update.sc-btn--ghost { font-size: 1.3rem; padding: 11px 16px; }
/* Met JS actief submitten de selects zelf; knop alleen visueel verbergen
   (programmatic click moet blijven werken voor de AJAX-update). */
body.sc-js .sc-cart-update {
	position: absolute !important;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	border: 0;
	clip: rect(0 0 0 0);
	overflow: hidden;
	white-space: nowrap;
}

/* Samenvatting */
.sc-cartsummary {
	background: var(--sc-bg-light);
	border-radius: var(--sc-radius-m);
	padding: 22px 20px;
}
.sc-cartsummary__title { font-size: 2rem; margin: 0 0 12px; }

.sc-totals { margin: 0 0 16px; }
.sc-totals__row {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 12px;
	padding: 7px 0;
	font-size: 1.4rem;
}
.sc-totals__row dt { font-weight: 400; }
.sc-totals__row dd { margin: 0; font-weight: 600; text-align: right; }
.sc-totals__row--discount dd { color: var(--sc-sale); }
.sc-totals__row--tax dt,
.sc-totals__row--tax dd { color: var(--sc-text-muted); font-weight: 400; font-size: 1.3rem; }
.sc-totals__row--shipping dd.is-free { color: var(--sc-success); font-weight: 700; }
.sc-totals__row--grand {
	border-top: 1px solid var(--sc-border);
	margin-top: 6px;
	padding-top: 13px;
	font-size: 1.8rem;
}
.sc-totals__row--grand dt,
.sc-totals__row--grand dd { font-weight: 800; }
.woocommerce-remove-coupon {
	display: block;
	font-size: 1.1rem;
	font-weight: 400;
	color: var(--sc-text-muted);
}
.woocommerce-remove-coupon:hover { color: var(--sc-error); }

.sc-cartsummary__usps {
	list-style: none;
	margin: 0 0 16px;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 7px;
	font-size: 1.3rem;
}
.sc-cartsummary__usps li { display: flex; align-items: center; gap: 8px; }
.sc-cartsummary__usps .sc-icon { color: var(--sc-success); }
.sc-cartsummary__usps strong { color: var(--sc-success); }

.sc-cartpromo {
	display: flex;
	gap: 10px;
	align-items: flex-start;
	background: linear-gradient(120deg, var(--sc-brand), var(--sc-brand-dark));
	color: #fff;
	border-radius: var(--sc-radius-m);
	padding: 13px 15px;
	font-size: 1.3rem;
	margin: 0 0 14px;
}
.sc-cartpromo .sc-icon { color: var(--sc-accent); margin-top: 1px; }
.sc-cartpromo a { color: #fff; text-decoration: underline; }
.sc-cartpromo a:hover { color: var(--sc-accent); }

.sc-cartsummary__cta { margin-top: 14px; }

.sc-shiprates { list-style: none; margin: 0 0 8px; padding: 0; }
.sc-shiprates li {
	display: flex;
	justify-content: space-between;
	gap: 12px;
	padding: 5px 0;
	border-bottom: 1px dashed var(--sc-border);
}
.sc-shiprates li:last-child { border-bottom: 0; }
.sc-shiprates .is-free { color: var(--sc-success); font-weight: 700; }
.sc-shiprates__note { color: var(--sc-text-muted); font-size: 1.2rem; }

.sc-couponform { display: flex; gap: 8px; }
.sc-couponform input { flex: 1; min-width: 0; }
.sc-couponform .sc-btn { padding: 0 16px; height: 45px; }

/* Lege winkelmand */
.sc-cartpage--empty .sc-empty h1 { margin: 6px 0 0; }
.sc-empty__login { font-weight: 700; color: var(--sc-brand); text-decoration: underline; }

/* =============================================================
   2. Checkout
   ============================================================= */

.sc-checkout__title { text-align: center; margin: 6px 0 16px; }

/* Kortingscode- en login-toggles boven het formulier */
.woocommerce-form-coupon-toggle .woocommerce-info,
.woocommerce-form-login-toggle .woocommerce-info {
	background: var(--sc-bg-light);
	color: var(--sc-text);
	font-weight: 400;
}
.woocommerce-form-coupon-toggle a,
.woocommerce-form-login-toggle a { font-weight: 700; color: var(--sc-brand); }
form.checkout_coupon,
form.woocommerce-form-login.login {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	gap: 10px;
	border: 1px solid var(--sc-border);
	border-radius: var(--sc-radius-s);
	padding: 16px;
	margin: 0 0 20px;
}
form.checkout_coupon p,
form.woocommerce-form-login.login p { margin: 0; flex: 1 1 220px; }
form.checkout_coupon p.form-row-last button,
form.checkout_coupon .button { white-space: nowrap; }

/* Formuliergrid: 1 kolom mobiel, gegevens links + sticky overzicht rechts. */
form.woocommerce-checkout > .woocommerce-NoticeGroup { grid-column: 1 / -1; }
@media (min-width: 992px) {
	form.woocommerce-checkout {
		display: grid;
		grid-template-columns: minmax(0, 7fr) minmax(340px, 5fr);
		grid-template-rows: auto 1fr;
		column-gap: 40px;
		align-items: start;
	}
	form.woocommerce-checkout #customer_details { grid-column: 1; grid-row: 1 / span 2; }
	form.woocommerce-checkout #order_review_heading { grid-column: 2; grid-row: 1; }
	form.woocommerce-checkout #order_review {
		grid-column: 2;
		grid-row: 2;
		align-self: start;
		position: sticky;
		top: 130px;
	}
}

#customer_details h3,
#order_review_heading {
	font-size: 2rem;
	margin: 22px 0 14px;
}
#customer_details .col-1 > h3:first-child,
#customer_details .woocommerce-billing-fields > h3:first-child { margin-top: 0; }

/* Veldenraster: e-mail eerst, naam naast elkaar, postcode-rij gedrieën. */
.woocommerce-billing-fields__field-wrapper,
.woocommerce-shipping-fields__field-wrapper,
.woocommerce-additional-fields__field-wrapper {
	display: grid;
	grid-template-columns: repeat(6, 1fr);
	gap: 14px 12px;
}
.woocommerce-billing-fields__field-wrapper p.form-row,
.woocommerce-shipping-fields__field-wrapper p.form-row,
.woocommerce-additional-fields__field-wrapper p.form-row { margin: 0; grid-column: span 6; }
p.form-row.form-row-first { grid-column: span 3; }
p.form-row.form-row-last { grid-column: span 3; }
p.form-row.sc-field--postcode { grid-column: span 2; }
p.form-row.sc-field--housenr { grid-column: span 2; }
p.form-row.sc-field--houseadd { grid-column: span 2; }
@media (max-width: 479px) {
	p.form-row.form-row-first,
	p.form-row.form-row-last { grid-column: span 6; }
}

p.form-row label { font-size: 1.3rem; }
p.form-row .required { color: var(--sc-error); text-decoration: none; }
p.form-row.woocommerce-invalid input,
p.form-row.woocommerce-invalid select { border-color: var(--sc-error); }
p.form-row.woocommerce-validated input,
p.form-row.woocommerce-validated select { border-color: var(--sc-success); }

/* Checkboxen (nieuwsbrief, ander adres, voorwaarden) */
p.form-row input[type="checkbox"] {
	width: 17px;
	height: 17px;
	accent-color: var(--sc-brand);
	margin-right: 8px;
	vertical-align: middle;
}
.sc-field--newsletter { font-size: 1.3rem; }
.sc-field--newsletter label { display: inline; font-weight: 400; margin: 0; }
.sc-field--newsletter .woocommerce-input-wrapper { display: inline; }

/* Zakelijk bestellen: ingeklapt tot de toggle wordt gebruikt. */
.sc-business-toggle {
	background: none;
	border: 0;
	color: var(--sc-brand);
	font-family: var(--sc-font-body);
	font-size: 1.4rem;
	font-weight: 700;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 4px 0;
	margin-top: 14px;
}
.sc-business-toggle:hover { text-decoration: underline; }
.sc-business-toggle[aria-expanded="true"] .sc-icon { transform: rotate(45deg); }
.sc-business-toggle .sc-icon { transition: transform .2s; }
p.form-row.sc-field--business.is-collapsed { display: none; }

/* Ander bezorgadres */
#ship-to-different-address {
	font-family: var(--sc-font-body);
	font-size: 1.5rem;
	margin: 22px 0 10px;
}
#ship-to-different-address label { display: inline-flex; align-items: center; margin: 0; cursor: pointer; }

/* Besteloverzicht-sidebar */
#order_review {
	background: var(--sc-bg-light);
	border-radius: var(--sc-radius-m);
	padding: 20px;
}
table.woocommerce-checkout-review-order-table {
	width: 100%;
	border-collapse: collapse;
	font-size: 1.3rem;
}
table.woocommerce-checkout-review-order-table thead { display: none; }
table.woocommerce-checkout-review-order-table td,
table.woocommerce-checkout-review-order-table th {
	padding: 8px 0;
	border-bottom: 1px solid var(--sc-border);
	text-align: left;
	vertical-align: middle;
}
table.woocommerce-checkout-review-order-table td.product-total,
table.woocommerce-checkout-review-order-table tfoot td { text-align: right; font-weight: 600; }
table.woocommerce-checkout-review-order-table tfoot th { font-weight: 400; }
table.woocommerce-checkout-review-order-table td.product-name {
	display: flex;
	align-items: center;
	gap: 10px;
}
.sc-review-thumb img {
	width: 44px;
	height: 44px;
	object-fit: contain;
	background: #fff;
	border: 1px solid var(--sc-border);
	border-radius: var(--sc-radius-s);
}
.sc-review-name { flex: 1; min-width: 0; }
.sc-review-name .product-quantity { color: var(--sc-text-muted); font-weight: 600; white-space: nowrap; }
table.woocommerce-checkout-review-order-table .variation {
	margin: 2px 0 0;
	font-size: 1.1rem;
	color: var(--sc-text-muted);
}
table.woocommerce-checkout-review-order-table .variation dt,
table.woocommerce-checkout-review-order-table .variation dd { display: inline; margin: 0; }
table.woocommerce-checkout-review-order-table tr.order-total th,
table.woocommerce-checkout-review-order-table tr.order-total td {
	font-size: 1.7rem;
	font-weight: 800;
	border-bottom: 0;
	padding-top: 12px;
}
table.woocommerce-checkout-review-order-table tr.order-total .includes_tax {
	display: block;
	font-size: 1.1rem;
	font-weight: 400;
	color: var(--sc-text-muted);
}

/* Verzendmethoden in het overzicht */
ul#shipping_method { list-style: none; margin: 0; padding: 0; }
ul#shipping_method li { display: flex; align-items: center; gap: 8px; padding: 3px 0; }
ul#shipping_method input[type="radio"] { accent-color: var(--sc-brand); }
ul#shipping_method label { margin: 0; font-weight: 400; font-size: 1.3rem; }

/* Betaalmethoden als keuzekaarten */
#payment { margin-top: 16px; }
ul.wc_payment_methods {
	list-style: none;
	margin: 0 0 16px;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 8px;
}
li.wc_payment_method {
	background: #fff;
	border: 2px solid var(--sc-border-input);
	border-radius: var(--sc-radius-s);
	padding: 12px 14px;
	transition: border-color .2s;
}
li.wc_payment_method:hover { border-color: var(--sc-brand); }
li.wc_payment_method:has(input:checked) {
	border-color: var(--sc-secondary);
	background: var(--sc-brand-light);
}
li.wc_payment_method input[type="radio"] {
	accent-color: var(--sc-brand);
	margin-right: 8px;
	vertical-align: middle;
}
li.wc_payment_method > label {
	display: inline;
	margin: 0;
	font-weight: 700;
	cursor: pointer;
}
li.wc_payment_method img { display: inline-block; max-height: 22px; width: auto; margin-left: 6px; vertical-align: middle; }
div.payment_box {
	background: var(--sc-bg-light);
	border-radius: var(--sc-radius-s);
	padding: 10px 12px;
	margin-top: 10px;
	font-size: 1.2rem;
	color: var(--sc-text-muted);
}
div.payment_box p { margin: 0; }

/* Voorwaarden prominent boven de bestelknop */
.woocommerce-terms-and-conditions-wrapper,
p.form-row.sc-terms {
	background: var(--sc-brand-light);
	border-radius: var(--sc-radius-s);
	padding: 13px 14px;
	margin: 0 0 14px;
	font-size: 1.3rem;
}
.woocommerce-terms-and-conditions-wrapper p.form-row,
p.form-row.sc-terms { margin: 0; }
.sc-terms__label {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	font-weight: 600;
	margin: 0;
	cursor: pointer;
}
.sc-terms__label input[type="checkbox"] { margin-top: 2px; }
.sc-terms a,
.woocommerce-terms-and-conditions-wrapper a { text-decoration: underline; color: var(--sc-brand); }

/* Bestelknop XL */
#place_order {
	width: 100%;
	height: 55px;
	background: var(--sc-cta);
	color: #fff;
	border: 0;
	border-radius: var(--sc-radius-s);
	font-family: var(--sc-font-body);
	font-size: 1.5rem;
	font-weight: 700;
	cursor: pointer;
	transition: background-color .3s ease-out;
}
#place_order:hover { background: var(--sc-cta-hover); }

.sc-checkout__microcopy {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	font-size: 1.2rem;
	color: var(--sc-text-muted);
	margin: 10px 0 0;
	text-align: center;
}

/* 3-USP-regel onderaan */
.sc-checkout-usps {
	list-style: none;
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin: 30px 0 0;
	padding: 18px 0 0;
	border-top: 1px solid var(--sc-border);
	font-size: 1.3rem;
}
.sc-checkout-usps li { display: flex; align-items: center; gap: 8px; }
.sc-checkout-usps .sc-icon { color: var(--sc-success); }
.sc-checkout-usps strong { color: var(--sc-success); }
@media (min-width: 768px) {
	.sc-checkout-usps { flex-direction: row; justify-content: center; gap: 40px; }
}

/* Select2 (landenveld) in onze stijl */
.select2-container--default .select2-selection--single {
	height: 45px;
	border: 2px solid var(--sc-border-input);
	border-radius: var(--sc-radius-s);
}
.select2-container--default .select2-selection--single .select2-selection__rendered {
	line-height: 41px;
	padding-left: 14px;
	font-size: 1.4rem;
	color: var(--sc-text);
}
.select2-container--default .select2-selection--single .select2-selection__arrow { height: 41px; }
.select2-dropdown { border-color: var(--sc-border-input); font-size: 1.4rem; }
.select2-container--default .select2-results__option--highlighted[aria-selected],
.select2-container--default .select2-results__option--highlighted[data-selected] { background: var(--sc-brand); }
.select2-container--default .select2-search--dropdown .select2-search__field { height: 38px; }

/* =============================================================
   3. Bedankpagina (order received)
   ============================================================= */

.woocommerce-order > .woocommerce-thankyou-order-received { display: none; }

.sc-thanks { text-align: center; margin: 8px 0 26px; }
.sc-thanks__check {
	width: 64px;
	height: 64px;
	border-radius: 50%;
	background: var(--sc-success);
	color: #fff;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 14px;
}
.sc-thanks h1 { margin-bottom: 10px; }
.sc-thanks p { color: var(--sc-text-muted); max-width: 520px; margin: 0 auto; }
.sc-thanks p strong { color: var(--sc-text); }

ul.woocommerce-order-overview {
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 10px;
	margin: 0 0 30px;
	padding: 0;
}
ul.woocommerce-order-overview li {
	background: var(--sc-bg-light);
	border-radius: var(--sc-radius-s);
	padding: 10px 16px;
	font-size: 1.2rem;
	color: var(--sc-text-muted);
}
ul.woocommerce-order-overview li strong {
	display: block;
	color: var(--sc-text);
	font-size: 1.4rem;
	margin-top: 2px;
}

.woocommerce-order-details,
.woocommerce-customer-details { max-width: 720px; margin: 0 auto 28px; }
.woocommerce-order-details h2,
.woocommerce-customer-details h2 { font-size: 2rem; }
table.woocommerce-table--order-details,
table.order_details { width: 100%; border-collapse: collapse; font-size: 1.4rem; }
table.woocommerce-table--order-details th,
table.woocommerce-table--order-details td,
table.order_details th,
table.order_details td {
	padding: 10px 0;
	border-bottom: 1px solid var(--sc-border);
	text-align: left;
}
table.woocommerce-table--order-details td:last-child,
table.order_details td:last-child { text-align: right; }
table.woocommerce-table--order-details tfoot tr:last-child th,
table.woocommerce-table--order-details tfoot tr:last-child td { font-weight: 800; font-size: 1.6rem; border-bottom: 0; }

.woocommerce-customer-details address {
	font-style: normal;
	line-height: 1.8;
	background: var(--sc-bg-light);
	border-radius: var(--sc-radius-m);
	padding: 16px 18px;
}
.woocommerce-columns--addresses { display: grid; gap: 20px; }
@media (min-width: 768px) { .woocommerce-columns--addresses { grid-template-columns: 1fr 1fr; } }

.sc-thanks__more { text-align: center; margin: 10px 0 0; }
.sc-thanks__more .sc-btn { min-width: 220px; }

/* =============================================================
   4. Mijn account
   ============================================================= */

.sc-account-head { margin-bottom: 22px; }
.sc-account-head h1 { margin-bottom: 6px; }
.sc-account-head p { color: var(--sc-text-muted); margin: 0; }
.sc-account-head--login { text-align: center; }

/* Login + registratie als 2 kaarten */
.woocommerce-account #customer_login { display: grid; gap: 24px; }
@media (min-width: 768px) {
	.woocommerce-account #customer_login {
		grid-template-columns: 1fr 1fr;
		gap: 32px;
		max-width: 980px;
		margin: 0 auto;
	}
}
.woocommerce-account #customer_login .u-column1,
.woocommerce-account #customer_login .u-column2,
.woocommerce-account #customer_login .col-1,
.woocommerce-account #customer_login .col-2 {
	background: #fff;
	border: 1px solid var(--sc-border);
	border-radius: var(--sc-radius-m);
	padding: 26px 24px;
}
.woocommerce-account #customer_login h2 { font-size: 2rem; margin-bottom: 16px; }
form.woocommerce-form-login p.form-row,
form.woocommerce-form-register p.form-row { margin: 0 0 14px; }
form.woocommerce-form-login button.button,
form.woocommerce-form-register button.button {
	width: 100%;
	height: 48px;
	background: var(--sc-cta);
	font-size: 1.4rem;
}
form.woocommerce-form-login button.button:hover,
form.woocommerce-form-register button.button:hover { background: var(--sc-cta-hover); }
.woocommerce-LostPassword { margin: 12px 0 0; text-align: center; font-size: 1.3rem; }
.woocommerce-LostPassword a { color: var(--sc-text-muted); text-decoration: underline; }
.woocommerce-form-login__rememberme { display: block; margin: 0 0 12px; font-size: 1.3rem; }
.woocommerce-form-login__rememberme input[type="checkbox"],
.woocommerce-form__input-checkbox { accent-color: var(--sc-brand); margin-right: 6px; }
.woocommerce-privacy-policy-text { font-size: 1.2rem; color: var(--sc-text-muted); margin-bottom: 14px; }
.woocommerce-password-strength { font-size: 1.2rem; margin-top: 4px; }
.woocommerce-password-strength.bad,
.woocommerce-password-strength.short { color: var(--sc-error); }
.woocommerce-password-strength.good,
.woocommerce-password-strength.strong { color: var(--sc-success); }

/* Ingelogd: zijnavigatie + content */
@media (min-width: 992px) {
	.woocommerce-account .woocommerce:has(> nav.woocommerce-MyAccount-navigation) {
		display: grid;
		grid-template-columns: 240px minmax(0, 1fr);
		gap: 16px 40px;
		align-items: start;
	}
	.woocommerce-account .woocommerce:has(> nav.woocommerce-MyAccount-navigation) > .sc-account-head,
	.woocommerce-account .woocommerce:has(> nav.woocommerce-MyAccount-navigation) > .woocommerce-notices-wrapper { grid-column: 1 / -1; }
}

nav.woocommerce-MyAccount-navigation ul {
	list-style: none;
	margin: 0 0 20px;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}
@media (min-width: 992px) {
	nav.woocommerce-MyAccount-navigation ul { flex-direction: column; margin: 0; }
}
nav.woocommerce-MyAccount-navigation li a {
	display: block;
	padding: 10px 18px;
	border-radius: var(--sc-radius-pill);
	background: var(--sc-bg-light);
	font-weight: 600;
	font-size: 1.3rem;
}
nav.woocommerce-MyAccount-navigation li a:hover {
	background: var(--sc-brand-light);
	color: var(--sc-brand);
}
nav.woocommerce-MyAccount-navigation li.is-active a {
	background: var(--sc-brand);
	color: #fff;
}

.woocommerce-MyAccount-content > p { max-width: 640px; }
.woocommerce-MyAccount-content mark {
	background: var(--sc-brand-light);
	color: var(--sc-brand-dark);
	padding: 0 4px;
	border-radius: 2px;
	font-weight: 700;
}

/* Tabellen (bestellingen e.d.) */
.woocommerce-MyAccount-content table.shop_table {
	width: 100%;
	border-collapse: collapse;
	font-size: 1.4rem;
}
.woocommerce-MyAccount-content table.shop_table th {
	text-align: left;
	padding: 10px 12px;
	border-bottom: 2px solid var(--sc-border);
	font-size: 1.2rem;
	text-transform: uppercase;
	letter-spacing: .04em;
	color: var(--sc-text-muted);
}
.woocommerce-MyAccount-content table.shop_table td {
	padding: 13px 12px;
	border-bottom: 1px solid var(--sc-border);
}
.woocommerce-MyAccount-content table.shop_table tbody tr:hover { background: var(--sc-bg-light); }
.woocommerce-orders-table__cell-order-number a { font-weight: 700; color: var(--sc-brand); }
.woocommerce-orders-table__cell-order-actions .button {
	padding: 8px 14px;
	font-size: 1.2rem;
	margin: 2px 6px 2px 0;
}

/* Adressen als 2 kaarten */
.woocommerce-MyAccount-content .woocommerce-Addresses { display: grid; gap: 20px; }
@media (min-width: 768px) { .woocommerce-MyAccount-content .woocommerce-Addresses { grid-template-columns: 1fr 1fr; } }
.woocommerce-MyAccount-content .woocommerce-Address {
	border: 1px solid var(--sc-border);
	border-radius: var(--sc-radius-m);
	padding: 20px;
}
.woocommerce-MyAccount-content .woocommerce-Address address { font-style: normal; line-height: 1.8; }
.woocommerce-Address-title { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.woocommerce-Address-title h3 { font-size: 1.7rem; margin: 0 0 10px; }
.woocommerce-Address-title .edit { font-size: 1.3rem; color: var(--sc-brand); text-decoration: underline; }

/* Accountformulieren (adres bewerken, accountgegevens) */
.woocommerce-MyAccount-content .woocommerce-address-fields__field-wrapper,
.woocommerce-MyAccount-content form.woocommerce-EditAccountForm {
	display: grid;
	grid-template-columns: repeat(6, 1fr);
	gap: 14px 12px;
	max-width: 640px;
}
.woocommerce-MyAccount-content .woocommerce-address-fields__field-wrapper p.form-row,
.woocommerce-MyAccount-content form.woocommerce-EditAccountForm p.form-row { margin: 0; grid-column: span 6; }
.woocommerce-MyAccount-content form.woocommerce-EditAccountForm fieldset,
.woocommerce-MyAccount-content form.woocommerce-EditAccountForm p:not(.form-row) { grid-column: span 6; }
.woocommerce-MyAccount-content fieldset {
	border: 1px solid var(--sc-border);
	border-radius: var(--sc-radius-s);
	padding: 16px;
	margin: 8px 0;
	display: grid;
	gap: 14px;
}
.woocommerce-MyAccount-content fieldset legend { font-weight: 700; padding: 0 6px; }
.woocommerce-MyAccount-content .woocommerce-address-fields > p,
.woocommerce-address-fields .button,
.woocommerce-EditAccountForm .button { margin-top: 6px; }

/* =============================================================
   5. Kassakoopje (checkout order-bump + mini cross-sell)
   ============================================================= */

.sc-bump-wrap { margin: 0 0 16px; }

.sc-bump {
	display: flex;
	align-items: center;
	gap: 12px;
	background: var(--sc-brand-light);
	border: 1px dashed var(--sc-brand);
	border-radius: var(--sc-radius-s);
	padding: 12px 14px;
}
.sc-bump.is-added {
	background: var(--sc-success-bg);
	border-color: var(--sc-success);
	border-style: solid;
}
.sc-bump__media {
	flex: 0 0 auto;
	width: 44px;
	height: 44px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}
.sc-bump__media img {
	width: 44px;
	height: 44px;
	object-fit: contain;
	background: #fff;
	border: 1px solid var(--sc-border);
	border-radius: var(--sc-radius-s);
}
.sc-bump__emoji { font-size: 30px; line-height: 1; }
.sc-bump__info {
	flex: 1 1 auto;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 2px;
}
.sc-bump__title { font-weight: 700; font-size: 1.4rem; }
.sc-bump__desc { font-size: 1.2rem; color: var(--sc-text-muted); }
.sc-bump__price { font-weight: 700; font-size: 1.4rem; white-space: nowrap; }
.sc-bump__btn {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	border: 0;
	border-radius: var(--sc-radius-pill);
	background: var(--sc-cta);
	color: #fff;
	font-family: var(--sc-font-body);
	font-size: 1.3rem;
	font-weight: 700;
	padding: 9px 16px;
	cursor: pointer;
	transition: background-color .2s, opacity .2s;
}
.sc-bump__btn:hover { background: var(--sc-cta-hover); }
.sc-bump__btn.is-added { background: var(--sc-success); }
.sc-bump__btn.is-loading { opacity: .55; pointer-events: none; }

.sc-bump__cross {
	margin-top: 10px;
	display: flex;
	flex-direction: column;
	gap: 4px;
}
.sc-bump__crosslabel {
	font-size: 1.15rem;
	font-weight: 700;
	color: var(--sc-text-muted);
	text-transform: uppercase;
	letter-spacing: .04em;
	margin-bottom: 2px;
}
.sc-bump__crossitem {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 7px 0;
	border-top: 1px solid var(--sc-border);
}
.sc-bump__crossmedia img {
	width: 34px;
	height: 34px;
	object-fit: contain;
	border: 1px solid var(--sc-border);
	border-radius: 6px;
	background: #fff;
}
.sc-bump__crossname { flex: 1 1 auto; min-width: 0; font-size: 1.25rem; }
.sc-bump__crossprice { font-size: 1.25rem; font-weight: 700; white-space: nowrap; }
.sc-bump__crossadd {
	flex: 0 0 auto;
	width: 30px;
	height: 30px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 1px solid var(--sc-brand);
	background: #fff;
	color: var(--sc-brand);
	border-radius: 50%;
	cursor: pointer;
	transition: background-color .2s, color .2s;
}
.sc-bump__crossadd:hover { background: var(--sc-brand); color: #fff; }
