/* ==========================================================================
   10. CART & CHECKOUT UX/UI OVERHAUL & STEP TRACKER
   ========================================================================== */

/* Hide redundant and bulky page-hero on Cart & Checkout */
body.woocommerce-cart .page-hero,
body.woocommerce-checkout .page-hero {
	display: none !important;
}

/* Tighten spacing on Cart & Checkout main containers */
body.woocommerce-cart .section,
body.woocommerce-checkout .section {
	padding-block: 20px 48px !important;
	padding-inline: clamp(14px, 3vw, 28px) !important;
}

/* Visual Progress Stepper */
.awn-checkout-stepper {
	max-width: 1100px;
	margin: 0 auto 28px;
	background: #ffffff;
	border: 1px solid rgba(10, 10, 10, 0.12);
	border-radius: 6px;
	padding: 16px 24px;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.03);
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
}
.stepper-inner {
	display: flex;
	align-items: center;
	gap: 12px;
	flex-wrap: nowrap;
	overflow-x: auto;
	padding-bottom: 2px;
}
.stepper-step {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	text-decoration: none;
	color: #6b6f78;
	font-family: var(--font-mono, monospace);
	font-size: 11px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	font-weight: 500;
	white-space: nowrap;
	transition: all 0.2s ease;
}
.stepper-bubble {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 26px;
	height: 26px;
	border-radius: 50%;
	background: #f0eee8;
	border: 1px solid rgba(10, 10, 10, 0.12);
	color: #555860;
	font-weight: 700;
	font-size: 10.5px;
	transition: all 0.2s ease;
}
.stepper-step.is-active {
	color: #0a0a0a;
	font-weight: 700;
}
.stepper-step.is-active .stepper-bubble {
	background: #0a0a0a;
	color: #ffffff;
	border-color: #0a0a0a;
	box-shadow: 0 0 0 3px rgba(10, 10, 10, 0.15);
}
.stepper-step.is-completed {
	color: #15803d;
	font-weight: 600;
}
.stepper-step.is-completed .stepper-bubble {
	background: #16a34a;
	color: #ffffff;
	border-color: #16a34a;
}
.stepper-connector {
	display: block;
	width: 32px;
	height: 2px;
	background: rgba(10, 10, 10, 0.12);
	border-radius: 1px;
	flex-shrink: 0;
}
.stepper-connector.is-completed {
	background: #16a34a;
}
.stepper-trust-badge {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	font-family: var(--font-mono, monospace);
	font-size: 10px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: #15803d;
	background: rgba(22, 163, 74, 0.08);
	padding: 6px 12px;
	border-radius: 4px;
	border: 1px solid rgba(22, 163, 74, 0.18);
}

/* Declutter WooCommerce Cart Block */
.wp-block-woocommerce-cart {
	max-width: 1100px;
	margin: 0 auto;
}
/* Hide redundant product grid at bottom of cart */
.wp-block-woocommerce-cart .wc-block-grid,
.wp-block-woocommerce-cart .wp-block-product-new {
	display: none !important;
}
/* Elevated Order Summary card */
.wp-block-woocommerce-cart-order-summary-block,
.wp-block-woocommerce-checkout-order-summary-block {
	background: #ffffff !important;
	border: 1px solid rgba(10, 10, 10, 0.12) !important;
	border-radius: 6px !important;
	padding: 22px !important;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.04) !important;
}
.wp-block-woocommerce-cart-order-summary-heading-block h2,
.wp-block-woocommerce-checkout-order-summary-block h2 {
	font-family: var(--font-display, "Space Grotesk", sans-serif) !important;
	font-size: 16px !important;
	font-weight: 700 !important;
	letter-spacing: 0.06em !important;
	text-transform: uppercase !important;
	border-bottom: 1px dashed rgba(10, 10, 10, 0.12) !important;
	padding-bottom: 12px !important;
	margin-bottom: 16px !important;
}

/* Proceed to Checkout Button */
.wp-block-woocommerce-proceed-to-checkout-block .wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button {
	background: #0a0a0a !important;
	color: #edeae1 !important;
	border-radius: 4px !important;
	font-family: var(--font-display, "Space Grotesk", sans-serif) !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	letter-spacing: 0.1em !important;
	text-transform: uppercase !important;
	height: 52px !important;
	box-shadow: 0 4px 16px rgba(0, 0, 0, 0.18) !important;
	transition: all 0.2s ease !important;
}
.wp-block-woocommerce-proceed-to-checkout-block .wc-block-cart__submit-button:hover,
.wc-block-components-checkout-place-order-button:hover {
	background: #222226 !important;
	transform: translateY(-1px) !important;
	box-shadow: 0 6px 20px rgba(0, 0, 0, 0.25) !important;
}

