/* ==========================================================================
   PLS cart, checkout, order received, my account. Classic WooCommerce markup, presentation only.
   Mobile first: single column; two columns from 990px.
   ========================================================================== */

.page-main--woo .page-head { padding-block: var(--s-8) var(--s-4); }
@media (min-width: 990px) { .page-main--woo .page-head { padding-block: var(--s-12) var(--s-8); } }
.page-content--woo a:where(:not(.button):not(.btn):not(.wp-element-button)) { text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; }
.page-content--woo .price, .page-content--woo .amount { font-size: inherit; letter-spacing: 0; }
.page-content--woo .woocommerce-Price-amount { white-space: nowrap; }
.page-content--woo .required { color: var(--c-muted); text-decoration: none; border: 0; }
.page-content--woo abbr[title] { text-decoration: none; }
.page-content--woo .screen-reader-text { position: absolute !important; }
wc-order-attribution-inputs { display: none; }

/* Buttons: primary actions are full-bleed black ------------------------------ */
.page-content--woo .button.alt,
.page-content--woo #place_order,
.page-content--woo .checkout-button { width: 100%; min-height: 52px; }
.page-content--woo .button.alt:hover { background: var(--c-ink-2); }

/* Notices in this area sit flush, message bar style from base.css */
.page-content--woo .woocommerce-notices-wrapper { margin-bottom: var(--s-4); }
.page-content--woo .woocommerce-error { display: block; }
.page-content--woo .woocommerce-error li + li { margin-top: var(--s-1); }

/* Quantity stepper (cart) ----------------------------------------------------- */
.quantity { display: inline-flex; align-items: center; border: 1px solid var(--c-line); height: 44px; }
.quantity input.qty {
	width: 44px; min-height: 0; height: 100%; padding: 0; border: 0; text-align: center;
	background: transparent; appearance: textfield; -moz-appearance: textfield; font-size: var(--fs-m);
}
.quantity input.qty::-webkit-outer-spin-button, .quantity input.qty::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.qty-btn { display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 100%; flex: none; }
.qty-btn:hover { background: var(--c-cream); }
.qty-btn:focus-visible { outline-offset: -3px; }

/* ==========================================================================
   CART
   ========================================================================== */
.woocommerce-cart .woocommerce { display: block; }
.woocommerce-cart .woocommerce-notices-wrapper { grid-column: 1 / -1; }
@media (min-width: 990px) {
	.woocommerce-cart .woocommerce:has(.woocommerce-cart-form) {
		display: grid; grid-template-columns: minmax(0, 1fr) 380px; column-gap: var(--s-16); align-items: start;
	}
}
.woocommerce-cart-form table.cart { width: 100%; border-collapse: collapse; }
.woocommerce-cart-form thead th {
	padding: 0 var(--s-3) var(--s-3); text-align: left; font-size: var(--fs-xs); letter-spacing: var(--tracking-ui);
	text-transform: uppercase; font-weight: var(--fw-regular); color: var(--c-muted); border-bottom: 1px solid var(--c-line-strong);
}
.woocommerce-cart-form td { padding: var(--s-5) var(--s-3); border-bottom: 1px solid var(--c-line); vertical-align: middle; font-size: var(--fs-m); }
.woocommerce-cart-form .product-remove { width: 32px; padding-inline: 0; }
.woocommerce-cart-form .product-remove a.remove {
	display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; margin-left: -12px;
	font-size: 20px; line-height: 1; font-weight: var(--fw-light); text-decoration: none; color: var(--c-muted);
}
.woocommerce-cart-form .product-remove a.remove:hover { color: var(--c-ink); text-decoration: none; }
.woocommerce-cart-form .product-thumbnail { width: 112px; }
.woocommerce-cart-form .product-thumbnail img { width: 88px; height: auto; aspect-ratio: 3 / 4; object-fit: cover; background: var(--c-cream); }
.woocommerce-cart-form .product-name a { font-size: var(--fs-xs); letter-spacing: var(--tracking-ui); text-transform: uppercase; text-decoration: none; }
.woocommerce-cart-form .product-name a:hover { text-decoration: underline; }
.woocommerce-cart-form .product-name dl.variation { margin: var(--s-2) 0 0; font-size: var(--fs-s); color: var(--c-muted); }
.woocommerce-cart-form .product-name dl.variation dt, .woocommerce-cart-form .product-name dl.variation dd { display: inline; margin: 0; }
.woocommerce-cart-form .product-name dl.variation dd p { display: inline; }
.woocommerce-cart-form .product-price, .woocommerce-cart-form .product-subtotal { white-space: nowrap; }
.woocommerce-cart-form .product-subtotal { text-align: right; }
.woocommerce-cart-form thead .product-subtotal { text-align: right; }
.woocommerce-cart-form .backorder_notification { margin: var(--s-1) 0 0; font-size: var(--fs-s); color: var(--c-muted); }

