﻿/**
 * Techno Security - VIP Cart & Checkout Design System
 * Highly polished, properly aligned, fully responsive styling for WooCommerce Blocks & Classic templates.
 */

:root {
	--tns-wc-red: #e11d48;
	--tns-wc-red-hover: #cc103c;
	--tns-wc-red-glow: rgba(225, 29, 72, 0.22);
	--tns-wc-ink: #0f172a;
	--tns-wc-slate: #334155;
	--tns-wc-gray: #64748b;
	--tns-wc-light-gray: #94a3b8;
	--tns-wc-line: #e2e8f0;
	--tns-wc-line-subtle: #f1f5f9;
	--tns-wc-bg: #f8fafc;
	--tns-wc-card-bg: #ffffff;
	--tns-wc-card-shadow: 0 4px 20px rgba(15, 23, 42, 0.035);
	--tns-wc-radius-lg: 16px;
	--tns-wc-radius-md: 12px;
	--tns-wc-radius-sm: 8px;
}

/* ==========================================================================
   GLOBAL RESET & CONTAINER POLISH
   ========================================================================== */
body.woocommerce-cart #main-container,
body.woocommerce-checkout #main-container {
	max-width: 1440px !important;
	width: 100% !important;
	margin-left: auto !important;
	margin-right: auto !important;
	padding: 28px 24px 70px !important;
	box-sizing: border-box !important;
}

body.woocommerce-cart #main-content,
body.woocommerce-checkout #main-content,
body.woocommerce-cart .site-main,
body.woocommerce-checkout .site-main,
body.woocommerce-cart .entry-content,
body.woocommerce-checkout .entry-content {
	width: 100% !important;
	max-width: 100% !important;
	float: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

body.woocommerce-cart .page-title,
body.woocommerce-checkout .page-title {
	font-size: 26px;
	font-weight: 800;
	color: var(--tns-wc-ink);
	margin-bottom: 24px;
	letter-spacing: -.4px;
}

/* ==========================================================================
   01. CHECKOUT PAGE (DESKTOP)
   ========================================================================== */
/* Outer block wrappers - full-width block container */
body.woocommerce-checkout .wp-block-woocommerce-checkout,
body.woocommerce-checkout .wc-block-checkout {
	display: block !important;
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	float: none !important;
}

/* Two-column layout grid for desktop */
body.woocommerce-checkout .wc-block-components-sidebar-layout,
body.woocommerce-checkout .wc-block-checkout.is-loading,
body.woocommerce-checkout form.checkout {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) 450px !important;
	gap: 36px !important;
	align-items: start !important;
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
}

@media (min-width: 1400px) {
	body.woocommerce-checkout .wc-block-components-sidebar-layout,
	body.woocommerce-checkout .wc-block-checkout.is-loading,
	body.woocommerce-checkout form.checkout {
		grid-template-columns: minmax(0, 1fr) 480px !important;
		gap: 40px !important;
	}
}

body.woocommerce-checkout .wc-block-checkout__main,
body.woocommerce-checkout .wc-block-components-main,
body.woocommerce-checkout .wp-block-woocommerce-checkout-fields-block,
body.woocommerce-checkout #customer_details {
	width: 100% !important;
	max-width: 100% !important;
	padding: 0 !important;
	margin: 0 !important;
	min-width: 0 !important;
	display: flex !important;
	flex-direction: column !important;
	gap: 20px !important;
	float: none !important;
}

/* Gutenberg Block Outer Step Containers: Clean transparent wrappers without redundant borders */
body.woocommerce-checkout .wp-block-woocommerce-checkout-fields-block,
body.woocommerce-checkout .wp-block-woocommerce-checkout-express-payment-block,
body.woocommerce-checkout .wp-block-woocommerce-checkout-contact-information-block,
body.woocommerce-checkout .wp-block-woocommerce-checkout-shipping-address-block,
body.woocommerce-checkout .wp-block-woocommerce-checkout-billing-address-block,
body.woocommerce-checkout .wp-block-woocommerce-checkout-shipping-methods-block,
body.woocommerce-checkout .wp-block-woocommerce-checkout-payment-block,
body.woocommerce-checkout .wp-block-woocommerce-checkout-additional-information-block,
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-note-block {
	background: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
	padding: 0 !important;
	margin: 0 0 20px 0 !important;
	box-shadow: none !important;
	width: 100% !important;
	box-sizing: border-box !important;
}

/* Eliminate unused/empty pickup & shipping method blocks between Contact & Shipping Address */
body.woocommerce-checkout .wp-block-woocommerce-checkout-shipping-method-block,
body.woocommerce-checkout .wp-block-woocommerce-checkout-pickup-options-block,
body.woocommerce-checkout .wc-block-checkout__shipping-method:empty,
body.woocommerce-checkout .wc-block-components-checkout-step:empty,
body.woocommerce-checkout .wp-block-woocommerce-checkout-fields-block > div:empty {
	display: none !important;
	margin: 0 !important;
	padding: 0 !important;
	height: 0 !important;
	min-height: 0 !important;
	border: 0 !important;
	box-shadow: none !important;
	overflow: hidden !important;
}

/* Hide original Terms block & Place Order actions on left side (relocated to Order Summary) */
body.woocommerce-checkout .wc-block-checkout__main .wp-block-woocommerce-checkout-terms-block,
body.woocommerce-checkout .wc-block-checkout__main .wc-block-checkout__terms {
	display: none !important;
	height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden !important;
}

body.woocommerce-checkout .wc-block-checkout__main .wp-block-woocommerce-checkout-actions-block,
body.woocommerce-checkout .wc-block-checkout__main .wc-block-checkout__actions {
	position: absolute !important;
	left: -9999px !important;
	top: -9999px !important;
	width: 1px !important;
	height: 1px !important;
	opacity: 0 !important;
	pointer-events: none !important;
	overflow: hidden !important;
	margin: 0 !important;
	padding: 0 !important;
}

/* Step Cards: Single Uniform Card per Section */
body.woocommerce-checkout .wc-block-components-checkout-step,
body.woocommerce-checkout .woocommerce-billing-fields,
body.woocommerce-checkout .woocommerce-shipping-fields,
body.woocommerce-checkout .woocommerce-additional-fields {
	background: #ffffff !important;
	border: 1px solid var(--tns-wc-line) !important;
	border-radius: var(--tns-wc-radius-lg) !important;
	padding: 24px 28px !important;
	margin: 0 !important;
	box-shadow: var(--tns-wc-card-shadow) !important;
	transition: border-color .2s ease, box-shadow .2s ease !important;
	box-sizing: border-box !important;
	width: 100% !important;
}

body.woocommerce-checkout .wc-block-components-checkout-step:hover,
body.woocommerce-checkout .woocommerce-billing-fields:hover,
body.woocommerce-checkout .woocommerce-shipping-fields:hover,
body.woocommerce-checkout .woocommerce-additional-fields:hover {
	border-color: #cbd5e1 !important;
}

/* Step Headings: Uniform font, border-bottom, and spacing across all sections */
body.woocommerce-checkout .wc-block-components-checkout-step__heading,
body.woocommerce-checkout .wc-block-checkout__shipping-option .wc-block-components-checkout-step__heading,
body.woocommerce-checkout .wp-block-woocommerce-checkout-shipping-methods-block .wc-block-components-checkout-step__heading,
body.woocommerce-checkout .wp-block-woocommerce-checkout-shipping-methods-block h2,
body.woocommerce-checkout .wp-block-woocommerce-checkout-shipping-methods-block h3,
body.woocommerce-checkout .wc-block-checkout__shipping-methods .wc-block-components-checkout-step__heading,
body.woocommerce-checkout .wp-block-woocommerce-checkout-payment-block .wc-block-components-checkout-step__heading,
body.woocommerce-checkout .woocommerce-billing-fields>h3,
body.woocommerce-checkout .woocommerce-shipping-fields>h3 {
	background: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
	padding: 0 0 14px 0 !important;
	margin: 0 0 18px 0 !important;
	border-bottom: 1.5px solid var(--tns-wc-line-subtle) !important;
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	width: 100% !important;
}

body.woocommerce-checkout .wc-block-components-checkout-step__heading-panel,
body.woocommerce-checkout .wc-block-components-checkout-step__heading h2,
body.woocommerce-checkout .wc-block-components-checkout-step__heading h3,
body.woocommerce-checkout .wc-block-components-checkout-step__title,
body.woocommerce-checkout .wp-block-woocommerce-checkout-shipping-methods-block h2,
body.woocommerce-checkout .wp-block-woocommerce-checkout-shipping-methods-block h3,
body.woocommerce-checkout .woocommerce-billing-fields>h3,
body.woocommerce-checkout .woocommerce-shipping-fields>h3 {
	font-size: 16.5px !important;
	font-weight: 700 !important;
	color: var(--tns-wc-ink) !important;
	letter-spacing: -.2px !important;
	margin: 0 !important;
	padding: 0 !important;
	line-height: 1.3 !important;
}

body.woocommerce-checkout .wc-block-components-checkout-step__description {
	color: var(--tns-wc-gray) !important;
	font-size: 13px !important;
	margin-top: 4px !important;
}

body.woocommerce-checkout .wc-block-components-checkout-step__container {
	background: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
	padding: 0 !important;
	margin: 0 !important;
}

/* Address Form Grid Gap & Layout */
body.woocommerce-checkout .wc-block-components-address-form {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 12px 14px !important;
	width: 100% !important;
	margin: 0 !important;
}

body.woocommerce-checkout .wc-block-components-address-form > * {
	margin-top: 0 !important;
}

/* Base text input container */
body.woocommerce-checkout .wc-block-components-text-input,
body.woocommerce-cart .wc-block-components-text-input {
	position: relative !important;
	width: 100% !important;
	margin-top: 0 !important;
	margin-bottom: 0 !important;
}

/* Text Input Element - Fixed generous height (54px) */
body.woocommerce-checkout .wc-block-components-text-input input,
body.woocommerce-checkout .wc-block-components-combobox input,
body.woocommerce-checkout input[type="text"],
body.woocommerce-checkout input[type="email"],
body.woocommerce-checkout input[type="tel"],
body.woocommerce-cart .wc-block-components-text-input input {
	height: 54px !important;
	border: 1.5px solid var(--tns-wc-line) !important;
	border-radius: 10px !important;
	background: #ffffff !important;
	color: var(--tns-wc-ink) !important;
	font-size: 14.5px !important;
	font-weight: 500 !important;
	padding: 14px 14px !important;
	box-shadow: none !important;
	transition: border-color .2s ease, box-shadow .2s ease !important;
	box-sizing: border-box !important;
	width: 100% !important;
	line-height: 24px !important;
}

/* When input is focused or has value (.is-active or autofilled):
   Text sits in the bottom area (padding-top: 22px), leaving 14px clearance for the floating label */
