/* Searing Shot — cart, checkout and side cart. Pairs with ss-redesign.css.
   body.ss-rd-hdr  = any page while the redesign is on (header + side cart)
   body.ss-rd-cart / body.ss-rd-checkout = those pages (also have body.ss-rd) */

body.ss-rd-hdr {
	--ss-bg: #070B14; --ss-card: #0F1626; --ss-raise: #16203A; --ss-line: #1B2742; --ss-line-2: #22304F;
	--ss-line-3: #3A4C75; --ss-track: #1E2A48; --ss-text: #EEF3FA; --ss-muted: #9FB0C8; --ss-faint: #6B7A95;
	--ss-cyan: #0DC3FF; --ss-blue: #1085CD; --ss-ink: #00070D;
	--ss-display: 'Montserrat', sans-serif; --ss-body: 'Source Sans 3', 'Source Sans Pro', sans-serif;
}

/* Astra's "Out of stock" banner: our razz cards already say "Full"; restyle it for everything else */
body.ss-rd li.ss-rd-card--razz .ast-shop-product-out-of-stock { display: none !important; }
body.ss-rd li.ss-rd-card .ast-shop-product-out-of-stock {
	top: 12px !important; left: 12px !important; right: auto !important; bottom: auto !important; width: auto !important;
	background: rgba(7, 11, 20, .85) !important; color: #EEF3FA !important; border: 1px solid #3A4C75; border-radius: 30px;
	padding: 5px 10px !important; font-size: 11px !important; font-weight: 800; letter-spacing: .5px; text-transform: uppercase;
}

/* Spot chip used in cart / checkout / side cart item names */
.ss-rd-spotchip {
	display: inline-block; margin-left: 8px; vertical-align: 1px;
	background: #0DC3FF; color: #00070D; font-family: 'Montserrat', sans-serif; font-weight: 700;
	font-size: 12px; line-height: 1; padding: 4px 8px; border-radius: 7px; white-space: nowrap;
}
body.ss-rd-hdr .ywmmq-correct { display: none !important; }

/* =========================================================================
   Shared page frame for cart + checkout
   ========================================================================= */
body.ss-rd-cart .site-content > .ast-container,
body.ss-rd-checkout .site-content > .ast-container {
	max-width: 1320px; padding: 36px 24px 72px; box-sizing: border-box;
}
body.ss-rd-checkout .site-content > .ast-container { max-width: 1200px; }
body.ss-rd-cart #primary, body.ss-rd-checkout #primary { width: 100%; margin: 0; padding: 0; }
body.ss-rd-cart .entry-header, body.ss-rd-checkout .entry-header { margin: 0 0 24px; text-align: left; }
body.ss-rd-cart .entry-title, body.ss-rd-checkout .entry-title {
	margin: 0; font-family: var(--ss-display); font-weight: 800; font-size: 52px; line-height: 1;
	letter-spacing: -.5px; text-transform: uppercase; color: var(--ss-text);
}
body.ss-rd-checkout .entry-title { font-size: 44px; }
body.ss-rd-cart article, body.ss-rd-checkout article,
body.ss-rd-cart .entry-content, body.ss-rd-checkout .entry-content { background: transparent !important; padding: 0 !important; margin: 0 !important; box-shadow: none !important; }
body.ss-rd-cart .woocommerce, body.ss-rd-checkout .woocommerce { color: var(--ss-text); }