/* Declutter WooCommerce Checkout Block */
.wp-block-woocommerce-checkout {
	max-width: 1100px;
	margin: 0 auto;
}
/* Hide redundant order note field on checkout */
.wp-block-woocommerce-checkout-order-note-block {
	display: none !important;
}
/* Clean input fields on checkout */
.wc-block-components-text-input input,
.wc-block-components-combobox .wc-block-components-combobox__input {
	background: #faf9f6 !important;
	border: 1px solid rgba(10, 10, 10, 0.16) !important;
	border-radius: 4px !important;
	font-size: 14px !important;
	transition: all 0.2s ease !important;
}
.wc-block-components-text-input input:focus,
.wc-block-components-combobox .wc-block-components-combobox__input:focus {
	border-color: #0a0a0a !important;
	background: #ffffff !important;
	box-shadow: 0 0 0 3px rgba(10, 10, 10, 0.08) !important;
}
/* Express payment clean divider */
.wp-block-woocommerce-checkout-express-payment-block {
	border-bottom: 1px dashed rgba(10, 10, 10, 0.14) !important;
	padding-bottom: 18px !important;
	margin-bottom: 18px !important;
}

/* ==========================================================================
   13. ELIMINATE 'ON THIS PAGE' ON CHECKOUT & CART
   ========================================================================== */
body.woocommerce-checkout .page-toc,
body.woocommerce-cart .page-toc,
.woocommerce-checkout .page-toc,
.woocommerce-cart .page-toc,
body.woocommerce-checkout [aria-label="On this page"],
body.woocommerce-cart [aria-label="On this page"],
body.woocommerce-checkout .page-toc__title,
body.woocommerce-cart .page-toc__title,
body.woocommerce-checkout .page-toc__list,
body.woocommerce-cart .page-toc__list {
	display: none !important;
	visibility: hidden !important;
	opacity: 0 !important;
	height: 0 !important;
	min-height: 0 !important;
	max-height: 0 !important;
	overflow: hidden !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	pointer-events: none !important;
}

/* ==========================================================================
   16. CART & CHECKOUT PAGES LUXURY CYBER-BRUTALIST OVERHAUL
   ========================================================================== */
body.woocommerce-cart,
body.woocommerce-checkout {
	background: #020408 !important;
	color: #EDEAE1 !important;
}

/* Hide bulky page hero */
body.woocommerce-cart .page-hero,
body.woocommerce-checkout .page-hero {
	display: none !important;
}

/* Main Section padding */
body.woocommerce-cart .section,
body.woocommerce-checkout .section {
	padding-block: 28px 60px !important;
	max-width: 1240px !important;
	margin: 0 auto !important;
}

/* Pro Max Stepper: Dark Aerospace HUD */
.awn-checkout-stepper {
	background: rgba(10, 16, 26, 0.85) !important;
	border: 1px solid rgba(255, 255, 255, 0.1) !important;
	border-radius: 8px !important;
	padding: 16px 24px !important;
	backdrop-filter: blur(20px) !important;
	-webkit-backdrop-filter: blur(20px) !important;
	box-shadow: 0 15px 40px rgba(0, 0, 0, 0.7) !important;
	margin-bottom: 32px !important;
}

.stepper-step {
	color: rgba(237, 234, 225, 0.45) !important;
	font-family: var(--font-mono, monospace) !important;
}

.stepper-bubble {
	background: rgba(255, 255, 255, 0.05) !important;
	border-color: rgba(255, 255, 255, 0.12) !important;
	color: rgba(237, 234, 225, 0.7) !important;
}

.stepper-step.is-active {
	color: #00e599 !important;
}

.stepper-step.is-active .stepper-bubble {
	background: #00e599 !important;
	color: #000000 !important;
	border-color: #00e599 !important;
	box-shadow: 0 0 15px rgba(0, 229, 153, 0.5) !important;
}

.stepper-step.is-completed {
	color: #00e599 !important;
}

.stepper-step.is-completed .stepper-bubble {
	background: rgba(0, 229, 153, 0.15) !important;
	color: #00e599 !important;
	border-color: #00e599 !important;
}

.stepper-connector {
	background: rgba(255, 255, 255, 0.1) !important;
}

.stepper-connector.is-completed {
	background: #00e599 !important;
}

.stepper-trust-badge {
	background: rgba(0, 229, 153, 0.08) !important;
	border: 1px solid rgba(0, 229, 153, 0.25) !important;
	color: #00e599 !important;
}

/* Declutter and style WooCommerce Cart Block */
.wp-block-woocommerce-cart,
.wp-block-woocommerce-checkout {
	color: #EDEAE1 !important;
}

.wp-block-woocommerce-cart-order-summary-block,
.wp-block-woocommerce-checkout-order-summary-block,
.wc-block-components-sidebar {
	background: rgba(8, 12, 18, 0.88) !important;
	border: 1px solid rgba(255, 255, 255, 0.1) !important;
	border-radius: 8px !important;
	padding: 24px !important;
	backdrop-filter: blur(20px) !important;
	-webkit-backdrop-filter: blur(20px) !important;
	box-shadow: 0 20px 60px rgba(0, 0, 0, 0.8) !important;
}

.wp-block-woocommerce-cart-order-summary-heading-block h2,
.wp-block-woocommerce-checkout-order-summary-block h2,
.wc-block-components-order-summary h2 {
	color: #EDEAE1 !important;
	font-family: var(--font-display, "Space Grotesk"), sans-serif !important;
	font-size: 16px !important;
	letter-spacing: 0.08em !important;
	border-bottom: 1px dashed rgba(255, 255, 255, 0.12) !important;
}

