/* 1. Free Shipping Bar */
.havir-free-shipping-bar {
	background: var(--havir-surface-alt);
	padding: 1rem;
	border-radius: var(--havir-radius-sm);
	margin-bottom: 1rem;
	text-align: center;
}
.havir-fsb-message {
	font-size: 0.9rem;
	margin-bottom: 0.5rem;
	font-weight: bold;
	color: var(--havir-navy);
}
.havir-fsb-progress {
	height: 8px;
	background: var(--havir-border);
	border-radius: 4px;
	overflow: hidden;
}
.havir-fsb-progress-inner {
	height: 100%;
	background: var(--havir-red);
	transition: width 0.5s ease;
}
.havir-fsb-progress-inner.is-complete {
	background: var(--havir-success);
}

/* 2. Variation Swatches */
.havir-swatches-wrap {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin-top: 0.5rem;
}
.havir-swatch-btn {
	padding: 0.5rem 1rem;
	border: 1px solid var(--havir-border);
	background: var(--havir-surface);
	color: var(--havir-text);
	border-radius: var(--havir-radius-sm);
	font-size: 0.9rem;
	cursor: pointer;
	transition: var(--havir-transition);
}
.havir-swatch-btn:hover {
	border-color: var(--havir-red);
	color: var(--havir-red);
}
.havir-swatch-btn.is-active {
	background: var(--havir-red);
	color: #fff;
	border-color: var(--havir-red);
}

/* 3. Quick View Modal */
.havir-modal {
	position: fixed !important;
	inset: 0 !important;
	top: 0 !important;
	left: 0 !important;
	right: 0 !important;
	bottom: 0 !important;
	width: 100vw !important;
	height: 100vh !important;
	z-index: 999999 !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	padding: 1.5rem !important;
	background: transparent !important;
	border: none !important;
	box-shadow: none !important;
	transform: none !important;
	overflow: hidden !important;
	box-sizing: border-box !important;
}

.havir-modal[hidden] {
	display: none !important;
}

.havir-modal-overlay {
	position: fixed !important;
	inset: 0 !important;
	top: 0 !important;
	left: 0 !important;
	right: 0 !important;
	bottom: 0 !important;
	width: 100vw !important;
	height: 100vh !important;
	background: rgba(15, 23, 42, 0.72) !important;
	backdrop-filter: blur(8px) !important;
	-webkit-backdrop-filter: blur(8px) !important;
	animation: havirModalFadeIn 0.22s ease-out forwards !important;
	z-index: 1 !important;
}