body.woocommerce-checkout .wc-block-components-text-input.is-active input,
body.woocommerce-checkout .wc-block-components-text-input input:-webkit-autofill,
body.woocommerce-cart .wc-block-components-text-input.is-active input {
	padding-top: 22px !important;
	padding-bottom: 6px !important;
	padding-left: 14px !important;
	padding-right: 14px !important;
	line-height: 22px !important;
}

/* Base label styling */
body.woocommerce-checkout .wc-block-components-text-input label,
body.woocommerce-cart .wc-block-components-text-input label {
	position: absolute !important;
	left: 14px !important;
	top: 50% !important;
	transform: translateY(-50%) !important;
	font-size: 14px !important;
	font-weight: 500 !important;
	color: var(--tns-wc-gray) !important;
	pointer-events: none !important;
	transition: all .2s cubic-bezier(0.4, 0, 0.2, 1) !important;
	margin: 0 !important;
	padding: 0 !important;
	line-height: 1 !important;
	max-width: calc(100% - 28px) !important;
	white-space: nowrap !important;
	overflow: hidden !important;
	text-overflow: ellipsis !important;
	z-index: 2 !important;
}

/* Floating label when active (focused or has entered value) */
body.woocommerce-checkout .wc-block-components-text-input.is-active label,
body.woocommerce-checkout .wc-block-components-text-input input:-webkit-autofill + label,
body.woocommerce-cart .wc-block-components-text-input.is-active label {
	top: 9px !important;
	transform: none !important;
	font-size: 11px !important;
	font-weight: 600 !important;
	color: #64748b !important;
	letter-spacing: .2px !important;
}

body.woocommerce-checkout .wc-block-components-text-input:focus-within.is-active label,
body.woocommerce-cart .wc-block-components-text-input:focus-within.is-active label {
	color: var(--tns-wc-red) !important;
}

body.woocommerce-checkout .wc-block-components-text-input input:focus,
body.woocommerce-checkout .wc-block-components-textarea textarea:focus,
body.woocommerce-checkout .wc-block-components-combobox input:focus,
body.woocommerce-checkout input[type="text"]:focus,
body.woocommerce-checkout input[type="email"]:focus,
body.woocommerce-checkout input[type="tel"]:focus,
body.woocommerce-cart .wc-block-components-text-input input:focus {
	border-color: var(--tns-wc-red) !important;
	box-shadow: 0 0 0 3px var(--tns-wc-red-glow) !important;
	outline: none !important;
}

body.woocommerce-checkout .wc-block-components-textarea textarea,
body.woocommerce-checkout textarea {
	height: 80px !important;
	border: 1.5px solid var(--tns-wc-line) !important;
	border-radius: 10px !important;
	background: #ffffff !important;
	color: var(--tns-wc-ink) !important;
	font-size: 14px !important;
	padding: 12px 14px !important;
	box-sizing: border-box !important;
}

/* Country / Region & State Dropdown Select */
body.woocommerce-checkout .wc-blocks-components-select,
body.woocommerce-checkout .wc-block-components-country-input,
body.woocommerce-checkout .wc-block-components-state-input {
	position: relative !important;
	margin-top: 0 !important;
	margin-bottom: 0 !important;
	width: 100% !important;
}

body.woocommerce-checkout .wc-blocks-components-select .wc-blocks-components-select__container {
	border: 1.5px solid var(--tns-wc-line) !important;
	border-radius: 10px !important;
	background: #ffffff !important;
	height: 54px !important;
	position: relative !important;
	box-sizing: border-box !important;
	transition: border-color .2s ease, box-shadow .2s ease !important;
	display: block !important;
	width: 100% !important;
}

body.woocommerce-checkout .wc-blocks-components-select .wc-blocks-components-select__container:focus-within {
	border-color: var(--tns-wc-red) !important;
	box-shadow: 0 0 0 3px var(--tns-wc-red-glow) !important;
}

body.woocommerce-checkout .wc-blocks-components-select .wc-blocks-components-select__select {
	height: 54px !important;
	width: 100% !important;
	background: transparent !important;
	border: none !important;
	padding-top: 22px !important;
	padding-bottom: 6px !important;
	padding-left: 14px !important;
	padding-right: 36px !important;
	font-size: 14.5px !important;
	font-weight: 500 !important;
	color: var(--tns-wc-ink) !important;
	line-height: 22px !important;
	box-shadow: none !important;
	outline: none !important;
	box-sizing: border-box !important;
	cursor: pointer !important;
	appearance: none !important;
	-webkit-appearance: none !important;
}

body.woocommerce-checkout .wc-blocks-components-select .wc-blocks-components-select__label {
	position: absolute !important;
	top: 9px !important;
	left: 14px !important;
	font-size: 11px !important;
	font-weight: 600 !important;
	color: #64748b !important;
	letter-spacing: .2px !important;
	line-height: 1 !important;
	margin: 0 !important;
	padding: 0 !important;
	pointer-events: none !important;
	z-index: 2 !important;
	transform: none !important;
}

body.woocommerce-checkout .wc-blocks-components-select .wc-blocks-components-select__expand {
	position: absolute !important;
	right: 14px !important;
	top: 50% !important;
	transform: translateY(-50%) !important;
	pointer-events: none !important;
	fill: var(--tns-wc-gray) !important;
	width: 16px !important;
	height: 16px !important;
}

/* RTL Field Spacing */
body.rtl.woocommerce-checkout .wc-block-components-text-input label,
[dir="rtl"] body.woocommerce-checkout .wc-block-components-text-input label,
body.rtl.woocommerce-checkout .wc-blocks-components-select .wc-blocks-components-select__label,
[dir="rtl"] body.woocommerce-checkout .wc-blocks-components-select .wc-blocks-components-select__label {
	left: auto !important;
	right: 14px !important;
}

body.rtl.woocommerce-checkout .wc-blocks-components-select .wc-blocks-components-select__select,
[dir="rtl"] body.woocommerce-checkout .wc-blocks-components-select .wc-blocks-components-select__select {
	padding-left: 36px !important;
	padding-right: 14px !important;
}

body.rtl.woocommerce-checkout .wc-blocks-components-select .wc-blocks-components-select__expand,
[dir="rtl"] body.woocommerce-checkout .wc-blocks-components-select .wc-blocks-components-select__expand {
	right: auto !important;
	left: 14px !important;
}

/* Checkbox (e.g. Use same address for billing) */
body.woocommerce-checkout .wc-block-components-checkbox,
body.woocommerce-checkout .wc-block-checkout__terms {
	display: flex !important;
	align-items: center !important;
	gap: 10px !important;
	margin-top: 14px !important;
}

body.woocommerce-checkout .wc-block-components-checkbox .wc-block-components-checkbox__input,
body.woocommerce-checkout input[type="checkbox"] {
	width: 18px !important;
	height: 18px !important;
	border-radius: 5px !important;
	border: 1.5px solid var(--tns-wc-line) !important;
	cursor: pointer !important;
	flex-shrink: 0 !important;
	margin: 0 !important;
}

body.woocommerce-checkout .wc-block-components-checkbox .wc-block-components-checkbox__input:checked,
body.woocommerce-checkout input[type="checkbox"]:checked {
	background-color: var(--tns-wc-red) !important;
	border-color: var(--tns-wc-red) !important;
}

body.woocommerce-checkout .wc-block-components-checkbox label,
body.woocommerce-checkout .wc-block-components-checkbox__label {
	font-size: 13.5px !important;
	font-weight: 500 !important;
	color: var(--tns-wc-slate) !important;
	cursor: pointer !important;
	line-height: 1.4 !important;
}

/* ==========================================================================
   SHIPPING & PAYMENT RADIO OPTIONS (UNIFIED SINGLE-CARD ARCHITECTURE)
   ========================================================================== */

/* 1. KILL ALL DEFAULT WOOCOMMERCE BLOCKS HIGHLIGHT PSEUDO-ELEMENTS & INSET SHADOWS */
body.woocommerce-checkout .wc-block-components-radio-control--highlight-checked::after,
body.woocommerce-checkout .wc-block-components-radio-control--highlight-checked::before,
body.woocommerce-checkout div.wc-block-components-radio-control-accordion-option::after,
body.woocommerce-checkout div.wc-block-components-radio-control-accordion-option::before,
body.woocommerce-checkout .wc-block-components-radio-control__option::after,
body.woocommerce-checkout .wc-block-components-radio-control__option::before,
body.woocommerce-checkout .wc-block-components-radio-control-accordion-option--checked-option-highlighted::after,
body.woocommerce-checkout .wc-block-components-radio-control-accordion-option--checked-option-highlighted::before,
body.woocommerce-checkout label.wc-block-components-radio-control__option--checked-option-highlighted::after,
body.woocommerce-checkout label.wc-block-components-radio-control__option--checked-option-highlighted::before {
	display: none !important;
	content: none !important;
	border: none !important;
	box-shadow: none !important;
}

body.woocommerce-checkout .wc-block-components-radio-control-accordion-option--checked-option-highlighted,
body.woocommerce-checkout label.wc-block-components-radio-control__option--checked-option-highlighted {
	box-shadow: none !important;
}

/* Reset parent radio control wrapper */
body.woocommerce-checkout .wc-block-components-radio-control {
	border: none !important;
	box-shadow: none !important;
	background: transparent !important;
	padding: 0 !important;
	margin: 0 !important;
	width: 100% !important;
}

/* 2. ACCORDION OPTION CARD CONTAINER (e.g. Cash On Delivery) */
body.woocommerce-checkout .wc-block-components-radio-control-accordion-option {
	display: flex !important;
	flex-direction: column !important;
	border: 1.5px solid var(--tns-wc-line) !important;
	border-radius: var(--tns-wc-radius-md) !important;
	background: #ffffff !important;
	margin: 0 0 12px 0 !important;
	overflow: hidden !important;
	transition: border-color .2s ease, box-shadow .2s ease !important;
	box-sizing: border-box !important;
	width: 100% !important;
	position: relative !important;
}

body.woocommerce-checkout .wc-block-components-radio-control-accordion-option:hover {
	border-color: #cbd5e1 !important;
}

/* Accordion card checked / highlighted state */
body.woocommerce-checkout .wc-block-components-radio-control-accordion-option:has(input:checked),
body.woocommerce-checkout .wc-block-components-radio-control-accordion-option.wc-block-components-radio-control-accordion-option--checked-option-highlighted {
	border-color: var(--tns-wc-red) !important;
	box-shadow: 0 0 0 1px var(--tns-wc-red) !important;
}

/* Label inside accordion option card has NO independent border or radius */
body.woocommerce-checkout .wc-block-components-radio-control-accordion-option > label.wc-block-components-radio-control__option {
	border: none !important;
	border-radius: 0 !important;
	background: transparent !important;
	margin: 0 !important;
	box-shadow: none !important;
}