/* Actions row: coupon (collapsed) + update */
.woocommerce-cart-form td.actions { padding: var(--s-4) 0 0; border-bottom: 0; }
.woocommerce-cart-form td.actions::after { content: ""; display: table; clear: both; }
.cart-coupon { border-bottom: 1px solid var(--c-line); }
.cart-coupon > summary {
	list-style: none; cursor: pointer; display: flex; align-items: center; justify-content: space-between; min-height: 44px;
	font-size: var(--fs-xs); letter-spacing: var(--tracking-ui); text-transform: uppercase;
}
.cart-coupon > summary::-webkit-details-marker { display: none; }
.cart-coupon > summary::after { content: "+"; font-size: 16px; font-weight: var(--fw-light); }
.cart-coupon[open] > summary::after { content: "\2212"; }
.cart-coupon .coupon { display: flex; gap: var(--s-2); padding-bottom: var(--s-4); }
.cart-coupon .coupon input.input-text { flex: 1; min-width: 0; }
.cart-coupon .coupon .button { flex: none; }
.woocommerce-cart-form button[name="update_cart"] { margin-top: var(--s-4); }
.woocommerce-cart-form.js-auto-update button[name="update_cart"] { display: none; }
.woocommerce-cart-form button[name="update_cart"]:disabled { opacity: .4; }
.woocommerce-cart-form.processing { opacity: .5; pointer-events: none; }

/* Mobile: stacked rows */
@media (max-width: 749px) {
	.woocommerce-cart-form thead { display: none; }
	.woocommerce-cart-form table.cart, .woocommerce-cart-form tbody { display: block; }
	.woocommerce-cart-form tr.cart_item {
		display: grid; grid-template-columns: 88px minmax(0, 1fr) auto; column-gap: var(--s-4); row-gap: var(--s-1);
		grid-template-areas: "thumb name remove" "thumb price price" "thumb qty subtotal";
		align-items: center; padding: var(--s-5) 0; border-bottom: 1px solid var(--c-line);
	}
	.woocommerce-cart-form tr.cart_item td { display: block; padding: 0; border: 0; }
	.woocommerce-cart-form td.product-remove { grid-area: remove; width: auto; align-self: start; }
	.woocommerce-cart-form td.product-remove a.remove { margin: -12px -12px 0 0; }
	.woocommerce-cart-form td.product-thumbnail { grid-area: thumb; width: auto; align-self: start; }
	.woocommerce-cart-form td.product-name { grid-area: name; align-self: start; }
	.woocommerce-cart-form td.product-price { grid-area: price; color: var(--c-muted); font-size: var(--fs-s); align-self: start; }
	.woocommerce-cart-form td.product-quantity { grid-area: qty; margin-top: var(--s-2); }
	.woocommerce-cart-form td.product-subtotal { grid-area: subtotal; align-self: end; }
	.woocommerce-cart-form tbody > tr:last-child { display: block; }
	.woocommerce-cart-form td.actions { display: block; }
}

/* Totals column */
.cart-collaterals { margin-top: var(--s-10); }
@media (min-width: 990px) { .cart-collaterals { margin-top: 0; position: sticky; top: calc(var(--header-h) + var(--s-6)); } }
.cart_totals > h2 {
	margin: 0 0 var(--s-4); padding-bottom: var(--s-3); border-bottom: 1px solid var(--c-line-strong);
	font-size: var(--fs-xs); letter-spacing: var(--tracking-ui); text-transform: uppercase; font-weight: var(--fw-medium);
}
.cart_totals table { width: 100%; border-collapse: collapse; }
.cart_totals th, .cart_totals td { padding: var(--s-3) 0; vertical-align: top; text-align: left; font-weight: var(--fw-regular); }
.cart_totals th { width: 34%; padding-right: var(--s-3); font-size: var(--fs-xs); letter-spacing: var(--tracking-ui); text-transform: uppercase; }
.cart_totals td { text-align: right; }
.cart_totals tr.order-total th, .cart_totals tr.order-total td { padding-top: var(--s-4); border-top: 1px solid var(--c-line-strong); font-size: var(--fs-l); font-weight: var(--fw-medium); }
.cart_totals tr.order-total small { display: block; margin-top: var(--s-1); font-size: var(--fs-xs); font-weight: var(--fw-regular); color: var(--c-muted); }
.cart_totals .wc-proceed-to-checkout { padding-top: var(--s-5); }
.cart_totals .shipping td { text-align: right; }
.woocommerce-shipping-methods li { margin: 0 0 var(--s-2); }
.woocommerce-shipping-methods li label { display: inline; margin: 0; text-transform: none; letter-spacing: 0; font-size: var(--fs-m); }
.woocommerce-shipping-methods input[type="radio"] { margin-right: var(--s-2); vertical-align: -3px; }
.shipping-method-description, .woocommerce-shipping-destination { margin: var(--s-1) 0 0; font-size: var(--fs-s); color: var(--c-muted); }
.shipping-calculator-button { display: inline-block; margin-top: var(--s-2); font-size: var(--fs-xs); letter-spacing: var(--tracking-ui); text-transform: uppercase; }
.shipping-calculator-form { margin-top: var(--s-4); text-align: left; }
.shipping-calculator-form .form-row { margin: 0 0 var(--s-3); }

