/**
 * Nisargo Natural Care - Custom Cart Stylesheet
 *
 * Scoped, lightweight, fully responsive styling for the dedicated Cart page template.
 * Brand Colors: Primary Green #176b45 | Dark Green #0b3d26 | Tint #f0f7f3
 */

:root {
	--nisargo-cart-primary: #176b45;
	--nisargo-cart-primary-dark: #0b3d26;
	--nisargo-cart-primary-accent: #238b5b;
	--nisargo-cart-primary-tint: #f0f7f3;
	--nisargo-cart-primary-tint-subtle: #f8faf8;
	--nisargo-cart-text-main: #1e2923;
	--nisargo-cart-text-muted: #5a6860;
	--nisargo-cart-border: #e2e8e4;
	--nisargo-cart-border-input: #d4ded7;
	--nisargo-cart-border-hover: #b5c7bc;
	--nisargo-cart-border-focus: #176b45;
	--nisargo-cart-surface: #ffffff;
	--nisargo-cart-radius-lg: 12px;
	--nisargo-cart-radius-md: 8px;
	--nisargo-cart-radius-sm: 6px;
	--nisargo-cart-shadow: 0 4px 16px rgba(11, 61, 38, 0.05);
	--nisargo-cart-font: 'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

/* ==========================================================================
   1. Page Wrapper & Hero Banner
   ========================================================================== */
.nisargo-custom-cart-wrapper {
	background-color: var(--nisargo-cart-primary-tint-subtle);
	color: var(--nisargo-cart-text-main);
	min-height: 60vh;
}

.nisargo-cart-hero {
	background: radial-gradient(circle at 50% 0%, rgba(35, 139, 91, 0.28) 0%, transparent 70%),
	            linear-gradient(135deg, #093320 0%, #0b3d26 50%, #176b45 100%) !important;
	padding: 44px 20px 40px !important;
	text-align: center !important;
	color: #ffffff !important;
	border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important;
	box-shadow: 0 4px 16px rgba(11, 61, 38, 0.08) !important;
}

.nisargo-cart-hero-inner {
	max-width: 720px !important;
	margin: 0 auto !important;
}

.nisargo-hero-kicker {
	display: inline-flex !important;
	align-items: center !important;
	gap: 6px !important;
	font-size: 0.75rem !important;
	font-weight: 700 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.12em !important;
	color: #8be6be !important;
	background: rgba(255, 255, 255, 0.08) !important;
	border: 1px solid rgba(139, 230, 190, 0.3) !important;
	padding: 4px 14px !important;
	border-radius: 20px !important;
	margin-bottom: 12px !important;
}

.nisargo-cart-hero-title {
	font-family: var(--nisargo-cart-font) !important;
	font-size: 2.125rem !important;
	font-weight: 700 !important;
	color: #ffffff !important;
	margin: 0 0 10px 0 !important;
	letter-spacing: -0.025em !important;
	line-height: 1.25 !important;
	text-shadow: 0 2px 4px rgba(0, 0, 0, 0.15) !important;
}

.nisargo-cart-hero-subtitle {
	font-family: var(--nisargo-cart-font) !important;
	font-size: 1rem !important;
	font-weight: 400 !important;
	color: rgba(255, 255, 255, 0.92) !important;
	margin: 0 auto !important;
	line-height: 1.5 !important;
	max-width: 580px !important;
}

.nisargo-cart-container {
	max-width: 1200px;
	margin: 0 auto;
	padding: 36px 20px 70px;
	box-sizing: border-box;
}

/* Reset default margins inside cart wrapper */
.nisargo-custom-cart-wrapper * {
	box-sizing: border-box;
}

/* ==========================================================================
   2. Shopping Progress Steps Bar
   ========================================================================== */
.nisargo-cart-steps {
	max-width: 680px;
	margin: 0 auto 36px;
	padding: 0 16px;
}

.nisargo-cart-steps .nisargo-steps-list {
	display: flex;
	align-items: center;
	justify-content: center;
	list-style: none;
	margin: 0;
	padding: 0;
}

.nisargo-cart-steps .nisargo-step {
	display: flex;
	align-items: center;
	gap: 8px;
	flex: 0 0 auto;
}

.nisargo-cart-steps .nisargo-step-link {
	display: flex;
	align-items: center;
	gap: 8px;
	text-decoration: none;
	color: inherit;
	transition: color 0.2s ease;
}

.nisargo-cart-steps .nisargo-step-link:hover {
	color: var(--nisargo-cart-primary);
}

.nisargo-cart-steps .nisargo-step-num {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	border-radius: 50%;
	font-size: 0.8125rem;
	font-weight: 700;
	transition: all 0.2s ease;
}

.nisargo-cart-steps .nisargo-step.is-active .nisargo-step-num {
	background-color: var(--nisargo-cart-primary);
	color: #ffffff;
	border: 1.5px solid var(--nisargo-cart-primary);
	box-shadow: 0 2px 6px rgba(23, 107, 69, 0.25);
}

.nisargo-cart-steps .nisargo-step.is-active .nisargo-step-label {
	font-size: 0.9375rem;
	font-weight: 700;
	color: var(--nisargo-cart-primary-dark);
}

.nisargo-cart-steps .nisargo-step.is-upcoming .nisargo-step-num {
	background-color: #ffffff;
	border: 1.5px solid var(--nisargo-cart-border);
	color: var(--nisargo-cart-text-muted);
}

.nisargo-cart-steps .nisargo-step.is-upcoming .nisargo-step-label {
	font-size: 0.875rem;
	font-weight: 500;
	color: var(--nisargo-cart-text-muted);
}

.nisargo-cart-steps .nisargo-step-separator {
	margin: 0 16px;
	color: #bccbc1;
	display: flex;
	align-items: center;
	flex-shrink: 0;
}

/* ==========================================================================
   3. Main Cart Grid: Robust CSS Grid on Desktop
   ========================================================================== */
.nisargo-custom-cart-wrapper .woocommerce {
	width: 100%;
	margin: 0 auto;
}

@media (min-width: 992px) {
	.nisargo-custom-cart-wrapper .woocommerce {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) 400px !important;
		column-gap: 32px !important;
		row-gap: 24px !important;
		align-items: start !important;
	}

	.nisargo-custom-cart-wrapper .nisargo-cart-steps,
	.nisargo-custom-cart-wrapper .woocommerce-notices-wrapper,
	.nisargo-custom-cart-wrapper p.cart-empty,
	.nisargo-custom-cart-wrapper p.return-to-shop {
		grid-column: 1 / -1 !important;
		width: 100% !important;
	}

	.nisargo-custom-cart-wrapper form.woocommerce-cart-form {
		grid-column: 1 / 2 !important;
		width: 100% !important;
		min-width: 0 !important;
		margin: 0 !important;
	}

	.nisargo-custom-cart-wrapper .cart-collaterals {
		grid-column: 2 / 3 !important;
		width: 100% !important;
		min-width: 0 !important;
		position: sticky !important;
		top: 90px !important;
	}
}

.nisargo-custom-cart-wrapper form.woocommerce-cart-form {
	width: 100% !important;
	min-width: 0 !important;
	margin: 0 !important;
}

.nisargo-custom-cart-wrapper .cart-collaterals {
	width: 100% !important;
	min-width: 0 !important;
	position: sticky;
	top: 90px;
}

/* Notices wrapper */
.nisargo-custom-cart-wrapper .woocommerce-notices-wrapper {
	grid-column: 1 / -1;
	width: 100%;
	margin-bottom: 20px;
}

.nisargo-custom-cart-wrapper .woocommerce-message,
.nisargo-custom-cart-wrapper .woocommerce-info,
.nisargo-custom-cart-wrapper .woocommerce-error {
	font-family: var(--nisargo-cart-font) !important;
	font-size: 0.9375rem !important;
	line-height: 1.5 !important;
	border-radius: var(--nisargo-cart-radius-md) !important;
	padding: 14px 20px 14px 44px !important;
	margin-bottom: 20px !important;
	border-top: none !important;
	border-right: none !important;
	border-bottom: none !important;
	position: relative !important;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04) !important;
}

