/* ============================================================================
 * Sportsafe — Cart & Checkout (classic WooCommerce)
 * Premium, minimal, calm. Built on the site's Bricks design tokens; inherits
 * the site font + a tightened default content width. Scoped to the cart /
 * checkout body classes. Tokens: --brand/--primary-main-900,
 * --accent/--secondary-main-700, --surface, --surface-sunken, --border,
 * --text-muted, --text-strong, --neutral-*, --radius-s/m, --space-*, --text-*.
 * ========================================================================== */

/* Page frame: tighter width + generous top/bottom breathing space ----------*/
body.woocommerce-cart #brx-content,
body.woocommerce-checkout #brx-content{
	max-width:100%; margin-inline:auto;
	padding:var(--space-xl) 0 var(--space-3xl);
	box-sizing:border-box;
}
/* The stepper carries the page identity; keep an accessible (hidden) H1. */
body.woocommerce-cart #brx-content > h1,
body.woocommerce-checkout #brx-content > h1{
	position:absolute !important; width:1px; height:1px; padding:0; margin:-1px;
	overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0;
}

/* Progress steps -----------------------------------------------------------*/
.ss-steps{ display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:var(--space-2xs); margin:0 0 var(--space-2xl); }
.ss-step{ display:inline-flex; align-items:center; gap:var(--space-2xs); }
.ss-step__dot{
	width:28px; height:28px; border-radius:var(--radius-full);
	display:inline-flex; align-items:center; justify-content:center;
	font-size:13px; font-weight:700; border:1.5px solid var(--border);
	color:var(--text-muted); background:var(--surface);
}
.ss-step__label{ font-size:var(--text-s); font-weight:600; color:var(--text-muted); }
.ss-step.is-active .ss-step__dot,
.ss-step.is-done .ss-step__dot{ background:var(--brand); border-color:var(--brand); color:#fff; }
.ss-step.is-active .ss-step__label,
.ss-step.is-done .ss-step__label{ color:var(--text-strong); }
.ss-step__bar{ width:48px; height:2px; background:var(--border); border-radius:2px; }
.ss-step__bar.is-done{ background:var(--brand); }
/* Steps that navigate (back to basket / forward to checkout) */
.ss-step.is-link{ text-decoration:none; color:inherit; cursor:pointer; }
.ss-step.is-link:hover .ss-step__label{ color:var(--text-strong); text-decoration:underline; }
.ss-step.is-link.is-todo:hover .ss-step__dot{ border-color:var(--brand); color:var(--brand); }

/* Two-column layout — full width (columns fill the 100% page).
 * align-items:stretch so the aside column is tall enough for the sticky summary
 * to actually travel while the (taller) form column scrolls past it. */
.ss-checkout,
.ss-cart{ display:grid; gap:var(--space-2xl); align-items:stretch; }
.ss-checkout{ grid-template-columns:minmax(0,1.4fr) minmax(0,1.3fr); }
.ss-cart{ grid-template-columns:minmax(0,1.5fr) minmax(0,1fr); }
.ss-checkout__main,
.ss-checkout__aside,
.ss-cart__main,
.ss-cart__aside{ min-width:0; }

@media (max-width:900px){
	.ss-checkout,
	.ss-cart{ grid-template-columns:1fr; gap:var(--space-l); }
}

/* Left column: single flat column (no boxes) -------------------------------*/
.ss-checkout #customer_details.col2-set{ display:block; }
.ss-checkout #customer_details .col-1,
.ss-checkout #customer_details .col-2{ width:100%; float:none; padding:0; }
.ss-checkout .woocommerce-billing-fields,
.ss-checkout .woocommerce-additional-fields{ margin-bottom:var(--space-l); }
.ss-checkout .woocommerce-shipping-fields{ margin-top:0; margin-bottom:var(--space-m); }

.ss-checkout .woocommerce-billing-fields > h3,
.ss-checkout .woocommerce-additional-fields > h3,
.ss-checkout #ship-to-different-address{
	font-size:var(--h4); font-weight:700; letter-spacing:-0.01em; color:var(--text-strong);
	background:var(--surface-sunken); border:1px solid var(--primary-100);
	padding:var(--space-s) var(--space-m); border-radius:var(--radius-s);
	margin:0 0 var(--space-m);
}
.ss-checkout #ship-to-different-address{ display:flex; gap:var(--space-2xs); align-items:center; justify-content:space-between; }
.ss-checkout #ship-to-different-address label{ margin:0; cursor:pointer; font:inherit; color:inherit; }
.ss-checkout #ship-to-different-address input[type=checkbox],
.ss-checkout #ship-to-different-address .input-checkbox{ margin-right:var(--space-s); flex:0 0 auto; }
.ss-checkout .woocommerce-shipping-fields .shipping_address{ margin-top:var(--space-s); }