.wp-block-woocommerce-cart-order-summary-totals-block,
.wp-block-woocommerce-checkout-order-summary-totals-block {
	color: #EDEAE1 !important;
}

/* Cart line items and cards */
.wc-block-cart-items,
.wc-block-cart-items td,
.wc-block-cart-items th {
	border-color: rgba(255, 255, 255, 0.08) !important;
	color: #EDEAE1 !important;
}

.wc-block-components-product-name,
.wc-block-components-product-metadata {
	color: #EDEAE1 !important;
	font-family: var(--font-display, "Space Grotesk"), sans-serif !important;
}

.wc-block-components-product-price {
	color: #00e599 !important;
	font-family: var(--font-mono, monospace) !important;
	font-weight: 700 !important;
}

/* Checkout Order Summary Specimen Badges (High Contrast Fix) */
.wc-block-components-order-summary-item__quantity,
.wc-block-components-order-summary-item .wc-block-components-order-summary-item__quantity,
.wc-block-components-product-badge {
	background: #00e599 !important;
	color: #05070a !important;
	border: 1.5px solid #000000 !important;
	font-weight: 800 !important;
	font-family: var(--font-mono, monospace) !important;
	font-size: 11px !important;
	line-height: 1 !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	box-shadow: 0 0 10px rgba(0, 229, 153, 0.45) !important;
	z-index: 5 !important;
}

.wc-block-components-order-summary-item__quantity span,
.wc-block-components-order-summary-item__quantity * {
	color: #05070a !important;
	font-weight: 800 !important;
	line-height: 1 !important;
}

/* Modern Cyber Inputs across Checkout Questionnaire (Zero Overlap Fix) */
body.woocommerce-checkout .wc-block-components-text-input,
body.woocommerce-checkout .wc-block-components-combobox,
.wc-block-checkout__form .wc-block-components-text-input,
.wc-block-checkout__form .wc-block-components-combobox {
	position: relative !important;
	margin-bottom: 6px !important;
}

body.woocommerce-checkout .wc-block-components-text-input input,
body.woocommerce-checkout .wc-block-components-combobox .wc-block-components-combobox__input,
.wc-block-checkout__form input[type="text"],
.wc-block-checkout__form input[type="email"],
.wc-block-checkout__form input[type="tel"],
.woocommerce-checkout input[type="text"],
.woocommerce-checkout input[type="email"],
.woocommerce-checkout input[type="tel"] {
	background: rgba(255, 255, 255, 0.04) !important;
	border: 1px solid rgba(255, 255, 255, 0.14) !important;
	color: #EDEAE1 !important;
	border-radius: 4px !important;
	font-size: 14px !important;
	height: 56px !important;
	min-height: 56px !important;
	padding: 24px 14px 6px 14px !important;
	line-height: 22px !important;
	letter-spacing: 0.03em !important;
	box-sizing: border-box !important;
	transition: all 0.2s ease !important;
}

body.woocommerce-checkout .wc-block-components-text-input input:focus,
body.woocommerce-checkout .wc-block-components-combobox .wc-block-components-combobox__input:focus,
.wc-block-checkout__form input:focus,
.woocommerce-checkout input:focus {
	border-color: #00e599 !important;
	background: rgba(0, 229, 153, 0.04) !important;
	box-shadow: 0 0 18px rgba(0, 229, 153, 0.25) !important;
	outline: none !important;
}

/* Floating labels in checkout form: initial state when empty */
body.woocommerce-checkout .wc-block-components-text-input label,
body.woocommerce-checkout .wc-block-components-combobox label,
.wc-block-checkout__form .wc-block-components-text-input label,
.wc-block-checkout__form .wc-block-components-combobox label {
	position: absolute !important;
	left: 14px !important;
	right: auto !important;
	top: 18px !important;
	font-size: 13px !important;
	line-height: 1 !important;
	color: rgba(237, 234, 225, 0.45) !important;
	letter-spacing: 0.04em !important;
	pointer-events: none !important;
	transform: none !important;
	transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1) !important;
	z-index: 2 !important;
}

/* Floating labels in checkout form: active / focused state (floats above input text) */
body.woocommerce-checkout .wc-block-components-text-input.is-active label,
body.woocommerce-checkout .wc-block-components-text-input:focus-within label,
body.woocommerce-checkout .wc-block-components-combobox.is-active label,
body.woocommerce-checkout .wc-block-components-combobox:focus-within label,
.wc-block-checkout__form .wc-block-components-text-input.is-active label,
.wc-block-checkout__form .wc-block-components-text-input:focus-within label {
	top: 7px !important;
	font-size: 10px !important;
	font-weight: 700 !important;
	letter-spacing: 0.08em !important;
	text-transform: uppercase !important;
	color: #00e599 !important;
	transform: none !important;
}