.nisargo-custom-cart-wrapper .woocommerce-message {
	background-color: var(--nisargo-cart-primary-tint) !important;
	color: var(--nisargo-cart-primary-dark) !important;
	border-left: 4px solid var(--nisargo-cart-primary) !important;
}

.nisargo-custom-cart-wrapper .woocommerce-error {
	background-color: #fef2f2 !important;
	color: #b91c1c !important;
	border-left: 4px solid #dc2626 !important;
	list-style: none !important;
}

/* ==========================================================================
   4. Products Table
   ========================================================================== */
.nisargo-custom-cart-wrapper table.shop_table.cart {
	width: 100% !important;
	background-color: var(--nisargo-cart-surface) !important;
	border: 1px solid var(--nisargo-cart-border) !important;
	border-radius: var(--nisargo-cart-radius-lg) !important;
	border-collapse: separate !important;
	border-spacing: 0 !important;
	overflow: hidden !important;
	box-shadow: var(--nisargo-cart-shadow) !important;
	margin: 0 !important;
}

.nisargo-custom-cart-wrapper table.shop_table.cart thead th {
	background-color: var(--nisargo-cart-primary-tint-subtle) !important;
	color: var(--nisargo-cart-text-muted) !important;
	font-size: 0.75rem !important;
	font-weight: 700 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.05em !important;
	padding: 14px 16px !important;
	border-bottom: 1px solid var(--nisargo-cart-border) !important;
	border-top: none !important;
	border-left: none !important;
	border-right: none !important;
	line-height: 1.4 !important;
}