/* Empty cart */
.cart-empty.woocommerce-info { display: block; margin: var(--s-10) auto var(--s-6); background: none; border: 0; padding: 0; text-align: center; font-size: var(--fs-l); font-weight: var(--fw-light); }
.return-to-shop { text-align: center; padding-bottom: var(--s-16); }

/* Cross-sells, if any plugin adds them: use the shared grid, just space it */
.cross-sells { margin-top: var(--s-12); }

/* ==========================================================================
   CHECKOUT
   ========================================================================== */
.woocommerce-checkout .page-content--woo > .woocommerce { max-width: 1200px; margin-inline: auto; }
.woocommerce-form-login-toggle .woocommerce-info,
.woocommerce-form-coupon-toggle .woocommerce-info {
	display: block; margin: 0; padding: var(--s-3) 0; background: none; border: 0; border-bottom: 1px solid var(--c-line);
	font-size: var(--fs-xs); letter-spacing: var(--tracking-ui); text-transform: uppercase;
}
.woocommerce-form-login-toggle .woocommerce-info a, .woocommerce-form-coupon-toggle .woocommerce-info a { text-decoration: underline; text-underline-offset: 3px; }
form.checkout_coupon, form.woocommerce-form-login {
	margin: 0 0 var(--s-4); padding: var(--s-5) 0; border-bottom: 1px solid var(--c-line);
}
form.checkout_coupon { display: flex; flex-wrap: wrap; gap: var(--s-2); }
form.checkout_coupon .form-row { margin: 0; }
form.checkout_coupon .form-row-first { flex: 1 1 220px; }
form.checkout_coupon .clear, form.woocommerce-form-login .clear { display: none; }
form.woocommerce-form-login .form-row { margin: 0 0 var(--s-3); }
form.woocommerce-form-login .lost_password { margin: var(--s-3) 0 0; font-size: var(--fs-s); }
.woocommerce-form-login__rememberme { display: flex; align-items: center; gap: var(--s-2); text-transform: none; letter-spacing: 0; font-size: var(--fs-s); }
.woocommerce-form-login__submit { margin-left: auto; }

/* Two columns from 990: form left, sticky summary right. Single column on mobile. */
form.woocommerce-checkout { display: block; margin-top: var(--s-6); }
@media (min-width: 990px) {
	form.woocommerce-checkout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(360px, 440px); column-gap: var(--s-16); align-items: start; margin-top: var(--s-10); }
	.checkout-summary { position: sticky; top: calc(var(--header-h) + var(--s-6)); }
}
#customer_details .col-1, #customer_details .col-2 { width: 100%; float: none; }
.checkout-summary { margin-top: var(--s-10); }
@media (min-width: 990px) { .checkout-summary { margin-top: 0; } }

/* Section headings */
.woocommerce-billing-fields > h3, .woocommerce-shipping-fields > h3, .woocommerce-additional-fields > h3, #order_review_heading,
.woocommerce-checkout h3 {
	margin: 0 0 var(--s-5); padding-bottom: var(--s-3); border-bottom: 1px solid var(--c-line-strong);
	font-size: var(--fs-xs); letter-spacing: var(--tracking-ui); text-transform: uppercase; font-weight: var(--fw-medium);
}
#ship-to-different-address { margin-top: var(--s-10); }
#ship-to-different-address label { display: flex; align-items: center; gap: var(--s-2); margin: 0; cursor: pointer; }
.woocommerce-shipping-fields, .woocommerce-additional-fields { margin-top: var(--s-2); }
.woocommerce-additional-fields { margin-top: var(--s-8); }