/* Custom Image Logo Styling across Header, Mobile Drawer & Footer */
.wordmark--custom .awn-custom-logo-img {
	display: block !important;
	max-height: 36px !important;
	width: auto !important;
	object-fit: contain !important;
	transition: opacity 0.2s ease !important;
}
.wordmark--sm.wordmark--custom .awn-custom-logo-img {
	max-height: 28px !important;
}
.wordmark--lg.wordmark--custom .awn-custom-logo-img {
	max-height: 44px !important;
}

/* Coupon Input & Floating Label Precision Alignment */
.wc-block-components-totals-coupon__content,
.wc-block-components-totals-coupon__form {
	display: flex !important;
	gap: 10px !important;
	align-items: stretch !important;
}

.wc-block-components-totals-coupon__input,
.wc-block-components-text-input.wc-block-components-totals-coupon__input {
	position: relative !important;
	flex: 1 1 auto !important;
}

.wc-block-components-totals-coupon__input input,
.wc-block-components-text-input.wc-block-components-totals-coupon__input input {
	padding: 22px 14px 6px 14px !important;
	height: 52px !important;
	line-height: 24px !important;
	font-size: 14px !important;
	color: #EDEAE1 !important;
	background: rgba(255, 255, 255, 0.04) !important;
	border: 1px solid rgba(255, 255, 255, 0.16) !important;
	border-radius: 4px !important;
	box-sizing: border-box !important;
	letter-spacing: 0.04em !important;
}

.wc-block-components-totals-coupon__input input:focus,
.wc-block-components-text-input.wc-block-components-totals-coupon__input input:focus {
	border-color: #00e599 !important;
	background: rgba(0, 229, 153, 0.05) !important;
	box-shadow: 0 0 16px rgba(0, 229, 153, 0.25) !important;
	outline: none !important;
}

.wc-block-components-totals-coupon__input label,
.wc-block-components-text-input.wc-block-components-totals-coupon__input label {
	position: absolute !important;
	left: 14px !important;
	right: auto !important;
	top: 7px !important;
	font-size: 10px !important;
	font-weight: 700 !important;
	letter-spacing: 0.08em !important;
	text-transform: uppercase !important;
	color: rgba(237, 234, 225, 0.55) !important;
	pointer-events: none !important;
	transform: none !important;
	line-height: 1 !important;
	transition: all 0.2s ease !important;
}

.wc-block-components-totals-coupon__input:not(.is-active):not(:focus-within) label,
.wc-block-components-text-input.wc-block-components-totals-coupon__input:not(.is-active):not(:focus-within) label {
	top: 18px !important;
	font-size: 13px !important;
	color: rgba(237, 234, 225, 0.45) !important;
}

.wc-block-components-totals-coupon__input.is-active label,
.wc-block-components-totals-coupon__input:focus-within label,
.wc-block-components-text-input.wc-block-components-totals-coupon__input.is-active label,
.wc-block-components-text-input.wc-block-components-totals-coupon__input:focus-within label {
	top: 7px !important;
	font-size: 10px !important;
	color: #00e599 !important;
}

.wc-block-components-totals-coupon__button,
button.wc-block-components-totals-coupon__button {
	height: 52px !important;
	min-height: 52px !important;
	padding: 0 24px !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	font-family: var(--font-display, "Space Grotesk"), sans-serif !important;
	font-size: 13px !important;
	font-weight: 700 !important;
	letter-spacing: 0.08em !important;
	text-transform: uppercase !important;
	border-radius: 4px !important;
	background: rgba(255, 255, 255, 0.1) !important;
	color: #EDEAE1 !important;
	border: 1px solid rgba(255, 255, 255, 0.16) !important;
	transition: all 0.2s ease !important;
}

.wc-block-components-totals-coupon__button:not([disabled]):hover {
	background: #00e599 !important;
	color: #05070a !important;
	border-color: #00e599 !important;
	box-shadow: 0 0 16px rgba(0, 229, 153, 0.4) !important;
}

/* Checkout step cards */
.wc-block-checkout__form .wc-block-components-checkout-step,
.wc-block-checkout__form fieldset {
	background: rgba(8, 12, 18, 0.6) !important;
	border: 1px solid rgba(255, 255, 255, 0.08) !important;
	border-radius: 6px !important;
	padding: 22px !important;
	margin-bottom: 20px !important;
}

.wc-block-components-checkout-step__title {
	font-family: var(--font-display, "Space Grotesk"), sans-serif !important;
	font-size: 15px !important;
	font-weight: 700 !important;
	letter-spacing: 0.06em !important;
	text-transform: uppercase !important;
	color: #EDEAE1 !important;
}

/* Checkout and Cart CTA Buttons */
.wp-block-woocommerce-proceed-to-checkout-block .wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
.woocommerce-checkout #place_order {
	background: #00e599 !important;
	color: #000000 !important;
	border: none !important;
	border-radius: 4px !important;
	font-family: var(--font-display, "Space Grotesk"), sans-serif !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	letter-spacing: 0.12em !important;
	text-transform: uppercase !important;
	height: 52px !important;
	box-shadow: 0 4px 20px rgba(0, 229, 153, 0.35) !important;
	transition: all 0.22s ease !important;
	cursor: pointer !important;
}