.nisargo-custom-cart-wrapper table.shop_table.cart tbody td {
	padding: 18px 16px !important;
	border-bottom: 1px solid #edf2ee !important;
	border-top: none !important;
	border-left: none !important;
	border-right: none !important;
	vertical-align: middle !important;
	color: var(--nisargo-cart-text-main) !important;
}

.nisargo-custom-cart-wrapper table.shop_table.cart tbody tr.cart_item:last-child td {
	border-bottom: 1px solid var(--nisargo-cart-border) !important;
}

.nisargo-custom-cart-wrapper table.shop_table.cart tbody tr.cart_item:hover td {
	background-color: #fafcfb !important;
}

/* Remove item */
.nisargo-custom-cart-wrapper table.shop_table.cart td.product-remove {
	width: 36px !important;
	text-align: center !important;
	padding-right: 0 !important;
}

.nisargo-custom-cart-wrapper 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;
	color: #718177 !important;
	background-color: #f0f4f1 !important;
	text-decoration: none !important;
	font-size: 1.25rem !important;
	line-height: 1 !important;
	font-weight: 400 !important;
	transition: all 0.15s ease !important;
}

.nisargo-custom-cart-wrapper table.shop_table.cart a.remove:hover {
	background-color: #fee2e2 !important;
	color: #dc2626 !important;
	transform: scale(1.08) !important;
}

/* Thumbnail */
.nisargo-custom-cart-wrapper table.shop_table.cart td.product-thumbnail {
	width: 76px !important;
	padding-left: 12px !important;
	padding-right: 12px !important;
}

.nisargo-custom-cart-wrapper table.shop_table.cart td.product-thumbnail a {
	display: block !important;
	width: 68px !important;
	height: 68px !important;
	border-radius: var(--nisargo-cart-radius-md) !important;
	overflow: hidden !important;
	border: 1px solid var(--nisargo-cart-border) !important;
	background-color: var(--nisargo-cart-primary-tint-subtle) !important;
}

.nisargo-custom-cart-wrapper table.shop_table.cart td.product-thumbnail img {
	width: 100% !important;
	height: 100% !important;
	max-width: 100% !important;
	max-height: 100% !important;
	object-fit: contain !important;
	display: block !important;
}

/* Name */
.nisargo-custom-cart-wrapper table.shop_table.cart td.product-name a {
	color: var(--nisargo-cart-primary-dark) !important;
	font-size: 0.9375rem !important;
	font-weight: 600 !important;
	text-decoration: none !important;
	line-height: 1.4 !important;
	display: inline-block !important;
	transition: color 0.15s ease !important;
}

.nisargo-custom-cart-wrapper table.shop_table.cart td.product-name a:hover {
	color: var(--nisargo-cart-primary) !important;
}

.nisargo-custom-cart-wrapper table.shop_table.cart td.product-name .variation {
	margin-top: 4px !important;
	font-size: 0.8125rem !important;
	color: var(--nisargo-cart-text-muted) !important;
}

/* Price */
.nisargo-custom-cart-wrapper table.shop_table.cart td.product-price {
	font-size: 0.9375rem !important;
	color: var(--nisargo-cart-text-muted) !important;
	font-weight: 500 !important;
	white-space: nowrap !important;
}

/* Quantity stepper */
.nisargo-custom-cart-wrapper table.shop_table.cart td.product-quantity {
	width: 130px !important;
}

.nisargo-custom-cart-wrapper .quantity {
	display: inline-flex !important;
	align-items: center !important;
	background-color: #ffffff !important;
	border: 1px solid var(--nisargo-cart-border-input) !important;
	border-radius: var(--nisargo-cart-radius-md) !important;
	padding: 2px !important;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04) !important;
}

.nisargo-custom-cart-wrapper .quantity .nisargo-quantity-button {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 30px !important;
	height: 30px !important;
	background: transparent !important;
	border: none !important;
	color: var(--nisargo-cart-primary) !important;
	font-size: 1.125rem !important;
	font-weight: 700 !important;
	cursor: pointer !important;
	border-radius: var(--nisargo-cart-radius-sm) !important;
	transition: background-color 0.15s ease, color 0.15s ease !important;
	padding: 0 !important;
	line-height: 1 !important;
}