/* 3. STANDALONE RADIO OPTION CARDS (e.g. Free shipping, Classic methods) */
body.woocommerce-checkout .wc-block-components-radio-control > label.wc-block-components-radio-control__option,
body.woocommerce-checkout .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option,
body.woocommerce-checkout ul#shipping_method li,
body.woocommerce-checkout #payment ul.payment_methods li {
	display: flex !important;
	flex-direction: row !important;
	align-items: center !important;
	gap: 14px !important;
	padding: 16px 20px !important;
	border: 1.5px solid var(--tns-wc-line) !important;
	border-radius: var(--tns-wc-radius-md) !important;
	background: #ffffff !important;
	margin: 0 0 12px 0 !important;
	overflow: hidden !important;
	transition: border-color .2s ease, box-shadow .2s ease !important;
	box-sizing: border-box !important;
	width: 100% !important;
	cursor: pointer !important;
	position: relative !important;
}

body.woocommerce-checkout .wc-block-components-radio-control > label.wc-block-components-radio-control__option:hover,
body.woocommerce-checkout .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option:hover,
body.woocommerce-checkout ul#shipping_method li:hover,
body.woocommerce-checkout #payment ul.payment_methods li:hover {
	border-color: #cbd5e1 !important;
}

body.woocommerce-checkout .wc-block-components-radio-control > label.wc-block-components-radio-control__option:has(input:checked),
body.woocommerce-checkout .wc-block-components-radio-control > label.wc-block-components-radio-control__option.is-selected,
body.woocommerce-checkout .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option:has(input:checked),
body.woocommerce-checkout .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option.is-selected,
body.woocommerce-checkout ul#shipping_method li:has(input:checked),
body.woocommerce-checkout #payment ul.payment_methods li:has(input:checked) {
	border-color: var(--tns-wc-red) !important;
	box-shadow: 0 0 0 1px var(--tns-wc-red) !important;
}

/* 4. BASE OPTION ROW (Flex row: Radio Circle + Label Group) */
body.woocommerce-checkout .wc-block-components-radio-control__option {
	display: flex !important;
	flex-direction: row !important;
	align-items: center !important;
	gap: 14px !important;
	padding: 16px 20px !important;
	position: relative !important;
	box-sizing: border-box !important;
	width: 100% !important;
	cursor: pointer !important;
	margin: 0 !important;
}

/* 5. RADIO CIRCLE INPUT: ULTRA-ROBUST POSITION & MARGIN RESET */
body.woocommerce-checkout .wc-block-components-radio-control input[type="radio"],
body.woocommerce-checkout .wc-block-components-radio-control__input,
body.woocommerce-checkout input.wc-block-components-radio-control__input,
body.woocommerce-checkout .wc-block-components-radio-control__option input[type="radio"],
body.woocommerce-checkout .wp-block-woocommerce-checkout input[type="radio"],
body.woocommerce-checkout ul#shipping_method li input[type="radio"],
body.woocommerce-checkout #payment ul.payment_methods li input[type="radio"] {
	position: relative !important;
	inset: auto !important;
	left: 0 !important;
	right: auto !important;
	top: 0 !important;
	bottom: auto !important;
	transform: none !important;
	margin: 0 !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	margin-top: 0 !important;
	margin-bottom: 0 !important;
	flex: 0 0 20px !important;
	width: 20px !important;
	height: 20px !important;
	min-width: 20px !important;
	min-height: 20px !important;
	max-width: 20px !important;
	max-height: 20px !important;
	border: 2px solid #94a3b8 !important;
	border-radius: 50% !important;
	background: #ffffff !important;
	cursor: pointer !important;
	box-shadow: none !important;
	outline: none !important;
	-webkit-appearance: none !important;
	appearance: none !important;
	display: inline-grid !important;
	place-content: center !important;
	box-sizing: border-box !important;
}

/* Checked Radio Circle */
body.woocommerce-checkout .wc-block-components-radio-control input[type="radio"]:checked,
body.woocommerce-checkout .wc-block-components-radio-control__input:checked,
body.woocommerce-checkout input.wc-block-components-radio-control__input:checked,
body.woocommerce-checkout ul#shipping_method li input[type="radio"]:checked,
body.woocommerce-checkout #payment ul.payment_methods li input[type="radio"]:checked {
	border-color: var(--tns-wc-red) !important;
	background: #ffffff !important;
}

/* Inner Dot */
body.woocommerce-checkout .wc-block-components-radio-control input[type="radio"]:checked::before,
body.woocommerce-checkout .wc-block-components-radio-control__input:checked::before,
body.woocommerce-checkout input.wc-block-components-radio-control__input:checked::before,
body.woocommerce-checkout ul#shipping_method li input[type="radio"]:checked::before,
body.woocommerce-checkout #payment ul.payment_methods li input[type="radio"]:checked::before {
	content: "" !important;
	width: 10px !important;
	height: 10px !important;
	border-radius: 50% !important;
	background: var(--tns-wc-red) !important;
	position: static !important;
	transform: none !important;
	display: block !important;
	margin: auto !important;
}

/* 6. OPTION LAYOUT (Text + Secondary Label/Price) */
body.woocommerce-checkout .wc-block-components-radio-control__option-layout {
	flex: 1 1 auto !important;
	min-width: 0 !important;
	width: auto !important;
	display: flex !important;
	flex-direction: column !important;
	justify-content: center !important;
	gap: 2px !important;
	margin: 0 !important;
	padding: 0 !important;
}

body.woocommerce-checkout .wc-block-components-radio-control__label-group {
	display: flex !important;
	flex-direction: row !important;
	align-items: center !important;
	justify-content: space-between !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	gap: 12px !important;
}

body.woocommerce-checkout .wc-block-components-radio-control__label {
	font-size: 14.5px !important;
	font-weight: 600 !important;
	color: var(--tns-wc-ink) !important;
	line-height: 1.35 !important;
	margin: 0 !important;
	padding: 0 !important;
}

body.woocommerce-checkout .wc-block-components-radio-control__secondary-label {
	font-size: 13.5px !important;
	font-weight: 700 !important;
	color: var(--tns-wc-slate) !important;
	margin-left: auto !important;
	text-align: right !important;
	white-space: nowrap !important;
	padding: 0 !important;
}

body.woocommerce-checkout .wc-block-components-radio-control__description {
	font-size: 12.5px !important;
	color: var(--tns-wc-gray) !important;
	line-height: 1.4 !important;
	margin: 2px 0 0 0 !important;
}

/* 7. ACCORDION DESCRIPTION BOX (SEAMLESSLY INTEGRATED BOTTOM SECTION) */
body.woocommerce-checkout .wc-block-components-radio-control-accordion-content,
body.woocommerce-checkout .wc-block-checkout__payment-methods-content {
	background: #f8fafc !important;
	border: none !important;
	border-top: 1px solid var(--tns-wc-line) !important;
	border-radius: 0 !important;
	padding: 14px 20px 14px 54px !important;
	font-size: 13px !important;
	color: var(--tns-wc-gray) !important;
	margin: 0 !important;
	line-height: 1.5 !important;
	box-sizing: border-box !important;
	width: 100% !important;
}

body.rtl.woocommerce-checkout .wc-block-components-radio-control__secondary-label,
[dir="rtl"] body.woocommerce-checkout .wc-block-components-radio-control__secondary-label {
	margin-left: 0 !important;
	margin-right: auto !important;
	text-align: left !important;
}

body.rtl.woocommerce-checkout .wc-block-components-radio-control-accordion-content,
[dir="rtl"] body.woocommerce-checkout .wc-block-components-radio-control-accordion-content,
body.rtl.woocommerce-checkout .wc-block-checkout__payment-methods-content,
[dir="rtl"] body.woocommerce-checkout .wc-block-checkout__payment-methods-content {
	padding: 14px 54px 14px 20px !important;
}

body.woocommerce-checkout .wc-block-components-payment-method-icons {
	gap: 8px !important;
	align-items: center !important;
}

body.woocommerce-checkout .wc-block-components-payment-method-icons img {
	max-height: 24px !important;
	width: auto !important;
}

body.woocommerce-checkout #payment div.payment_box {
	background: #f8fafc !important;
	border: none !important;
	border-top: 1px solid var(--tns-wc-line) !important;
	border-radius: 0 0 var(--tns-wc-radius-md) var(--tns-wc-radius-md) !important;
	padding: 14px 20px !important;
	font-size: 13px !important;
	color: var(--tns-wc-gray) !important;
	margin: 0 !important;
}

/* ==========================================================================
   02. ORDER SUMMARY CARD (CHECKOUT RIGHT SIDE)
   ========================================================================== */
body.woocommerce-checkout .wc-block-checkout__sidebar,
body.woocommerce-checkout .wc-block-components-sidebar,
body.woocommerce-checkout .wp-block-woocommerce-checkout-totals-block,
body.woocommerce-checkout #order_review {
	width: 100% !important;
	max-width: 100% !important;
	padding: 0 !important;
	margin: 0 !important;
	min-width: 0 !important;
	float: none !important;
}

body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block,
body.woocommerce-checkout .wc-block-components-order-summary,
body.woocommerce-checkout .wc-block-checkout__sidebar .wp-block-woocommerce-checkout-order-summary-block,
body.woocommerce-checkout #order_review {
	background: #ffffff !important;
	border: 1px solid var(--tns-wc-line) !important;
	border-radius: var(--tns-wc-radius-lg) !important;
	padding: 24px 24px !important;
	box-shadow: var(--tns-wc-card-shadow) !important;
	position: sticky !important;
	top: 96px !important;
	box-sizing: border-box !important;
	width: 100% !important;
}

/* Order Summary Header */
body.woocommerce-checkout .wc-block-components-order-summary .wc-block-components-panel__button,
body.woocommerce-checkout .wc-block-components-order-summary h2,
body.woocommerce-checkout #order_review_heading {
	font-size: 17px !important;
	font-weight: 700 !important;
	color: var(--tns-wc-ink) !important;
	border-bottom: 1.5px solid var(--tns-wc-line-subtle) !important;
	padding: 0 0 14px 0 !important;
	margin: 0 0 16px 0 !important;
	letter-spacing: -.2px !important;
	width: 100% !important;
	display: flex !important;
	justify-content: space-between !important;
	align-items: center !important;
}

/* Product Line Items Alignment */
body.woocommerce-checkout .wc-block-components-order-summary-item {
	display: flex !important;
	align-items: flex-start !important;
	gap: 14px !important;
	padding: 14px 0 !important;
	border-bottom: 1px solid var(--tns-wc-line-subtle) !important;
	width: 100% !important;
}

body.woocommerce-checkout .wc-block-components-order-summary-item__image {
	position: relative !important;
	width: 56px !important;
	min-width: 56px !important;
	max-width: 56px !important;
	height: 56px !important;
	border-radius: 10px !important;
	background: var(--tns-wc-bg) !important;
	border: 1px solid var(--tns-wc-line) !important;
	flex-shrink: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: visible !important;
}