.wp-block-woocommerce-proceed-to-checkout-block .wc-block-cart__submit-button:hover,
.wc-block-components-checkout-place-order-button:hover,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover,
.woocommerce-checkout #place_order:hover {
	background: #ffffff !important;
	color: #000000 !important;
	box-shadow: 0 6px 28px rgba(0, 229, 153, 0.5) !important;
	transform: translateY(-2px) !important;
}

/* Empty Cart State on Cart Page */
.wc-block-cart__empty-cart,
.wc-block-cart-empty-cart-contents {
	padding: 60px 20px !important;
	text-align: center !important;
	background: rgba(8, 12, 18, 0.6) !important;
	border: 1px dashed rgba(255, 255, 255, 0.12) !important;
	border-radius: 8px !important;
	margin: 20px auto !important;
	max-width: 600px !important;
}

.wc-block-cart__empty-cart-title {
	font-family: var(--font-display, "Space Grotesk"), sans-serif !important;
	font-size: 24px !important;
	font-weight: 700 !important;
	letter-spacing: -0.02em !important;
	text-transform: uppercase !important;
	color: #EDEAE1 !important;
	margin-bottom: 12px !important;
}

.wc-block-cart__empty-cart-title::before {
	content: "∅" !important;
	display: block !important;
	font-size: 48px !important;
	color: #00e599 !important;
	margin-bottom: 12px !important;
	text-shadow: 0 0 25px rgba(0, 229, 153, 0.5) !important;
}

/* Total amounts and totals table */
.wc-block-components-totals-item,
.wc-block-components-totals-item__value,
.wc-block-components-totals-item__label {
	color: #EDEAE1 !important;
	font-family: var(--font-mono, monospace) !important;
}

.wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
	color: #00e599 !important;
	font-size: 20px !important;
	font-weight: 700 !important;
}

/* Radio buttons / Payment methods */
.wc-block-components-radio-control__input {
	accent-color: #00e599 !important;
}

.wc-block-components-radio-control__label {
	color: #EDEAE1 !important;
}

/* Elementor Mobile Grid: 1-col for Catalogued by Class, 2-cols for Collections */
@media (max-width: 767px) {
	/* Catalogued by Class: 1 card per row on mobile (per user request) */
	.awn-elem-classes .shell,
	.awn-elem-classes .e-con-inner,
	.awn-elem-classes [class*="e-con"]:has(.awn-class-card) {
		display: flex !important;
		flex-direction: column !important;
		flex-wrap: nowrap !important;
		gap: 20px !important;
	}

	.awn-elem-classes .awn-class-card,
	.awn-class-card {
		min-width: 100% !important;
		width: 100% !important;
		max-width: 100% !important;
		flex: 1 1 100% !important;
		margin: 0 0 16px 0 !important;
		box-sizing: border-box !important;
	}

	/* Identity Constant. Collections Evolve.: 2 cards per row on mobile */
	.awn-elem-collections .awn-collections-row,
	.awn-collections-row,
	.awn-elem-collections .shell,
	.awn-elem-collections [class*="e-con"]:has(.awn-collection-card) {
		display: flex !important;
		flex-direction: row !important;
		flex-wrap: wrap !important;
		justify-content: space-between !important;
		gap: 12px 6px !important;
	}

	.awn-elem-collections .awn-collection-card,
	.awn-collection-card {
		min-width: 0 !important;
		width: calc(50% - 4px) !important;
		max-width: calc(50% - 4px) !important;
		flex: 0 0 calc(50% - 4px) !important;
		margin: 0 !important;
		box-sizing: border-box !important;
	}

	.awn-collection-card .awn-card-img img {
		width: 100% !important;
		height: auto !important;
		aspect-ratio: 4 / 3 !important;
		object-fit: cover !important;
	}

	.awn-collection-card .awn-dossier-spec {
		display: none !important;
	}

	.awn-class-card .awn-class-img img {
		width: 100% !important;
		height: auto !important;
		aspect-ratio: 3 / 4 !important;
		object-fit: cover !important;
	}
}

/* ==========================================================================
   17. BESPOKE CYBER-LUXURY WOOCOMMERCE CART (ZERO-REACT / HIGH-SPEED CORE)
   ========================================================================== */
.woocommerce-cart-form {
	max-width: 1200px;
	margin: 0 auto 36px;
}

.woocommerce-cart table.shop_table.cart {
	width: 100% !important;
	border-collapse: separate !important;
	border-spacing: 0 !important;
	background: rgba(8, 12, 18, 0.88) !important;
	border: 1px solid rgba(255, 255, 255, 0.1) !important;
	border-radius: 8px !important;
	backdrop-filter: blur(20px) !important;
	-webkit-backdrop-filter: blur(20px) !important;
	box-shadow: 0 20px 60px rgba(0, 0, 0, 0.6) !important;
	overflow: hidden !important;
}

.woocommerce-cart table.shop_table.cart thead th {
	background: rgba(255, 255, 255, 0.03) !important;
	color: rgba(237, 234, 225, 0.7) !important;
	font-family: var(--font-display, "Space Grotesk"), sans-serif !important;
	font-size: 11px !important;
	font-weight: 700 !important;
	letter-spacing: 0.1em !important;
	text-transform: uppercase !important;
	padding: 18px 20px !important;
	border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
	border-top: none !important;
}