/* Fields: hairline inputs, 2-up where WooCommerce asks for first/last */
.woocommerce-billing-fields__field-wrapper, .woocommerce-shipping-fields__field-wrapper, .woocommerce-additional-fields__field-wrapper,
.woocommerce-address-fields__field-wrapper, .woocommerce-EditAccountForm, .woocommerce-form-register, .woocommerce-form-login {
	display: block;
}
@media (min-width: 750px) {
	.woocommerce-billing-fields__field-wrapper, .woocommerce-shipping-fields__field-wrapper, .woocommerce-address-fields__field-wrapper {
		display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: var(--s-4);
	}
	.woocommerce-billing-fields__field-wrapper .form-row, .woocommerce-shipping-fields__field-wrapper .form-row, .woocommerce-address-fields__field-wrapper .form-row { grid-column: 1 / -1; }
	.woocommerce-billing-fields__field-wrapper .form-row-first, .woocommerce-shipping-fields__field-wrapper .form-row-first, .woocommerce-address-fields__field-wrapper .form-row-first,
	.woocommerce-billing-fields__field-wrapper .form-row-last, .woocommerce-shipping-fields__field-wrapper .form-row-last, .woocommerce-address-fields__field-wrapper .form-row-last { grid-column: span 1; }
}
.page-content--woo .form-row { margin: 0 0 var(--s-4); padding: 0; }
.page-content--woo .form-row label { margin-bottom: var(--s-1); }
.page-content--woo .form-row label.checkbox, .page-content--woo .form-row .woocommerce-form__label-for-checkbox {
	display: flex; align-items: center; gap: var(--s-2); text-transform: none; letter-spacing: 0; font-size: var(--fs-m); cursor: pointer;
}
.page-content--woo .woocommerce-input-wrapper { display: block; }
.page-content--woo .woocommerce-invalid input.input-text, .page-content--woo .woocommerce-invalid select, .page-content--woo .woocommerce-invalid .select2-selection { border-color: var(--c-error); }
.page-content--woo .woocommerce-validated input.input-text { border-color: var(--c-line); }
.page-content--woo textarea { min-height: 96px; resize: vertical; }
.page-content--woo .optional { color: var(--c-muted); text-transform: none; letter-spacing: 0; }
.page-content--woo span.description, .page-content--woo .form-row .description { display: block; margin-top: var(--s-1); font-size: var(--fs-s); color: var(--c-muted); }
.create-account { margin-top: var(--s-2); }