.nisargo-custom-cart-wrapper .quantity .nisargo-quantity-button:hover {
	background-color: var(--nisargo-cart-primary-tint) !important;
	color: var(--nisargo-cart-primary-dark) !important;
}

.nisargo-custom-cart-wrapper .quantity input.qty {
	width: 38px !important;
	height: 30px !important;
	border: none !important;
	background: transparent !important;
	text-align: center !important;
	font-family: var(--nisargo-cart-font) !important;
	font-size: 0.9375rem !important;
	font-weight: 600 !important;
	color: var(--nisargo-cart-text-main) !important;
	padding: 0 !important;
	margin: 0 !important;
	-moz-appearance: textfield !important;
	appearance: textfield !important;
}

.nisargo-custom-cart-wrapper .quantity input.qty::-webkit-outer-spin-button,
.nisargo-custom-cart-wrapper .quantity input.qty::-webkit-inner-spin-button {
	-webkit-appearance: none !important;
	appearance: none !important;
	margin: 0 !important;
}

/* Subtotal */
.nisargo-custom-cart-wrapper table.shop_table.cart td.product-subtotal {
	font-size: 1rem !important;
	font-weight: 700 !important;
	color: var(--nisargo-cart-primary) !important;
	white-space: nowrap !important;
	text-align: right !important;
}

/* ==========================================================================
   5. Actions Row (Coupon & Update Cart)
   ========================================================================== */
.nisargo-custom-cart-wrapper table.shop_table.cart td.actions {
	padding: 18px 20px !important;
	background-color: var(--nisargo-cart-primary-tint-subtle) !important;
}

.nisargo-custom-cart-wrapper table.shop_table.cart .actions .coupon {
	float: left !important;
	display: flex !important;
	align-items: center !important;
	gap: 10px !important;
}

.nisargo-custom-cart-wrapper table.shop_table.cart .actions .coupon label {
	display: none !important;
}

.nisargo-custom-cart-wrapper table.shop_table.cart .actions .coupon input#coupon_code {
	height: 42px !important;
	border: 1px solid var(--nisargo-cart-border-input) !important;
	border-radius: var(--nisargo-cart-radius-md) !important;
	padding: 0 14px !important;
	font-family: var(--nisargo-cart-font) !important;
	font-size: 0.875rem !important;
	width: 170px !important;
	background-color: #ffffff !important;
	transition: border-color 0.15s ease, box-shadow 0.15s ease !important;
}

.nisargo-custom-cart-wrapper table.shop_table.cart .actions .coupon input#coupon_code:focus {
	outline: none !important;
	border-color: var(--nisargo-cart-primary) !important;
	box-shadow: 0 0 0 3px rgba(23, 107, 69, 0.12) !important;
}

.nisargo-custom-cart-wrapper table.shop_table.cart .actions .coupon button[name="apply_coupon"] {
	height: 42px !important;
	padding: 0 18px !important;
	background-color: #ffffff !important;
	border: 1.5px solid var(--nisargo-cart-primary) !important;
	color: var(--nisargo-cart-primary) !important;
	border-radius: var(--nisargo-cart-radius-md) !important;
	font-family: var(--nisargo-cart-font) !important;
	font-size: 0.875rem !important;
	font-weight: 600 !important;
	cursor: pointer !important;
	transition: all 0.15s ease !important;
	line-height: 40px !important;
}

.nisargo-custom-cart-wrapper table.shop_table.cart .actions .coupon button[name="apply_coupon"]:hover {
	background-color: var(--nisargo-cart-primary) !important;
	color: #ffffff !important;
}

.nisargo-custom-cart-wrapper table.shop_table.cart .actions button[name="update_cart"] {
	float: right !important;
	height: 42px !important;
	padding: 0 20px !important;
	background-color: #ffffff !important;
	border: 1px solid var(--nisargo-cart-border-input) !important;
	color: var(--nisargo-cart-primary-dark) !important;
	border-radius: var(--nisargo-cart-radius-md) !important;
	font-family: var(--nisargo-cart-font) !important;
	font-size: 0.875rem !important;
	font-weight: 600 !important;
	cursor: pointer !important;
	transition: all 0.15s ease !important;
	line-height: 40px !important;
}

.nisargo-custom-cart-wrapper table.shop_table.cart .actions button[name="update_cart"]:hover:not(:disabled) {
	background-color: var(--nisargo-cart-primary-tint) !important;
	border-color: var(--nisargo-cart-primary) !important;
	color: var(--nisargo-cart-primary) !important;
}

/* ==========================================================================
   6. Cart Totals & Shipment Card (Right Column)
   ========================================================================== */