.woocommerce-cart table.shop_table.cart tbody td {
	padding: 20px !important;
	border-bottom: 1px solid rgba(255, 255, 255, 0.06) !important;
	border-top: none !important;
	color: #EDEAE1 !important;
	vertical-align: middle !important;
}

.woocommerce-cart table.shop_table.cart tbody tr:last-child td {
	border-bottom: none !important;
}

/* Product thumbnail */
.woocommerce-cart table.shop_table.cart .product-thumbnail {
	width: 90px !important;
	text-align: center !important;
}
.woocommerce-cart table.shop_table.cart .product-thumbnail img {
	width: 72px !important;
	height: 72px !important;
	object-fit: cover !important;
	border-radius: 4px !important;
	border: 1px solid rgba(255, 255, 255, 0.12) !important;
}

/* Product title & variations */
.woocommerce-cart table.shop_table.cart .product-name a {
	color: #EDEAE1 !important;
	font-family: var(--font-display, "Space Grotesk"), sans-serif !important;
	font-size: 15px !important;
	font-weight: 700 !important;
	text-decoration: none !important;
	letter-spacing: 0.04em !important;
	transition: color 0.2s ease !important;
}
.woocommerce-cart table.shop_table.cart .product-name a:hover {
	color: #00e599 !important;
}
.woocommerce-cart table.shop_table.cart .product-name dl.variation {
	margin: 6px 0 0 !important;
	font-size: 12px !important;
	font-family: var(--font-mono, monospace) !important;
	color: rgba(237, 234, 225, 0.5) !important;
	display: flex !important;
	gap: 6px !important;
}
.woocommerce-cart table.shop_table.cart .product-name dl.variation dt {
	font-weight: 600 !important;
	text-transform: uppercase !important;
}
.woocommerce-cart table.shop_table.cart .product-name dl.variation dd {
	margin: 0 !important;
	color: #00e599 !important;
}

/* Price & Subtotal */
.woocommerce-cart table.shop_table.cart .product-price,
.woocommerce-cart table.shop_table.cart .product-subtotal {
	font-family: var(--font-mono, monospace) !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	color: #00e599 !important;
}

/* Quantity input in table */
.woocommerce-cart table.shop_table.cart .product-quantity .quantity {
	display: inline-flex !important;
	align-items: center !important;
	background: rgba(255, 255, 255, 0.05) !important;
	border: 1px solid rgba(255, 255, 255, 0.14) !important;
	border-radius: 4px !important;
	overflow: hidden !important;
}
.woocommerce-cart table.shop_table.cart .product-quantity input.qty {
	background: transparent !important;
	border: none !important;
	color: #EDEAE1 !important;
	font-family: var(--font-mono, monospace) !important;
	font-size: 13px !important;
	font-weight: 700 !important;
	text-align: center !important;
	width: 48px !important;
	height: 36px !important;
	padding: 0 !important;
}

/* Remove button */
.woocommerce-cart table.shop_table.cart a.remove {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 28px !important;
	height: 28px !important;
	border-radius: 50% !important;
	background: rgba(255, 59, 48, 0.12) !important;
	border: 1px solid rgba(255, 59, 48, 0.3) !important;
	color: #ff453a !important;
	font-size: 18px !important;
	line-height: 1 !important;
	text-decoration: none !important;
	transition: all 0.2s ease !important;
}
.woocommerce-cart table.shop_table.cart a.remove:hover {
	background: #ff453a !important;
	color: #ffffff !important;
	transform: scale(1.1) !important;
}

/* Actions bar (Coupon & Update Cart) */
.woocommerce-cart table.shop_table.cart td.actions {
	background: rgba(255, 255, 255, 0.02) !important;
	padding: 18px 20px !important;
}
.woocommerce-cart table.shop_table.cart td.actions .coupon {
	display: flex !important;
	align-items: center !important;
	gap: 10px !important;
	flex-wrap: wrap !important;
}
.woocommerce-cart table.shop_table.cart td.actions .coupon input#coupon_code {
	background: rgba(255, 255, 255, 0.05) !important;
	border: 1px solid rgba(255, 255, 255, 0.15) !important;
	border-radius: 4px !important;
	color: #EDEAE1 !important;
	font-family: var(--font-mono, monospace) !important;
	font-size: 12px !important;
	letter-spacing: 0.08em !important;
	padding: 10px 14px !important;
	height: 42px !important;
	box-sizing: border-box !important;
	min-width: 180px !important;
}
.woocommerce-cart table.shop_table.cart td.actions .button {
	background: rgba(255, 255, 255, 0.08) !important;
	border: 1px solid rgba(255, 255, 255, 0.18) !important;
	border-radius: 4px !important;
	color: #EDEAE1 !important;
	font-family: var(--font-display, "Space Grotesk"), sans-serif !important;
	font-size: 12px !important;
	font-weight: 700 !important;
	letter-spacing: 0.08em !important;
	text-transform: uppercase !important;
	padding: 10px 18px !important;
	height: 42px !important;
	line-height: 20px !important;
	cursor: pointer !important;
	transition: all 0.2s ease !important;
}
.woocommerce-cart table.shop_table.cart td.actions .button:hover {
	background: #00e599 !important;
	color: #05070a !important;
	border-color: #00e599 !important;
}