/* Fields */
.ss-checkout .form-row{ margin:0 0 var(--space-s); padding:0; }
.ss-checkout .form-row label,
.ss-checkout #sdr-checkout-po-field > label{
	display:block; font-size:var(--text-s); font-weight:600;
	color:var(--text-strong); margin-bottom:var(--space-4xs);
}
.ss-checkout .form-row .required{ color:var(--accent); border:0; text-decoration:none; }
.ss-checkout .form-row .optional{ color:var(--text-muted); font-weight:400; }
.ss-checkout .input-text,
.ss-checkout input[type=text],
.ss-checkout input[type=email],
.ss-checkout input[type=tel],
.ss-checkout input[type=password],
.ss-checkout textarea,
.ss-checkout select,
.ss-checkout .select2-container--default .select2-selection--single{
	width:100%; min-height:46px; padding:11px 14px;
	border:1px solid var(--border); border-radius:var(--radius-s);
	background:var(--surface); color:var(--text-color); font:inherit; line-height:1.4;
}
.ss-checkout textarea{ min-height:84px; resize:vertical; }
.ss-checkout .input-text:focus,
.ss-checkout textarea:focus,
.ss-checkout select:focus,
.ss-checkout .select2-container--default.select2-container--focus .select2-selection--single{
	outline:none; border-color:var(--brand); box-shadow:0 0 0 3px var(--color-tint);
}
.ss-checkout ::placeholder{ color:var(--neutral-400); }
/* Inline validation states (WooCommerce adds these classes) */
.ss-checkout .woocommerce-invalid input.input-text,
.ss-checkout .woocommerce-invalid select,
.ss-checkout .woocommerce-invalid .select2-container--default .select2-selection--single{ border-color:var(--accent); }
.ss-checkout .woocommerce-validated input.input-text,
.ss-checkout .woocommerce-validated select{ border-color:var(--success); }
.ss-checkout .select2-container--default .select2-selection--single{ display:flex; align-items:center; }
.ss-checkout .select2-container--default .select2-selection--single .select2-selection__rendered{ padding:0; line-height:1.4; color:var(--text-color); }
.ss-checkout .select2-container--default .select2-selection--single .select2-selection__arrow{ height:44px; right:10px; }
.ss-checkout #billing_first_name_field{ display:inline-block; width:calc(50% - 7px); margin-right:12px; }
.ss-checkout #billing_last_name_field{ display:inline-block; width:calc(50% - 7px); }

/* Collapsed address summary (JS) */
.ss-address-summary{
	display:none; align-items:flex-start; justify-content:space-between; gap:var(--space-m);
	padding:var(--space-s) var(--space-m); border:1px solid var(--border);
	border-radius:var(--radius-s); background:var(--surface-sunken);
}
.ss-address-summary__text strong{ display:block; color:var(--text-strong); }
.ss-address-summary__text span{ display:block; color:var(--text-muted); font-size:var(--text-s); margin-top:3px; }
.ss-address-summary__edit{ flex:0 0 auto; background:none; border:0; color:var(--brand); font-weight:600; cursor:pointer; padding:0; }
.ss-address-summary__edit:hover{ text-decoration:underline; }

/* PO field + upload */
.ss-checkout #sdr-checkout-po-field{ margin-top:var(--space-m); }
.ss-checkout #sdr-checkout-po-field .sdr-checkout-po-field__hint{ font-size:var(--text-s); color:var(--text-muted); margin:var(--space-4xs) 0 0; }
.ss-checkout #sdr-checkout-po-field .sdr-checkout-po-field__note{ font-size:var(--text-s); font-weight:700; color:var(--accent); margin:var(--space-4xs) 0 0; }
.ss-checkout .sdr-checkout-upload{ margin-top:var(--space-m); }
.ss-checkout .sdr-checkout-upload__label{ display:block; font-size:var(--text-s); font-weight:600; color:var(--text-strong); margin-bottom:var(--space-4xs); }
.ss-checkout .sdr-checkout-upload__optional{ color:var(--text-muted); font-weight:400; }
.ss-checkout .sdr-checkout-upload__dropzone{
	position:relative; display:flex; flex-direction:column; align-items:center; gap:4px;
	padding:var(--space-l); border:1px dashed var(--neutral-300); border-radius:var(--radius-s);
	background:var(--surface-sunken); cursor:pointer; text-align:center;
}
.ss-checkout .sdr-checkout-upload__input{ position:absolute; inset:0; opacity:0; cursor:pointer; }
.ss-checkout .sdr-checkout-upload__icon{ width:24px; height:24px; color:var(--brand); }
.ss-checkout .sdr-checkout-upload__prompt strong{ color:var(--brand); }
.ss-checkout .sdr-checkout-upload__hint{ font-size:var(--text-xs); color:var(--text-muted); }
.ss-checkout .sdr-checkout-upload__status{ display:block; font-size:var(--text-s); margin-top:var(--space-4xs); }
.ss-checkout .sdr-checkout-upload__status.is-success{ color:var(--success); }
.ss-checkout .sdr-checkout-upload__status.is-error{ color:var(--accent); }
.ss-checkout .sdr-checkout-upload__delete{ margin-top:var(--space-4xs); background:none; border:0; color:var(--accent); font-weight:600; cursor:pointer; padding:0; font-size:var(--text-s); }

/* Login toggle (guest checkout) */
.ss-checkout-form .woocommerce-form-login-toggle{ margin-bottom:var(--space-m); }
.ss-checkout-form .woocommerce-form-login{
	border:1px solid var(--border); border-radius:var(--radius-s);
	padding:var(--space-m); margin-bottom:var(--space-l); background:var(--surface);
}

/* Right column: order summary panel ---------------------------------------*/
.ss-checkout__summary,
.ss-cart .ss-cart-summary{
	position:sticky; top:var(--space-m);
	border:1px solid var(--primary-100); border-radius:var(--radius-m); background:var(--surface);
	box-shadow:none;
	overflow:hidden;
}
/* Labelled sections: Discount Code / Order Summary */
.ss-sum-title{
	font-size:var(--text-m); font-weight:700; letter-spacing:-0.01em;
	color:var(--text-strong); margin:0 var(--space-m); padding:var(--space-m) 0 var(--space-2xs);
}
.ss-sum-title--order:not(:first-child){ border-top:1px solid var(--primary-100); }