/* select2 (country/state) to match the hairline inputs */
.select2-container .select2-selection--single { height: 44px; border: 1px solid var(--c-line); border-radius: 0; background: var(--c-bg); }
.select2-container--default .select2-selection--single .select2-selection__rendered { line-height: 42px; padding: 0 var(--s-8) 0 var(--s-3); color: var(--c-ink); font-size: 16px; }
.select2-container--default .select2-selection--single .select2-selection__arrow { height: 42px; right: var(--s-2); }
.select2-container--default .select2-selection--single .select2-selection__arrow b { border-color: var(--c-ink) transparent transparent; }
.select2-container--default.select2-container--open .select2-selection--single, .select2-container--default.select2-container--focus .select2-selection--single { border-color: var(--c-ink); }
.select2-dropdown { border: 1px solid var(--c-ink); border-radius: 0; z-index: var(--z-popup); }
.select2-container--default .select2-search--dropdown .select2-search__field { border: 1px solid var(--c-line); border-radius: 0; min-height: 40px; }
.select2-container--default .select2-results__option--highlighted[aria-selected], .select2-container--default .select2-results__option--highlighted.select2-results__option--selectable { background: var(--c-ink); color: #fff; }
.select2-results__option { font-size: var(--fs-m); padding: var(--s-2) var(--s-3); }
@media (min-width: 990px) { .select2-container--default .select2-selection--single .select2-selection__rendered { font-size: var(--fs-m); } }

/* Order summary */
.woocommerce-checkout-review-order-table { width: 100%; border-collapse: collapse; }
.woocommerce-checkout-review-order-table thead { display: none; }
.woocommerce-checkout-review-order-table td, .woocommerce-checkout-review-order-table th { padding: var(--s-3) 0; vertical-align: top; text-align: left; font-weight: var(--fw-regular); font-size: var(--fs-m); }
.woocommerce-checkout-review-order-table td:last-child, .woocommerce-checkout-review-order-table tfoot td { text-align: right; }
.woocommerce-checkout-review-order-table tbody td { border-bottom: 1px solid var(--c-line); padding-block: var(--s-4); }
.woocommerce-checkout-review-order-table tfoot th { font-size: var(--fs-xs); letter-spacing: var(--tracking-ui); text-transform: uppercase; width: 34%; padding-right: var(--s-3); }
.woocommerce-checkout-review-order-table .product-quantity { font-weight: var(--fw-regular); color: var(--c-muted); }
.summary-item { display: flex; align-items: flex-start; gap: var(--s-3); }
.summary-item__img { flex: none; width: 56px; }
.summary-item__img img { width: 56px; height: auto; aspect-ratio: 3 / 4; object-fit: cover; background: var(--c-cream); }
.summary-item__name { min-width: 0; padding-top: var(--s-1); }
.woocommerce-checkout-review-order-table tr.order-total th, .woocommerce-checkout-review-order-table tr.order-total td { padding-top: var(--s-4); border-top: 1px solid var(--c-line-strong); font-size: var(--fs-l); font-weight: var(--fw-medium); }
.woocommerce-checkout-review-order-table tr.order-total small { display: block; margin-top: var(--s-1); font-size: var(--fs-xs); font-weight: var(--fw-regular); color: var(--c-muted); }
.woocommerce-checkout-review-order-table .shipping td { text-align: right; }
.woocommerce-checkout-review-order-table .shipping-method-description { text-align: right; }
.woocommerce-checkout-review-order-table .woocommerce-shipping-methods { margin: 0; }

/* Payment methods: a tidy radio list */
#payment { margin-top: var(--s-6); }
ul.wc_payment_methods { margin: 0; padding: 0; list-style: none; border: 1px solid var(--c-line); }
ul.wc_payment_methods > li { position: relative; margin: 0; border-bottom: 1px solid var(--c-line); }
ul.wc_payment_methods > li:last-child { border-bottom: 0; }
ul.wc_payment_methods > li > input.input-radio { position: absolute; left: var(--s-4); top: 14px; margin: 0; }
ul.wc_payment_methods > li > label {
	display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: var(--s-2) var(--s-3);
	min-height: 44px; margin: 0; padding: var(--s-3) var(--s-4) var(--s-3) calc(var(--s-4) + 16px + var(--s-3));
	font-size: var(--fs-m); letter-spacing: 0; text-transform: none; cursor: pointer;
}
ul.wc_payment_methods > li > label img { max-height: 22px; width: auto; max-width: 96px; margin: 0; }
ul.wc_payment_methods > li > label .revolut-scheme-icons-wrapper { display: inline-flex; gap: var(--s-1); align-items: center; }
ul.wc_payment_methods > li > label .revolut-scheme-icons-wrapper img { max-height: 20px; }
ul.wc_payment_methods > li:has(> input:checked) { background: var(--c-cream); }
ul.wc_payment_methods > li:has(> input:checked) > label { font-weight: var(--fw-medium); }
ul.wc_payment_methods .payment_box {
	margin: 0; padding: 0 var(--s-4) var(--s-4) calc(var(--s-4) + 16px + var(--s-3)); font-size: var(--fs-s); color: var(--c-ink-2); line-height: 1.6;
}
ul.wc_payment_methods .payment_box::before { display: none; }
ul.wc_payment_methods .payment_box p { margin: 0 0 var(--s-2); }
ul.wc_payment_methods .payment_box p:last-child { margin: 0; }
ul.wc_payment_methods .payment_box fieldset { border: 0; margin: var(--s-3) 0 0; padding: 0; }
ul.wc_payment_methods .payment_box .form-row { margin-bottom: var(--s-3); }
.woocommerce-info.woocommerce-no-available-payment-methods, li.woocommerce-notice { padding: var(--s-4); }
#revolut-pay-informational-banner:empty { display: none; }

.place-order { padding-top: var(--s-5); }
.woocommerce-terms-and-conditions-wrapper { margin-bottom: var(--s-4); font-size: var(--fs-s); color: var(--c-muted); }
.woocommerce-terms-and-conditions-wrapper p { margin: 0 0 var(--s-2); }
.woocommerce-terms-and-conditions-wrapper .form-row { margin: var(--s-3) 0 0; }
.woocommerce-terms-and-conditions-wrapper a { text-decoration: underline; text-underline-offset: 3px; }
.blockUI.blockOverlay { background: rgba(255, 255, 255, .7) !important; }

/* Order received ------------------------------------------------------------- */
.woocommerce-order { max-width: 760px; margin-inline: auto; }
.woocommerce-thankyou-order-received { margin: 0 0 var(--s-8); font-size: var(--fs-xl); font-weight: var(--fw-light); text-align: center; }
ul.woocommerce-order-overview {
	display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--s-4); margin: 0 0 var(--s-10); padding: var(--s-5) 0;
	border-block: 1px solid var(--c-line); font-size: var(--fs-xs); letter-spacing: var(--tracking-ui); text-transform: uppercase; list-style: none;
}
@media (min-width: 750px) { ul.woocommerce-order-overview { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
ul.woocommerce-order-overview li { margin: 0; color: var(--c-muted); }
ul.woocommerce-order-overview li strong { display: block; margin-top: var(--s-1); color: var(--c-ink); font-weight: var(--fw-medium); text-transform: none; letter-spacing: 0; font-size: var(--fs-m); overflow-wrap: anywhere; }
.woocommerce-order-details__title, .woocommerce-column__title, .woocommerce-customer-details h2 {
	margin: 0 0 var(--s-4); font-size: var(--fs-xs); letter-spacing: var(--tracking-ui); text-transform: uppercase; font-weight: var(--fw-medium);
}
.woocommerce-table--order-details, table.woocommerce-table { width: 100%; border-collapse: collapse; margin-bottom: var(--s-8); }
.woocommerce-table--order-details th, .woocommerce-table--order-details td { padding: var(--s-3) 0; border-bottom: 1px solid var(--c-line); text-align: left; font-weight: var(--fw-regular); vertical-align: top; }
.woocommerce-table--order-details tfoot th { font-size: var(--fs-xs); letter-spacing: var(--tracking-ui); text-transform: uppercase; }
.woocommerce-table--order-details .product-total, .woocommerce-table--order-details tfoot td { text-align: right; }
.woocommerce-customer-details address { font-style: normal; padding: var(--s-4); border: 1px solid var(--c-line); line-height: 1.7; }
.woocommerce-columns--addresses { display: grid; gap: var(--s-6); }
@media (min-width: 750px) { .woocommerce-columns--addresses { grid-template-columns: 1fr 1fr; } }
.woocommerce-bacs-bank-details { margin-bottom: var(--s-8); }
.wc-bacs-bank-details-heading, .wc-bacs-bank-details-account-name { margin: 0 0 var(--s-3); font-size: var(--fs-xs); letter-spacing: var(--tracking-ui); text-transform: uppercase; font-weight: var(--fw-medium); }
ul.wc-bacs-bank-details { margin: 0 0 var(--s-6); padding: var(--s-4); border: 1px solid var(--c-line); list-style: none; }
ul.wc-bacs-bank-details li { margin: 0 0 var(--s-1); font-size: var(--fs-s); text-transform: none; letter-spacing: 0; }
ul.wc-bacs-bank-details li strong { font-weight: var(--fw-medium); }

/* ==========================================================================
   MY ACCOUNT
   ========================================================================== */
.woocommerce-account .woocommerce { display: block; }
/* Logged in: nav + content. */
@media (min-width: 990px) {
	.woocommerce-account .woocommerce:has(.woocommerce-MyAccount-navigation) { display: grid; grid-template-columns: 220px minmax(0, 1fr); column-gap: var(--s-16); align-items: start; }
	.woocommerce-account .woocommerce:has(.woocommerce-MyAccount-navigation) .woocommerce-notices-wrapper { grid-column: 1 / -1; }
}
.woocommerce-MyAccount-navigation ul { margin: 0 0 var(--s-8); padding: 0; list-style: none; display: flex; gap: var(--s-5); overflow-x: auto; border-bottom: 1px solid var(--c-line); -webkit-overflow-scrolling: touch; scrollbar-width: none; }
.woocommerce-MyAccount-navigation ul::-webkit-scrollbar { display: none; }
.woocommerce-MyAccount-navigation li { margin: 0; flex: none; }
.woocommerce-MyAccount-navigation a {
	display: flex; align-items: center; min-height: 44px; font-size: var(--fs-xs); letter-spacing: var(--tracking-ui); text-transform: uppercase;
	color: var(--c-muted); text-decoration: none; border-bottom: 1px solid transparent; margin-bottom: -1px; white-space: nowrap;
}
.woocommerce-MyAccount-navigation a:hover { color: var(--c-ink); text-decoration: none; }
.woocommerce-MyAccount-navigation li.is-active a { color: var(--c-ink); border-bottom-color: var(--c-ink); }
@media (min-width: 990px) {
	.woocommerce-MyAccount-navigation ul { flex-direction: column; gap: 0; border-bottom: 0; border-top: 1px solid var(--c-line); margin-bottom: 0; overflow: visible; }
	.woocommerce-MyAccount-navigation li { border-bottom: 1px solid var(--c-line); }
	.woocommerce-MyAccount-navigation a { min-height: 48px; border-bottom: 0; margin: 0; }
	.woocommerce-MyAccount-navigation li.is-active a { font-weight: var(--fw-medium); }
}
.woocommerce-MyAccount-content { min-width: 0; font-size: var(--fs-m); line-height: 1.7; }
.woocommerce-MyAccount-content > p:first-child { margin-top: 0; }
.woocommerce-MyAccount-content h2, .woocommerce-MyAccount-content h3, .woocommerce-Address-title h2 {
	margin: 0 0 var(--s-4); font-size: var(--fs-xs); letter-spacing: var(--tracking-ui); text-transform: uppercase; font-weight: var(--fw-medium);
}
.woocommerce-MyAccount-content fieldset { margin: var(--s-8) 0 0; padding: 0; border: 0; }
.woocommerce-MyAccount-content fieldset legend { padding: 0; margin-bottom: var(--s-4); font-size: var(--fs-xs); letter-spacing: var(--tracking-ui); text-transform: uppercase; font-weight: var(--fw-medium); }
.woocommerce-EditAccountForm .form-row-first, .woocommerce-EditAccountForm .form-row-last { float: none; width: 100%; }
@media (min-width: 750px) {
	.woocommerce-EditAccountForm { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: var(--s-4); }
	.woocommerce-EditAccountForm > * { grid-column: 1 / -1; }
	.woocommerce-EditAccountForm > .form-row-first, .woocommerce-EditAccountForm > .form-row-last { grid-column: span 1; }
}
.woocommerce-address-fields .form-row-first, .woocommerce-address-fields .form-row-last { float: none; width: 100%; }
.woocommerce-Addresses { display: grid; gap: var(--s-8); }
@media (min-width: 750px) { .woocommerce-Addresses { grid-template-columns: 1fr 1fr; } }
.woocommerce-Address address { padding: var(--s-4); border: 1px solid var(--c-line); font-style: normal; line-height: 1.7; }
.woocommerce-Address-title { display: flex; align-items: baseline; justify-content: space-between; gap: var(--s-3); }
.woocommerce-Address-title .edit { font-size: var(--fs-xs); letter-spacing: var(--tracking-ui); text-transform: uppercase; }

/* Orders table: rows on desktop, stacked cards on mobile */
.woocommerce-orders-table, table.my_account_orders { width: 100%; border-collapse: collapse; }
.woocommerce-orders-table th { padding: 0 var(--s-3) var(--s-3) 0; text-align: left; font-size: var(--fs-xs); letter-spacing: var(--tracking-ui); text-transform: uppercase; font-weight: var(--fw-regular); color: var(--c-muted); border-bottom: 1px solid var(--c-line-strong); }
.woocommerce-orders-table td { padding: var(--s-4) var(--s-3) var(--s-4) 0; border-bottom: 1px solid var(--c-line); vertical-align: middle; }
.woocommerce-orders-table .button { min-height: 36px; padding: 0 var(--s-4); margin: 0 var(--s-1) var(--s-1) 0; }
@media (max-width: 749px) {
	.woocommerce-orders-table thead { display: none; }
	.woocommerce-orders-table, .woocommerce-orders-table tbody { display: block; }
	.woocommerce-orders-table tr { display: block; padding: var(--s-4) 0; border-bottom: 1px solid var(--c-line); }
	.woocommerce-orders-table td { display: flex; justify-content: space-between; gap: var(--s-4); padding: var(--s-1) 0; border: 0; text-align: right; }
	.woocommerce-orders-table td::before { content: attr(data-title); text-align: left; font-size: var(--fs-xs); letter-spacing: var(--tracking-ui); text-transform: uppercase; color: var(--c-muted); }
	.woocommerce-orders-table td.woocommerce-orders-table__cell-order-actions { justify-content: flex-start; padding-top: var(--s-3); }
	.woocommerce-orders-table td.woocommerce-orders-table__cell-order-actions::before { display: none; }
}
.woocommerce-pagination { display: flex; gap: var(--s-3); margin-top: var(--s-6); }

/* Login / register / lost password */
.woocommerce-account .u-columns { display: grid; gap: var(--s-10); }
@media (min-width: 750px) { .woocommerce-account .u-columns { grid-template-columns: 1fr 1fr; gap: var(--s-16); } }
.woocommerce-account .u-column1, .woocommerce-account .u-column2 { float: none; width: auto; }
.woocommerce-account .u-columns > div > h2 { margin: 0 0 var(--s-5); padding-bottom: var(--s-3); border-bottom: 1px solid var(--c-line-strong); font-size: var(--fs-xs); letter-spacing: var(--tracking-ui); text-transform: uppercase; font-weight: var(--fw-medium); }
.woocommerce-account form.woocommerce-form-login, .woocommerce-account form.woocommerce-form-register, .woocommerce-account form.lost_reset_password { margin: 0; padding: 0; border: 0; }
.woocommerce-account form.woocommerce-form-login .form-row-first, .woocommerce-account form.woocommerce-form-login .form-row-last,
.woocommerce-account form.lost_reset_password .form-row-first, .woocommerce-account form.lost_reset_password .form-row-last { float: none; width: 100%; }
.woocommerce-account form.woocommerce-form-login .button { margin-left: 0; }
.woocommerce-account form.lost_reset_password { max-width: 480px; margin-inline: auto; }
.woocommerce-account .lost_password { margin-top: var(--s-4); }
.woocommerce-privacy-policy-text { font-size: var(--fs-s); color: var(--c-muted); margin-bottom: var(--s-4); }
.woocommerce-password-strength { margin-top: var(--s-2); font-size: var(--fs-s); }
.woocommerce-password-strength.bad, .woocommerce-password-strength.short { color: var(--c-error); }
.woocommerce-password-strength.good, .woocommerce-password-strength.strong { color: var(--c-success); }
.password-input { position: relative; display: block; }
.password-input .show-password-input {
	position: absolute; right: 0; top: 0; width: 44px; height: 44px; padding: 0; opacity: .55; cursor: pointer;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23111' stroke-width='1.25'%3E%3Cpath d='M2 12s3.6-7 10-7 10 7 10 7-3.6 7-10 7S2 12 2 12Z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E") center / 18px no-repeat;
}
.password-input .show-password-input:hover, .password-input .show-password-input.display-password { opacity: 1; }
.password-input input { padding-right: 44px; }

/* Late overrides (specificity vs the generic link rule above) */
.page-content--woo .woocommerce-cart-form .product-name a { text-decoration: none; }
.page-content--woo .woocommerce-cart-form .product-name a:hover { text-decoration: underline; }
.page-content--woo .woocommerce-cart-form .product-remove a.remove { text-decoration: none; }
.woocommerce-cart .woocommerce-message .wc-forward { display: none; }
.page-content--woo .woocommerce-MyAccount-navigation a { text-decoration: none; }
.woocommerce-checkout-review-order-table td.product-name { width: 100%; }
.woocommerce-checkout-review-order-table td.product-name > .product-quantity { display: none; }
.summary-item__name { display: block; font-size: var(--fs-s); line-height: 1.4; }
.summary-item__qty { display: block; margin-top: var(--s-1); font-size: var(--fs-xs); letter-spacing: var(--tracking-ui); text-transform: uppercase; color: var(--c-muted); }
.woocommerce-checkout-review-order-table td.product-total { white-space: nowrap; padding-left: var(--s-3); }
/* Order summary as flex rows so long shipping names / prices never squeeze each other */
.woocommerce-checkout-review-order-table, .woocommerce-checkout-review-order-table tbody, .woocommerce-checkout-review-order-table tfoot { display: block; width: 100%; }
.woocommerce-checkout-review-order-table tr { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--s-4); }
.woocommerce-checkout-review-order-table tbody td.product-name { flex: 1 1 auto; min-width: 0; width: auto; }
.woocommerce-checkout-review-order-table tbody td.product-total { flex: none; }
.woocommerce-checkout-review-order-table tfoot th { flex: none; width: auto; min-width: 5.5em; }
.woocommerce-checkout-review-order-table tfoot td { flex: 1 1 auto; min-width: 0; }
.woocommerce-checkout-review-order-table tr.shipping td .woocommerce-shipping-methods li { margin: 0; }
.woocommerce-checkout-review-order-table tbody tr { border-bottom: 1px solid var(--c-line); }
.woocommerce-checkout-review-order-table tbody td { border-bottom: 0; }
.woocommerce-checkout-review-order-table tr.order-total { border-top: 1px solid var(--c-line-strong); margin-top: var(--s-2); }
.woocommerce-checkout-review-order-table tr.order-total th, .woocommerce-checkout-review-order-table tr.order-total td { border-top: 0; }