.nisargo-custom-cart-wrapper .cart-collaterals .cart_totals {
	width: 100% !important;
	background-color: var(--nisargo-cart-surface) !important;
	border: 1px solid var(--nisargo-cart-border) !important;
	border-radius: var(--nisargo-cart-radius-lg) !important;
	padding: 24px !important;
	box-shadow: var(--nisargo-cart-shadow) !important;
	box-sizing: border-box !important;
}

.nisargo-custom-cart-wrapper .cart-collaterals .cart_totals > h2 {
	font-family: var(--nisargo-cart-font) !important;
	font-size: 1.125rem !important;
	font-weight: 700 !important;
	color: var(--nisargo-cart-primary-dark) !important;
	text-transform: uppercase !important;
	letter-spacing: 0.04em !important;
	margin: 0 0 16px 0 !important;
	padding-bottom: 12px !important;
	border-bottom: 1px solid var(--nisargo-cart-border) !important;
	line-height: 1.3 !important;
}

.nisargo-custom-cart-wrapper .cart-collaterals table.shop_table {
	width: 100% !important;
	border-collapse: collapse !important;
	border: none !important;
	margin: 0 0 20px 0 !important;
	background: transparent !important;
	background-color: transparent !important;
}

/* 1. Complete reset of inherited/theme background highlights in Cart Totals */
.nisargo-custom-cart-wrapper .cart-collaterals table.shop_table,
.nisargo-custom-cart-wrapper .cart-collaterals table.shop_table tbody,
.nisargo-custom-cart-wrapper .cart-collaterals table.shop_table tr,
.nisargo-custom-cart-wrapper .cart-collaterals table.shop_table th,
.nisargo-custom-cart-wrapper .cart-collaterals table.shop_table td,
.nisargo-custom-cart-wrapper .cart-collaterals table.shop_table tbody > tr:nth-child(odd) > th,
.nisargo-custom-cart-wrapper .cart-collaterals table.shop_table tbody > tr:nth-child(odd) > td,
.nisargo-custom-cart-wrapper .cart-collaterals table.shop_table tbody > tr:nth-child(even) > th,
.nisargo-custom-cart-wrapper .cart-collaterals table.shop_table tbody > tr:nth-child(even) > td,
.nisargo-custom-cart-wrapper .cart-collaterals table.shop_table tbody tr:hover > th,
.nisargo-custom-cart-wrapper .cart-collaterals table.shop_table tbody tr:hover > td,
.nisargo-custom-cart-wrapper .cart-collaterals table.shop_table tbody tr:hover,
.nisargo-custom-cart-wrapper .cart-collaterals table.shop_table span,
.nisargo-custom-cart-wrapper .cart-collaterals table.shop_table bdi,
.nisargo-custom-cart-wrapper .cart-collaterals table.shop_table strong,
.nisargo-custom-cart-wrapper .cart-collaterals table.shop_table mark,
.nisargo-custom-cart-wrapper .cart-collaterals table.shop_table a,
.nisargo-custom-cart-wrapper .cart-collaterals tr.cart-subtotal,
.nisargo-custom-cart-wrapper .cart-collaterals tr.cart-subtotal th,
.nisargo-custom-cart-wrapper .cart-collaterals tr.cart-subtotal td,
.nisargo-custom-cart-wrapper .cart-collaterals tr.woocommerce-shipping-totals,
.nisargo-custom-cart-wrapper .cart-collaterals tr.woocommerce-shipping-totals th,
.nisargo-custom-cart-wrapper .cart-collaterals tr.woocommerce-shipping-totals td,
.nisargo-custom-cart-wrapper .cart-collaterals tr.order-total,
.nisargo-custom-cart-wrapper .cart-collaterals tr.order-total th,
.nisargo-custom-cart-wrapper .cart-collaterals tr.order-total td {
	background: transparent !important;
	background-color: transparent !important;
	box-shadow: none !important;
	outline: none !important;
	border: none !important;
}

/* Subtotal & Order Total Rows: Clean edge-to-edge flex alignment */
.nisargo-custom-cart-wrapper .cart-collaterals tr.cart-subtotal,
.nisargo-custom-cart-wrapper .cart-collaterals tr.order-total {
	display: flex !important;
	justify-content: space-between !important;
	align-items: center !important;
	width: 100% !important;
	padding: 14px 0 !important;
	box-sizing: border-box !important;
	background: transparent !important;
	background-color: transparent !important;
}

.nisargo-custom-cart-wrapper .cart-collaterals tr.cart-subtotal th,
.nisargo-custom-cart-wrapper .cart-collaterals tr.order-total th {
	display: inline-block !important;
	width: auto !important;
	padding: 0 !important;
	margin: 0 !important;
	font-size: 0.9375rem !important;
	font-weight: 600 !important;
	color: var(--nisargo-cart-text-muted) !important;
	text-align: left !important;
	background: transparent !important;
	background-color: transparent !important;
}