/* Discount code (AJAX) */
.ss-coupon{ padding:var(--space-4xs) var(--space-m) var(--space-s); }
.ss-coupon__row{ display:flex; gap:var(--space-2xs); }
.ss-coupon__input{
	flex:1 1 auto; min-width:0; min-height:44px; padding:0 14px;
	border:1px solid var(--border); border-radius:var(--radius-s);
	background:var(--surface); color:var(--text-color); font:inherit;
}
.ss-coupon__input:focus{ outline:none; border-color:var(--brand); box-shadow:0 0 0 3px var(--color-tint); }
.ss-coupon__apply{
	flex:0 0 auto; min-height:44px; padding:0 var(--space-m);
	border:1px solid var(--brand); background:var(--surface); color:var(--brand);
	font-weight:600; border-radius:var(--radius-s); cursor:pointer;
}
.ss-coupon__apply:hover{ background:var(--brand); color:#fff; }
.ss-coupon__apply.is-loading{ opacity:.6; cursor:progress; }
.ss-coupon__msg{ font-size:var(--text-s); margin-top:var(--space-3xs); }
.ss-coupon__msg:empty{ display:none; }
.ss-coupon__msg.is-error{ color:var(--accent); }
.ss-coupon__msg.is-success{ color:var(--success); }

/* Line items */
.ss-checkout #order_review{ padding:0; }
.ss-checkout .woocommerce-checkout-review-order-table{ width:calc(100% - var(--space-m) * 2); border:0; margin:0 var(--space-m); border-collapse:collapse; }
.ss-checkout .woocommerce-checkout-review-order-table thead{ display:none; }
.ss-checkout .woocommerce-checkout-review-order-table tbody tr td{ padding:var(--space-2xs) 0; border:0; vertical-align:top; }
.ss-checkout .woocommerce-checkout-review-order-table tbody tr:first-child td{ padding-top:var(--space-2xs); }
.ss-checkout .woocommerce-checkout-review-order-table td.product-total{ text-align:right; font-weight:600; color:var(--text-strong); white-space:nowrap; width:1%; }
.ss-order-item{ display:grid; grid-template-columns:44px 1fr; gap:var(--space-2xs); align-items:start; }
.ss-order-item__thumb{ position:relative; width:44px; height:44px; }
.ss-order-item__thumb img{ width:44px !important; height:44px !important; max-width:none !important; object-fit:cover; border-radius:var(--radius-xs); border:1px solid var(--border); display:block; }
.ss-order-item__qty{ position:absolute; top:-7px; right:-7px; min-width:18px; height:18px; padding:0 5px; background:var(--brand); color:#fff; border-radius:var(--radius-full); font-size:11px; font-weight:700; display:flex; align-items:center; justify-content:center; line-height:1; }
.ss-order-item__name{ display:block; font-weight:600; font-size:var(--text-s); line-height:1.35; color:var(--text-strong); }
.ss-order-item__count{ display:block; font-size:var(--text-xs); color:var(--text-muted); margin-top:2px; }
.ss-checkout .woocommerce-checkout-review-order-table dl.variation{ font-size:var(--text-xs); color:var(--text-muted); margin:3px 0 0; }
.ss-checkout .woocommerce-checkout-review-order-table dl.variation dt,
.ss-checkout .woocommerce-checkout-review-order-table dl.variation dd{ display:inline; margin:0 4px 0 0; font-weight:400; }

/* Totals — no stray lines; a single divider only above the grand Total.
 * All WooCommerce cell borders explicitly zeroed to kill the "stubborn" lines. */
.ss-checkout .woocommerce-checkout-review-order-table tr,
.ss-checkout .woocommerce-checkout-review-order-table th,
.ss-checkout .woocommerce-checkout-review-order-table td{ border:0; }
.ss-checkout .woocommerce-checkout-review-order-table tbody tr:last-child td{ padding-bottom:var(--space-s); }
.ss-checkout .woocommerce-checkout-review-order-table tfoot th,
.ss-checkout .woocommerce-checkout-review-order-table tfoot td{ padding:var(--space-4xs) 0; text-align:left; font-weight:400; color:var(--text-muted); }
.ss-checkout .woocommerce-checkout-review-order-table tfoot td{ text-align:right; color:var(--text-color); }
.ss-checkout .woocommerce-checkout-review-order-table tfoot tr:first-child th,
.ss-checkout .woocommerce-checkout-review-order-table tfoot tr:first-child td{ padding-top:var(--space-2xs); border-top:1px solid var(--neutral-100); }
.ss-checkout .woocommerce-checkout-review-order-table tfoot .cart-discount th,
.ss-checkout .woocommerce-checkout-review-order-table tfoot .cart-discount td{ color:var(--success); }
.ss-checkout .woocommerce-checkout-review-order-table tfoot .sdr-cart-subtotal-after-discount th,
.ss-checkout .woocommerce-checkout-review-order-table tfoot .sdr-cart-subtotal-after-discount td{ color:var(--text-muted); }
.ss-checkout .woocommerce-checkout-review-order-table tfoot .woocommerce-remove-coupon{ display:inline-block; margin-left:6px; font-size:var(--text-xs); font-weight:400; color:var(--neutral-400); text-decoration:none; }
.ss-checkout .woocommerce-checkout-review-order-table tfoot .woocommerce-remove-coupon:hover{ color:var(--accent); }
.ss-checkout .woocommerce-checkout-review-order-table tfoot .order-total th{ color:var(--text-strong); font-weight:700; padding-top:var(--space-s); border-top:1px solid var(--border); }
.ss-checkout .woocommerce-checkout-review-order-table tfoot .order-total td{ color:var(--brand); font-weight:700; font-size:var(--text-l); padding-top:var(--space-s); border-top:1px solid var(--border); }
.ss-free{ color:var(--success); font-weight:700; }
/* Auto-selected delivery method: show just the value, no list chrome */
.ss-checkout #shipping_method{ list-style:none; margin:0; padding:0; }
.ss-checkout #shipping_method li{ margin:0; }
.ss-checkout #shipping_method label{ margin:0; font-weight:400; color:var(--text-color); }

/* Payment methods — compact boxes (~20px), radio aligned, box wraps below.
 * #payment itself carries no padding/border; the gutter lives on its children. */
.ss-checkout #payment{ background:transparent; padding:0; border:0; }
.ss-checkout #payment .payment_methods{ margin:var(--space-s) 0 0; padding:0 var(--space-m); list-style:none; border:0; }
.ss-checkout #payment .payment_methods li{
	display:flex; flex-wrap:wrap; align-items:center; gap:0 var(--space-2xs);
	border:1px solid var(--border); border-radius:var(--radius-s);
	padding:var(--space-s); margin:0 0 var(--space-2xs); list-style:none;
}
.ss-checkout #payment .payment_methods li:has(input:checked){ border-color:var(--brand); background:var(--surface-sunken); }
.ss-checkout #payment .payment_methods li input[type=radio]{ flex:0 0 auto; width:18px; height:18px; accent-color:var(--brand); margin:0; }
.ss-checkout #payment .payment_methods li label{ flex:1 1 0; min-width:0; margin:0; font-weight:600; color:var(--text-strong); cursor:pointer; }
.ss-checkout #payment .payment_methods li img{ display:none; }
.ss-checkout #payment .payment_methods li .payment_box{ flex:0 0 100%; background:transparent; margin:var(--space-2xs) 0 0; padding:0; color:var(--text-muted); font-size:var(--text-s); }
.ss-checkout #payment .payment_methods li .payment_box::before{ display:none; }
.ss-checkout #payment .payment_methods li .payment_box p{ margin:0; }

/* Place order + terms + trust */
.ss-checkout #payment .place-order{ padding:0 var(--space-m); }
.ss-checkout #payment .woocommerce-terms-and-conditions-wrapper{ padding:var(--space-2xs) var(--space-m) var(--space-s); font-size:var(--text-s); color:var(--text-muted); }
.ss-checkout #place_order,
.ss-cart .wc-proceed-to-checkout .checkout-button{
	display:flex; align-items:center; justify-content:center; width:100%; min-height:50px;
	background:var(--accent); color:#fff; border:0; border-radius:var(--radius-s);
	font-weight:700; font-size:var(--text-m); cursor:pointer; text-decoration:none;
}
.ss-checkout #place_order:hover,
.ss-cart .wc-proceed-to-checkout .checkout-button:hover{ background:var(--secondary-900); }

.ss-secure{ padding:var(--space-m) var(--space-m) var(--space-s); text-align:center; }
.ss-secure__head{ display:flex; align-items:center; justify-content:center; gap:var(--space-2xs); margin:0; color:var(--brand); font-size:var(--text-s); }
.ss-secure__head strong{ color:var(--text-strong); font-weight:700; }
.ss-secure__sub{ margin:var(--space-3xs) 0 0; font-size:var(--text-xs); color:var(--text-muted); }
.ss-secure__pays{ display:flex; gap:var(--space-2xs); margin-top:var(--space-s); flex-wrap:wrap; justify-content:center; }
.ss-secure__pays svg{ display:block; }

/* Place Order — lock icon + processing spinner */
.ss-checkout #place_order{ gap:var(--space-2xs); position:relative; transition:background .15s; }
.ss-checkout #place_order .ss-lock{ width:16px; height:16px; flex:0 0 auto; }
.ss-checkout form.checkout.processing #place_order,
form.checkout.processing .ss-checkout #place_order{ color:transparent !important; pointer-events:none; }
form.checkout.processing #place_order .ss-lock{ visibility:hidden; }
form.checkout.processing #place_order::after{
	content:""; position:absolute; top:50%; left:50%; width:20px; height:20px; margin:-10px 0 0 -10px;
	border:2px solid rgba(255,255,255,.45); border-top-color:#fff; border-radius:50%;
	animation:ss-spin .7s linear infinite;
}
@keyframes ss-spin{ to{ transform:rotate(360deg); } }