body.woocommerce-checkout .wc-block-components-order-summary-item__image img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	border-radius: 9px !important;
	display: block !important;
}

/* Quantity Badge (Corner of image) */
body.woocommerce-checkout .wc-block-components-order-summary-item__quantity {
	position: absolute !important;
	top: -6px !important;
	right: -6px !important;
	background: var(--tns-wc-ink) !important;
	color: #ffffff !important;
	font-size: 11px !important;
	font-weight: 700 !important;
	min-width: 20px !important;
	height: 20px !important;
	border-radius: 10px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	padding: 0 5px !important;
	border: 2px solid #ffffff !important;
	box-shadow: 0 2px 5px rgba(0,0,0,.25) !important;
	z-index: 3 !important;
	transform: none !important;
}

/* Product Information Wrapper */
body.woocommerce-checkout .wc-block-components-order-summary-item__description {
	flex: 1 1 auto !important;
	min-width: 0 !important;
	padding: 0 4px 0 0 !important;
	margin: 0 !important;
	display: flex !important;
	flex-direction: column !important;
	gap: 3px !important;
}

body.woocommerce-checkout .wc-block-components-order-summary-item__description .wc-block-components-product-name {
	font-size: 13.5px !important;
	font-weight: 600 !important;
	line-height: 1.35 !important;
	color: var(--tns-wc-ink) !important;
	margin: 0 !important;
	word-break: break-word !important;
}

body.woocommerce-checkout .wc-block-components-order-summary-item__description .wc-block-components-product-metadata {
	font-size: 12px !important;
	color: var(--tns-wc-gray) !important;
	margin: 0 !important;
	line-height: 1.3 !important;
}

body.woocommerce-checkout .wc-block-components-order-summary-item__total-price {
	margin-left: auto !important;
	text-align: right !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	color: var(--tns-wc-ink) !important;
	white-space: nowrap !important;
	padding-top: 2px !important;
}

/* ==========================================================================
   COUPON SECTION (CART & CHECKOUT)
   ========================================================================== */
body.woocommerce-checkout .wc-block-components-totals-coupon,
body.woocommerce-cart .wc-block-components-totals-coupon,
body.woocommerce-checkout .checkout_coupon,
body.woocommerce-cart .wp-block-woocommerce-cart-order-summary-coupon-form-block,
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-coupon-form-block {
	margin: 12px 0 16px 0 !important;
	padding: 0 !important;
	border: none !important;
	background: transparent !important;
	width: 100% !important;
	box-sizing: border-box !important;
}

/* Panel Header Toggle ("Add coupons") */
body.woocommerce-checkout .wc-block-components-totals-coupon .wc-block-components-panel__button,
body.woocommerce-cart .wc-block-components-totals-coupon .wc-block-components-panel__button {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	width: 100% !important;
	padding: 8px 0 !important;
	font-size: 13.5px !important;
	font-weight: 600 !important;
	color: var(--tns-wc-slate) !important;
	background: transparent !important;
	border: none !important;
	cursor: pointer !important;
	box-shadow: none !important;
	margin: 0 !important;
}

body.woocommerce-checkout .wc-block-components-totals-coupon .wc-block-components-panel__button:hover,
body.woocommerce-cart .wc-block-components-totals-coupon .wc-block-components-panel__button:hover {
	color: var(--tns-wc-red) !important;
}

body.woocommerce-checkout .wc-block-components-totals-coupon .wc-block-components-panel__content,
body.woocommerce-cart .wc-block-components-totals-coupon .wc-block-components-panel__content {
	padding: 4px 0 8px 0 !important;
	background: transparent !important;
	border: none !important;
}

/* Coupon Form Row: Single Row, No Wrap, Pixel-Perfect Alignment */
body.woocommerce-checkout form.wc-block-components-totals-coupon__form,
body.woocommerce-cart form.wc-block-components-totals-coupon__form,
body.woocommerce-checkout .wc-block-components-totals-coupon__form,
body.woocommerce-cart .wc-block-components-totals-coupon__form {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: nowrap !important;
	align-items: stretch !important;
	gap: 10px !important;
	width: 100% !important;
	margin: 6px 0 8px 0 !important;
	padding: 0 !important;
	border: none !important;
	background: transparent !important;
	box-sizing: border-box !important;
}

/* Coupon Input Container: Takes All Available Space */
body.woocommerce-checkout .wc-block-components-totals-coupon__form .wc-block-components-totals-coupon__input,
body.woocommerce-cart .wc-block-components-totals-coupon__form .wc-block-components-totals-coupon__input,
body.woocommerce-checkout .wc-block-components-totals-coupon__form .wc-block-components-text-input,
body.woocommerce-cart .wc-block-components-totals-coupon__form .wc-block-components-text-input {
	flex: 1 1 auto !important;
	min-width: 0 !important;
	width: auto !important;
	max-width: none !important;
	position: relative !important;
	margin: 0 !important;
	padding: 0 !important;
}

/* Coupon Text Input: Generous 46px Height */
body.woocommerce-checkout .wc-block-components-totals-coupon__form .wc-block-components-totals-coupon__input input,
body.woocommerce-cart .wc-block-components-totals-coupon__form .wc-block-components-totals-coupon__input input,
body.woocommerce-checkout .wc-block-components-totals-coupon__form input[type="text"],
body.woocommerce-cart .wc-block-components-totals-coupon__form input[type="text"] {
	height: 46px !important;
	min-height: 46px !important;
	max-height: 46px !important;
	width: 100% !important;
	border: 1.5px solid var(--tns-wc-line) !important;
	border-radius: 10px !important;
	background: #ffffff !important;
	color: var(--tns-wc-ink) !important;
	font-size: 13.5px !important;
	font-weight: 500 !important;
	padding: 0 14px !important;
	box-sizing: border-box !important;
	transition: border-color .2s ease, box-shadow .2s ease !important;
	box-shadow: none !important;
	line-height: 44px !important;
	outline: none !important;
}

/* Floating Label & Padding in Coupon Input */
body.woocommerce-checkout .wc-block-components-totals-coupon__form .wc-block-components-totals-coupon__input.is-active input,
body.woocommerce-cart .wc-block-components-totals-coupon__form .wc-block-components-totals-coupon__input.is-active input {
	padding-top: 16px !important;
	padding-bottom: 2px !important;
	line-height: 24px !important;
}

body.woocommerce-checkout .wc-block-components-totals-coupon__form .wc-block-components-totals-coupon__input label,
body.woocommerce-cart .wc-block-components-totals-coupon__form .wc-block-components-totals-coupon__input label {
	position: absolute !important;
	left: 14px !important;
	top: 50% !important;
	transform: translateY(-50%) !important;
	font-size: 13px !important;
	color: var(--tns-wc-light-gray) !important;
	pointer-events: none !important;
	transition: all .2s ease !important;
	line-height: 1 !important;
	margin: 0 !important;
	padding: 0 !important;
	white-space: nowrap !important;
}

body.woocommerce-checkout .wc-block-components-totals-coupon__form .wc-block-components-totals-coupon__input.is-active label,
body.woocommerce-cart .wc-block-components-totals-coupon__form .wc-block-components-totals-coupon__input.is-active label {
	top: 7px !important;
	transform: none !important;
	font-size: 10px !important;
	font-weight: 600 !important;
	color: var(--tns-wc-gray) !important;
}

body.woocommerce-checkout .wc-block-components-totals-coupon__form .wc-block-components-totals-coupon__input input:focus,
body.woocommerce-cart .wc-block-components-totals-coupon__form .wc-block-components-totals-coupon__input input:focus {
	border-color: var(--tns-wc-red) !important;
	box-shadow: 0 0 0 3px var(--tns-wc-red-glow) !important;
}

/* Coupon APPLY Button: Exactly 46px Height, Matching Input */
body.woocommerce-checkout .wc-block-components-totals-coupon__form .wc-block-components-totals-coupon__button,
body.woocommerce-cart .wc-block-components-totals-coupon__form .wc-block-components-totals-coupon__button,
body.woocommerce-checkout .wc-block-components-totals-coupon__form button[type="submit"],
body.woocommerce-cart .wc-block-components-totals-coupon__form button[type="submit"] {
	flex: 0 0 auto !important;
	height: 46px !important;
	min-height: 46px !important;
	max-height: 46px !important;
	border-radius: 10px !important;
	background: var(--tns-wc-red) !important;
	color: #ffffff !important;
	font-size: 13.5px !important;
	font-weight: 700 !important;
	text-transform: uppercase !important;
	letter-spacing: .5px !important;
	padding: 0 22px !important;
	border: none !important;
	cursor: pointer !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	transition: all .2s ease !important;
	box-shadow: 0 2px 8px var(--tns-wc-red-glow) !important;
	margin: 0 !important;
	line-height: 46px !important;
	white-space: nowrap !important;
}

body.woocommerce-checkout .wc-block-components-totals-coupon__form .wc-block-components-totals-coupon__button:hover:not([disabled]),
body.woocommerce-cart .wc-block-components-totals-coupon__form .wc-block-components-totals-coupon__button:hover:not([disabled]),
body.woocommerce-checkout .wc-block-components-totals-coupon__form button[type="submit"]:hover:not([disabled]),
body.woocommerce-cart .wc-block-components-totals-coupon__form button[type="submit"]:hover:not([disabled]) {
	background: var(--tns-wc-red-hover) !important;
	transform: translateY(-1px) !important;
	box-shadow: 0 4px 12px var(--tns-wc-red-glow) !important;
}

body.woocommerce-checkout .wc-block-components-totals-coupon__form .wc-block-components-totals-coupon__button[disabled],
body.woocommerce-cart .wc-block-components-totals-coupon__form .wc-block-components-totals-coupon__button[disabled],
body.woocommerce-checkout .wc-block-components-totals-coupon__form button[type="submit"][disabled],
body.woocommerce-cart .wc-block-components-totals-coupon__form button[type="submit"][disabled] {
	background: #94a3b8 !important;
	color: #ffffff !important;
	opacity: 0.65 !important;
	cursor: not-allowed !important;
	box-shadow: none !important;
	transform: none !important;
}

/* Coupon RTL support */
body.rtl.woocommerce-cart .wc-block-components-totals-coupon__form .wc-block-components-totals-coupon__input label,
[dir="rtl"] body.woocommerce-cart .wc-block-components-totals-coupon__form .wc-block-components-totals-coupon__input label,
body.rtl.woocommerce-checkout .wc-block-components-totals-coupon__form .wc-block-components-totals-coupon__input label,
[dir="rtl"] body.woocommerce-checkout .wc-block-components-totals-coupon__form .wc-block-components-totals-coupon__input label {
	left: auto !important;
	right: 14px !important;
}