/* Inputs / selects / buttons on these pages */
body.ss-rd-cart .woocommerce input.input-text,
body.ss-rd-checkout .woocommerce input.input-text,
body.ss-rd-checkout .woocommerce textarea,
body.ss-rd-checkout .woocommerce select,
body.ss-rd-cart .woocommerce select {
	background: #070B14 !important; border: 1px solid #2C3B60 !important; border-radius: 12px !important;
	color: var(--ss-text) !important; min-height: 48px; padding: 0 14px; font-family: var(--ss-body); font-size: 16px;
	box-shadow: none !important;
}
body.ss-rd-checkout .woocommerce textarea { padding: 12px 14px; min-height: 96px; }
/* Optical centring: Source Sans sits low in its line box, so lift single-line text 2px */
body.ss-rd-cart .woocommerce input.input-text:not(.qty),
body.ss-rd-checkout .woocommerce input.input-text,
body.ss-rd-checkout .woocommerce select,
body.ss-rd-cart #ast-coupon-code {
	height: 48px !important; min-height: 48px; line-height: 1.2 !important;
	padding-top: 0 !important; padding-bottom: 2px !important; box-sizing: border-box !important;
}
body.ss-rd-cart #ast-coupon-code { height: 44px !important; min-height: 44px; }
body.ss-rd-checkout .select2-container .select2-selection--single,
body.ss-rd-checkout .select2-container--default .select2-selection--single {
	padding: 0 !important; display: flex !important; align-items: center; height: 48px !important; box-sizing: border-box !important;
}
body.ss-rd-checkout .select2-container .select2-selection--single .select2-selection__rendered,
body.ss-rd-checkout .select2-container--default .select2-selection--single .select2-selection__rendered {
	line-height: 1.2 !important; padding: 0 36px 2px 14px !important; height: auto !important; width: 100%;
	display: flex !important; align-items: center; gap: 8px;
}
body.ss-rd-checkout .select2-container .select2-selection__clear { order: 2; margin-left: auto; color: var(--ss-muted); }
body.ss-rd-checkout .select2-container--default .select2-selection--single .select2-selection__arrow { top: 0 !important; right: 8px !important; height: 46px !important; }
body.ss-rd-cart .woocommerce input.input-text:focus,
body.ss-rd-checkout .woocommerce input.input-text:focus,
body.ss-rd-checkout .woocommerce textarea:focus,
body.ss-rd-checkout .woocommerce select:focus { border-color: var(--ss-cyan) !important; outline: none; }
body.ss-rd-checkout .woocommerce input::placeholder, body.ss-rd-cart .woocommerce input::placeholder { color: var(--ss-faint); }
body.ss-rd-checkout .select2-container--default .select2-selection--single {
	background: #070B14 !important; border: 1px solid #2C3B60 !important; border-radius: 12px !important; height: 48px !important;
}
body.ss-rd-checkout .select2-container--default .select2-selection--single .select2-selection__rendered { color: var(--ss-text) !important; line-height: 46px !important; padding-left: 14px !important; }
body.ss-rd-checkout .select2-container--default .select2-selection--single .select2-selection__arrow { height: 46px !important; }
body.ss-rd-checkout .select2-dropdown { background: var(--ss-card) !important; border-color: var(--ss-line-2) !important; color: var(--ss-text) !important; }
body.ss-rd-checkout .select2-search__field { background: #070B14 !important; color: var(--ss-text) !important; border-color: #2C3B60 !important; }
body.ss-rd-checkout .select2-results__option--highlighted { background: var(--ss-blue) !important; color: #fff !important; }
body.ss-rd-cart .woocommerce label, body.ss-rd-checkout .woocommerce label { color: #C9D4E5; font-weight: 600; font-size: 14px; }
body.ss-rd-checkout .woocommerce .required { color: #FF8A93; text-decoration: none; }
body.ss-rd-checkout .woocommerce .optional { color: var(--ss-faint); font-weight: 400; }

/* Notices */
body.ss-rd-cart .woocommerce-info, body.ss-rd-checkout .woocommerce-info,
body.ss-rd-cart .woocommerce-message, body.ss-rd-checkout .woocommerce-message,
body.ss-rd-cart .woocommerce-error, body.ss-rd-checkout .woocommerce-error {
	background: var(--ss-card) !important; color: var(--ss-text) !important; border: 1px solid var(--ss-line-2) !important;
	border-radius: 12px !important; padding: 14px 16px 14px 48px !important; font-size: 15px;
}
body.ss-rd-cart .woocommerce-message, body.ss-rd-checkout .woocommerce-message { background: #0E2B3A !important; border-color: var(--ss-blue) !important; color: #BFEFFF !important; }
body.ss-rd-cart .woocommerce-error, body.ss-rd-checkout .woocommerce-error { border-color: #FF8A93 !important; }
body.ss-rd-cart .woocommerce-info::before, body.ss-rd-checkout .woocommerce-info::before,
body.ss-rd-cart .woocommerce-message::before, body.ss-rd-checkout .woocommerce-message::before { color: var(--ss-cyan) !important; }
body.ss-rd-cart .woocommerce-info a, body.ss-rd-checkout .woocommerce-info a,
body.ss-rd-cart .woocommerce-message a:not(.button), body.ss-rd-checkout .woocommerce-message a:not(.button) { color: var(--ss-cyan); font-weight: 600; }

/* =========================================================================
   CART
   ========================================================================= */
body.ss-rd-cart .woocommerce > div:not(.woocommerce-notices-wrapper):not(.woocommerce-info) {
	display: grid !important; grid-template-columns: minmax(0, 1fr) 380px; gap: 32px; align-items: start; flex-wrap: nowrap;
}
body.ss-rd-cart .woocommerce > div > .ast-cart-non-sticky,
body.ss-rd-cart .woocommerce > div > .cart-collaterals { width: auto !important; max-width: none !important; flex: none !important; }

/* Astra's full-width title banner on cart/checkout: dark, left-aligned, in line with the content */
body.ss-rd-cart .ast-single-entry-banner,
body.ss-rd-checkout .ast-single-entry-banner {
	background: var(--ss-bg) !important; background-image: none !important; padding: 36px 0 0 !important; min-height: 0 !important; text-align: left !important;
}
body.ss-rd-cart .ast-single-entry-banner .ast-container { max-width: 1320px; padding: 0 24px !important; margin: 0 auto; box-sizing: border-box; }
body.ss-rd-checkout .ast-single-entry-banner .ast-container { max-width: 1200px; padding: 0 24px !important; margin: 0 auto; box-sizing: border-box; }
body.ss-rd-cart .ast-single-entry-banner .entry-title,
body.ss-rd-checkout .ast-single-entry-banner .entry-title { text-align: left !important; margin: 0 !important; color: var(--ss-text) !important; }
body.ss-rd-cart .site-content > .ast-container,
body.ss-rd-checkout .site-content > .ast-container { padding-top: 20px !important; }
body.ss-rd-cart #ast-coupon-code {
	background: #070B14 !important; border: 1px solid #2C3B60 !important; color: var(--ss-text) !important;
	border-radius: 30px !important; min-height: 44px; padding: 0 16px !important; font-size: 15px; box-shadow: none !important;
}
@media (max-width: 760px) {
	body.ss-rd-cart .ast-single-entry-banner, body.ss-rd-checkout .ast-single-entry-banner { padding-top: 20px !important; }
	body.ss-rd-cart .ast-single-entry-banner .ast-container, body.ss-rd-checkout .ast-single-entry-banner .ast-container { padding: 0 16px !important; }
	body.ss-rd-cart .site-content > .ast-container, body.ss-rd-checkout .site-content > .ast-container { padding-top: 12px !important; }
}
body.ss-rd-cart .ast-cart-non-sticky, body.ss-rd-cart .cart-collaterals { width: auto !important; float: none !important; margin: 0 !important; padding: 0 !important; }
body.ss-rd-cart .cart-collaterals::before, body.ss-rd-cart .cart-collaterals::after { display: none !important; }

/* Shipping note */
.ss-rd-shipnote {
	display: flex; align-items: center; gap: 14px; flex-wrap: wrap;
	background: #0E2B3A; border: 1px solid #1085CD; border-radius: 14px; padding: 14px 16px; margin: 0 0 16px;
	color: #BFEFFF; font-size: 15px;
}
.ss-rd-shipnote svg { color: #0DC3FF; flex: 0 0 auto; }
.ss-rd-shipnote > span { flex: 1; min-width: 200px; }
.ss-rd-shipnote strong { color: #FFFFFF; }
.ss-rd-shipnote a {
	border: 1px solid #0DC3FF; color: #FFFFFF !important; text-decoration: none; font-weight: 700; font-size: 14px;
	padding: 0 16px; min-height: 40px; display: inline-flex; align-items: center; border-radius: 30px;
}
.ss-rd-shipnote a:hover { background: rgba(13, 195, 255, .12); }

/* Items: the table becomes a list of rows */
body.ss-rd-cart table.shop_table.cart {
	display: block; border: 1px solid var(--ss-line) !important; border-radius: 16px !important;
	background: var(--ss-card); margin: 0 !important; overflow: hidden; border-collapse: separate;
}
body.ss-rd-cart table.shop_table.cart thead { display: none; }
body.ss-rd-cart table.shop_table.cart tbody { display: block; }
body.ss-rd-cart table.shop_table.cart tr.cart_item {
	display: grid; grid-template-columns: 88px minmax(0, 1fr) auto 40px;
	grid-template-areas: "img name total remove" "img qty total remove";
	column-gap: 16px; row-gap: 8px; align-items: center; padding: 18px 20px; border-top: 1px solid var(--ss-line);
}
body.ss-rd-cart table.shop_table.cart tr.cart_item:first-child { border-top: 0; }
body.ss-rd-cart table.shop_table.cart td {
	display: block; border: 0 !important; padding: 0 !important; background: transparent !important; text-align: left;
}
body.ss-rd-cart table.shop_table.cart td::before { display: none !important; }
body.ss-rd-cart td.product-thumbnail { grid-area: img; width: 88px !important; min-width: 0 !important; }
body.ss-rd-cart td.product-thumbnail img {
	width: 88px !important; height: 88px !important; max-width: none !important; object-fit: cover;
	border-radius: 12px; border: 1px solid var(--ss-line-2); background: var(--ss-raise); margin: 0 !important;
}
body.ss-rd-cart td.product-name { grid-area: name; align-self: end; }
body.ss-rd-cart td.product-name .ast-product-image { display: block !important; }
body.ss-rd-cart td.product-name a {
	font-family: var(--ss-display); font-weight: 700; font-size: 16px; line-height: 1.3; color: var(--ss-text) !important; text-decoration: none;
}
body.ss-rd-cart td.product-name a:hover { color: var(--ss-cyan) !important; }
body.ss-rd-cart td.product-name dl.variation { margin: 6px 0 0; font-size: 13px; color: var(--ss-muted); }
body.ss-rd-cart td.product-price { display: none !important; }
body.ss-rd-cart td.product-quantity { grid-area: qty; align-self: start; }
body.ss-rd-cart td.product-subtotal { grid-area: total; text-align: right !important; }
body.ss-rd-cart td.product-subtotal .amount { font-family: var(--ss-display); font-weight: 800; font-size: 20px; color: var(--ss-text); }
body.ss-rd-cart td.product-remove { grid-area: remove; justify-self: end; }
body.ss-rd-cart td.product-remove a.remove {
	width: 40px !important; height: 40px !important; border-radius: 10px !important; display: flex !important;
	align-items: center; justify-content: center; color: var(--ss-muted) !important; background: transparent !important;
	border: 0 !important; font-size: 0 !important;
}
body.ss-rd-cart td.product-remove a.remove:hover { background: var(--ss-raise) !important; color: #FF8A93 !important; }
body.ss-rd-cart td.product-remove a.remove svg { width: 18px; height: 18px; }

/* Quantity: hidden when it can only be 1 (razz spots), pill stepper otherwise */
body.ss-rd-hdr .quantity:has(input.qty[max="1"]) { display: none !important; }
body.ss-rd-cart .quantity.buttons_added {
	display: inline-flex !important; align-items: center; border: 1px solid var(--ss-line-3); border-radius: 30px; overflow: hidden; width: max-content;
}
body.ss-rd-cart .quantity.buttons_added .minus,
body.ss-rd-cart .quantity.buttons_added .plus {
	width: 36px; height: 36px; display: flex; align-items: center; justify-content: center;
	background: transparent !important; color: var(--ss-text) !important; border: 0 !important; font-size: 18px; text-decoration: none;
}
body.ss-rd-cart .quantity.buttons_added input.qty {
	width: 32px !important; min-height: 36px !important; height: 36px; border: 0 !important; background: transparent !important;
	text-align: center; padding: 0 !important; color: var(--ss-text) !important; -moz-appearance: textfield;
}

/* Actions row: coupon lives in the totals box; keep "Update cart" small and right-aligned */
body.ss-rd-cart table.shop_table.cart tr:not(.cart_item) { display: block; padding: 12px 20px; border-top: 1px solid var(--ss-line); }
body.ss-rd-cart td.actions { display: flex !important; justify-content: flex-end; }
body.ss-rd-cart td.actions .coupon { display: none !important; }
body.ss-rd-cart td.actions button[name="update_cart"] {
	min-height: 40px; padding: 0 18px !important; border-radius: 30px !important; background: transparent !important;
	border: 1px solid var(--ss-line-3) !important; color: var(--ss-text) !important; font-weight: 700; font-size: 14px;
}
body.ss-rd-cart td.actions button[name="update_cart"]:disabled { opacity: .45; }

/* Totals card */
body.ss-rd-cart .cart_totals {
	width: auto !important; float: none !important; background: var(--ss-card); border: 1px solid var(--ss-line) !important;
	border-radius: 16px; padding: 22px !important; position: sticky; top: 24px;
}
body.ss-rd-cart .cart_totals h2 {
	margin: 0 0 14px !important; padding: 0 !important; border: 0 !important; background: none !important;
	font-family: var(--ss-display); font-size: 18px !important; font-weight: 800; text-transform: uppercase; color: var(--ss-text);
}
body.ss-rd-cart .cart_totals table.shop_table { border: 0 !important; margin: 0 !important; background: transparent; }
body.ss-rd-cart .cart_totals table.shop_table tr { display: flex; justify-content: space-between; gap: 12px; padding: 6px 0; border: 0; }
body.ss-rd-cart .cart_totals table.shop_table th,
body.ss-rd-cart .cart_totals table.shop_table td { border: 0 !important; padding: 0 !important; background: transparent !important; color: var(--ss-text); font-size: 15px; }
body.ss-rd-cart .cart_totals table.shop_table th { color: var(--ss-muted); font-weight: 400; }
body.ss-rd-cart .cart_totals table.shop_table td { text-align: right; }
body.ss-rd-cart .cart_totals table.shop_table td::before { display: none !important; }
body.ss-rd-cart .cart_totals tr.shipping td,
body.ss-rd-cart .cart_totals tr.shipping td label { color: var(--ss-muted) !important; font-weight: 400; font-size: 14px; max-width: 220px; margin-left: auto; }
body.ss-rd-cart .cart_totals ul#shipping_method { margin: 0; padding: 0; list-style: none; }
body.ss-rd-cart .cart_totals .woocommerce-shipping-destination,
body.ss-rd-cart .cart_totals .woocommerce-shipping-calculator { display: none !important; }
body.ss-rd-cart .cart_totals tr.order-total { border-top: 1px solid var(--ss-line) !important; margin-top: 8px; padding-top: 14px; align-items: baseline; }
body.ss-rd-cart .cart_totals tr.order-total th { color: var(--ss-text); font-weight: 700; }
body.ss-rd-cart .cart_totals tr.order-total .amount { font-family: var(--ss-display); font-weight: 800; font-size: 28px; color: var(--ss-text); }
body.ss-rd-cart .wc-proceed-to-checkout { padding: 16px 0 0 !important; display: flex; flex-direction: column; gap: 12px; }
body.ss-rd-cart .wc-proceed-to-checkout a.checkout-button {
	display: flex !important; align-items: center; justify-content: center; min-height: 56px; margin: 0 !important;
	border-radius: 30px !important; background: var(--ss-cyan) !important; color: var(--ss-ink) !important;
	font-family: var(--ss-body); font-size: 17px !important; font-weight: 700; border: 0 !important; padding: 0 20px !important;
}
body.ss-rd-cart .wc-proceed-to-checkout a.checkout-button:hover { background: #7FDDFF !important; }
/* Astra's "Have a coupon?" toggle */
body.ss-rd-cart #ast-checkout-coupon { order: -1; border-bottom: 1px solid var(--ss-line); padding-bottom: 12px; margin: 0; }
body.ss-rd-cart #ast-coupon-trigger { color: #C9D4E5 !important; font-size: 14px; font-weight: 600; cursor: pointer; margin: 0; text-decoration: none; }
body.ss-rd-cart #ast-coupon-trigger:hover { color: var(--ss-cyan) !important; }
body.ss-rd-cart #ast-checkout-coupon .coupon { display: flex; gap: 8px; margin-top: 10px; }
body.ss-rd-cart #ast-checkout-coupon .coupon input { flex: 1; border-radius: 30px !important; min-height: 44px; }
body.ss-rd-cart #ast-checkout-coupon .ast-coupon-label { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
body.ss-rd-cart #ast-apply-coupon {
	min-height: 44px; padding: 0 16px !important; border-radius: 30px !important; border: 1px solid var(--ss-line-3) !important;
	background: transparent !important; color: var(--ss-text) !important; font-weight: 700; display: inline-flex; align-items: center;
}

/* Empty cart */
body.ss-rd-cart .cart-empty.woocommerce-info { text-align: left; }
body.ss-rd-cart .return-to-shop a.button {
	min-height: 48px; border-radius: 30px !important; background: var(--ss-cyan) !important; color: var(--ss-ink) !important;
	font-weight: 700; padding: 0 22px !important; display: inline-flex; align-items: center;
}

/* =========================================================================
   CHECKOUT
   ========================================================================= */
.ss-rd-co-top {
	display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap;
	margin: -8px 0 20px; font-size: 15px;
}
.ss-rd-co-secure {
	display: inline-flex; align-items: center; gap: 8px; font-family: 'Montserrat', sans-serif; font-weight: 700;
	font-size: 13px; letter-spacing: .4px; text-transform: uppercase; color: #9FB0C8;
}
.ss-rd-co-top a { color: #0DC3FF; font-weight: 600; text-decoration: none; min-height: 44px; display: inline-flex; align-items: center; }

/* Login / coupon toggles above the form */
body.ss-rd-checkout .woocommerce-form-login-toggle .woocommerce-info,
body.ss-rd-checkout .woocommerce-form-coupon-toggle .woocommerce-info { margin-bottom: 12px !important; }
body.ss-rd-checkout form.woocommerce-form-login,
body.ss-rd-checkout form.checkout_coupon {
	background: var(--ss-card) !important; border: 1px solid var(--ss-line) !important; border-radius: 16px !important;
	padding: 20px !important; margin: 0 0 16px !important; color: var(--ss-text);
}

/* Returning-customer login panel */
body.ss-rd-checkout form.woocommerce-form-login {
	display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 12px; row-gap: 14px; align-items: end;
}
body.ss-rd-checkout form.woocommerce-form-login > * { grid-column: 1 / -1; margin: 0 !important; padding: 0 !important; float: none !important; width: auto !important; }
body.ss-rd-checkout form.woocommerce-form-login > .clear { display: none; }
body.ss-rd-checkout form.woocommerce-form-login > p:first-child { color: #C9D4E5; font-size: 15px; }
body.ss-rd-checkout form.woocommerce-form-login > .form-row-first { grid-column: 1; }
body.ss-rd-checkout form.woocommerce-form-login > .form-row-last { grid-column: 2; }
body.ss-rd-checkout form.woocommerce-form-login .form-row label { display: block; margin: 0 0 6px; color: #C9D4E5; font-weight: 600; font-size: 14px; }
body.ss-rd-checkout form.woocommerce-form-login .password-input { position: relative; display: block; }
body.ss-rd-checkout form.woocommerce-form-login .password-input input { padding-right: 48px !important; width: 100%; }
/* Show/hide password: an eye icon inside the field instead of an empty blue box */
body.ss-rd-checkout .show-password-input {
	position: absolute !important; top: 0 !important; right: 0 !important; width: 48px !important; height: 48px !important;
	margin: 0 !important; padding: 0 !important; border: 0 !important; border-radius: 0 12px 12px 0 !important;
	background: transparent !important; box-shadow: none !important; cursor: pointer; font-size: 0 !important;
}
body.ss-rd-checkout .show-password-input::after {
	content: "" !important; position: absolute; top: 50%; left: 50%; width: 20px; height: 20px; margin: -10px 0 0 -10px;
	background: #9FB0C8 !important; font-size: 0 !important;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1 12s4-7 11-7 11 7 11 7-4 7-11 7S1 12 1 12z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1 12s4-7 11-7 11 7 11 7-4 7-11 7S1 12 1 12z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E") center / contain no-repeat;
}
body.ss-rd-checkout .show-password-input.display-password::after {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M17.94 17.94A10.07 10.07 0 0 1 12 19c-7 0-11-7-11-7a18.45 18.45 0 0 1 5.06-5.94M9.9 4.24A9.12 9.12 0 0 1 12 4c7 0 11 7 11 7a18.5 18.5 0 0 1-2.16 3.19M1 1l22 22'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M17.94 17.94A10.07 10.07 0 0 1 12 19c-7 0-11-7-11-7a18.45 18.45 0 0 1 5.06-5.94M9.9 4.24A9.12 9.12 0 0 1 12 4c7 0 11 7 11 7a18.5 18.5 0 0 1-2.16 3.19M1 1l22 22'/%3E%3C/svg%3E");
}
body.ss-rd-checkout .show-password-input:hover::after { background: #0DC3FF !important; }
body.ss-rd-checkout .show-password-input:focus-visible { outline: 2px solid #0DC3FF; outline-offset: -2px; }
/* Remember me + Login on one row */
body.ss-rd-checkout form.woocommerce-form-login > .form-row:not(.form-row-first):not(.form-row-last) {
	display: flex; align-items: center; justify-content: flex-start; gap: 12px; flex-wrap: wrap;
}
body.ss-rd-checkout form.woocommerce-form-login > .form-row::before,
body.ss-rd-checkout form.woocommerce-form-login > .form-row::after { display: none !important; }
body.ss-rd-checkout form.woocommerce-form-login .woocommerce-form-login__submit { margin-left: auto !important; }
body.ss-rd-checkout .woocommerce-form-login__rememberme input[type="checkbox"] { margin: 0 !important; }
body.ss-rd-checkout .woocommerce-form-login__rememberme { display: inline-flex !important; align-items: center; gap: 10px; min-height: 44px; margin: 0 !important; color: #C9D4E5; font-weight: 600; cursor: pointer; }
body.ss-rd-checkout .woocommerce-form-login__submit {
	min-height: 48px; padding: 0 28px !important; margin: 0 !important; border: 0 !important; border-radius: 30px !important;
	background: #0DC3FF !important; color: #00070D !important; font-weight: 700 !important; font-size: 16px !important; float: none !important;
}
body.ss-rd-checkout .woocommerce-form-login__submit:hover { background: #7FDDFF !important; }
body.ss-rd-checkout form.woocommerce-form-login .lost_password a { color: #0DC3FF !important; font-weight: 600; text-decoration: underline; text-underline-offset: 2px; }
body.ss-rd-checkout form.woocommerce-form-login .lost_password a:hover { color: #7FDDFF !important; }
/* Same treatment for the "Enter your coupon" panel */
body.ss-rd-checkout form.checkout_coupon {
	flex-wrap: nowrap; gap: 10px; align-items: center; width: 100% !important; max-width: none !important; box-sizing: border-box;
}
body.ss-rd-checkout form.checkout_coupon:not([style*="display: none"]):not([style*="display:none"]) { display: flex !important; }
body.ss-rd-checkout form.checkout_coupon > p:not(.form-row) { flex: 1 0 100%; margin: 0 !important; color: #C9D4E5; }
body.ss-rd-checkout form.checkout_coupon .form-row { margin: 0 !important; padding: 0 !important; float: none !important; width: auto !important; }
body.ss-rd-checkout form.checkout_coupon .form-row::before,
body.ss-rd-checkout form.checkout_coupon .form-row::after { display: none !important; }
body.ss-rd-checkout form.checkout_coupon .form-row-first { flex: 1 1 auto; min-width: 0; }
body.ss-rd-checkout form.checkout_coupon .form-row-first input { width: 100% !important; }
body.ss-rd-checkout form.checkout_coupon .form-row-last { flex: 0 0 auto; }
body.ss-rd-checkout form.checkout_coupon .form-row-first input { border-radius: 30px !important; }
body.ss-rd-checkout form.checkout_coupon button {
	min-height: 48px; padding: 0 22px !important; border-radius: 30px !important; border: 1px solid #3A4C75 !important;
	background: transparent !important; color: #EEF3FA !important; font-weight: 700;
}
body.ss-rd-checkout form.checkout_coupon button:hover { border-color: #0DC3FF !important; }
body.ss-rd-checkout form.checkout_coupon .clear { display: none; }
@media (max-width: 760px) {
	body.ss-rd-checkout form.woocommerce-form-login { grid-template-columns: minmax(0, 1fr); }
	body.ss-rd-checkout form.woocommerce-form-login > .form-row-first,
	body.ss-rd-checkout form.woocommerce-form-login > .form-row-last { grid-column: 1; }
	body.ss-rd-checkout .woocommerce-form-login__submit { width: 100%; }
}

/* Two-column layout: details + payment left, order summary right */
body.ss-rd-checkout form.checkout.woocommerce-checkout {
	display: grid; grid-template-columns: minmax(0, 1fr) 400px; column-gap: 32px; align-items: start;
}
body.ss-rd-checkout form.checkout > * { grid-column: 1; min-width: 0; }
body.ss-rd-checkout form.checkout > .wcservices-checkout-notices,
body.ss-rd-checkout form.checkout > .woocommerce-NoticeGroup { grid-column: 1; }
/* Email + phone side by side (the field editor re-adds "wide" to phone) */
body.ss-rd-checkout .woocommerce-billing-fields__field-wrapper > #billing_email_field { grid-column: 1 !important; }
body.ss-rd-checkout .woocommerce-billing-fields__field-wrapper > #billing_phone_field { grid-column: 2 !important; }
@media (max-width: 760px) {
	body.ss-rd-checkout .woocommerce-billing-fields__field-wrapper > #billing_email_field,
	body.ss-rd-checkout .woocommerce-billing-fields__field-wrapper > #billing_phone_field { grid-column: 1 !important; }
}
body.ss-rd-checkout form.checkout > #order_review_heading { display: none; }
body.ss-rd-checkout form.checkout > #order_review {
	grid-column: 2; grid-row: 1 / span 30; position: sticky; top: 24px; width: auto !important; float: none !important;
	background: var(--ss-card); border: 1px solid var(--ss-line); border-radius: 16px; padding: 22px !important; margin: 0 !important;
}
body.ss-rd-checkout form.checkout > #order_review::before {
	content: "Your order"; display: block; margin: 0 0 14px; font-family: var(--ss-display); font-size: 17px;
	font-weight: 800; text-transform: uppercase; color: var(--ss-text);
}

/* Customer details: cards, full width */
body.ss-rd-checkout #customer_details { width: auto !important; float: none !important; margin: 0 0 16px !important; display: flex; flex-direction: column; gap: 16px; }
body.ss-rd-checkout #customer_details::before, body.ss-rd-checkout #customer_details::after { display: none !important; }
body.ss-rd-checkout #customer_details .col-1,
body.ss-rd-checkout #customer_details .col-2 {
	width: auto !important; float: none !important; margin: 0 !important; max-width: none !important;
	background: var(--ss-card); border: 1px solid var(--ss-line); border-radius: 16px; padding: 22px !important;
}
body.ss-rd-checkout #customer_details .col-2:not(:has(*:not(:empty))) { display: none; }
body.ss-rd-checkout .woocommerce-billing-fields > h3 { display: none; }
body.ss-rd-checkout .woocommerce-shipping-fields h3,
body.ss-rd-checkout .woocommerce-additional-fields > h3 {
	margin: 0 0 12px !important; font-family: var(--ss-body); font-size: 15px !important; font-weight: 600; text-transform: none; color: var(--ss-text);
}
body.ss-rd-checkout #ship-to-different-address label { display: flex !important; align-items: center; gap: 10px; min-height: 44px; cursor: pointer; font-size: 15px; color: var(--ss-text); }
body.ss-rd-checkout input[type="checkbox"], body.ss-rd-checkout input[type="radio"] { accent-color: #0DC3FF; width: 18px; height: 18px; }

/* Field grid */
body.ss-rd-checkout .woocommerce-billing-fields__field-wrapper,
body.ss-rd-checkout .woocommerce-shipping-fields__field-wrapper,
body.ss-rd-checkout .woocommerce-additional-fields__field-wrapper,
body.ss-rd-checkout .woocommerce-account-fields .create-account {
	display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 12px; row-gap: 14px;
}
body.ss-rd-checkout .woocommerce-billing-fields__field-wrapper > *,
body.ss-rd-checkout .woocommerce-shipping-fields__field-wrapper > *,
body.ss-rd-checkout .woocommerce-additional-fields__field-wrapper > *,
body.ss-rd-checkout .woocommerce-account-fields .create-account > * { grid-column: 1 / -1; width: auto !important; float: none !important; margin: 0 !important; padding: 0 !important; }
body.ss-rd-checkout .woocommerce-billing-fields__field-wrapper > .form-row-first,
body.ss-rd-checkout .woocommerce-shipping-fields__field-wrapper > .form-row-first { grid-column: 1; }
body.ss-rd-checkout .woocommerce-billing-fields__field-wrapper > .form-row-last,
body.ss-rd-checkout .woocommerce-shipping-fields__field-wrapper > .form-row-last { grid-column: 2; }
body.ss-rd-checkout .woocommerce .form-row label { display: block; margin: 0 0 6px; line-height: 1.3; }
body.ss-rd-checkout .woocommerce .form-row .description { color: var(--ss-muted); font-size: 13px; }
/* Links inside field labels (e.g. "Forgot your number? Click here") */
body.ss-rd-checkout .woocommerce .form-row label a,
body.ss-rd-checkout .woocommerce .form-row .description a {
	color: var(--ss-cyan) !important; font-weight: 700; text-decoration: underline; text-underline-offset: 2px;
}
body.ss-rd-checkout .woocommerce .form-row label a:hover { color: #7FDDFF !important; }
body.ss-rd-checkout .woocommerce .form-row.woocommerce-invalid input.input-text,
body.ss-rd-checkout .woocommerce .form-row.woocommerce-invalid .select2-selection { border-color: #FF8A93 !important; }

/* Section headings injected before Twitch / email / first name, plus Payment */
.ss-rd-co-h {
	grid-column: 1 / -1; margin: 10px 0 0 !important; padding: 14px 0 0 !important; border-top: 1px solid #1B2742;
	font-family: 'Montserrat', sans-serif !important; font-size: 17px !important; font-weight: 800 !important;
	text-transform: uppercase; letter-spacing: 0; color: #EEF3FA !important; line-height: 1.2;
}
.woocommerce-billing-fields__field-wrapper > .ss-rd-co-h:first-child,
.woocommerce-billing-fields__field-wrapper > .ss-rd-co-h[data-priority="1"] { margin-top: 0 !important; padding-top: 0 !important; border-top: 0; }
.ss-rd-co-sub { display: block; margin-top: 4px; font-family: 'Source Sans 3', sans-serif; font-size: 14px; font-weight: 400; text-transform: none; color: #9FB0C8; }
body.ss-rd-checkout form.checkout > .ss-rd-co-h--pay {
	border: 0; margin: 0 !important; padding: 22px 22px 0 !important; background: var(--ss-card);
	border: 1px solid var(--ss-line); border-bottom: 0; border-radius: 16px 16px 0 0;
}

/* Payment card (moved under the details) */
body.ss-rd-checkout form.checkout > #payment {
	background: var(--ss-card) !important; border: 1px solid var(--ss-line); border-top: 0; border-radius: 0 0 16px 16px;
	padding: 14px 22px 22px !important; margin: 0 !important;
}
body.ss-rd-checkout #payment ul.payment_methods { border: 0 !important; padding: 0 !important; margin: 0 0 16px !important; display: flex; flex-direction: column; gap: 10px; list-style: none; }
body.ss-rd-checkout #payment ul.payment_methods li.wc_payment_method {
	border: 1px solid #2C3B60; border-radius: 14px; padding: 0 !important; margin: 0 !important; background: transparent; overflow: hidden; list-style: none;
}
body.ss-rd-checkout #payment ul.payment_methods li.wc_payment_method:has(> input:checked) { border: 2px solid var(--ss-cyan); background: var(--ss-raise); }
body.ss-rd-checkout #payment ul.payment_methods li.wc_payment_method > input { margin: 0 0 0 16px !important; vertical-align: middle; }
body.ss-rd-checkout #payment ul.payment_methods li.wc_payment_method > label {
	display: inline-flex !important; align-items: center; gap: 10px; min-height: 56px; padding: 0 16px 0 8px; margin: 0 !important;
	font-size: 16px !important; font-weight: 700; color: var(--ss-text) !important; cursor: pointer; width: calc(100% - 40px); box-sizing: border-box;
}
body.ss-rd-checkout #payment ul.payment_methods li.wc_payment_method > label img { max-height: 22px; width: auto; margin: 0 0 0 auto !important; }
body.ss-rd-checkout #payment .payment_box {
	background: transparent !important; color: #C9D4E5 !important; margin: 0 !important; padding: 4px 16px 16px !important; font-size: 14px;
}
body.ss-rd-checkout #payment .payment_box::before { display: none !important; }
body.ss-rd-checkout #payment .place-order { padding: 0 !important; margin: 0 !important; background: transparent !important; }
body.ss-rd-checkout #payment .woocommerce-terms-and-conditions-wrapper,
body.ss-rd-checkout #payment .woocommerce-privacy-policy-text { color: #C9D4E5; font-size: 14px; margin-bottom: 14px; }
body.ss-rd-checkout #payment .woocommerce-privacy-policy-text a, body.ss-rd-checkout #payment .woocommerce-terms-and-conditions-wrapper a { color: var(--ss-cyan); }
body.ss-rd-checkout #place_order {
	width: 100%; min-height: 58px; border: 0 !important; border-radius: 30px !important;
	background: var(--ss-cyan) !important; color: var(--ss-ink) !important; font-family: var(--ss-body); font-size: 18px !important; font-weight: 700;
	float: none !important; margin: 0 !important;
}
body.ss-rd-checkout #place_order:hover { background: #7FDDFF !important; }

/* Order summary table */
body.ss-rd-checkout #order_review table.shop_table { border: 0 !important; margin: 0 !important; background: transparent !important; border-collapse: collapse; width: 100%; }
body.ss-rd-checkout #order_review table.shop_table thead { display: none; }
body.ss-rd-checkout #order_review table.shop_table th,
body.ss-rd-checkout #order_review table.shop_table td {
	border: 0 !important; background: transparent !important; color: var(--ss-text); padding: 8px 0 !important; font-size: 15px; vertical-align: top;
}
body.ss-rd-checkout #order_review tbody tr.cart_item td { border-bottom: 1px solid var(--ss-line) !important; padding: 12px 0 !important; }
body.ss-rd-checkout #order_review tbody td.product-name { font-weight: 700; font-size: 14px; line-height: 1.35; padding-right: 12px !important; }
body.ss-rd-checkout #order_review tbody td.product-name .product-quantity { color: var(--ss-muted); font-weight: 400; }
body.ss-rd-checkout #order_review tbody td.product-name .ast-product-image { display: inline !important; }
body.ss-rd-checkout #order_review tbody td.product-name .ast-product-name { display: inline; }
body.ss-rd-checkout #order_review td.product-total, body.ss-rd-checkout #order_review tfoot td { text-align: right; white-space: nowrap; }
body.ss-rd-checkout #order_review tfoot th { color: var(--ss-muted); font-weight: 400; text-align: left; }
body.ss-rd-checkout #order_review tfoot tr.shipping td,
body.ss-rd-checkout #order_review tfoot tr.shipping td label { color: var(--ss-muted) !important; font-weight: 400; font-size: 14px; white-space: normal; }
body.ss-rd-checkout #order_review ul#shipping_method { margin: 0; padding: 0; list-style: none; }
body.ss-rd-checkout #order_review tfoot tr.order-total th,
body.ss-rd-checkout #order_review tfoot tr.order-total td { border-top: 1px solid var(--ss-line) !important; padding-top: 14px !important; color: var(--ss-text); font-weight: 700; }
body.ss-rd-checkout #order_review tfoot tr.order-total .amount { font-family: var(--ss-display); font-weight: 800; font-size: 26px; }

/* Header on checkout: trimmed (no menu or cart pill) */
body.ss-rd-checkout [data-elementor-type="header"] .elementor-top-section > .elementor-container > .elementor-column:nth-child(2),
body.ss-rd-checkout [data-elementor-type="header"] .elementor-top-section > .elementor-container > .elementor-column:nth-child(3) { display: none !important; }

/* =========================================================================
   SIDE CART (Elementor menu-cart drawer in the header) — any page
   ========================================================================= */
body.ss-rd-hdr .elementor-menu-cart__container { background-color: rgba(0, 4, 10, .72) !important; }
body.ss-rd-hdr .elementor-menu-cart__main {
	background: #0B111F !important; border-left: 1px solid #22304F !important; width: 440px !important; max-width: 100vw;
	padding: 0 !important; color: #EEF3FA; box-shadow: -24px 0 60px rgba(0, 0, 0, .5); font-family: 'Source Sans 3', sans-serif;
	display: flex !important; flex-direction: column;
}
body.ss-rd-hdr .elementor-menu-cart__close-button {
	width: 44px !important; height: 44px !important; margin: 12px 12px 0 auto !important; border-radius: 10px;
	display: flex !important; align-items: center; justify-content: center; position: relative; cursor: pointer;
}
body.ss-rd-hdr .elementor-menu-cart__close-button::before,
body.ss-rd-hdr .elementor-menu-cart__close-button::after { background: #FFFFFF !important; width: 20px !important; height: 2px !important; }
body.ss-rd-hdr .elementor-menu-cart__close-button:hover { background: #16203A; }
body.ss-rd-hdr .elementor-menu-cart__main::before {
	content: "Your cart"; position: absolute; top: 22px; left: 20px; font-family: 'Montserrat', sans-serif;
	font-size: 18px; font-weight: 800; text-transform: uppercase; color: #EEF3FA;
}
body.ss-rd-hdr .elementor-menu-cart__main .widget_shopping_cart_content { display: flex; flex-direction: column; flex: 1; min-height: 0; border-top: 1px solid #1B2742; margin-top: 12px; }
body.ss-rd-hdr .elementor-menu-cart__products { flex: 1; overflow-y: auto; padding: 4px 20px !important; margin: 0 !important; }
body.ss-rd-hdr .elementor-menu-cart__product {
	display: grid !important; grid-template-columns: 64px minmax(0, 1fr) auto !important;
	grid-template-areas: "img name remove" "img price remove" !important;
	column-gap: 12px !important; row-gap: 4px; align-items: start; padding: 14px 0 !important; margin: 0 !important;
	border: 0 !important; border-top: 1px solid #1B2742 !important;
}
body.ss-rd-hdr .elementor-menu-cart__product:first-child { border-top: 0 !important; }
body.ss-rd-hdr .elementor-menu-cart__product-image { grid-area: img; width: 64px !important; padding: 0 !important; margin: 0 !important; }
body.ss-rd-hdr .elementor-menu-cart__product-image img { width: 64px !important; height: 64px !important; object-fit: cover; border-radius: 10px; border: 1px solid #22304F; background: #16203A; }
body.ss-rd-hdr .elementor-menu-cart__product-name { grid-area: name; padding: 0 !important; margin: 0 !important; }
body.ss-rd-hdr .elementor-menu-cart__product-name,
body.ss-rd-hdr .elementor-menu-cart__product-name a {
	font-family: 'Montserrat', sans-serif; font-weight: 700; font-size: 14px !important; line-height: 1.3; color: #EEF3FA !important; text-decoration: none;
}
body.ss-rd-hdr .elementor-menu-cart__product-name .ast-product-image { display: block !important; }
body.ss-rd-hdr .elementor-menu-cart__product-name dl.variation { color: #9FB0C8; font-size: 12px; margin: 4px 0 0; }
body.ss-rd-hdr .elementor-menu-cart__product-price {
	grid-area: price; padding: 0 !important; margin: 0 !important; color: #EEF3FA !important;
	display: flex; align-items: center; gap: 10px; flex-wrap: wrap; font-size: 15px; font-weight: 800;
}
body.ss-rd-hdr .elementor-menu-cart__product-price .amount { color: #EEF3FA !important; }
body.ss-rd-hdr .elementor-menu-cart__product-price .quantity.buttons_added {
	display: inline-flex; align-items: center; border: 1px solid #3A4C75; border-radius: 30px; overflow: hidden;
}
body.ss-rd-hdr .elementor-menu-cart__product-price .quantity .minus,
body.ss-rd-hdr .elementor-menu-cart__product-price .quantity .plus { width: 30px; height: 30px; display: flex; align-items: center; justify-content: center; color: #EEF3FA !important; background: transparent !important; border: 0 !important; text-decoration: none; }
body.ss-rd-hdr .elementor-menu-cart__product-price .quantity input.qty { width: 28px !important; height: 30px; min-height: 0 !important; border: 0 !important; background: transparent !important; color: #EEF3FA !important; text-align: center; padding: 0 !important; }
/* Remove (×): a 36px button in its own grid cell; the × and the click area stay inside it */
body.ss-rd-hdr .elementor-menu-cart__product-remove {
	grid-area: remove; position: relative !important; inset: auto !important; top: auto !important; right: auto !important;
	width: 36px !important; height: 36px !important; min-width: 36px; margin: 0 !important; padding: 0 !important;
	border: 0 !important; border-radius: 8px; display: block !important; align-self: start; overflow: hidden; color: #9FB0C8;
}
body.ss-rd-hdr .elementor-menu-cart__product-remove::before,
body.ss-rd-hdr .elementor-menu-cart__product-remove::after {
	content: "" !important; position: absolute !important; top: 17px !important; left: 11px !important; right: auto !important; bottom: auto !important;
	width: 14px !important; height: 2px !important; margin: 0 !important; background: currentColor !important; border-radius: 1px;
}
body.ss-rd-hdr .elementor-menu-cart__product-remove::before { transform: rotate(45deg) !important; }
body.ss-rd-hdr .elementor-menu-cart__product-remove::after { transform: rotate(-45deg) !important; }
body.ss-rd-hdr .elementor-menu-cart__product-remove:hover { background: #16203A; color: #FF8A93; }
body.ss-rd-hdr .elementor-menu-cart__product-remove > a {
	position: absolute !important; top: 0 !important; left: 0 !important; right: auto !important; bottom: auto !important;
	width: 36px !important; height: 36px !important; z-index: 2; opacity: 0; display: block !important;
}

body.ss-rd-hdr .elementor-menu-cart__subtotal {
	display: flex !important; justify-content: space-between; align-items: baseline; margin: 0 !important;
	padding: 16px 20px 0 !important; border: 0 !important; border-top: 1px solid #1B2742 !important; background: #0F1626;
	color: #EEF3FA !important; font-size: 15px !important;
}
body.ss-rd-hdr .elementor-menu-cart__subtotal strong { font-weight: 700; }
body.ss-rd-hdr .elementor-menu-cart__subtotal .amount { font-family: 'Montserrat', sans-serif; font-weight: 800; font-size: 24px; color: #EEF3FA !important; }
body.ss-rd-hdr .elementor-menu-cart__footer-buttons {
	display: flex !important; flex-direction: column; gap: 10px; margin: 0 !important; padding: 14px 20px 20px !important; background: #0F1626;
}
/* Clear the site's sticky "Shipping is sold separately" bar so View cart isn't hidden */
body.ss-rd-hdr.hdsb-b-active .elementor-menu-cart__footer-buttons { padding-bottom: 76px !important; }

/* Checkout: each section (Stream details / Contact / Billing address) is its own card.
   The rows stay siblings so WooCommerce's sorting and conditional fields keep working;
   each heading opens a card and its ::before closes the card above it. */
body.ss-rd-checkout #customer_details .col-1 { background: transparent !important; border: 0 !important; padding: 0 !important; }
body.ss-rd-checkout .woocommerce-billing-fields__field-wrapper { column-gap: 0 !important; row-gap: 0 !important; }
body.ss-rd-checkout .woocommerce-billing-fields__field-wrapper > * {
	background: var(--ss-card); border-left: 1px solid var(--ss-line); border-right: 1px solid var(--ss-line);
	padding: 0 22px 14px !important; box-sizing: border-box;
}
body.ss-rd-checkout .woocommerce-billing-fields__field-wrapper > .form-row-first,
body.ss-rd-checkout .woocommerce-billing-fields__field-wrapper > #billing_email_field { border-right: 0; padding-right: 6px !important; }
body.ss-rd-checkout .woocommerce-billing-fields__field-wrapper > .form-row-last,
body.ss-rd-checkout .woocommerce-billing-fields__field-wrapper > #billing_phone_field { border-left: 0; padding-left: 6px !important; }
body.ss-rd-checkout .woocommerce-billing-fields__field-wrapper > .ss-rd-co-h {
	position: relative; margin: 38px 0 0 !important; padding: 22px 22px 16px !important;
	border-top: 1px solid var(--ss-line) !important; border-radius: 16px 16px 0 0;
}
body.ss-rd-checkout .woocommerce-billing-fields__field-wrapper > .ss-rd-co-h::before {
	display: block !important; width: auto !important; clear: none !important;
	content: ""; position: absolute; left: -1px; right: -1px; top: -39px; height: 22px;
	background: var(--ss-card); border: 1px solid var(--ss-line); border-top: 0; border-radius: 0 0 16px 16px; box-sizing: border-box;
}
body.ss-rd-checkout .woocommerce-billing-fields__field-wrapper > .ss-rd-co-h[data-priority="1"] { margin-top: 0 !important; padding-top: 22px !important; border-top: 1px solid var(--ss-line) !important; }
body.ss-rd-checkout .woocommerce-billing-fields__field-wrapper > .ss-rd-co-h[data-priority="1"]::before { display: none !important; content: none !important; }
body.ss-rd-checkout .woocommerce-billing-fields__field-wrapper::after {
	display: block !important; clear: none !important; width: auto !important; box-sizing: border-box;
	content: ""; grid-column: 1 / -1; height: 8px; background: var(--ss-card);
	border: 1px solid var(--ss-line); border-top: 0; border-radius: 0 0 16px 16px;
}
body.ss-rd-checkout .woocommerce-account-fields {
	margin-top: 16px; background: var(--ss-card); border: 1px solid var(--ss-line); border-radius: 16px; padding: 22px;
}
/* Options card: newsletter checkbox (Mailchimp) + ship to a different address, joined into one card */
body.ss-rd-checkout .woocommerce-billing-fields > .mailchimp-newsletter {
	margin: 16px 0 0 !important; padding: 16px 22px 0 !important; float: none !important; width: auto !important;
	background: var(--ss-card); border: 1px solid var(--ss-line); border-bottom: 0; border-radius: 16px 16px 0 0;
}
body.ss-rd-checkout .woocommerce-billing-fields > .mailchimp-newsletter label {
	display: inline-flex !important; align-items: center; gap: 10px; min-height: 40px; margin: 0 !important;
	font-size: 15px !important; font-weight: 600; color: var(--ss-text) !important; cursor: pointer;
}
body.ss-rd-checkout .woocommerce-billing-fields > .mailchimp-newsletter input { margin: 0 !important; }
body.ss-rd-checkout .woocommerce-billing-fields > .clear { display: none; }
body.ss-rd-checkout #customer_details .woocommerce-shipping-fields {
	background: var(--ss-card); border: 1px solid var(--ss-line); border-top: 0; border-radius: 0 0 16px 16px;
	padding: 4px 22px 16px; margin: 0;
}
body.ss-rd-checkout #customer_details .woocommerce-billing-fields:not(:has(> .mailchimp-newsletter)) + .woocommerce-account-fields + .woocommerce-shipping-fields,
body.ss-rd-checkout #customer_details .woocommerce-billing-fields:not(:has(> .mailchimp-newsletter)) + .woocommerce-shipping-fields {
	border-top: 1px solid var(--ss-line); border-radius: 16px; margin-top: 16px; padding-top: 16px;
}
body.ss-rd-checkout #customer_details .woocommerce-shipping-fields h3,
body.ss-rd-checkout #ship-to-different-address { margin: 0 !important; padding: 0 !important; border: 0 !important; }
body.ss-rd-checkout #ship-to-different-address label { min-height: 40px !important; font-weight: 600 !important; }
body.ss-rd-checkout #customer_details .woocommerce-shipping-fields .shipping_address { margin-top: 12px; padding-top: 14px; border-top: 1px solid var(--ss-line); }
body.ss-rd-checkout #customer_details .woocommerce-additional-fields:has(.form-row) {
	margin-top: 16px; background: var(--ss-card); border: 1px solid var(--ss-line); border-radius: 16px; padding: 22px;
}
@media (max-width: 760px) {
	body.ss-rd-checkout .woocommerce-billing-fields > .mailchimp-newsletter { padding: 14px 16px 0 !important; }
	body.ss-rd-checkout #customer_details .woocommerce-shipping-fields { padding: 4px 16px 14px; }
}
body.ss-rd-checkout .woocommerce-account-fields:empty,
body.ss-rd-checkout .woocommerce-account-fields:not(:has(*)) { display: none; }
@media (max-width: 760px) {
	body.ss-rd-checkout .woocommerce-billing-fields__field-wrapper > * { padding: 0 16px 12px !important; border-left: 1px solid var(--ss-line) !important; border-right: 1px solid var(--ss-line) !important; }
	body.ss-rd-checkout .woocommerce-billing-fields__field-wrapper > .ss-rd-co-h { padding: 16px 16px 12px !important; }
	body.ss-rd-checkout .woocommerce-billing-fields__field-wrapper > .ss-rd-co-h[data-priority="1"] { padding-top: 16px !important; }
	body.ss-rd-checkout .woocommerce-account-fields { padding: 16px; }
}
body.ss-rd-hdr .elementor-menu-cart__footer-buttons .elementor-button {
	display: flex !important; align-items: center; justify-content: center; border-radius: 30px !important;
	font-family: 'Source Sans 3', sans-serif !important; font-weight: 700 !important; margin: 0 !important; width: 100%;
}
body.ss-rd-hdr .elementor-menu-cart__footer-buttons .elementor-button--checkout {
	order: -1; min-height: 54px; background: #0DC3FF !important; color: #00070D !important; font-size: 17px !important; border: 0 !important;
}
body.ss-rd-hdr .elementor-menu-cart__footer-buttons .elementor-button--checkout:hover { background: #7FDDFF !important; }
body.ss-rd-hdr .elementor-menu-cart__footer-buttons .elementor-button--view-cart {
	min-height: 48px; background: transparent !important; color: #EEF3FA !important; border: 1px solid #3A4C75 !important; font-size: 15px !important;
}
body.ss-rd-hdr .elementor-menu-cart__footer-buttons .elementor-button--view-cart:hover { border-color: #0DC3FF !important; }
body.ss-rd-hdr .elementor-menu-cart__footer-buttons .elementor-button * { color: inherit !important; }
body.ss-rd-hdr .woocommerce-mini-cart__empty-message { color: #9FB0C8 !important; text-align: center; padding: 40px 20px; }

/* =========================================================================
   Responsive
   ========================================================================= */
@media (max-width: 980px) {
	body.ss-rd-cart .woocommerce > div:not(.woocommerce-notices-wrapper):not(.woocommerce-info) { grid-template-columns: minmax(0, 1fr); gap: 16px; }
	body.ss-rd-cart .cart_totals { position: static; }
	body.ss-rd-checkout form.checkout.woocommerce-checkout { grid-template-columns: minmax(0, 1fr); }
	body.ss-rd-checkout form.checkout > #order_review { grid-column: 1; grid-row: auto; order: -1; position: static; margin-bottom: 16px !important; }
}
@media (max-width: 760px) {
	body.ss-rd-cart .site-content > .ast-container,
	body.ss-rd-checkout .site-content > .ast-container { padding: 20px 16px 48px; }
	body.ss-rd-cart .entry-title { font-size: 30px; }
	body.ss-rd-checkout .entry-title { font-size: 30px; }
	body.ss-rd-cart .entry-header, body.ss-rd-checkout .entry-header { margin-bottom: 14px; }

	/* Cart on phones looks like the side cart */
	.ss-rd-shipnote { background: transparent; border: 0; padding: 0; gap: 8px; font-size: 13px; color: #9FB0C8; margin-bottom: 8px; }
	.ss-rd-shipnote strong { color: #9FB0C8; font-weight: 400; }
	.ss-rd-shipnote-more { display: none; }
	.ss-rd-shipnote > span { min-width: 0; flex: 0 1 auto; }
	.ss-rd-shipnote a { border: 0; padding: 0; min-height: 32px; color: #0DC3FF !important; font-weight: 600; font-size: 13px; }
	.ss-rd-shipnote svg { width: 16px; height: 16px; color: #9FB0C8; }
	body.ss-rd-cart table.shop_table.cart { background: transparent; border: 0 !important; border-radius: 0 !important; }
	body.ss-rd-cart table.shop_table.cart tr.cart_item {
		grid-template-columns: 64px minmax(0, 1fr) auto; grid-template-areas: "img name remove" "img qty total";
		column-gap: 12px; padding: 14px 0;
	}
	body.ss-rd-cart td.product-thumbnail { width: 64px !important; }
	body.ss-rd-cart td.product-thumbnail img { width: 64px !important; height: 64px !important; border-radius: 10px; }
	body.ss-rd-cart td.product-name a { font-size: 14px; }
	body.ss-rd-cart td.product-subtotal { align-self: end; }
	body.ss-rd-cart td.product-subtotal .amount { font-size: 15px; }
	body.ss-rd-cart td.product-remove a.remove { width: 36px !important; height: 36px !important; }
	body.ss-rd-cart .quantity.buttons_added .minus, body.ss-rd-cart .quantity.buttons_added .plus { width: 32px; height: 32px; }
	body.ss-rd-cart .quantity.buttons_added input.qty { height: 32px; min-height: 32px !important; }
	body.ss-rd-cart table.shop_table.cart tr:not(.cart_item) { padding: 8px 0; }
	body.ss-rd-cart .cart_totals { padding: 16px !important; }
	body.ss-rd-cart .cart_totals h2 { display: none; }
	/* Undo Astra's phone table styles */
	body.ss-rd-cart table.shop_table.cart td.product-name,
	body.ss-rd-cart table.shop_table.cart td.product-name * { text-align: left !important; }
	body.ss-rd-cart table.shop_table.cart td.product-subtotal { text-align: right !important; }
	body.ss-rd-cart .cart_totals table.shop_table th { display: block !important; text-align: left !important; }
	body.ss-rd-cart .cart_totals table.shop_table td { text-align: right !important; }
	body.ss-rd-cart td.actions { justify-content: flex-end !important; }
	body.ss-rd-cart td.actions button[name="update_cart"] { width: auto !important; min-height: 36px; font-size: 13px; padding: 0 14px !important; }

	/* Checkout on phones */
	body.ss-rd-checkout #customer_details .col-1, body.ss-rd-checkout #customer_details .col-2,
	body.ss-rd-checkout form.checkout > #order_review { padding: 16px !important; }
	body.ss-rd-checkout form.checkout > .ss-rd-co-h--pay { padding: 16px 16px 0 !important; }
	body.ss-rd-checkout form.checkout > #payment { padding: 12px 16px 16px !important; }
	body.ss-rd-checkout .woocommerce-billing-fields__field-wrapper,
	body.ss-rd-checkout .woocommerce-shipping-fields__field-wrapper { grid-template-columns: minmax(0, 1fr); }
	body.ss-rd-checkout .woocommerce-billing-fields__field-wrapper > .form-row-first,
	body.ss-rd-checkout .woocommerce-billing-fields__field-wrapper > .form-row-last,
	body.ss-rd-checkout .woocommerce-shipping-fields__field-wrapper > .form-row-first,
	body.ss-rd-checkout .woocommerce-shipping-fields__field-wrapper > .form-row-last { grid-column: 1; }

	/* Side cart full width on phones */
	body.ss-rd-hdr .elementor-menu-cart__main { width: 100vw !important; border-left: 0 !important; }
}