.nisargo-custom-cart-wrapper .cart-collaterals tr.cart-subtotal td,
.nisargo-custom-cart-wrapper .cart-collaterals tr.order-total td {
	display: inline-block !important;
	width: auto !important;
	padding: 0 !important;
	margin: 0 !important;
	text-align: right !important;
	font-size: 1.0625rem !important;
	font-weight: 700 !important;
	color: var(--nisargo-cart-text-main) !important;
	background: transparent !important;
	background-color: transparent !important;
}

/* Shipping Section: Full-width clean container on white background */
.nisargo-custom-cart-wrapper .cart-collaterals tr.woocommerce-shipping-totals {
	display: block !important;
	width: 100% !important;
	border-top: 1px solid var(--nisargo-cart-border) !important;
	border-bottom: 1px solid var(--nisargo-cart-border) !important;
	padding: 18px 0 !important;
	margin: 8px 0 !important;
	box-sizing: border-box !important;
	background: transparent !important;
	background-color: transparent !important;
}

.nisargo-custom-cart-wrapper .cart-collaterals tr.woocommerce-shipping-totals th {
	display: block !important;
	width: 100% !important;
	padding: 0 0 14px 0 !important;
	margin: 0 !important;
	font-size: 0.875rem !important;
	font-weight: 700 !important;
	color: var(--nisargo-cart-primary-dark) !important;
	text-transform: uppercase !important;
	letter-spacing: 0.05em !important;
	text-align: left !important;
	background: transparent !important;
	background-color: transparent !important;
}

.nisargo-custom-cart-wrapper .cart-collaterals tr.woocommerce-shipping-totals td {
	display: block !important;
	width: 100% !important;
	padding: 0 !important;
	margin: 0 !important;
	text-align: left !important;
	box-sizing: border-box !important;
	background: transparent !important;
	background-color: transparent !important;
}

/* Shipping Option Cards */
.nisargo-custom-cart-wrapper ul#shipping_method {
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
	display: flex !important;
	flex-direction: column !important;
	gap: 10px !important;
	width: 100% !important;
}

.nisargo-custom-cart-wrapper ul#shipping_method li {
	display: flex !important;
	align-items: center !important;
	margin: 0 !important;
	padding: 13px 16px !important;
	background-color: #ffffff !important;
	border: 1.5px solid var(--nisargo-cart-border) !important;
	border-radius: var(--nisargo-cart-radius-md) !important;
	cursor: pointer !important;
	transition: all 0.18s ease !important;
	width: 100% !important;
	box-sizing: border-box !important;
}

.nisargo-custom-cart-wrapper ul#shipping_method li:hover {
	border-color: var(--nisargo-cart-border-hover) !important;
	background-color: var(--nisargo-cart-primary-tint-subtle) !important;
}

.nisargo-custom-cart-wrapper ul#shipping_method li:has(input:checked) {
	background-color: var(--nisargo-cart-primary-tint) !important;
	border-color: var(--nisargo-cart-primary) !important;
	box-shadow: 0 2px 8px rgba(23, 107, 69, 0.1) !important;
}

.nisargo-custom-cart-wrapper ul#shipping_method li input[type="radio"] {
	margin: 0 12px 0 0 !important;
	accent-color: var(--nisargo-cart-primary) !important;
	width: 18px !important;
	height: 18px !important;
	cursor: pointer !important;
	flex-shrink: 0 !important;
}

.nisargo-custom-cart-wrapper ul#shipping_method li label {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	width: 100% !important;
	font-size: 0.9375rem !important;
	font-weight: 600 !important;
	color: var(--nisargo-cart-text-main) !important;
	cursor: pointer !important;
	margin: 0 !important;
	line-height: 1.4 !important;
	background: transparent !important;
	background-color: transparent !important;
}

.nisargo-custom-cart-wrapper ul#shipping_method li label .woocommerce-Price-amount {
	font-weight: 700 !important;
	color: var(--nisargo-cart-primary) !important;
	margin-left: auto !important;
	padding-left: 12px !important;
	white-space: nowrap !important;
	background: transparent !important;
	background-color: transparent !important;
}

/* Hide shipping destination sentence and calculator on Cart page */
.nisargo-custom-cart-wrapper .woocommerce-shipping-destination,
.nisargo-custom-cart-wrapper .shipping-calculator-button,
.nisargo-custom-cart-wrapper .shipping-calculator-form,
.nisargo-custom-cart-wrapper form.woocommerce-shipping-calculator {
	display: none !important;
	visibility: hidden !important;
	height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden !important;
}