/* Subtotal, Shipping, Taxes Rows */
body.woocommerce-checkout .wc-block-components-totals-item,
body.woocommerce-checkout table.woocommerce-checkout-review-order-table tr.cart-subtotal,
body.woocommerce-checkout table.woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals {
	display: flex !important;
	justify-content: space-between !important;
	align-items: center !important;
	padding: 10px 0 !important;
	font-size: 13.5px !important;
	color: var(--tns-wc-gray) !important;
	border-bottom: 0 !important;
}

body.woocommerce-checkout .wc-block-components-totals-item__label {
	font-weight: 500 !important;
	color: var(--tns-wc-gray) !important;
}

body.woocommerce-checkout .wc-block-components-totals-item__value {
	font-weight: 600 !important;
	color: var(--tns-wc-ink) !important;
}

/* Prominent TOTAL Row */
body.woocommerce-checkout .wc-block-components-totals-footer-item,
body.woocommerce-checkout table.woocommerce-checkout-review-order-table tr.order-total {
	display: flex !important;
	justify-content: space-between !important;
	align-items: baseline !important;
	border-top: 2px solid var(--tns-wc-line) !important;
	margin-top: 14px !important;
	padding-top: 16px !important;
	border-bottom: 0 !important;
}

body.woocommerce-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
body.woocommerce-checkout table.woocommerce-checkout-review-order-table tr.order-total th {
	font-size: 16px !important;
	font-weight: 700 !important;
	color: var(--tns-wc-ink) !important;
	text-transform: uppercase !important;
	letter-spacing: .5px !important;
	border: none !important;
}

body.woocommerce-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__value,
body.woocommerce-checkout table.woocommerce-checkout-review-order-table tr.order-total td {
	font-size: 22px !important;
	font-weight: 800 !important;
	color: var(--tns-wc-red) !important;
	letter-spacing: -.3px !important;
	border: none !important;
	text-align: right !important;
}

/* ==========================================================================
   ORDER SUMMARY CONFIRMATION AREA (TERMS NOTICE & PLACE ORDER BUTTON)
   ========================================================================== */
.tns-checkout-confirmation-area {
	display: flex !important;
	flex-direction: column !important;
	width: 100% !important;
	margin-top: 20px !important;
	padding-top: 18px !important;
	border-top: 1.5px dashed var(--tns-wc-line) !important;
	box-sizing: border-box !important;
}

.tns-checkout-confirmation-area .tns-terms-notice {
	font-size: 12.5px !important;
	line-height: 1.55 !important;
	color: var(--tns-wc-gray) !important;
	text-align: center !important;
	margin: 0 0 16px 0 !important;
	padding: 0 !important;
}

.tns-checkout-confirmation-area .tns-terms-notice a {
	color: var(--tns-wc-ink) !important;
	font-weight: 600 !important;
	text-decoration: underline !important;
	text-underline-offset: 2.5px !important;
	transition: color .2s ease !important;
}

.tns-checkout-confirmation-area .tns-terms-notice a:hover {
	color: var(--tns-wc-red) !important;
}

.tns-checkout-confirmation-area .tns-place-order-button,
body.woocommerce-checkout .wc-block-components-checkout-place-order-button,
body.woocommerce-checkout #place_order {
	width: 100% !important;
	min-height: 52px !important;
	border-radius: 12px !important;
	background: var(--tns-wc-red) !important;
	color: #ffffff !important;
	font-size: 15.5px !important;
	font-weight: 700 !important;
	letter-spacing: .5px !important;
	text-transform: uppercase !important;
	box-shadow: 0 6px 20px var(--tns-wc-red-glow) !important;
	border: none !important;
	cursor: pointer !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 10px !important;
	transition: all .25s ease !important;
	outline: none !important;
	padding: 14px 24px !important;
	box-sizing: border-box !important;
	line-height: 1 !important;
}

.tns-checkout-confirmation-area .tns-place-order-button:hover:not(:disabled),
body.woocommerce-checkout .wc-block-components-checkout-place-order-button:hover:not(:disabled),
body.woocommerce-checkout #place_order:hover:not(:disabled) {
	background: var(--tns-wc-red-hover) !important;
	transform: translateY(-2px) !important;
	box-shadow: 0 10px 26px rgba(225, 29, 72, .38) !important;
}

.tns-checkout-confirmation-area .tns-place-order-button:active:not(:disabled),
body.woocommerce-checkout .wc-block-components-checkout-place-order-button:active:not(:disabled),
body.woocommerce-checkout #place_order:active:not(:disabled) {
	transform: translateY(0) !important;
}

.tns-checkout-confirmation-area .tns-place-order-button:disabled,
.tns-checkout-confirmation-area .tns-place-order-button.is-loading,
body.woocommerce-checkout .wc-block-components-checkout-place-order-button:disabled,
body.woocommerce-checkout #place_order:disabled {
	opacity: .75 !important;
	cursor: not-allowed !important;
	transform: none !important;
	box-shadow: 0 4px 12px rgba(225, 29, 72, .15) !important;
}

.tns-checkout-confirmation-area .tns-btn-spinner {
	display: none;
	width: 18px;
	height: 18px;
	border: 2.5px solid rgba(255, 255, 255, 0.35);
	border-radius: 50%;
	border-top-color: #ffffff;
	animation: tns-spin .75s linear infinite;
}

.tns-checkout-confirmation-area .tns-place-order-button.is-loading .tns-btn-spinner {
	display: inline-block !important;
}

@keyframes tns-spin {
	to { transform: rotate(360deg); }
}

body.woocommerce-checkout .wc-block-components-checkout-place-order-button:hover,
body.woocommerce-checkout #place_order:hover {
	background: var(--tns-wc-red-hover) !important;
	transform: translateY(-2px) !important;
	box-shadow: 0 10px 26px rgba(225,29,72,.38) !important;
}

/* ==========================================================================
   03. CART PAGE (DESKTOP)
   ========================================================================== */
/* Outer block wrappers - full-width block container */
body.woocommerce-cart .wp-block-woocommerce-cart,
body.woocommerce-cart .wc-block-cart {
	display: block !important;
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	float: none !important;
}

/* Two-column layout grid for Cart */
body.woocommerce-cart .wc-block-components-sidebar-layout,
body.woocommerce-cart .wp-block-woocommerce-filled-cart-block,
body.woocommerce-cart .woocommerce:has(.cart-collaterals) {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) 420px !important;
	gap: 36px !important;
	align-items: start !important;
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
}

@media (min-width: 1400px) {
	body.woocommerce-cart .wc-block-components-sidebar-layout,
	body.woocommerce-cart .wp-block-woocommerce-filled-cart-block,
	body.woocommerce-cart .woocommerce:has(.cart-collaterals) {
		grid-template-columns: minmax(0, 1fr) 450px !important;
		gap: 40px !important;
	}
}

/* Cart Product Table Card */
body.woocommerce-cart .wc-block-cart__main,
body.woocommerce-cart .wc-block-components-main,
body.woocommerce-cart .wp-block-woocommerce-cart-items-block,
body.woocommerce-cart .woocommerce-cart-form {
	width: 100% !important;
	padding: 0 !important;
	margin: 0 !important;
	min-width: 0 !important;
	background: #ffffff !important;
	border: 1px solid var(--tns-wc-line) !important;
	border-radius: var(--tns-wc-radius-lg) !important;
	padding: 24px 28px !important;
	box-shadow: var(--tns-wc-card-shadow) !important;
	box-sizing: border-box !important;
	float: none !important;
}

body.woocommerce-cart .wc-block-cart__sidebar,
body.woocommerce-cart .wc-block-components-sidebar,
body.woocommerce-cart .wp-block-woocommerce-cart-totals-block,
body.woocommerce-cart .cart_totals,
body.woocommerce-cart .cart-collaterals {
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
	padding: 0 !important;
	margin: 0 !important;
	float: none !important;
}

body.woocommerce-cart table.wc-block-cart-items,
body.woocommerce-cart table.shop_table.cart {
	width: 100% !important;
	border-collapse: separate !important;
	border-spacing: 0 !important;
	border: 0 !important;
}

body.woocommerce-cart .wc-block-cart-items__header,
body.woocommerce-cart table.shop_table.cart thead {
	border-bottom: 1.5px solid var(--tns-wc-line) !important;
	padding-bottom: 12px !important;
	margin-bottom: 6px !important;
}

body.woocommerce-cart .wc-block-cart-items__header th,
body.woocommerce-cart table.shop_table.cart th {
	font-size: 12.5px !important;
	font-weight: 700 !important;
	color: var(--tns-wc-gray) !important;
	text-transform: uppercase !important;
	letter-spacing: .5px !important;
	padding: 0 8px 12px 0 !important;
	border: 0 !important;
	background: transparent !important;
}

body.woocommerce-cart table.wc-block-cart-items,
body.woocommerce-cart table.shop_table.cart {
	width: 100% !important;
	border-collapse: separate !important;
	border-spacing: 0 !important;
	border: 0 !important;
}

body.woocommerce-cart .wc-block-cart-items__row,
body.woocommerce-cart table.shop_table.cart tr.cart_item {
	border-bottom: 1px solid var(--tns-wc-line-subtle) !important;
	padding: 18px 0 !important;
}

body.woocommerce-cart .wc-block-cart-items__row:last-child,
body.woocommerce-cart table.shop_table.cart tr.cart_item:last-child {
	border-bottom: none !important;
}

/* Product Thumbnail Cell (TD): Clean, Zero Extra Height */
body.woocommerce-cart table.wc-block-cart-items td.wc-block-cart-item__image,
body.woocommerce-cart table.shop_table.cart td.product-thumbnail {
	vertical-align: top !important;
	width: 90px !important;
	min-width: 90px !important;
	max-width: 90px !important;
	padding: 18px 14px 18px 0 !important;
	border: none !important;
	background: transparent !important;
	box-shadow: none !important;
	height: auto !important;
}

/* Inner Thumbnail Box (Crisp 84x84 Square Card, Never Stretched) */
body.woocommerce-cart .wc-block-cart-item__image a,
body.woocommerce-cart .wc-block-cart-item__image .wc-block-components-product-image,
body.woocommerce-cart table.shop_table.cart td.product-thumbnail a {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 84px !important;
	height: 84px !important;
	min-width: 84px !important;
	min-height: 84px !important;
	max-width: 84px !important;
	max-height: 84px !important;
	border: 1px solid var(--tns-wc-line) !important;
	border-radius: 12px !important;
	background: #ffffff !important;
	padding: 6px !important;
	box-sizing: border-box !important;
	overflow: hidden !important;
	box-shadow: 0 1px 4px rgba(15, 23, 42, 0.04) !important;
	transition: border-color .2s ease, transform .2s ease !important;
}