/* Cart Collaterals & Totals */
.cart-collaterals {
	max-width: 1200px;
	margin: 0 auto;
	display: flex;
	justify-content: flex-end;
}
.cart-collaterals .cart_totals {
	width: 100% !important;
	max-width: 480px !important;
	background: rgba(8, 12, 18, 0.88) !important;
	border: 1px solid rgba(255, 255, 255, 0.1) !important;
	border-radius: 8px !important;
	padding: 28px !important;
	backdrop-filter: blur(20px) !important;
	-webkit-backdrop-filter: blur(20px) !important;
	box-shadow: 0 20px 60px rgba(0, 0, 0, 0.6) !important;
}
.cart-collaterals .cart_totals h2 {
	color: #EDEAE1 !important;
	font-family: var(--font-display, "Space Grotesk"), sans-serif !important;
	font-size: 16px !important;
	font-weight: 700 !important;
	letter-spacing: 0.08em !important;
	text-transform: uppercase !important;
	margin-top: 0 !important;
	margin-bottom: 20px !important;
	border-bottom: 1px dashed rgba(255, 255, 255, 0.12) !important;
	padding-bottom: 12px !important;
}
.cart-collaterals .cart_totals table.shop_table {
	width: 100% !important;
	border-collapse: collapse !important;
	margin-bottom: 24px !important;
	background: transparent !important;
	background-color: transparent !important;
	border: none !important;
}
.cart-collaterals .cart_totals table.shop_table tbody,
.cart-collaterals .cart_totals table.shop_table tr {
	background: transparent !important;
	background-color: transparent !important;
}
.cart-collaterals .cart_totals table.shop_table th {
	background: transparent !important;
	background-color: transparent !important;
	color: rgba(237, 234, 225, 0.7) !important;
	font-family: var(--font-mono, monospace) !important;
	font-size: 12px !important;
	text-transform: uppercase !important;
	letter-spacing: 0.06em !important;
	padding: 12px 0 !important;
	border-bottom: 1px solid rgba(255, 255, 255, 0.06) !important;
	border-top: none !important;
	border-left: none !important;
	border-right: none !important;
}
.cart-collaterals .cart_totals table.shop_table td {
	background: transparent !important;
	background-color: transparent !important;
	color: #EDEAE1 !important;
	font-family: var(--font-mono, monospace) !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	text-align: right !important;
	padding: 12px 0 !important;
	border-bottom: 1px solid rgba(255, 255, 255, 0.06) !important;
	border-top: none !important;
	border-left: none !important;
	border-right: none !important;
}
.cart-collaterals .cart_totals table.shop_table tr.order-total th,
.cart-collaterals .cart_totals table.shop_table tr.order-total td {
	background: transparent !important;
	background-color: transparent !important;
	border-top: 1px solid rgba(255, 255, 255, 0.12) !important;
	border-bottom: none !important;
	border-left: none !important;
	border-right: none !important;
	padding-top: 16px !important;
	font-size: 16px !important;
	color: #00e599 !important;
}

/* Proceed to Checkout Big CTA Button */
.wc-proceed-to-checkout a.checkout-button {
	display: block !important;
	width: 100% !important;
	background: #00e599 !important;
	color: #05070a !important;
	border: 1px solid #00e599 !important;
	border-radius: 4px !important;
	font-family: var(--font-display, "Space Grotesk"), sans-serif !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	letter-spacing: 0.1em !important;
	text-transform: uppercase !important;
	text-align: center !important;
	padding: 16px 24px !important;
	text-decoration: none !important;
	box-shadow: 0 4px 20px rgba(0, 229, 153, 0.35) !important;
	transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1) !important;
	box-sizing: border-box !important;
}
.wc-proceed-to-checkout a.checkout-button:hover {
	background: #ffffff !important;
	border-color: #ffffff !important;
	color: #000000 !important;
	transform: translateY(-2px) !important;
	box-shadow: 0 8px 30px rgba(255, 255, 255, 0.4) !important;
}

/* Empty Cart State */
.woocommerce-cart .cart-empty {
	background: rgba(8, 12, 18, 0.88) !important;
	border: 1px solid rgba(255, 255, 255, 0.1) !important;
	border-radius: 8px !important;
	padding: 40px 24px !important;
	text-align: center !important;
	color: rgba(237, 234, 225, 0.7) !important;
	font-family: var(--font-display, "Space Grotesk"), sans-serif !important;
	font-size: 18px !important;
	letter-spacing: 0.04em !important;
	max-width: 600px !important;
	margin: 20px auto 32px !important;
}
.woocommerce-cart .return-to-shop {
	text-align: center !important;
}
.woocommerce-cart .return-to-shop a.button {
	background: #00e599 !important;
	color: #05070a !important;
	border-radius: 4px !important;
	font-family: var(--font-display, "Space Grotesk"), sans-serif !important;
	font-size: 13px !important;
	font-weight: 700 !important;
	letter-spacing: 0.08em !important;
	text-transform: uppercase !important;
	padding: 14px 28px !important;
	text-decoration: none !important;
	display: inline-block !important;
	box-shadow: 0 4px 16px rgba(0, 229, 153, 0.3) !important;
	transition: all 0.2s ease !important;
}
.woocommerce-cart .return-to-shop a.button:hover {
	background: #ffffff !important;
	color: #000000 !important;
	transform: translateY(-2px) !important;
}