/* Need help line */
.ss-help{ text-align:center; font-size:var(--text-s); color:var(--text-muted); padding:0 var(--space-m) var(--space-m); margin:0; }
.ss-help a{ color:var(--brand); font-weight:600; text-decoration:none; }
.ss-help a:hover{ text-decoration:underline; }

/* PayPal Pay-Later messaging (checkout only): align its wrapper to the card
 * gutter. Horizontal padding only — no vertical padding, so it adds no extra
 * row space. The message text lives in a cross-origin PayPal iframe, so only
 * the wrapper is ours to pad. */
body.woocommerce-checkout .ppcp-messages{ padding:0 var(--space-m); box-sizing:border-box; }

/* Mobile controls hidden on desktop */
.ss-summary-toggle,
.ss-paybar{ display:none; }

/* ===========================================================================
 * CART
 * ========================================================================= */
.ss-cart .woocommerce-cart-form{ min-width:0; }
.ss-cart .woocommerce-cart-form__contents{ width:100%; border-collapse:collapse; margin:0; }
.ss-cart .woocommerce-cart-form__contents thead{ display:none; }
.ss-cart .woocommerce-cart-form__cart-item{ border-bottom:1px solid var(--neutral-100); }
.ss-cart .woocommerce-cart-form__cart-item td{ padding:var(--space-s) var(--space-2xs) var(--space-s) 0; vertical-align:middle; border:0; }
/* forced size: a Bricks/theme rule otherwise collapses cart images to 0 */
.ss-cart .woocommerce-cart-form__contents td.product-thumbnail{ width:72px; }
.ss-cart .woocommerce-cart-form__contents td.product-thumbnail img{ width:72px !important; height:72px !important; max-width:none !important; object-fit:cover; border-radius:var(--radius-s); border:1px solid var(--border); display:block; }
.ss-cart td.product-name{ font-weight:600; }
.ss-cart td.product-name a{ color:var(--text-strong); text-decoration:none; }
.ss-cart td.product-name a:hover{ color:var(--brand); }
.ss-cart td.product-name dl.variation{ font-size:var(--text-xs); color:var(--text-muted); font-weight:400; margin:4px 0 0; }
.ss-cart td.product-name dl.variation dt,
.ss-cart td.product-name dl.variation dd{ display:inline; margin:0 4px 0 0; }
.ss-cart td.product-price{ color:var(--text-muted); white-space:nowrap; }
.ss-cart td.product-subtotal{ font-weight:600; color:var(--text-strong); text-align:right; white-space:nowrap; }
.ss-cart td.product-remove{ width:28px; }
.ss-cart td.product-remove .remove{ color:var(--neutral-400) !important; font-size:20px; text-decoration:none; }
.ss-cart td.product-remove .remove:hover{ color:var(--accent) !important; }