body.woocommerce-cart .wc-block-cart-item__image a:hover,
body.woocommerce-cart table.shop_table.cart td.product-thumbnail a:hover {
	border-color: #cbd5e1 !important;
	transform: scale(1.02) !important;
}

/* Product Image: Clean Contain Behavior, No Cropping, No Distortion */
body.woocommerce-cart .wc-block-cart-item__image img,
body.woocommerce-cart .wc-block-cart-item__image a img,
body.woocommerce-cart table.shop_table.cart td.product-thumbnail img {
	max-width: 100% !important;
	max-height: 100% !important;
	width: auto !important;
	height: auto !important;
	object-fit: contain !important;
	display: block !important;
	margin: auto !important;
}

/* Product Details Cell (TD): Vertically Top Aligned with Image */
body.woocommerce-cart table.wc-block-cart-items td.wc-block-cart-item__product,
body.woocommerce-cart table.shop_table.cart td.product-name {
	vertical-align: top !important;
	padding: 18px 16px 18px 0 !important;
}

/* Product Name */
body.woocommerce-cart .wc-block-cart-item__product .wc-block-components-product-name,
body.woocommerce-cart table.shop_table.cart td.product-name a {
	font-size: 15px !important;
	font-weight: 700 !important;
	color: var(--tns-wc-ink) !important;
	line-height: 1.35 !important;
	text-decoration: none !important;
	display: inline-block !important;
	margin-bottom: 5px !important;
	transition: color .2s ease !important;
}

body.woocommerce-cart .wc-block-cart-item__product .wc-block-components-product-name:hover,
body.woocommerce-cart table.shop_table.cart td.product-name a:hover {
	color: var(--tns-wc-red) !important;
}

/* Unit Price */
body.woocommerce-cart .wc-block-cart-item__prices,
body.woocommerce-cart .wc-block-cart-item__prices .wc-block-components-product-price,
body.woocommerce-cart table.shop_table.cart td.product-price {
	font-size: 14px !important;
	font-weight: 700 !important;
	color: var(--tns-wc-red) !important;
	display: block !important;
	margin-bottom: 5px !important;
}

/* Product Metadata & Short Description */
body.woocommerce-cart .wc-block-cart-item__product .wc-block-components-product-metadata,
body.woocommerce-cart .wc-block-cart-item__product .wc-block-components-product-metadata__description {
	font-size: 12.5px !important;
	line-height: 1.45 !important;
	color: var(--tns-wc-gray) !important;
	margin-top: 2px !important;
	margin-bottom: 10px !important;
	max-width: 580px !important;
}

/* Quantity & Remove Alignment Row */
body.woocommerce-cart .wc-block-cart-item__quantity {
	display: flex !important;
	align-items: center !important;
	gap: 12px !important;
	margin-top: 8px !important;
}

/* Quantity Control: Compact, Modern, Polished */
body.woocommerce-cart .wc-block-components-quantity-selector,
body.woocommerce-cart .quantity {
	display: inline-flex !important;
	align-items: center !important;
	border: 1.5px solid var(--tns-wc-line) !important;
	border-radius: 10px !important;
	overflow: hidden !important;
	height: 36px !important;
	background: #ffffff !important;
	box-shadow: 0 1px 3px rgba(15, 23, 42, 0.03) !important;
	margin: 0 !important;
}

body.woocommerce-cart .wc-block-components-quantity-selector button,
body.woocommerce-cart .quantity .qty-btn {
	width: 32px !important;
	height: 36px !important;
	min-width: 32px !important;
	border: 0 !important;
	background: #f8fafc !important;
	color: var(--tns-wc-ink) !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	cursor: pointer !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	transition: all .2s ease !important;
	padding: 0 !important;
}

body.woocommerce-cart .wc-block-components-quantity-selector button:hover,
body.woocommerce-cart .quantity .qty-btn:hover {
	background: var(--tns-wc-line) !important;
	color: var(--tns-wc-red) !important;
}

body.woocommerce-cart .wc-block-components-quantity-selector input,
body.woocommerce-cart .quantity input.qty {
	width: 38px !important;
	height: 36px !important;
	border: 0 !important;
	text-align: center !important;
	font-size: 13.5px !important;
	font-weight: 700 !important;
	color: var(--tns-wc-ink) !important;
	background: #ffffff !important;
	padding: 0 !important;
	margin: 0 !important;
	line-height: 36px !important;
	-moz-appearance: textfield !important;
}

/* Delete / Remove Button: Perfectly Aligned Alongside Quantity Selector */
body.woocommerce-cart .wc-block-cart-item__remove-link,
body.woocommerce-cart table.shop_table.cart td.product-remove a {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 36px !important;
	height: 36px !important;
	min-width: 36px !important;
	border-radius: 9px !important;
	color: var(--tns-wc-light-gray) !important;
	background: #ffffff !important;
	border: 1.5px solid var(--tns-wc-line) !important;
	cursor: pointer !important;
	transition: all .2s ease !important;
	text-decoration: none !important;
	padding: 0 !important;
	margin: 0 !important;
	line-height: 1 !important;
	box-sizing: border-box !important;
}

body.woocommerce-cart .wc-block-cart-item__remove-link:hover,
body.woocommerce-cart table.shop_table.cart td.product-remove a:hover {
	color: var(--tns-wc-red) !important;
	border-color: #fecdd3 !important;
	background: #fff1f2 !important;
	transform: scale(1.05) !important;
}

body.woocommerce-cart .wc-block-cart-item__remove-link svg {
	width: 15px !important;
	height: 15px !important;
	fill: currentColor !important;
}

/* Line Total (Top Right of Product Row) */
body.woocommerce-cart table.wc-block-cart-items td.wc-block-cart-item__total,
body.woocommerce-cart table.shop_table.cart td.product-subtotal {
	vertical-align: top !important;
	padding: 18px 0 18px 16px !important;
	font-size: 16px !important;
	font-weight: 800 !important;
	color: var(--tns-wc-ink) !important;
	text-align: right !important;
	white-space: nowrap !important;
}

/* Cart Totals Card Container (Matches Checkout Order Summary) */
body.woocommerce-cart .wc-block-cart__sidebar,
body.woocommerce-cart .cart-collaterals {
	width: 100% !important;
	padding: 0 !important;
	margin: 0 !important;
	min-width: 0 !important;
}

body.woocommerce-cart .wc-block-cart__sidebar .wc-block-components-sidebar,
body.woocommerce-cart .wc-block-cart__sidebar .wp-block-woocommerce-cart-totals-block,
body.woocommerce-cart .cart_totals {
	background: #ffffff !important;
	border: 1px solid var(--tns-wc-line) !important;
	border-radius: var(--tns-wc-radius-lg) !important;
	padding: 24px 24px !important;
	box-shadow: var(--tns-wc-card-shadow) !important;
	position: sticky !important;
	top: 96px !important;
	box-sizing: border-box !important;
	width: 100% !important;
}

body.woocommerce-cart .wc-block-cart__totals-title,
body.woocommerce-cart .cart_totals h2 {
	font-size: 18px !important;
	font-weight: 700 !important;
	color: var(--tns-wc-ink) !important;
	padding-bottom: 14px !important;
	border-bottom: 1.5px solid var(--tns-wc-line-subtle) !important;
	margin: 0 0 16px 0 !important;
	letter-spacing: -.2px !important;
}

/* Totals items in cart */
body.woocommerce-cart .wc-block-cart__sidebar .wc-block-components-totals-item,
body.woocommerce-cart .cart_totals tr.cart-subtotal,
body.woocommerce-cart .cart_totals tr.shipping {
	display: flex !important;
	justify-content: space-between !important;
	align-items: center !important;
	padding: 10px 0 !important;
	font-size: 13.5px !important;
	color: var(--tns-wc-gray) !important;
	border-bottom: 0 !important;
}

body.woocommerce-cart .wc-block-cart__sidebar .wc-block-components-totals-item__value,
body.woocommerce-cart .cart_totals tr.cart-subtotal td,
body.woocommerce-cart .cart_totals tr.shipping td {
	font-weight: 600 !important;
	color: var(--tns-wc-ink) !important;
	text-align: right !important;
}

/* Cart Estimated Total */
body.woocommerce-cart .wc-block-cart__sidebar .wc-block-components-totals-footer-item,
body.woocommerce-cart .cart_totals tr.order-total {
	display: flex !important;
	justify-content: space-between !important;
	align-items: baseline !important;
	border-top: 2px solid var(--tns-wc-line) !important;
	margin-top: 14px !important;
	padding-top: 16px !important;
	border-bottom: 0 !important;
}

body.woocommerce-cart .wc-block-cart__sidebar .wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
body.woocommerce-cart .cart_totals tr.order-total th {
	font-size: 16px !important;
	font-weight: 700 !important;
	color: var(--tns-wc-ink) !important;
	text-transform: uppercase !important;
	letter-spacing: .5px !important;
	border: 0 !important;
}

body.woocommerce-cart .wc-block-cart__sidebar .wc-block-components-totals-footer-item .wc-block-components-totals-item__value,
body.woocommerce-cart .cart_totals tr.order-total td {
	font-size: 22px !important;
	font-weight: 800 !important;
	color: var(--tns-wc-red) !important;
	letter-spacing: -.3px !important;
	border: 0 !important;
	text-align: right !important;
}

/* Proceed to Checkout Button */
body.woocommerce-cart .wc-block-cart__submit-container .wc-block-components-button,
body.woocommerce-cart .wc-proceed-to-checkout .checkout-button {
	width: 100% !important;
	min-height: 52px !important;
	border-radius: 12px !important;
	background: var(--tns-wc-red) !important;
	color: #ffffff !important;
	font-size: 15.5px !important;
	font-weight: 700 !important;
	letter-spacing: .3px !important;
	box-shadow: 0 6px 20px var(--tns-wc-red-glow) !important;
	border: 0 !important;
	margin-top: 18px !important;
	transition: all .25s ease !important;
	cursor: pointer !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	text-decoration: none !important;
}

body.woocommerce-cart .wc-block-cart__submit-container .wc-block-components-button:hover,
body.woocommerce-cart .wc-proceed-to-checkout .checkout-button:hover {
	background: var(--tns-wc-red-hover) !important;
	transform: translateY(-2px) !important;
	box-shadow: 0 10px 26px rgba(225,29,72,.38) !important;
}

/* ==========================================================================
   04. MOBILE RESPONSIVE OPTIMIZATIONS (@media max-width: 767px)
   ========================================================================== */