/* Total row */
.nisargo-custom-cart-wrapper .cart-collaterals tr.order-total {
	border-top: 1.5px solid var(--nisargo-cart-border) !important;
	margin-top: 8px !important;
	padding-top: 18px !important;
	padding-bottom: 6px !important;
	background: transparent !important;
	background-color: transparent !important;
}

.nisargo-custom-cart-wrapper .cart-collaterals tr.order-total th {
	font-size: 1.125rem !important;
	font-weight: 700 !important;
	color: var(--nisargo-cart-primary-dark) !important;
	background: transparent !important;
	background-color: transparent !important;
}

.nisargo-custom-cart-wrapper .cart-collaterals tr.order-total td {
	font-size: 1.375rem !important;
	font-weight: 800 !important;
	color: var(--nisargo-cart-primary) !important;
	background: transparent !important;
	background-color: transparent !important;
}

/* Proceed to Checkout CTA */
.nisargo-custom-cart-wrapper .wc-proceed-to-checkout {
	margin-top: 10px !important;
	padding: 0 !important;
}

.nisargo-custom-cart-wrapper .wc-proceed-to-checkout a.checkout-button {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 100% !important;
	height: 50px !important;
	background-color: var(--nisargo-cart-primary) !important;
	color: #ffffff !important;
	font-family: var(--nisargo-cart-font) !important;
	font-size: 1rem !important;
	font-weight: 700 !important;
	border-radius: var(--nisargo-cart-radius-md) !important;
	border: none !important;
	text-decoration: none !important;
	box-shadow: 0 4px 14px rgba(23, 107, 69, 0.25) !important;
	transition: all 0.2s ease !important;
	box-sizing: border-box !important;
}

.nisargo-custom-cart-wrapper .wc-proceed-to-checkout a.checkout-button:hover {
	background-color: var(--nisargo-cart-primary-dark) !important;
	box-shadow: 0 6px 18px rgba(11, 61, 38, 0.35) !important;
	transform: translateY(-1px) !important;
}

/* Continue Shopping Link & Trust Badges */
.nisargo-custom-cart-wrapper .nisargo-continue-shopping-wrap {
	margin-top: 16px;
	text-align: center;
}

.nisargo-custom-cart-wrapper .nisargo-continue-shopping-link {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 0.875rem;
	font-weight: 600;
	color: var(--nisargo-cart-primary);
	text-decoration: none;
	transition: color 0.15s ease;
}

.nisargo-custom-cart-wrapper .nisargo-continue-shopping-link:hover {
	color: var(--nisargo-cart-primary-dark);
	text-decoration: underline;
}