/* Quantity stepper — compact */
.ss-cart .quantity{ display:inline-flex; align-items:center; width:auto; border:1px solid var(--border); border-radius:var(--radius-s); overflow:hidden; }
.ss-cart .quantity input.qty{ width:40px !important; min-width:0 !important; max-width:40px; min-height:32px; height:32px; border:0; border-left:1px solid var(--border); border-right:1px solid var(--border); border-radius:0; text-align:center; font-weight:600; font-size:var(--text-s); background:var(--surface); color:var(--text-color); padding:0; -moz-appearance:textfield; }
.ss-cart .quantity input.qty::-webkit-outer-spin-button,
.ss-cart .quantity input.qty::-webkit-inner-spin-button{ -webkit-appearance:none; margin:0; }
.ss-cart .quantity .minus,
.ss-cart .quantity .plus{ width:30px; min-height:32px; height:32px; border:0; background:var(--surface); color:var(--brand); font-size:15px; line-height:1; cursor:pointer; }

/* Cart actions (coupon + update) */
.ss-cart td.actions{ padding:var(--space-m) 0 0; border:0; }
.ss-cart td.actions .button{ min-height:44px; padding:0 var(--space-m); border-radius:var(--radius-s); font-weight:600; cursor:pointer; background:var(--surface); color:var(--brand); border:1px solid var(--brand); }
.ss-cart td.actions button[name=update_cart]{ float:right; }
.ss-cart td.actions .button:hover{ background:var(--brand); color:#fff; }
.ss-cart td.actions .button:disabled{ opacity:.5; }

/* Cross-sells */
.ss-cart__crosssell{ margin-top:var(--space-xl); }
.ss-cart .cross-sells h2{ font-size:var(--h4); font-weight:700; color:var(--text-strong); margin:0 0 var(--space-s); }

/* Cart summary */
.ss-cart .cart-collaterals{ width:auto; float:none; }
.ss-cart .cart-collaterals .cross-sells{ display:none; }
.ss-cart .ss-cart-summary > table{ width:calc(100% - var(--space-m) * 2); margin:0 var(--space-m); border-collapse:collapse; }
.ss-cart .ss-cart-summary > table th,
.ss-cart .ss-cart-summary > table td{ padding:var(--space-3xs) 0; border:0; text-align:left; font-weight:400; color:var(--text-muted); }
.ss-cart .ss-cart-summary > table td{ text-align:right; color:var(--text-color); }
.ss-cart .ss-cart-summary > table tr:first-child th,
.ss-cart .ss-cart-summary > table tr:first-child td{ padding-top:var(--space-m); }
.ss-cart .ss-cart-summary > table .cart-discount td{ color:var(--success); }
.ss-cart .ss-cart-summary > table .order-total th{ color:var(--text-strong); font-weight:700; padding-top:var(--space-s); border-top:1px solid var(--border); }
.ss-cart .ss-cart-summary > table .order-total td{ color:var(--brand); font-weight:700; font-size:var(--text-l); padding-top:var(--space-s); border-top:1px solid var(--border); }

.ss-cart .ss-delivery-note{ color:var(--text-muted); font-weight:400; }
.ss-cart .ss-delivery-hint{ display:flex; align-items:flex-start; gap:var(--space-2xs); margin:var(--space-2xs) 0 0; padding:0 var(--space-m); font-size:var(--text-xs); color:var(--text-muted); line-height:1.4; }
.ss-cart .ss-delivery-hint svg{ color:var(--brand); flex:0 0 auto; margin-top:2px; }

.ss-cart .wc-proceed-to-checkout{ padding:var(--space-s) var(--space-m) var(--space-2xs); }
.ss-cart .sdr-cart-workflows{ padding:0 var(--space-m) var(--space-m); margin:0; max-width:none; }
.ss-cart .sdr-cart-workflows__actions{ display:grid; gap:var(--space-2xs); }
.ss-cart .sdr-cart-workflows__button,
.ss-cart .sdr-cart-workflows__download{ display:flex; align-items:center; justify-content:center; min-height:44px; padding:0 14px; border-radius:var(--radius-s); font-weight:600; text-decoration:none; border:1px solid var(--brand); background:var(--surface); color:var(--brand) !important; }
.ss-cart .sdr-cart-workflows__button:hover,
.ss-cart .sdr-cart-workflows__download:hover{ background:var(--brand); color:#fff !important; }

.ss-cart .sdr-minimum-order-notice,
.ss-cart .sdr-minimum-order-progress{ margin-bottom:var(--space-s); }
body.woocommerce-cart .return-to-shop .button{ background:var(--accent); color:#fff; border-radius:var(--radius-s); }

/* ===========================================================================
 * CART: cross-sells, per-item stars, trust strip, bulk CTA
 * ========================================================================= */
.ss-cart .cross-sells ul.products{ display:grid; grid-template-columns:repeat(3,1fr); gap:var(--space-m); margin:0; padding:0; list-style:none; }
.ss-cart .cross-sells ul.products li.product{ margin:0; width:auto; float:none; text-align:center; border:1px solid var(--neutral-100); border-radius:var(--radius-m); padding:var(--space-s); }
.ss-cart .cross-sells ul.products li.product a img{ border-radius:var(--radius-s); margin:0 auto var(--space-2xs); }
.ss-cart .cross-sells ul.products li.product .woocommerce-loop-product__title{ font-size:var(--text-s); font-weight:600; color:var(--text-strong); padding:0; margin:0 0 var(--space-3xs); }
.ss-cart .cross-sells ul.products li.product .star-rating{ display:none; }
.ss-cart .cross-sells ul.products li.product .price{ display:block; color:var(--text-strong); font-size:var(--text-s); font-weight:600; }
.ss-cart .cross-sells ul.products li.product .price del{ color:var(--text-muted); font-weight:400; margin-right:4px; }
.ss-cart .cross-sells ul.products li.product .price ins{ text-decoration:none; }
.ss-cart .cross-sells ul.products li.product .button{ display:inline-block; margin-top:var(--space-2xs); background:var(--brand); color:#fff; border-radius:var(--radius-s); padding:var(--space-2xs) var(--space-s); font-weight:600; font-size:var(--text-s); }
.ss-cart .cross-sells ul.products li.product .button:hover{ background:var(--primary-800); color:#fff; }

/* Per-item review stars */
.ss-cart .ss-cart-stars{ display:flex; align-items:center; gap:6px; margin-top:4px; }
.ss-cart .ss-cart-stars__glyph{ color:#f5a623; font-size:13px; letter-spacing:1px; line-height:1; }
.ss-cart .ss-cart-stars__count{ font-size:var(--text-xs); color:var(--text-muted); font-weight:400; }

/* Trust strip (summary card footer) — 3 centered lines */
.ss-cart .ss-cart-trust{ padding:var(--space-m); margin-top:var(--space-2xs); border-top:1px solid var(--primary-100); text-align:center; }
.ss-cart .ss-cart-trust__secure{ display:flex; align-items:center; justify-content:center; gap:var(--space-2xs); font-size:var(--text-s); font-weight:600; color:var(--text-strong); }
.ss-cart .ss-cart-trust__secure svg{ color:var(--success); }
.ss-cart .ss-cart-trust__trusted{ font-size:var(--text-s); color:var(--text-muted); margin-top:var(--space-2xs); }
.ss-cart .ss-cart-trust__pays{ display:flex; gap:var(--space-2xs); flex-wrap:wrap; justify-content:center; margin-top:var(--space-s); }
.ss-cart .ss-cart-trust__pays svg{ display:block; }

/* Bulk / quote CTA (below the basket items) */
.ss-cart .ss-bulk-cta{ display:flex; align-items:center; justify-content:space-between; gap:var(--space-m); flex-wrap:wrap; margin-top:var(--space-l); padding:var(--space-m) var(--space-l); background:var(--surface-sunken); border:1px solid var(--primary-100); border-radius:var(--radius-m); }
.ss-cart .ss-bulk-cta__text{ display:flex; flex-direction:column; min-width:0; }
.ss-cart .ss-bulk-cta__text strong{ color:var(--text-strong); font-size:var(--text-m); }
.ss-cart .ss-bulk-cta__text span{ color:var(--text-muted); font-size:var(--text-s); margin-top:2px; }
.ss-cart .ss-bulk-cta__actions{ display:flex; align-items:center; gap:var(--space-m); flex:0 0 auto; }
.ss-cart .ss-bulk-cta__btn{ display:inline-flex; align-items:center; gap:var(--space-3xs); min-height:44px; padding:0 var(--space-m); background:var(--brand); color:#fff; border-radius:var(--radius-s); font-weight:700; text-decoration:none; white-space:nowrap; }
.ss-cart .ss-bulk-cta__btn:hover{ background:var(--primary-800); color:#fff; }
.ss-cart .ss-bulk-cta__link{ color:var(--brand); font-weight:600; text-decoration:none; white-space:nowrap; }
.ss-cart .ss-bulk-cta__link:hover{ text-decoration:underline; }

/* ===========================================================================
 * THANK YOU / CONFIRMATION
 * ========================================================================= */
.ss-thankyou{ max-width:820px; margin-inline:auto; }
.ss-thankyou .ss-steps{ margin-bottom:var(--space-xl); }

.ss-ty-hero{ text-align:center; padding:var(--space-s) 0 var(--space-l); }
.ss-ty-hero__check{ display:inline-flex; align-items:center; justify-content:center; width:56px; height:56px; border-radius:var(--radius-full); background:rgba(75,181,67,.12); color:var(--success); margin-bottom:var(--space-s); }
.ss-ty-hero__title{ font-size:var(--h3); font-weight:700; letter-spacing:-0.02em; color:var(--text-strong); margin:0 0 var(--space-2xs); }
.ss-ty-hero__sub{ margin:0; color:var(--text-muted); }
.ss-ty-hero__sub strong{ color:var(--text-strong); }
.ss-ty-hero.is-failed .ss-ty-hero__title{ color:var(--accent); }

/* Order meta strip — tinted-blue branded panel, readable values */
.ss-ty-meta{ display:grid; grid-template-columns:repeat(3,1fr); margin:0 0 var(--space-l); padding:0; list-style:none; background:var(--surface-sunken); border:1px solid var(--primary-100); border-radius:var(--radius-m); overflow:hidden; }
.ss-ty-meta__item{ padding:var(--space-m); margin:0; list-style:none; }
.ss-ty-meta__item + .ss-ty-meta__item{ border-left:1px solid var(--primary-100); }
.ss-ty-meta__item span{ display:block; font-size:var(--text-s); color:var(--text-muted); margin-bottom:var(--space-3xs); }
.ss-ty-meta__item strong{ display:block; color:var(--text-strong); font-weight:700; font-size:var(--text-m); white-space:nowrap; }
.ss-ty-meta__item.total strong{ color:var(--brand); }
.ss-ty-meta__item strong .woocommerce-Price-amount,
.ss-ty-meta__item strong .woocommerce-Price-currencySymbol{ display:inline; white-space:nowrap; }

/* Payment instructions (invoice / BACS) rendered by the gateway */
.ss-thankyou > p,
.ss-thankyou .woocommerce-bacs-bank-details p{ color:var(--text-muted); font-size:var(--text-s); }
.ss-thankyou .wc-bacs-bank-details-heading,
.ss-thankyou .woocommerce-order-details__title,
.ss-thankyou .woocommerce-column__title,
.ss-thankyou .woocommerce-customer-details h2{ font-size:var(--h4); font-weight:700; color:var(--text-strong); margin:0 0 var(--space-s); }

/* Order details table */
.ss-thankyou .woocommerce-order-details,
.ss-thankyou .woocommerce-customer-details{ margin-top:var(--space-l); }
.ss-thankyou .woocommerce-table--order-details{ width:100%; border-collapse:collapse; border:1px solid var(--neutral-100); border-radius:var(--radius-m); overflow:hidden; background:var(--surface); }
.ss-thankyou .woocommerce-table--order-details tr,
.ss-thankyou .woocommerce-table--order-details tbody,
.ss-thankyou .woocommerce-table--order-details tfoot{ background:var(--surface); }
.ss-thankyou .woocommerce-table--order-details th,
.ss-thankyou .woocommerce-table--order-details td{ padding:var(--space-2xs) var(--space-m); border:0; background:transparent; text-align:left; }
.ss-thankyou .woocommerce-table--order-details thead th{ font-size:var(--text-xs); text-transform:uppercase; letter-spacing:.04em; color:var(--text-muted); border-bottom:1px solid var(--neutral-100); }
.ss-thankyou .woocommerce-table--order-details th.product-total,
.ss-thankyou .woocommerce-table--order-details td.product-total,
.ss-thankyou .woocommerce-table--order-details tfoot td{ text-align:right; }
.ss-thankyou .woocommerce-table--order-details tbody td{ border-bottom:1px solid var(--neutral-100); color:var(--text-strong); }
.ss-thankyou .woocommerce-table--order-details tfoot th,
.ss-thankyou .woocommerce-table--order-details tfoot td{ color:var(--text-muted); font-weight:400; padding:var(--space-4xs) var(--space-m); }
.ss-thankyou .woocommerce-table--order-details tfoot td{ color:var(--text-color); }
.ss-thankyou .woocommerce-table--order-details tfoot tr:first-child th,
.ss-thankyou .woocommerce-table--order-details tfoot tr:first-child td{ padding-top:var(--space-s); border-top:1px solid var(--neutral-100); }
.ss-thankyou .woocommerce-table--order-details tfoot .order-total th{ color:var(--text-strong); font-weight:700; }
.ss-thankyou .woocommerce-table--order-details tfoot .order-total td{ color:var(--brand); font-weight:700; }
.ss-thankyou .woocommerce-order-details .product-name a{ color:var(--text-strong); text-decoration:none; }

/* Customer details / addresses */
.ss-thankyou .woocommerce-customer-details .woocommerce-columns--addresses,
.ss-thankyou .woocommerce-customer-details .addresses{ display:grid; grid-template-columns:1fr 1fr; gap:var(--space-l); }
.ss-thankyou .woocommerce-customer-details .col-1,
.ss-thankyou .woocommerce-customer-details .col-2{ width:100%; float:none; }
.ss-thankyou .woocommerce-customer-details address{ font-style:normal; border:1px solid var(--neutral-100); border-radius:var(--radius-m); padding:var(--space-m); color:var(--text-color); line-height:1.6; }

/* Actions */
.ss-ty-actions{ text-align:center; margin-top:var(--space-xl); }
.ss-ty-actions__row{ display:flex; gap:var(--space-s); justify-content:center; flex-wrap:wrap; margin:var(--space-m) 0 0; }
.ss-ty-btn{ display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:0 var(--space-l); border:1px solid var(--brand); border-radius:var(--radius-s); background:var(--surface); color:var(--brand); font-weight:600; text-decoration:none; }
.ss-ty-btn:hover{ background:var(--brand); color:#fff; }
.ss-ty-btn--primary{ background:var(--accent); border-color:var(--accent); color:#fff; }
.ss-ty-btn--primary:hover{ background:var(--secondary-900); color:#fff; }
.ss-ty-help{ margin:var(--space-s) 0 0; font-size:var(--text-s); color:var(--text-muted); }
.ss-ty-help a{ color:var(--brand); font-weight:600; text-decoration:none; }

/* ===========================================================================
 * MOBILE
 * ========================================================================= */
/* Collapsible order summary + sticky pay bar (single-column breakpoint) */
@media (max-width:900px){
	.ss-checkout__summary .ss-sum-title{ display:none; }
	.ss-summary-toggle{
		display:flex; align-items:center; justify-content:space-between; gap:var(--space-s);
		width:100%; padding:var(--space-s) var(--space-m); background:none; border:0;
		border-bottom:1px solid var(--neutral-100); cursor:pointer; font:inherit; text-align:left;
	}
	.ss-summary-toggle__label{ display:flex; align-items:center; gap:var(--space-2xs); font-weight:700; color:var(--text-strong); font-size:var(--text-m); }
	.ss-summary-toggle__label svg{ transition:transform .2s; color:var(--text-muted); }
	.ss-summary-toggle__total{ font-weight:700; color:var(--brand); }
	.ss-checkout__summary:not(.is-collapsed) .ss-summary-toggle__label svg{ transform:rotate(180deg); }
	.ss-checkout__summary.is-collapsed .ss-coupon,
	.ss-checkout__summary.is-collapsed #order_review .woocommerce-checkout-review-order-table{ display:none; }

	.ss-paybar{
		display:flex; align-items:center; gap:var(--space-s); position:fixed; left:0; right:0; bottom:0; z-index:9990;
		padding:var(--space-2xs) var(--space-m); background:var(--surface);
		box-shadow:0 -8px 28px -14px rgba(20,30,70,.4); border-top:1px solid var(--neutral-100);
	}
	.ss-paybar__total{ display:flex; flex-direction:column; line-height:1.15; white-space:nowrap; }
	.ss-paybar__total span{ font-size:var(--text-xs); color:var(--text-muted); }
	.ss-paybar__total strong{ font-size:var(--text-l); color:var(--brand); }
	.ss-paybar__btn{ flex:1 1 auto; min-height:48px; background:var(--accent); color:#fff; border:0; border-radius:var(--radius-s); font-weight:700; font-size:var(--text-m); cursor:pointer; }
	.ss-paybar__btn:hover{ background:var(--secondary-900); }
	body.woocommerce-checkout{ padding-bottom:76px; }
}

@media (max-width:600px){
	body.woocommerce-cart #brx-content,
	body.woocommerce-checkout #brx-content{ padding:var(--space-m) var(--space-2xs) var(--space-2xl); }
	.ss-ty-meta{ grid-template-columns:1fr; }
	.ss-ty-meta__item + .ss-ty-meta__item{ border-left:0; border-top:1px solid var(--primary-100); }
	.ss-thankyou .woocommerce-customer-details .woocommerce-columns--addresses,
	.ss-thankyou .woocommerce-customer-details .addresses{ grid-template-columns:1fr; }
	.ss-checkout__summary,
	.ss-cart .ss-cart-summary{ position:static; }
	.ss-checkout #billing_first_name_field,
	.ss-checkout #billing_last_name_field{ display:block; width:100%; margin-right:0; }
	.ss-step__bar{ width:24px; }

	.ss-cart .woocommerce-cart-form__contents thead{ display:none; }
	.ss-cart .woocommerce-cart-form__cart-item{
		display:grid; grid-template-columns:72px 1fr auto;
		grid-template-areas:"thumb name remove" "thumb price price" "thumb qty subtotal";
		gap:var(--space-3xs) var(--space-s); padding:var(--space-m) 0; align-items:center;
	}
	.ss-cart .woocommerce-cart-form__cart-item td{ padding:0; }
	.ss-cart td.product-thumbnail{ grid-area:thumb; }
	.ss-cart td.product-name{ grid-area:name; }
	.ss-cart td.product-remove{ grid-area:remove; justify-self:end; }
	.ss-cart td.product-price{ grid-area:price; }
	.ss-cart td.product-price::before{ content:attr(data-title) ": "; color:var(--text-muted); }
	.ss-cart td.product-quantity{ grid-area:qty; }
	.ss-cart td.product-subtotal{ grid-area:subtotal; text-align:right; }
	.ss-cart td.actions button[name=update_cart]{ float:none; width:100%; margin-top:var(--space-2xs); }
	.ss-cart .cross-sells ul.products{ grid-template-columns:1fr 1fr; }
	.ss-cart .ss-bulk-cta{ flex-direction:column; align-items:flex-start; }
	.ss-cart .ss-bulk-cta__actions{ width:100%; }
	.ss-cart .ss-bulk-cta__btn{ flex:1; justify-content:center; }
}