@media (max-width: 1024px) {
	body.woocommerce-checkout .wc-block-components-sidebar-layout,
	body.woocommerce-checkout .wc-block-checkout.is-loading,
	body.woocommerce-checkout form.checkout,
	body.woocommerce-cart .wc-block-components-sidebar-layout,
	body.woocommerce-cart .wp-block-woocommerce-filled-cart-block,
	body.woocommerce-cart .woocommerce:has(.cart-collaterals) {
		grid-template-columns: 1fr !important;
		gap: 28px !important;
	}

	body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block,
	body.woocommerce-checkout .wc-block-components-order-summary,
	body.woocommerce-checkout .wc-block-checkout__sidebar .wc-block-components-sidebar,
	body.woocommerce-cart .wc-block-cart__sidebar .wc-block-components-sidebar,
	body.woocommerce-cart .cart_totals {
		position: static !important;
	}
}

@media (max-width: 767px) {
	/* Overall Container Spacing */
	body.woocommerce-cart #main-container,
	body.woocommerce-checkout #main-container {
		padding: 16px 12px 48px !important;
	}

	/* CHECKOUT MOBILE: Strictly 1-column with Exact Sequence:
	   Contact Info -> Shipping Address -> Shipping Options -> Payment -> Order Summary -> Terms -> Place Order */
	body.woocommerce-checkout .wp-block-woocommerce-checkout,
	body.woocommerce-checkout .wc-block-checkout {
		display: block !important;
		width: 100% !important;
		max-width: 100% !important;
		overflow-x: hidden !important;
	}

	body.woocommerce-checkout .wc-block-components-sidebar-layout {
		display: flex !important;
		flex-direction: column !important;
		gap: 0 !important;
		max-width: 100% !important;
		width: 100% !important;
		overflow-x: hidden !important;
	}

	body.woocommerce-checkout .wc-block-checkout__main,
	body.woocommerce-checkout .wc-block-components-main,
	body.woocommerce-checkout .wc-block-checkout-fields-block,
	body.woocommerce-checkout .wp-block-woocommerce-checkout-fields-block {
		display: contents !important;
	}

	/* Sequencing: Contact Info -> Shipping Address -> Billing -> Shipping Options -> Payment -> Notes -> Order Summary (Total + Terms + Place Order) */
	body.woocommerce-checkout .wp-block-woocommerce-checkout-express-payment-block { order: 1 !important; }
	body.woocommerce-checkout .wp-block-woocommerce-checkout-contact-information-block { order: 2 !important; }
	body.woocommerce-checkout .wp-block-woocommerce-checkout-shipping-address-block { order: 3 !important; }
	body.woocommerce-checkout .wp-block-woocommerce-checkout-billing-address-block { order: 4 !important; }
	body.woocommerce-checkout .wp-block-woocommerce-checkout-shipping-methods-block { order: 5 !important; }
	body.woocommerce-checkout .wp-block-woocommerce-checkout-payment-block { order: 6 !important; }
	body.woocommerce-checkout .wp-block-woocommerce-checkout-additional-information-block,
	body.woocommerce-checkout .wp-block-woocommerce-checkout-order-note-block { order: 7 !important; }
	body.woocommerce-checkout .wc-block-checkout__sidebar {
		order: 8 !important;
		width: 100% !important;
		margin: 8px 0 20px !important;
	}
	body.woocommerce-checkout .wp-block-woocommerce-checkout-terms-block { display: none !important; }
	body.woocommerce-checkout .wp-block-woocommerce-checkout-actions-block {
		position: absolute !important;
		left: -9999px !important;
		top: -9999px !important;
		width: 1px !important;
		height: 1px !important;
		opacity: 0 !important;
		pointer-events: none !important;
	}

	/* Card Padding & Sizing on Mobile Checkout */
	body.woocommerce-checkout .wc-block-components-checkout-step,
	body.woocommerce-checkout .woocommerce-billing-fields,
	body.woocommerce-checkout .woocommerce-shipping-fields,
	body.woocommerce-checkout .woocommerce-additional-fields {
		padding: 18px 16px !important;
		border-radius: 14px !important;
		margin-bottom: 16px !important;
	}

	body.woocommerce-checkout .wp-block-woocommerce-checkout-fields-block,
	body.woocommerce-checkout .wp-block-woocommerce-checkout-shipping-methods-block,
	body.woocommerce-checkout .wp-block-woocommerce-checkout-shipping-method-block,
	body.woocommerce-checkout .wp-block-woocommerce-checkout-payment-block {
		padding: 0 !important;
		border: none !important;
		background: transparent !important;
		margin-bottom: 0 !important;
	}

	/* Radio & Accordion Option Cards on Mobile */
	body.woocommerce-checkout .wc-block-components-radio-control-accordion-option,
	body.woocommerce-checkout .wc-block-components-radio-control > label.wc-block-components-radio-control__option,
	body.woocommerce-checkout .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option,
	body.woocommerce-checkout ul#shipping_method li,
	body.woocommerce-checkout #payment ul.payment_methods li {
		padding: 14px 14px !important;
		gap: 12px !important;
		border-radius: 10px !important;
		margin-bottom: 10px !important;
	}

	body.woocommerce-checkout .wc-block-components-radio-control-accordion-option > label.wc-block-components-radio-control__option {
		padding: 14px 14px !important;
		gap: 12px !important;
	}

	body.woocommerce-checkout .wc-block-components-radio-control-accordion-content,
	body.woocommerce-checkout .wc-block-checkout__payment-methods-content,
	body.woocommerce-checkout #payment div.payment_box {
		padding: 12px 14px 12px 46px !important;
		font-size: 12.5px !important;
	}

	body.rtl.woocommerce-checkout .wc-block-components-radio-control-accordion-content,
	[dir="rtl"] body.woocommerce-checkout .wc-block-components-radio-control-accordion-content,
	body.rtl.woocommerce-checkout .wc-block-checkout__payment-methods-content,
	[dir="rtl"] body.woocommerce-checkout .wc-block-checkout__payment-methods-content {
		padding: 12px 46px 12px 14px !important;
	}

	/* Address Fields Stack cleanly on Mobile (< 540px) */
	body.woocommerce-checkout .wc-block-components-address-form > * {
		flex: 1 0 100% !important;
		width: 100% !important;
		min-width: 100% !important;
	}

	body.woocommerce-checkout .wc-block-checkout__sidebar .wc-block-components-sidebar,
	body.woocommerce-checkout .wc-block-checkout__sidebar .wp-block-woocommerce-checkout-order-summary-block {
		position: static !important;
		padding: 20px 16px !important;
		border-radius: 14px !important;
		width: 100% !important;
		margin: 0 !important;
	}

	/* Mobile Checkout Place Order Button */
	body.woocommerce-checkout .wc-block-components-checkout-place-order-button,
	body.woocommerce-checkout #place_order {
		width: 100% !important;
		min-height: 52px !important;
		font-size: 16px !important;
		font-weight: 700 !important;
	}

	/* CART MOBILE: Modern Stacked Cards (Image + Details -> Qty + Delete -> Subtotal) */
	body.woocommerce-cart .wc-block-cart,
	body.woocommerce-cart .woocommerce-cart-form {
		display: flex !important;
		flex-direction: column !important;
		gap: 0 !important;
		max-width: 100% !important;
		padding: 0 !important;
		background: transparent !important;
		border: 0 !important;
		box-shadow: none !important;
	}

	body.woocommerce-cart .wc-block-cart__main,
	body.woocommerce-cart .wp-block-woocommerce-cart-items-block {
		padding: 0 !important;
		background: transparent !important;
		border: 0 !important;
		box-shadow: none !important;
	}

	body.woocommerce-cart table.wc-block-cart-items,
	body.woocommerce-cart table.wc-block-cart-items tbody,
	body.woocommerce-cart table.wc-block-cart-items tr,
	body.woocommerce-cart table.wc-block-cart-items td,
	body.woocommerce-cart table.shop_table.cart,
	body.woocommerce-cart table.shop_table.cart tbody,
	body.woocommerce-cart table.shop_table.cart tr,
	body.woocommerce-cart table.shop_table.cart td {
		display: block !important;
		width: 100% !important;
		padding: 0 !important;
		border: 0 !important;
	}

	body.woocommerce-cart .wc-block-cart-items__header,
	body.woocommerce-cart table.shop_table.cart thead {
		display: none !important;
	}

	/* Stacked Cart Item Card (Blocks) */
	body.woocommerce-cart .wc-block-cart-items__row {
		display: grid !important;
		grid-template-columns: 74px 1fr !important;
		grid-template-areas:
			"img details"
			"qty qty"
			"total total" !important;
		column-gap: 14px !important;
		row-gap: 10px !important;
		align-items: center !important;
		background: #ffffff !important;
		border: 1px solid var(--tns-wc-line) !important;
		border-radius: 14px !important;
		padding: 16px !important;
		margin-bottom: 14px !important;
		box-shadow: 0 2px 8px rgba(15,23,42,.02) !important;
		box-sizing: border-box !important;
		width: 100% !important;
	}

	/* Stacked Cart Item Card (Classic) */
	body.woocommerce-cart table.shop_table.cart tr.cart_item {
		display: grid !important;
		grid-template-columns: 74px 1fr !important;
		grid-template-areas:
			"img title"
			"img price"
			"qty qty"
			"total total" !important;
		column-gap: 14px !important;
		row-gap: 8px !important;
		align-items: start !important;
		background: #ffffff !important;
		border: 1px solid var(--tns-wc-line) !important;
		border-radius: 14px !important;
		padding: 16px !important;
		margin-bottom: 14px !important;
		box-shadow: 0 2px 8px rgba(15,23,42,.02) !important;
		box-sizing: border-box !important;
		width: 100% !important;
	}

	body.woocommerce-cart .wc-block-cart-item__image,
	body.woocommerce-cart table.shop_table.cart td.product-thumbnail {
		grid-area: img !important;
		width: 74px !important;
		height: 74px !important;
		min-width: 74px !important;
		min-height: 74px !important;
		max-width: 74px !important;
		max-height: 74px !important;
		border-radius: 10px !important;
		border: 1px solid var(--tns-wc-line) !important;
		background: #ffffff !important;
		padding: 4px !important;
		box-sizing: border-box !important;
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		overflow: hidden !important;
		margin: 0 !important;
	}

	body.woocommerce-cart .wc-block-cart-item__image a,
	body.woocommerce-cart .wc-block-cart-item__image .wc-block-components-product-image,
	body.woocommerce-cart table.shop_table.cart td.product-thumbnail a {
		width: 100% !important;
		height: 100% !important;
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		border: none !important;
		padding: 0 !important;
		background: transparent !important;
	}

	body.woocommerce-cart .wc-block-cart-item__image img,
	body.woocommerce-cart .wc-block-cart-item__image a img,
	body.woocommerce-cart table.shop_table.cart td.product-thumbnail img {
		max-width: 100% !important;
		max-height: 100% !important;
		width: auto !important;
		height: auto !important;
		object-fit: contain !important;
		display: block !important;
		margin: auto !important;
	}

	body.woocommerce-cart .wc-block-cart-item__product {
		grid-area: details !important;
		padding: 0 !important;
		margin: 0 !important;
		display: flex !important;
		flex-direction: column !important;
		justify-content: center !important;
		gap: 4px !important;
		min-width: 0 !important;
	}

	body.woocommerce-cart table.shop_table.cart td.product-name {
		grid-area: title !important;
		padding: 0 !important;
		margin: 0 !important;
	}

	body.woocommerce-cart .wc-block-cart-item__product .wc-block-components-product-name,
	body.woocommerce-cart table.shop_table.cart td.product-name a {
		font-size: 14px !important;
		font-weight: 600 !important;
		line-height: 1.35 !important;
		color: var(--tns-wc-ink) !important;
	}

	body.woocommerce-cart .wc-block-cart-item__prices,
	body.woocommerce-cart table.shop_table.cart td.product-price {
		grid-area: price !important;
		padding: 0 !important;
		margin: 0 !important;
		font-size: 13.5px !important;
		font-weight: 600 !important;
		color: var(--tns-wc-gray) !important;
	}

	body.woocommerce-cart .wc-block-cart-item__quantity,
	body.woocommerce-cart table.shop_table.cart td.product-quantity {
		grid-area: qty !important;
		display: flex !important;
		align-items: center !important;
		justify-content: space-between !important;
		padding-top: 10px !important;
		margin-top: 4px !important;
		border-top: 1px solid var(--tns-wc-line-subtle) !important;
		width: 100% !important;
	}

	body.woocommerce-cart .wc-block-cart-item__total,
	body.woocommerce-cart table.shop_table.cart td.product-subtotal {
		grid-area: total !important;
		display: flex !important;
		align-items: center !important;
		justify-content: space-between !important;
		padding-top: 8px !important;
		border-top: 1px dashed var(--tns-wc-line) !important;
		font-size: 15px !important;
		font-weight: 700 !important;
		color: var(--tns-wc-ink) !important;
		width: 100% !important;
	}

	body.woocommerce-cart .wc-block-cart-item__total::before,
	body.woocommerce-cart table.shop_table.cart td.product-subtotal::before {
		content: "Subtotal" !important;
		font-size: 12px !important;
		font-weight: 600 !important;
		color: var(--tns-wc-gray) !important;
		text-transform: uppercase !important;
		letter-spacing: .5px !important;
	}

	/* Mobile Coupon Section (Compact, Touch-friendly, No overflow) */
	body.woocommerce-cart form.wc-block-components-totals-coupon__form,
	body.woocommerce-checkout form.wc-block-components-totals-coupon__form {
		display: flex !important;
		flex-direction: row !important;
		gap: 8px !important;
		width: 100% !important;
		box-sizing: border-box !important;
	}

	body.woocommerce-cart .wc-block-components-totals-coupon__form .wc-block-components-totals-coupon__input,
	body.woocommerce-checkout .wc-block-components-totals-coupon__form .wc-block-components-totals-coupon__input {
		flex: 1 1 auto !important;
		min-width: 0 !important;
		margin: 0 !important;
	}

	body.woocommerce-cart .wc-block-components-totals-coupon__form .wc-block-components-totals-coupon__input input,
	body.woocommerce-checkout .wc-block-components-totals-coupon__form .wc-block-components-totals-coupon__input input {
		height: 44px !important;
		min-height: 44px !important;
		font-size: 13.5px !important;
		padding: 10px 12px !important;
		width: 100% !important;
		box-sizing: border-box !important;
	}

	body.woocommerce-cart .wc-block-components-totals-coupon__form .wc-block-components-totals-coupon__button,
	body.woocommerce-checkout .wc-block-components-totals-coupon__form .wc-block-components-totals-coupon__button {
		flex: 0 0 auto !important;
		height: 44px !important;
		min-height: 44px !important;
		padding: 0 18px !important;
		font-size: 13px !important;
		font-weight: 700 !important;
		white-space: nowrap !important;
		margin: 0 !important;
	}

	body.woocommerce-cart .wc-block-cart__sidebar {
		width: 100% !important;
		margin-top: 10px !important;
	}

	body.woocommerce-cart .wc-block-cart__sidebar .wc-block-components-sidebar,
	body.woocommerce-cart .cart_totals {
		position: static !important;
		padding: 20px 16px !important;
		border-radius: 14px !important;
		width: 100% !important;
	}

	body.woocommerce-cart .wc-block-cart__submit-container .wc-block-components-button,
	body.woocommerce-cart .wc-proceed-to-checkout .checkout-button {
		width: 100% !important;
		min-height: 52px !important;
		font-size: 16px !important;
	}
}