.nisargo-custom-cart-wrapper .nisargo-cart-trust-badges {
	margin-top: 22px;
	padding-top: 18px;
	border-top: 1px solid var(--nisargo-cart-border);
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.nisargo-custom-cart-wrapper .nisargo-cart-trust-item {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 0.8125rem;
	color: var(--nisargo-cart-text-muted);
}

.nisargo-custom-cart-wrapper .nisargo-cart-trust-item svg {
	width: 16px;
	height: 16px;
	color: var(--nisargo-cart-primary);
	flex-shrink: 0;
}

/* ==========================================================================
   7. Empty Cart State
   ========================================================================== */
.nisargo-custom-cart-wrapper .wc-empty-cart-message,
.nisargo-custom-cart-wrapper .cart-empty {
	background: #ffffff !important;
	border: 1px solid var(--nisargo-cart-border) !important;
	border-radius: var(--nisargo-cart-radius-lg) !important;
	padding: 48px 24px 36px !important;
	text-align: center !important;
	max-width: 540px !important;
	margin: 20px auto 16px !important;
	box-shadow: var(--nisargo-cart-shadow) !important;
	font-size: 1.125rem !important;
	font-weight: 600 !important;
	color: var(--nisargo-cart-primary-dark) !important;
	box-sizing: border-box !important;
}

.nisargo-custom-cart-wrapper .wc-empty-cart-message::before {
	content: '';
	display: block;
	width: 68px;
	height: 68px;
	margin: 0 auto 16px;
	background-color: var(--nisargo-cart-primary-tint);
	border-radius: 50%;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 24 24' fill='none' stroke='%23176b45' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='21' r='1'%3E%3C/circle%3E%3Ccircle cx='20' cy='21' r='1'%3E%3C/circle%3E%3Cpath d='M1 1h4l2.68 13.39a2 2 0 0 0 2 1.61h9.72a2 2 0 0 0 2-1.61L23 6H6'%3E%3C/path%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: center;
}

.nisargo-custom-cart-wrapper p.return-to-shop {
	text-align: center !important;
	margin: 0 auto 40px !important;
}

.nisargo-custom-cart-wrapper p.return-to-shop a.button {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	padding: 14px 36px !important;
	background-color: var(--nisargo-cart-primary) !important;
	color: #ffffff !important;
	font-family: var(--nisargo-cart-font) !important;
	font-size: 1rem !important;
	font-weight: 700 !important;
	border-radius: var(--nisargo-cart-radius-md) !important;
	text-decoration: none !important;
	box-shadow: 0 4px 14px rgba(23, 107, 69, 0.25) !important;
	transition: all 0.2s ease !important;
}

.nisargo-custom-cart-wrapper p.return-to-shop a.button:hover {
	background-color: var(--nisargo-cart-primary-dark) !important;
	transform: translateY(-1px) !important;
}

/* ==========================================================================
   8. Responsive Adaptations (Mobile & Tablet)
   ========================================================================== */
@media (max-width: 991px) {
	.nisargo-custom-cart-wrapper .woocommerce:has(form.woocommerce-cart-form) {
		grid-template-columns: 1fr !important;
		gap: 24px !important;
	}

	.nisargo-custom-cart-wrapper .cart-collaterals {
		position: static !important;
	}
}

@media (max-width: 768px) {
	.nisargo-cart-hero {
		padding: 32px 16px 28px !important;
	}

	.nisargo-cart-hero-title {
		font-size: 1.625rem !important;
		margin-bottom: 8px !important;
	}

	.nisargo-cart-hero-subtitle {
		font-size: 0.875rem !important;
		line-height: 1.45 !important;
	}

	.nisargo-cart-steps {
		margin-bottom: 24px !important;
		padding: 0 8px !important;
	}

	.nisargo-cart-steps .nisargo-step-separator {
		margin: 0 10px !important;
	}

	.nisargo-cart-steps .nisargo-step-label {
		font-size: 0.8125rem !important;
	}

	.nisargo-cart-steps .nisargo-step-num {
		width: 24px !important;
		height: 24px !important;
		font-size: 0.75rem !important;
	}

	/* Mobile Cart Table Transformation */
	.nisargo-custom-cart-wrapper table.shop_table.cart thead {
		display: none !important;
	}

	.nisargo-custom-cart-wrapper table.shop_table.cart tbody tr.cart_item {
		display: grid !important;
		grid-template-columns: 68px 1fr 32px !important;
		grid-template-rows: auto auto !important;
		column-gap: 12px !important;
		row-gap: 8px !important;
		padding: 16px 14px !important;
		align-items: center !important;
		position: relative !important;
	}

	.nisargo-custom-cart-wrapper table.shop_table.cart td.product-thumbnail {
		grid-column: 1 !important;
		grid-row: 1 / span 2 !important;
		width: 68px !important;
		padding: 0 !important;
	}

	.nisargo-custom-cart-wrapper table.shop_table.cart td.product-thumbnail a {
		width: 68px !important;
		height: 68px !important;
	}

	.nisargo-custom-cart-wrapper table.shop_table.cart td.product-name {
		grid-column: 2 !important;
		grid-row: 1 !important;
		padding: 0 !important;
	}

	.nisargo-custom-cart-wrapper table.shop_table.cart td.product-remove {
		grid-column: 3 !important;
		grid-row: 1 !important;
		padding: 0 !important;
		text-align: right !important;
	}

	.nisargo-custom-cart-wrapper table.shop_table.cart td.product-price {
		display: none !important;
	}

	.nisargo-custom-cart-wrapper table.shop_table.cart td.product-quantity {
		grid-column: 2 !important;
		grid-row: 2 !important;
		padding: 0 !important;
		width: auto !important;
	}

	.nisargo-custom-cart-wrapper table.shop_table.cart td.product-subtotal {
		grid-column: 3 !important;
		grid-row: 2 !important;
		padding: 0 !important;
		text-align: right !important;
	}

	/* Actions Row on Mobile */
	.nisargo-custom-cart-wrapper table.shop_table.cart td.actions {
		display: block !important;
		padding: 16px 14px !important;
	}

	.nisargo-custom-cart-wrapper table.shop_table.cart .actions .coupon {
		float: none !important;
		width: 100% !important;
		margin-bottom: 12px !important;
	}

	.nisargo-custom-cart-wrapper table.shop_table.cart .actions .coupon input#coupon_code {
		flex: 1 !important;
		width: 100% !important;
	}

	.nisargo-custom-cart-wrapper table.shop_table.cart .actions button[name="update_cart"] {
		float: none !important;
		width: 100% !important;
	}
}

/* Accessibility: Reduced Motion */
@media (prefers-reduced-motion: reduce) {
	.nisargo-custom-cart-wrapper * {
		transition-duration: 0.01ms !important;
		animation-duration: 0.01ms !important;
	}
}