.havir-modal-content {
	position: relative !important;
	background: var(--havir-surface, #ffffff) !important;
	width: min(94vw, 920px) !important;
	max-height: calc(100vh - 3.5rem) !important;
	border-radius: 24px !important;
	border: 1px solid rgba(226, 232, 240, 0.8) !important;
	box-shadow: 0 25px 60px -15px rgba(15, 23, 42, 0.28), 0 0 0 1px rgba(0, 0, 0, 0.04) !important;
	overflow-y: auto !important;
	padding: 2.25rem !important;
	z-index: 2 !important;
	animation: havirModalPopIn 0.28s cubic-bezier(0.16, 1, 0.3, 1) forwards !important;
	box-sizing: border-box !important;
	margin: auto !important;
	transform: none !important;
}

.havir-modal-close,
.havir-modal__close {
	position: absolute !important;
	top: 1.25rem !important;
	left: 1.25rem !important;
	right: auto !important;
	width: 38px !important;
	height: 38px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	background: rgba(241, 245, 249, 0.95) !important;
	border: 1px solid rgba(226, 232, 240, 0.8) !important;
	border-radius: 50% !important;
	font-size: 1.25rem !important;
	line-height: 1 !important;
	cursor: pointer !important;
	color: #64748b !important;
	transition: all 0.2s ease !important;
	z-index: 10 !important;
	padding: 0 !important;
}

.havir-modal-close:hover,
.havir-modal__close:hover {
	background: var(--havir-red, #e63946) !important;
	color: #ffffff !important;
	border-color: var(--havir-red, #e63946) !important;
	transform: rotate(90deg) scale(1.06) !important;
}

[dir="ltr"] .havir-modal-close,
[dir="ltr"] .havir-modal__close {
	right: 1.25rem !important;
	left: auto !important;
}

/* Quick View Content Grid */
.havir-quick-view-content {
	display: grid !important;
	grid-template-columns: 1fr !important;
	gap: 2.25rem !important;
	align-items: start !important;
}

@media (min-width: 768px) {
	.havir-quick-view-content {
		grid-template-columns: 360px 1fr !important;
		gap: 2.25rem !important;
	}
}

/* Gallery in Quick View */
.havir-quick-view-gallery {
	position: relative !important;
	width: 100% !important;
	aspect-ratio: 1 / 1 !important;
	background: #f8fafc !important;
	border-radius: 18px !important;
	border: 1px solid rgba(226, 232, 240, 0.9) !important;
	overflow: hidden !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	padding: 1.25rem !important;
	box-sizing: border-box !important;
}

.havir-quick-view-gallery img {
	max-width: 100% !important;
	max-height: 100% !important;
	width: auto !important;
	height: auto !important;
	object-fit: contain !important;
	object-position: center !important;
	border-radius: 12px !important;
	display: block !important;
	transition: transform 0.3s ease !important;
}

.havir-quick-view-gallery:hover img {
	transform: scale(1.03) !important;
}

.havir-quick-view-onsale {
	position: absolute !important;
	top: 12px !important;
	right: 12px !important;
	left: auto !important;
	z-index: 5 !important;
	background: linear-gradient(135deg, #ef4444, #dc2626) !important;
	color: #ffffff !important;
	font-size: 11px !important;
	font-weight: 800 !important;
	padding: 4px 12px !important;
	border-radius: 999px !important;
	box-shadow: 0 4px 12px rgba(239, 68, 68, 0.35) !important;
	line-height: 1.4 !important;
}

/* Summary in Quick View */
.havir-quick-view-summary {
	display: flex !important;
	flex-direction: column !important;
	gap: 0.85rem !important;
	min-width: 0 !important;
	padding: 0 !important;
}

.havir-quick-view-summary .product_title,
.havir-quick-view-summary h2.entry-title {
	font-size: 1.35rem !important;
	font-weight: 800 !important;
	line-height: 1.45 !important;
	color: #0f172a !important;
	margin: 0 !important;
	word-break: break-word !important;
}

.havir-quick-view-summary .price {
	font-size: 1.25rem !important;
	font-weight: 800 !important;
	color: var(--havir-red, #e63946) !important;
	margin: 0 !important;
	display: flex !important;
	align-items: center !important;
	gap: 8px !important;
}

.havir-quick-view-summary .price del {
	color: #94a3b8 !important;
	font-size: 0.95rem !important;
	font-weight: 500 !important;
}

.havir-quick-view-summary .price ins {
	text-decoration: none !important;
	color: var(--havir-red, #e63946) !important;
}

.havir-quick-view-summary .woocommerce-product-details__short-description {
	font-size: 13.5px !important;
	line-height: 1.8 !important;
	color: #475569 !important;
	margin: 0 !important;
	max-height: 140px !important;
	overflow-y: auto !important;
	padding-right: 4px !important;
	scrollbar-width: thin !important;
}

.havir-quick-view-summary .cart {
	display: flex !important;
	flex-wrap: wrap !important;
	align-items: center !important;
	gap: 10px !important;
	margin: 0.5rem 0 0 0 !important;
}

.havir-quick-view-summary .quantity {
	display: inline-flex !important;
	align-items: center !important;
	border: 1.5px solid #e2e8f0 !important;
	border-radius: 12px !important;
	overflow: hidden !important;
	background: #ffffff !important;
}

.havir-quick-view-summary .quantity input.qty {
	width: 50px !important;
	height: 42px !important;
	text-align: center !important;
	border: none !important;
	font-weight: 700 !important;
	font-size: 14px !important;
	color: #0f172a !important;
}

.havir-quick-view-summary .single_add_to_cart_button {
	flex: 1 1 180px !important;
	height: 44px !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	background: linear-gradient(135deg, var(--havir-red, #e63946), #d62828) !important;
	color: #ffffff !important;
	font-size: 13.5px !important;
	font-weight: 700 !important;
	border-radius: 12px !important;
	border: none !important;
	padding: 0 24px !important;
	cursor: pointer !important;
	box-shadow: 0 4px 14px rgba(230, 57, 70, 0.28) !important;
	transition: all 0.22s ease !important;
}

.havir-quick-view-summary .single_add_to_cart_button:hover {
	transform: translateY(-2px) !important;
	box-shadow: 0 6px 20px rgba(230, 57, 70, 0.38) !important;
}

/* Variations in Quick View */
.havir-quick-view-summary .variations {
	width: 100% !important;
	margin: 0 0 10px 0 !important;
	border-collapse: separate !important;
	border-spacing: 0 8px !important;
}

.havir-quick-view-summary .variations td.label {
	padding: 4px 8px 4px 0 !important;
	font-size: 13px !important;
	font-weight: 700 !important;
	color: #334155 !important;
	vertical-align: middle !important;
}

.havir-quick-view-summary .variations td.value select {
	width: 100% !important;
	height: 40px !important;
	border-radius: 10px !important;
	border: 1.5px solid #e2e8f0 !important;
	padding: 0 12px !important;
	font-size: 13px !important;
	background: #ffffff !important;
	color: #0f172a !important;
}

/* More Details Link */
.havir-quick-view-full-link {
	display: inline-flex !important;
	align-items: center !important;
	gap: 6px !important;
	margin-top: 0.5rem !important;
	font-size: 13px !important;
	font-weight: 700 !important;
	color: #64748b !important;
	text-decoration: none !important;
	transition: color 0.2s ease, transform 0.2s ease !important;
	padding: 10px 0 0 0 !important;
	border-top: 1px dashed #e2e8f0 !important;
	width: 100% !important;
}

.havir-quick-view-full-link:hover {
	color: var(--havir-red, #e63946) !important;
}

.havir-quick-view-full-link svg {
	transition: transform 0.2s ease !important;
}

.havir-quick-view-full-link:hover svg {
	transform: translateX(-4px) !important;
}

/* Mobile Quick View */
@media (max-width: 767px) {
	.havir-modal {
		padding: 12px !important;
		align-items: flex-end !important;
	}

	.havir-modal-content {
		width: 100% !important;
		max-height: 88vh !important;
		padding: 1.5rem !important;
		border-radius: 20px 20px 0 0 !important;
	}

	.havir-quick-view-gallery {
		aspect-ratio: 4 / 3 !important;
		padding: 1rem !important;
	}

	.havir-quick-view-summary .product_title {
		font-size: 1.15rem !important;
	}
}

/* Loader in Modal */
.havir-loader {
	width: 44px;
	height: 44px;
	margin: 80px auto;
	border: 3.5px solid #e2e8f0;
	border-top-color: var(--havir-red, #e63946);
	border-radius: 50%;
	animation: havirSpin 0.75s linear infinite;
}

@keyframes havirSpin {
	to { transform: rotate(360deg); }
}

/* 4. Quick View Button in Loop */
.havir-quick-view-btn {
	position: absolute;
	bottom: 12px;
	left: 50%;
	top: auto !important;
	transform: translateX(-50%) translateY(8px);
	background: rgba(15, 23, 42, 0.88);
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
	color: #ffffff !important;
	border: 1px solid rgba(255, 255, 255, 0.18);
	border-radius: 999px;
	padding: 6px 14px;
	font-size: 11.5px;
	font-weight: 700;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	box-shadow: 0 4px 14px rgba(0, 0, 0, 0.25);
	opacity: 0;
	visibility: hidden;
	transition: all 0.24s cubic-bezier(0.16, 1, 0.3, 1);
	z-index: 6;
	width: auto;
	height: 32px;
}
.havir-product-card:hover .havir-quick-view-btn,
.product:hover .havir-quick-view-btn {
	opacity: 1;
	visibility: visible;
	transform: translateX(-50%) translateY(0);
}
.havir-quick-view-btn:hover {
	background: var(--havir-red, #e63946);
	color: #ffffff !important;
	border-color: transparent;
}
.product {
	position: relative;
}

/* 5. Sticky Add To Cart */
.havir-sticky-cart {
	position: fixed;
	bottom: 0;
	left: 0;
	right: 0;
	background: var(--havir-surface);
	box-shadow: 0 -4px 20px rgba(0,0,0,0.1);
	z-index: var(--z-sticky, 990);
	padding: 0.75rem 0;
	transform: translateY(110%);
	opacity: 0;
	pointer-events: none;
	transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.3s ease;
}
.havir-sticky-cart.is-visible {
	transform: translateY(0);
	opacity: 1;
	pointer-events: auto;
}
@media (max-width: 768px) {
	.havir-sticky-cart {
		bottom: calc(60px + env(safe-area-inset-bottom, 0px)) !important;
		z-index: 997 !important;
		padding: 0.5rem 0 !important;
	}
}
.havir-sticky-cart__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
}
.havir-sticky-cart__info {
	display: flex;
	align-items: center;
	gap: 1rem;
}
.havir-sticky-cart__img {
	width: 48px;
	height: 48px;
	object-fit: cover;
	border-radius: var(--havir-radius-sm);
	display: none;
}
@media (min-width: 768px) {
	.havir-sticky-cart__img {
		display: block;
	}
}
.havir-sticky-cart__title {
	margin: 0;
	font-size: 1rem;
	display: none;
}
@media (min-width: 768px) {
	.havir-sticky-cart__title {
		display: block;
	}
}
.havir-sticky-cart__price {
	font-weight: bold;
	color: var(--havir-red);
}
.havir-sticky-cart__actions {
	display: flex;
	align-items: center;
	gap: 0.5rem;
}

/* 6. Loader */
.havir-loader {
	border: 3px solid var(--havir-border);
	border-top-color: var(--havir-red);
	border-radius: 50%;
	width: 40px;
	height: 40px;
	animation: spin 1s linear infinite;
	margin: 2rem auto;
}
@keyframes spin { 100% { transform: rotate(360deg); } }

/* 7. Checkout & Cart Shipping Methods Framing */
.woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals {
	display: block !important;
	width: 100% !important;
	box-sizing: border-box !important;
	padding: 16px !important;
	margin: 14px 0 !important;
	background: #f8fafc !important;
	border: 1.5px solid #e2e8f0 !important;
	border-radius: 14px !important;
}

.woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals th {
	display: flex !important;
	align-items: center !important;
	gap: 8px !important;
	width: 100% !important;
	padding: 0 0 12px 0 !important;
	background: transparent !important;
	border: none !important;
	border-bottom: 1px dashed #cbd5e1 !important;
	margin-bottom: 12px !important;
	color: #0f172a !important;
	font-size: 15px !important;
	font-weight: 800 !important;
	text-align: right !important;
	white-space: normal !important;
}

.woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals th::before,
.cart_totals tr.shipping th::before,
.cart_totals tr.woocommerce-shipping-totals th::before {
	content: "" !important;
	display: inline-block !important;
	width: 20px !important;
	height: 20px !important;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23e63946' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 6h12v10H3z'/%3E%3Cpath d='M15 10h4l2 3v3h-6z'/%3E%3Ccircle cx='7' cy='18' r='2'/%3E%3Ccircle cx='18' cy='18' r='2'/%3E%3C/svg%3E") no-repeat center center / contain !important;
	flex-shrink: 0 !important;
}

.woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals td {
	display: block !important;
	width: 100% !important;
	padding: 0 !important;
	border: none !important;
	background: transparent !important;
	box-sizing: border-box !important;
}

/* Cart Page Shipping & Totals Specific Layout */
.cart_totals table.shop_table,
.cart_totals table.shop_table tbody {
	display: block !important;
	width: 100% !important;
	border-collapse: separate !important;
}

.cart_totals table.shop_table tr.cart-subtotal {
	display: flex !important;
	justify-content: space-between !important;
	align-items: center !important;
	width: 100% !important;
	padding: 8px 0 !important;
	border-bottom: 1px solid #f1f5f9 !important;
	box-sizing: border-box !important;
}

.cart_totals table.shop_table tr.shipping,
.cart_totals table.shop_table tr.woocommerce-shipping-totals,
.cart_totals tr.shipping,
.cart_totals tr.woocommerce-shipping-totals {
	display: block !important;
	width: 100% !important;
	box-sizing: border-box !important;
	padding: 0 !important;
	margin: 14px 0 !important;
	background: transparent !important;
	border: none !important;
	border-top: 1px dashed #e2e8f0 !important;
	border-bottom: 1px dashed #e2e8f0 !important;
	padding-block: 14px !important;
}

.cart_totals tr.shipping th,
.cart_totals tr.woocommerce-shipping-totals th {
	display: flex !important;
	align-items: center !important;
	gap: 8px !important;
	width: 100% !important;
	padding: 0 0 10px 0 !important;
	background: transparent !important;
	border: none !important;
	margin: 0 !important;
	color: #0f172a !important;
	font-size: 14.5px !important;
	font-weight: 800 !important;
	text-align: right !important;
}

.cart_totals tr.shipping td,
.cart_totals tr.woocommerce-shipping-totals td {
	display: block !important;
	width: 100% !important;
	padding: 0 !important;
	border: none !important;
	background: transparent !important;
	box-sizing: border-box !important;
}

/* Shipping Options List */
ul#shipping_method,
.woocommerce-shipping-methods {
	list-style: none !important;
	padding: 0 !important;
	margin: 0 !important;
	display: flex !important;
	flex-direction: column !important;
	gap: 10px !important;
	width: 100% !important;
	box-sizing: border-box !important;
}

ul#shipping_method li,
.woocommerce-shipping-methods li {
	position: relative !important;
	display: flex !important;
	flex-direction: row !important;
	align-items: flex-start !important;
	justify-content: flex-start !important;
	gap: 10px !important;
	padding: 12px 14px !important;
	background: #ffffff !important;
	border: 1.5px solid #e2e8f0 !important;
	border-radius: 12px !important;
	cursor: pointer !important;
	transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1) !important;
	margin: 0 !important;
	list-style: none !important;
	box-shadow: 0 1px 3px rgba(15, 23, 42, 0.03) !important;
	box-sizing: border-box !important;
	text-align: right !important;
	direction: rtl !important;
}

ul#shipping_method li:hover,
.woocommerce-shipping-methods li:hover {
	border-color: #cbd5e1 !important;
	background: #f8fafc !important;
	box-shadow: 0 4px 12px rgba(15, 23, 42, 0.06) !important;
	transform: translateY(-1px) !important;
}

ul#shipping_method li:has(input:checked),
.woocommerce-shipping-methods li:has(input:checked),
ul#shipping_method li.is-selected,
.woocommerce-shipping-methods li.is-selected {
	border-color: var(--havir-red, #e63946) !important;
	background: #fffafa !important;
	box-shadow: 0 0 0 1px var(--havir-red, #e63946), 0 3px 10px rgba(230, 57, 70, 0.1) !important;
}

ul#shipping_method input[type="radio"],
.woocommerce-shipping-methods input[type="radio"] {
	appearance: auto !important;
	-webkit-appearance: auto !important;
	width: 18px !important;
	height: 18px !important;
	min-width: 18px !important;
	min-height: 18px !important;
	margin-top: 3px !important;
	margin-inline-end: 0 !important;
	flex-shrink: 0 !important;
	accent-color: var(--havir-red, #e63946) !important;
	cursor: pointer !important;
}

ul#shipping_method label,
.woocommerce-shipping-methods label {
	display: flex !important;
	flex-direction: column !important;
	align-items: flex-start !important;
	width: 100% !important;
	flex: 1 1 auto !important;
	margin: 0 !important;
	padding: 0 !important;
	font-size: 13px !important;
	line-height: 1.7 !important;
	color: #334155 !important;
	cursor: pointer !important;
	font-weight: 500 !important;
	text-align: right !important;
	word-break: break-word !important;
}

ul#shipping_method li:has(input:checked) label,
.woocommerce-shipping-methods li:has(input:checked) label,
ul#shipping_method li.is-selected label,
.woocommerce-shipping-methods li.is-selected label {
	color: #0f172a !important;
	font-weight: 600 !important;
}

ul#shipping_method .woocommerce-Price-amount,
.woocommerce-shipping-methods .woocommerce-Price-amount {
	display: inline-flex !important;
	align-items: center !important;
	font-weight: 800 !important;
	color: var(--havir-red, #e63946) !important;
	background: rgba(230, 57, 70, 0.08) !important;
	padding: 3px 8px !important;
	border-radius: 6px !important;
	font-size: 13px !important;
	margin-top: 6px !important;
	margin-inline-start: 0 !important;
}

.woocommerce-shipping-destination {
	font-size: 12.5px !important;
	color: #64748b !important;
	line-height: 1.65 !important;
	text-align: right !important;
	margin: 12px 0 4px !important;
	padding: 8px 10px !important;
	background: #f8fafc !important;
	border-radius: 8px !important;
	border: 1px solid #e2e8f0 !important;
}

.shipping-calculator-button {
	display: inline-block !important;
	font-size: 12px !important;
	font-weight: 700 !important;
	color: var(--havir-red, #e63946) !important;
	text-decoration: underline !important;
	cursor: pointer !important;
	margin-top: 4px !important;
}

/* 8. Quantity Controls Precision Styling */
.havir-quantity-control {
	display: inline-flex !important;
	align-items: center !important;
	border: 1px solid var(--havir-border, #e2e8f0) !important;
	border-radius: 999px !important;
	background: var(--havir-surface, #ffffff) !important;
	overflow: hidden !important;
	box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04) !important;
}

.havir-quantity-control .quantity {
	display: inline-flex !important;
	align-items: center !important;
	border: none !important;
	border-radius: 0 !important;
	padding: 0 !important;
	margin: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
}

.havir-quantity-control input.qty,
.havir-quantity-control .quantity input.qty {
	display: inline-block !important;
	width: 46px !important;
	inline-size: 46px !important;
	min-width: 46px !important;
	max-width: 46px !important;
	height: 38px !important;
	block-size: 38px !important;
	min-block-size: 38px !important;
	max-block-size: 38px !important;
	line-height: 38px !important;
	padding: 0 !important;
	margin: 0 !important;
	border: none !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	outline: none !important;
	text-align: center !important;
	font-size: 15px !important;
	font-weight: 800 !important;
	color: #0f172a !important;
	-moz-appearance: textfield !important;
	appearance: textfield !important;
}

.havir-quantity-control input.qty::-webkit-outer-spin-button,
.havir-quantity-control input.qty::-webkit-inner-spin-button {
	-webkit-appearance: none !important;
	margin: 0 !important;
}

.havir-quantity-control .havir-qty-btn {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 36px !important;
	inline-size: 36px !important;
	height: 38px !important;
	block-size: 38px !important;
	background: transparent !important;
	border: none !important;
	color: #475569 !important;
	font-size: 18px !important;
	font-weight: 700 !important;
	line-height: 1 !important;
	cursor: pointer !important;
	padding: 0 !important;
	margin: 0 !important;
	transition: all 0.2s ease !important;
	user-select: none !important;
}

.havir-quantity-control .havir-qty-btn:hover {
	background: rgba(230, 57, 70, 0.08) !important;
	color: var(--havir-red, #e63946) !important;
}

.woocommerce-checkout-review-order-table {
	border-collapse: separate !important;
	border-spacing: 0 !important;
	border-radius: 14px !important;
	overflow: hidden !important;
	width: 100% !important;
}

.woocommerce-checkout-review-order-table thead th {
	background: #f1f5f9 !important;
	color: #1e293b !important;
	font-size: 14px !important;
	font-weight: 800 !important;
	padding: 14px 16px !important;
	border-bottom: 2px solid #e2e8f0 !important;
}

.woocommerce-checkout-review-order-table td,
.woocommerce-checkout-review-order-table th {
	padding: 14px 16px !important;
}

.woocommerce-checkout-review-order-table tr.cart-subtotal th,
.woocommerce-checkout-review-order-table tr.cart-subtotal td {
	background: #ffffff !important;
	border-bottom: 1px solid #f1f5f9 !important;
	font-size: 14px !important;
	font-weight: 600 !important;
}

.woocommerce-checkout-review-order-table tr.order-total {
	background: #f8fafc !important;
	border-top: 2px solid #e2e8f0 !important;
}

.woocommerce-checkout-review-order-table tr.order-total th {
	color: #0f172a !important;
	font-size: 16px !important;
	font-weight: 800 !important;
	background: transparent !important;
}

.woocommerce-checkout-review-order-table tr.order-total td strong {
	color: var(--havir-red, #e63946) !important;
	font-size: 18px !important;
	font-weight: 800 !important;
}

/* ==========================================================================
   VARIABLE PRODUCT & VARIATION IMAGE LIGHTBOX (HAVIR DELUXE ZOOM)
   ========================================================================== */

/* 1. Enhanced Variation Thumbnail in Multi-Variation Selector & Swatches */
.mvc-item-img {
	position: relative !important;
	width: 68px !important;
	height: 68px !important;
	min-width: 68px !important;
	border-radius: 12px !important;
	border: 2px solid #e2e8f0 !important;
	overflow: hidden !important;
	background: #f8fafc !important;
	flex-shrink: 0 !important;
	cursor: zoom-in !important;
	transition: all 0.22s cubic-bezier(0.16, 1, 0.3, 1) !important;
	box-shadow: 0 2px 6px rgba(15, 23, 42, 0.05) !important;
}

.mvc-item-img:hover {
	transform: scale(1.06) !important;
	border-color: var(--havir-red, #e63946) !important;
	box-shadow: 0 6px 18px rgba(230, 57, 70, 0.22) !important;
}

.mvc-item-img img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	display: block !important;
	transition: transform 0.3s ease !important;
}

.mvc-item-img:hover img {
	transform: scale(1.08) !important;
}

/* Subtle magnifying glass badge on the thumbnail */
.mvc-item-img::after {
	content: "" !important;
	position: absolute !important;
	bottom: 3px !important;
	left: 3px !important;
	width: 20px !important;
	height: 20px !important;
	background: rgba(15, 23, 42, 0.78) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'/%3E%3Cline x1='11' y1='8' x2='11' y2='14'/%3E%3Cline x1='8' y1='11' x2='14' y2='11'/%3E%3C/svg%3E") no-repeat center center / 12px !important;
	border-radius: 6px !important;
	opacity: 0.88 !important;
	transition: all 0.2s ease !important;
	pointer-events: none !important;
	z-index: 2 !important;
}

.mvc-item-img:hover::after {
	opacity: 1 !important;
	transform: scale(1.1) !important;
	background-color: var(--havir-red, #e63946) !important;
}

/* Selected state border */
.mvc-item.mvc-item--selected .mvc-item-img {
	border-color: #10b981 !important;
	box-shadow: 0 0 0 1px #10b981, 0 4px 12px rgba(16, 185, 129, 0.2) !important;
}

/* Also enhance standard swatches */
.havir-swatches-wrap .havir-swatch-btn img,
.variations .swatch-image,
.variation-radios img {
	cursor: zoom-in !important;
	border-radius: 8px !important;
	transition: transform 0.2s ease, box-shadow 0.2s ease !important;
}

.havir-swatches-wrap .havir-swatch-btn:hover img,
.variations .swatch-image:hover,
.variation-radios label:hover img {
	transform: scale(1.1) !important;
}

/* 2. Variation Lightbox Modal */
.havir-var-lightbox {
	position: fixed !important;
	inset: 0 !important;
	width: 100vw !important;
	height: 100vh !important;
	z-index: 9999999 !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	padding: 16px !important;
	box-sizing: border-box !important;
	opacity: 0 !important;
	visibility: hidden !important;
	transition: opacity 0.25s cubic-bezier(0.16, 1, 0.3, 1), visibility 0.25s ease !important;
	direction: rtl !important;
}

.havir-var-lightbox.is-open {
	opacity: 1 !important;
	visibility: visible !important;
}

.havir-var-lightbox__backdrop {
	position: absolute !important;
	inset: 0 !important;
	background: rgba(15, 23, 42, 0.78) !important;
	backdrop-filter: blur(10px) !important;
	-webkit-backdrop-filter: blur(10px) !important;
	cursor: pointer !important;
}

.havir-var-lightbox__dialog {
	position: relative !important;
	background: #ffffff !important;
	width: min(520px, 94vw) !important;
	max-height: min(88vh, 760px) !important;
	border-radius: 22px !important;
	border: 1px solid rgba(226, 232, 240, 0.9) !important;
	box-shadow: 0 25px 60px -15px rgba(15, 23, 42, 0.38), 0 0 0 1px rgba(0, 0, 0, 0.05) !important;
	display: flex !important;
	flex-direction: column !important;
	overflow: hidden !important;
	z-index: 2 !important;
	transform: scale(0.92) translateY(12px) !important;
	transition: transform 0.28s cubic-bezier(0.16, 1, 0.3, 1) !important;
	box-sizing: border-box !important;
}

.havir-var-lightbox.is-open .havir-var-lightbox__dialog {
	transform: scale(1) translateY(0) !important;
}

/* Close button */
.havir-var-lightbox__close {
	position: absolute !important;
	top: 14px !important;
	left: 14px !important;
	right: auto !important;
	width: 40px !important;
	height: 40px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	background: rgba(255, 255, 255, 0.92) !important;
	border: 1px solid #e2e8f0 !important;
	border-radius: 50% !important;
	color: #475569 !important;
	cursor: pointer !important;
	z-index: 10 !important;
	box-shadow: 0 4px 12px rgba(15, 23, 42, 0.12) !important;
	transition: all 0.2s ease !important;
	padding: 0 !important;
}

.havir-var-lightbox__close:hover {
	background: var(--havir-red, #e63946) !important;
	color: #ffffff !important;
	border-color: var(--havir-red, #e63946) !important;
	transform: rotate(90deg) scale(1.06) !important;
}

/* Image preview section */
.havir-var-lightbox__image-wrap {
	position: relative !important;
	width: 100% !important;
	background: linear-gradient(135deg, #f8fafc, #f1f5f9) !important;
	aspect-ratio: 1 / 1 !important;
	max-height: 48vh !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	padding: 20px !important;
	box-sizing: border-box !important;
	overflow: hidden !important;
	border-bottom: 1px solid #f1f5f9 !important;
}

.havir-var-lightbox__img {
	max-width: 100% !important;
	max-height: 100% !important;
	width: auto !important;
	height: auto !important;
	object-fit: contain !important;
	border-radius: 12px !important;
	display: block !important;
	transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.2s ease !important;
	box-shadow: 0 4px 16px rgba(15, 23, 42, 0.06) !important;
}

.havir-var-lightbox__img.is-loading {
	opacity: 0.3 !important;
	transform: scale(0.96) !important;
}

.havir-var-lightbox__zoom-hint {
	position: absolute !important;
	bottom: 12px !important;
	right: 14px !important;
	display: inline-flex !important;
	align-items: center !important;
	gap: 6px !important;
	padding: 5px 12px !important;
	background: rgba(15, 23, 42, 0.72) !important;
	backdrop-filter: blur(6px) !important;
	-webkit-backdrop-filter: blur(6px) !important;
	color: #ffffff !important;
	font-size: 11.5px !important;
	font-weight: 700 !important;
	border-radius: 999px !important;
	pointer-events: none !important;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2) !important;
}

.havir-var-lightbox__zoom-hint svg {
	color: #ffffff !important;
}

/* Spinner loader */
.havir-var-lightbox__loader {
	position: absolute !important;
	width: 38px !important;
	height: 38px !important;
	border: 3px solid rgba(226, 232, 240, 0.6) !important;
	border-top-color: var(--havir-red, #e63946) !important;
	border-radius: 50% !important;
	animation: havirSpin 0.7s linear infinite !important;
	display: none !important;
}

.havir-var-lightbox__loader.is-visible {
	display: block !important;
}

/* Lightbox Body / Info */
.havir-var-lightbox__body {
	padding: 18px 22px 22px 22px !important;
	display: flex !important;
	flex-direction: column !important;
	gap: 14px !important;
	background: #ffffff !important;
	box-sizing: border-box !important;
}

.havir-var-lightbox__header {
	display: flex !important;
	flex-direction: column !important;
	gap: 8px !important;
}

.havir-var-lightbox__title {
	font-size: 1.25rem !important;
	font-weight: 800 !important;
	color: #0f172a !important;
	margin: 0 !important;
	line-height: 1.4 !important;
	word-break: break-word !important;
}

.havir-var-lightbox__meta {
	display: flex !important;
	align-items: center !important;
	flex-wrap: wrap !important;
	gap: 10px !important;
}

.havir-var-lightbox__price {
	font-size: 1.2rem !important;
	font-weight: 800 !important;
	color: var(--havir-red, #e63946) !important;
	background: rgba(230, 57, 70, 0.08) !important;
	padding: 4px 12px !important;
	border-radius: 8px !important;
}

.havir-var-lightbox__stock {
	font-size: 0.85rem !important;
	font-weight: 700 !important;
	color: #059669 !important;
	background: #ecfdf5 !important;
	border: 1px solid #a7f3d0 !important;
	padding: 4px 12px !important;
	border-radius: 8px !important;
}

.havir-var-lightbox__actions {
	display: flex !important;
	align-items: center !important;
	gap: 10px !important;
	margin-top: 4px !important;
}

.havir-var-lightbox__select-btn {
	flex: 1 1 auto !important;
	height: 46px !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 8px !important;
	background: linear-gradient(135deg, var(--havir-red, #e63946), #d62828) !important;
	color: #ffffff !important;
	font-size: 14px !important;
	font-weight: 800 !important;
	border-radius: 12px !important;
	border: none !important;
	cursor: pointer !important;
	box-shadow: 0 4px 16px rgba(230, 57, 70, 0.3) !important;
	transition: all 0.22s cubic-bezier(0.16, 1, 0.3, 1) !important;
	padding: 0 20px !important;
}

.havir-var-lightbox__select-btn:hover {
	transform: translateY(-2px) !important;
	box-shadow: 0 6px 22px rgba(230, 57, 70, 0.42) !important;
}

.havir-var-lightbox__cancel-btn {
	height: 46px !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	padding: 0 18px !important;
	background: #f1f5f9 !important;
	color: #475569 !important;
	font-size: 13.5px !important;
	font-weight: 700 !important;
	border-radius: 12px !important;
	border: 1px solid #e2e8f0 !important;
	cursor: pointer !important;
	transition: all 0.2s ease !important;
}

.havir-var-lightbox__cancel-btn:hover {
	background: #e2e8f0 !important;
	color: #0f172a !important;
}

/* Responsive for Mobile Devices */
@media (max-width: 640px) {
	.havir-var-lightbox {
		padding: 10px !important;
		align-items: center !important;
	}

	.havir-var-lightbox__dialog {
		width: 95vw !important;
		max-height: 90vh !important;
		border-radius: 18px !important;
	}

	.havir-var-lightbox__image-wrap {
		max-height: 42vh !important;
		padding: 14px !important;
	}

	.havir-var-lightbox__body {
		padding: 14px 16px 16px 16px !important;
		gap: 10px !important;
	}

	.havir-var-lightbox__title {
		font-size: 1.1rem !important;
	}

	.havir-var-lightbox__price {
		font-size: 1.05rem !important;
	}

	.havir-var-lightbox__select-btn,
	.havir-var-lightbox__cancel-btn {
		height: 42px !important;
		font-size: 13px !important;
	}

	.mvc-item-img {
		width: 60px !important;
		height: 60px !important;
		min-width: 60px !important;
	}
}