/* Global viewport boundary to prevent horizontal swipe/scroll on mobile */
html,
body.woocommerce-cart,
body.woocommerce-checkout {
	overflow-x: hidden !important;
	max-width: 100vw !important;
}

body.woocommerce-cart #page,
body.woocommerce-checkout #page,
body.woocommerce-cart #main-container,
body.woocommerce-checkout #main-container,
body.woocommerce-cart .site-content,
body.woocommerce-checkout .site-content,
body.woocommerce-cart .entry-content,
body.woocommerce-checkout .entry-content {
	max-width: 100% !important;
	box-sizing: border-box !important;
	overflow-x: hidden !important;
}

/* Keep checkout centered without stretching the form across a wide monitor. */
body.woocommerce-checkout #main-container {
	max-width: 1280px !important;
	margin-inline: auto !important;
}

@media (min-width: 1025px) {
	body.woocommerce-checkout .wc-block-components-sidebar-layout,
	body.woocommerce-checkout .wc-block-checkout.is-loading,
	body.woocommerce-checkout form.checkout {
		grid-template-columns: minmax(0, 1fr) minmax(340px, 40%) !important;
		gap: 32px !important;
	}
}

body.woocommerce-checkout .wc-block-checkout__sidebar {
	align-self: start !important;
	margin-top: 0 !important;
	padding-top: 0 !important;
	position: static !important;
}

body.woocommerce-checkout .wc-block-checkout__sidebar .wp-block-woocommerce-checkout-order-summary-block,
body.woocommerce-checkout .wc-block-checkout__sidebar .wc-block-components-order-summary {
	position: static !important;
	margin-top: 0 !important;
}

/* Keep totals and the relocated order button visible in the mobile summary. */
body.woocommerce-checkout .wc-block-checkout__sidebar .wc-block-components-checkout-order-summary__content {
	display: block !important;
}

body.woocommerce-checkout .wc-block-checkout__sidebar .wc-block-components-checkout-order-summary__title {
	margin-top: 0 !important;
}

@media (max-width: 767px) {
	body.woocommerce-checkout #main-container {
		padding-top: 52px !important;
	}
}

/* ==========================================================================
   TNS: Cart centered exactly like Checkout + mobile safety polish
   ========================================================================== */
/* Keep cart centered without stretching across wide monitors (matches checkout). */
body.woocommerce-cart #main-container {
	max-width: 1280px !important;
	margin-inline: auto !important;
}

@media (max-width: 767px) {
	/* Cart: totals card + proceed button full width, clear stack */
	body.woocommerce-cart .wc-block-cart__sidebar,
	body.woocommerce-cart .wc-block-components-sidebar,
	body.woocommerce-cart .wp-block-woocommerce-cart-totals-block {
		width: 100% !important;
		min-width: 100% !important;
		max-width: 100% !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}
	body.woocommerce-cart .wc-block-cart__submit-container {
		width: 100% !important;
	}
	body.woocommerce-cart .wc-block-cart__submit-container .wc-block-components-button {
		width: 100% !important;
		min-height: 54px !important;
		font-size: 15px !important;
	}
	body.woocommerce-cart .wc-block-components-totals-coupon {
		display: flex !important;
		flex-direction: column !important;
		gap: 10px !important;
	}
	body.woocommerce-cart .wc-block-components-totals-coupon__button {
		width: 100% !important;
	}
	/* Checkout: place order full width + no horizontal overflow */
	body.woocommerce-checkout .wc-block-components-checkout-place-order-button {
		width: 100% !important;
		min-height: 54px !important;
		font-size: 15px !important;
	}
	body.woocommerce-checkout .wp-block-woocommerce-checkout,
	body.woocommerce-cart .wp-block-woocommerce-cart {
		overflow-x: hidden !important;
	}
}
/* TNS QUICK FIX: product images fit fully inside square box - cart + checkout (mobile) */
@media (max-width: 767px) {
	body.woocommerce-cart .wc-block-cart-item__image,
	body.woocommerce-checkout .wc-block-components-order-summary-item__image,
	body.woocommerce-cart .wc-block-components-product-image,
	body.woocommerce-checkout .wc-block-components-product-image {
		aspect-ratio: 1 / 1 !important;
		overflow: hidden !important;
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		background: #ffffff !important;
	}
	body.woocommerce-cart .wc-block-cart-item__image img,
	body.woocommerce-cart .wc-block-components-product-image img,
	body.woocommerce-checkout .wc-block-components-order-summary-item__image img,
	body.woocommerce-checkout .wc-block-components-product-image img {
		width: 100% !important;
		height: 100% !important;
		object-fit: contain !important;
		aspect-ratio: 1 / 1 !important;
		padding: 4px !important;
		border-radius: 8px !important;
		display: block !important;
	}
}
/* TNS QUICK FIX 2: mobile cart item clean stack - image row, then info; no overlap */
@media (max-width: 767px) {
	body.woocommerce-cart table.wc-block-cart-items tr.wc-block-cart-item {
		display: grid !important;
		grid-template-columns: 1fr !important;
		grid-template-areas: "image" "product" "qty" "total" !important;
		gap: 10px !important;
		position: relative !important;
	}
	body.woocommerce-cart table.wc-block-cart-items td.wc-block-cart-item__image {
		grid-area: image !important;
		position: static !important;
		width: 100% !important;
		height: auto !important;
		min-height: 0 !important;
		justify-content: center !important;
		display: flex !important;
		margin: 0 !important;
	}
	body.woocommerce-cart table.wc-block-cart-items td.wc-block-cart-item__image img {
		width: auto !important;
		height: 130px !important;
		max-width: 100% !important;
		object-fit: contain !important;
	}
	body.woocommerce-cart table.wc-block-cart-items td.wc-block-cart-item__product {
		grid-area: product !important;
		position: static !important;
		margin: 0 !important;
		width: 100% !important;
	}
	body.woocommerce-cart table.wc-block-cart-items td.wc-block-cart-item__quantity {
		grid-area: qty !important;
		position: static !important;
		margin: 0 !important;
		width: 100% !important;
	}
	body.woocommerce-cart table.wc-block-cart-items td.wc-block-cart-item__total {
		grid-area: total !important;
		position: static !important;
		margin: 0 !important;
		width: 100% !important;
	}
	body.woocommerce-cart table.wc-block-cart-items tr.wc-block-cart-item td {
		padding: 0 !important;
	}
}