/* Mobile Responsiveness for Cart Table */
@media (max-width: 768px) {
	.woocommerce-cart table.shop_table.cart tbody tr.cart_item {
		position: relative !important;
		display: block !important;
		background: rgba(8, 12, 18, 0.75) !important;
		border: 1px solid rgba(255, 255, 255, 0.1) !important;
		border-radius: 8px !important;
		margin-bottom: 20px !important;
		padding: 16px !important;
		overflow: hidden !important;
	}
	.woocommerce-cart table.shop_table.cart tbody tr.cart_item td.product-remove,
	.woocommerce table.shop_table_responsive tr td.product-remove,
	.woocommerce-page table.shop_table_responsive tr td.product-remove {
		position: absolute !important;
		top: 14px !important;
		right: 14px !important;
		width: auto !important;
		padding: 0 !important;
		border: none !important;
		background: transparent !important;
		z-index: 5 !important;
		text-align: right !important;
	}
	.woocommerce-cart table.shop_table.cart tbody tr.cart_item td.product-remove::before,
	.woocommerce table.shop_table_responsive tr td.product-remove::before,
	.woocommerce-page table.shop_table_responsive tr td.product-remove::before {
		display: none !important;
		content: none !important;
	}
	.woocommerce table.shop_table_responsive tr td.product-thumbnail,
	.woocommerce-page table.shop_table_responsive tr td.product-thumbnail,
	.woocommerce-cart table.shop_table.cart tbody tr.cart_item td.product-thumbnail {
		display: block !important;
		width: auto !important;
		text-align: left !important;
		padding: 0 0 14px 0 !important;
		border: none !important;
		border-bottom: 1px dashed rgba(255, 255, 255, 0.1) !important;
		margin-bottom: 12px !important;
	}
	.woocommerce table.shop_table_responsive tr td.product-thumbnail::before,
	.woocommerce-page table.shop_table_responsive tr td.product-thumbnail::before,
	.woocommerce-cart table.shop_table.cart tbody tr.cart_item td.product-thumbnail::before {
		display: none !important;
		content: none !important;
	}
	.woocommerce-cart table.shop_table.cart tbody tr.cart_item td.product-thumbnail a {
		display: inline-block !important;
		line-height: 0 !important;
	}
	.woocommerce table.shop_table_responsive tr td.product-thumbnail img,
	.woocommerce-page table.shop_table_responsive tr td.product-thumbnail img,
	.woocommerce-cart table.shop_table.cart tbody tr.cart_item td.product-thumbnail img {
		width: 80px !important;
		height: 80px !important;
		max-width: 80px !important;
		max-height: 80px !important;
		object-fit: cover !important;
		border-radius: 6px !important;
		border: 1.5px solid rgba(255, 255, 255, 0.18) !important;
		box-shadow: 0 4px 16px rgba(0, 0, 0, 0.5) !important;
		display: block !important;
	}
	.woocommerce-cart table.shop_table.cart tbody tr.cart_item td {
		padding: 10px 0 !important;
		border-bottom: 1px solid rgba(255, 255, 255, 0.06) !important;
	}
	.woocommerce-cart table.shop_table.cart tbody tr.cart_item td:last-child {
		border-bottom: none !important;
	}
	.woocommerce-cart table.shop_table.cart tbody tr.cart_item td::before {
		font-family: var(--font-display, "Space Grotesk"), sans-serif !important;
		font-size: 13px !important;
		font-weight: 700 !important;
		letter-spacing: 0.06em !important;
		color: #EDEAE1 !important;
	}
	.woocommerce-cart table.shop_table.cart tbody tr.cart_item td.product-price::before,
	.woocommerce-cart table.shop_table.cart tbody tr.cart_item td.product-subtotal::before {
		color: #00e599 !important;
	}
	.woocommerce-cart table.shop_table.cart td.actions {
		display: block !important;
		padding: 16px !important;
	}
	.woocommerce-cart table.shop_table.cart td.actions .coupon {
		width: 100% !important;
		display: flex !important;
		flex-direction: column !important;
		gap: 10px !important;
	}
	.woocommerce-cart table.shop_table.cart td.actions .coupon input#coupon_code {
		width: 100% !important;
	}
	.woocommerce-cart table.shop_table.cart td.actions .coupon .button {
		width: 100% !important;
	}
	.woocommerce-cart table.shop_table.cart td.actions > .button {
		width: 100% !important;
		margin-top: 10px !important;
	}
	.cart-collaterals .cart_totals {
		max-width: 100% !important;
		padding: 20px 16px !important;
	}
}
