/*
Theme Name: Mantraadhi Child
Template: astra
Version: 1.0.11
Description: Mantraadhi product-page redesign. Child theme of Astra.
Author: EMCP
*/

/* ============================================================
   Mantraadhi — single product page
   Palette: maroon #A00220 / gold #C9A227 / warm paper
   ============================================================ */
:root {
	--ma-maroon: #A00220;
	--ma-maroon-dark: #7a0018;
	--ma-gold: #C9A227;
	--ma-ink: #2b2b2b;
	--ma-muted: #6b6b6b;
	--ma-line: #ece6dc;
	--ma-cream: #faf7f2;
}

body.single-product {
	font-family: 'Ubuntu', -apple-system, BlinkMacSystemFont, sans-serif;
	color: var(--ma-ink);
}

/* Framed page content */
.single-product #primary {
	background: #fff;
	border: 1px solid var(--ma-line);
	border-radius: 16px;
	padding: 30px 32px;
}

/* ---------- Layout: image left, summary right ---------- */
.single-product div.product {
	display: flex;
	flex-wrap: wrap;
	gap: 40px;
	align-items: flex-start;
}
.single-product div.product .woocommerce-product-gallery {
	width: 46%;
	float: none;
	margin: 0;
}
.single-product div.product .summary {
	width: 50%;
	float: none;
	margin: 0;
}

@media (max-width: 900px) {
	.single-product div.product .woocommerce-product-gallery,
	.single-product div.product .summary {
		width: 100%;
	}
}

/* ---------- Gallery ---------- */
.single-product .woocommerce-product-gallery {
	border-radius: 14px;
	overflow: hidden;
	background: var(--ma-cream);
}
.single-product .woocommerce-product-gallery .woocommerce-product-gallery__image img {
	border-radius: 14px;
}
.single-product .woocommerce-product-gallery .flex-control-thumbs {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 14px 0 0;
	padding: 0;
}
.single-product .woocommerce-product-gallery .flex-control-thumbs li {
	list-style: none;
	width: 74px;
}
.single-product .woocommerce-product-gallery .flex-control-thumbs img {
	border: 2px solid transparent;
	border-radius: 10px;
	opacity: .65;
	cursor: pointer;
	transition: opacity .2s ease, border-color .2s ease;
}
.single-product .woocommerce-product-gallery .flex-control-thumbs img:hover {
	opacity: 1;
}
.single-product .woocommerce-product-gallery .flex-control-thumbs img.flex-active {
	border-color: var(--ma-maroon);
	opacity: 1;
}

/* ---------- Summary ---------- */
.single-product-category {
	display: block;
	font: 600 11px/1.5 'Ubuntu', sans-serif;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--ma-maroon);
	margin: 0 0 10px;
}
.single-product-category a {
	color: var(--ma-maroon);
	text-decoration: none;
}
.single-product-category a:hover {
	color: var(--ma-gold);
}

.single-product .product_title {
	font-family: 'Playfair Display', Georgia, serif;
	font-size: 34px;
	font-weight: 600;
	line-height: 1.15;
	color: var(--ma-ink);
	margin: 0 0 8px;
}

.single-product .summary .price {
	font-size: 25px;
	font-weight: 700;
	color: var(--ma-maroon);
	margin: 0 0 20px;
}

/* Size row */
.ma-size-row {
	display: flex;
	align-items: center;
	gap: 14px;
	margin: 0 0 22px;
	padding: 14px 0;
	border-top: 1px solid var(--ma-line);
	border-bottom: 1px solid var(--ma-line);
}
.ma-size-label {
	font: 600 12px 'Ubuntu', sans-serif;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--ma-muted);
}
.ma-size-select {
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	border: 0;
	border-bottom: 1px solid var(--ma-ink);
	border-radius: 0;
	background:
		url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236b6b6b' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E")
		no-repeat right 2px center;
	padding: 6px 26px 6px 0;
	min-width: 110px;
	font: 500 14px 'Ubuntu', sans-serif;
	color: var(--ma-ink);
	cursor: pointer;
}
.ma-size-chart {
	margin-left: auto;
	font: 600 12px 'Ubuntu', sans-serif;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--ma-gold);
	border-bottom: 1px dashed var(--ma-gold);
	text-decoration: none;
}

/* Structured details (from short description) */
.ma-details {
	margin: 0 0 24px;
	padding: 16px 20px;
	background: var(--ma-cream);
	border: 1px solid var(--ma-line);
	border-radius: 12px;
}
.ma-details strong {
	color: var(--ma-ink);
	font-weight: 600;
}
.ma-details p,
.ma-details div {
	margin: 0 0 6px;
	color: var(--ma-muted);
	line-height: 1.7;
}
.ma-details p:last-child,
.ma-details div:last-child {
	margin-bottom: 0;
}

/* Cart form + buttons */
.single-product form.cart {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 0 0 12px;
}
.single-product form.cart .quantity {
	margin: 0;
}
.single-product form.cart .quantity input.qty {
	border: 1px solid var(--ma-line);
	border-radius: 999px;
	height: 48px;
	width: 84px;
	text-align: center;
	font-weight: 500;
}
.single_add_to_cart_button {
	flex: 1 1 180px;
	text-align: center;
	background: transparent !important;
	color: var(--ma-maroon) !important;
	border: 2px solid var(--ma-maroon) !important;
	border-radius: 999px !important;
	font: 600 13px 'Ubuntu', sans-serif !important;
	letter-spacing: .1em;
	text-transform: uppercase;
	padding: 13px 26px !important;
	height: 48px;
	line-height: 1 !important;
	transition: background .2s ease, color .2s ease;
}
.single_add_to_cart_button:hover {
	background: var(--ma-maroon) !important;
	color: #fff !important;
}

/* Buy Now */
.ma-buy-now.button {
	display: block;
	width: 100%;
	text-align: center;
	background: var(--ma-maroon) !important;
	color: #fff !important;
	border: 2px solid var(--ma-maroon) !important;
	border-radius: 999px !important;
	font: 600 13px 'Ubuntu', sans-serif !important;
	letter-spacing: .1em;
	text-transform: uppercase;
	padding: 15px 26px !important;
	margin: 0 0 10px;
	line-height: 1.2;
	transition: background .2s ease, color .2s ease;
}
.ma-buy-now.button:hover {
	background: #fff !important;
	color: var(--ma-maroon) !important;
}
.ma-buy-now.button.loading {
	opacity: .6;
	pointer-events: none;
}

/* Product meta */
.single-product .product_meta {
	margin-top: 6px;
	font-size: 13px;
	color: var(--ma-muted);
}
.single-product .product_meta a {
	color: var(--ma-gold);
}

/* ---------- Accordion ---------- */
.ma-accordion {
	margin: 10px 0 34px;
	border: 1px solid var(--ma-line);
	border-radius: 14px;
	overflow: hidden;
	background: #fff;
}
.ma-accordion-item {
	border-bottom: 1px solid var(--ma-line);
}
.ma-accordion-item:last-child {
	border-bottom: 0;
}
.ma-accordion-title {
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 100%;
	padding: 16px 20px;
	background: none;
	border: 0;
	font: 600 14px 'Ubuntu', sans-serif;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--ma-ink);
	cursor: pointer;
	text-align: left;
}
.ma-accordion-title:hover {
	color: var(--ma-maroon);
}
.ma-chev {
	transition: transform .25s ease;
	color: var(--ma-gold);
	flex: 0 0 auto;
}
.ma-accordion-item.is-open .ma-chev {
	transform: rotate(180deg);
}
.ma-accordion-body {
	max-height: 0;
	overflow: hidden;
	transition: max-height .3s ease;
}
.ma-accordion-body-inner {
	padding: 0 20px 18px;
	color: var(--ma-muted);
	font-size: 14px;
	line-height: 1.7;
}
.ma-accordion-body-inner strong {
	color: var(--ma-ink);
}

/* ---------- Tabs ---------- */
.woocommerce-tabs {
	margin-top: 4px;
}
.woocommerce-tabs ul.tabs {
	display: flex;
	flex-wrap: wrap;
	margin: 0 0 22px;
	padding: 0;
	border-bottom: 1px solid var(--ma-line);
	list-style: none;
}
.woocommerce-tabs ul.tabs li {
	margin: 0;
}
.woocommerce-tabs ul.tabs li a {
	display: block;
	padding: 12px 22px;
	font: 600 13px 'Ubuntu', sans-serif;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--ma-muted);
	border-bottom: 2px solid transparent;
	margin-bottom: -1px;
}
.woocommerce-tabs ul.tabs li.active a {
	color: var(--ma-maroon);
	border-bottom-color: var(--ma-maroon);
}
.woocommerce-tabs .panel {
	padding: 4px 0 28px;
	color: var(--ma-muted);
	line-height: 1.8;
}

/* ---------- Related products ---------- */
.related.products {
	margin-top: 44px;
	padding-top: 30px;
	border-top: 1px solid var(--ma-line);
}
.related.products > h2 {
	font-family: 'Playfair Display', Georgia, serif;
	font-size: 26px;
	font-weight: 600;
	color: var(--ma-ink);
	margin: 0 0 24px;
}
.related.products ul.products {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 18px;
	padding: 0;
	margin: 0;
	list-style: none;
}
.related.products li.product {
	background: #fff;
	border: 1px solid var(--ma-line);
	border-radius: 14px;
	overflow: hidden;
	text-align: center;
	transition: transform .2s ease, box-shadow .2s ease;
}
.related.products li.product:hover {
	transform: translateY(-4px);
	box-shadow: 0 12px 30px rgba(0, 0, 0, .08);
}
.related.products li.product img {
	width: 100%;
	height: auto;
}
.related.products li.product .woocommerce-loop-product__title {
	font: 500 14px 'Ubuntu', sans-serif;
	color: var(--ma-ink);
	margin: 12px 10px 4px;
	padding: 0;
}
.related.products li.product .price {
	font-weight: 700;
	font-size: 15px;
	color: var(--ma-maroon);
	margin: 0 10px 14px;
}

@media (max-width: 900px) {
	.related.products ul.products {
		grid-template-columns: repeat(2, 1fr);
	}
}

/* ============================================================
   Contact page (Elementor page 409)
   ============================================================ */
.elementor-page-409 #content {
	font-family: 'Ubuntu', -apple-system, BlinkMacSystemFont, sans-serif;
}

/* ---------- Hero: tagline above divider ---------- */
.elementor-page-409 .e-con-inner > .elementor-widget-heading:last-child {
	margin-top: 2px;
}

/* ---------- Info cards (chrome lives on the wrapper, 20px padding + shadow) ---------- */
.elementor-page-409 [data-id="c3d4e5f"] .elementor-widget-icon-box {
	background: transparent;
	border: 0;
	border-radius: 0;
	padding: 0;
	transition: transform .2s ease, box-shadow .2s ease;
}
.elementor-page-409 [data-id="c3d4e5f"] .elementor-widget-icon-box:hover {
	transform: translateY(-3px);
	box-shadow: 0 6px 16px rgba(0, 0, 0, .06);
}
.elementor-page-409 [data-id="c3d4e5f"] .elementor-icon-box-wrapper {
	align-items: center !important;
}
.elementor-page-409 [data-id="c3d4e5f"] .elementor-icon-box-icon {
	min-width: 48px;
}
.elementor-page-409 [data-id="5b63802"] .elementor-icon-box-description {
	white-space: pre-line;
}

/* ---------- Form: boxed inputs ---------- */
.elementor-page-409 .wpforms-container .wpforms-field {
	padding: 0;
	margin-bottom: 16px !important;
}
.elementor-page-409 .wpforms-container input[type='text'],
.elementor-page-409 .wpforms-container input[type='email'],
.elementor-page-409 .wpforms-container input[type='tel'],
.elementor-page-409 .wpforms-container input[type='url'],
.elementor-page-409 .wpforms-container textarea {
	background: #fff !important;
	border: 1px solid #E0E0E0 !important;
	border-radius: 6px !important;
	padding: 12px 16px !important;
	font-family: 'Ubuntu', sans-serif;
	font-size: 15px;
	color: var(--ma-ink);
	box-shadow: none !important;
	transition: border-color .2s ease, box-shadow .2s ease;
}
.elementor-page-409 .wpforms-container input::placeholder,
.elementor-page-409 .wpforms-container textarea::placeholder {
	color: #8A8178 !important;
	opacity: 1;
	font-weight: 400;
}
.elementor-page-409 .wpforms-container input:focus,
.elementor-page-409 .wpforms-container textarea:focus {
	border-color: var(--ma-gold) !important;
	box-shadow: 0 0 0 2px rgba(201, 162, 39, .15) !important;
	outline: none;
}
.elementor-page-409 .wpforms-container textarea {
	min-height: 96px !important;
	resize: vertical;
}
/* Name / Last name side-by-side */
.elementor-page-409 .wpforms-container .wpforms-field-name .wpforms-field-row {
	gap: 14px !important;
}

/* ---------- Submit button: solid maroon, rounded ---------- */
.elementor-page-409 .wpforms-container button[type='submit'],
.elementor-page-409 .wpforms-container .wpforms-submit {
	background: var(--ma-maroon) !important;
	color: #fff !important;
	border: 1px solid var(--ma-maroon) !important;
	border-radius: 6px !important;
	font: 600 14px 'Ubuntu', sans-serif !important;
	letter-spacing: .12em;
	text-transform: uppercase;
	padding: 14px 40px !important;
	transition: background .2s ease, color .2s ease, border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}
.elementor-page-409 .wpforms-container button[type='submit']:hover,
.elementor-page-409 .wpforms-container .wpforms-submit:hover {
	background: var(--ma-gold) !important;
	border-color: var(--ma-gold) !important;
	color: var(--ma-maroon) !important;
	transform: translateY(-1px);
	box-shadow: 0 6px 16px rgba(139, 30, 47, .22);
}
@media (max-width: 767px) {
	.elementor-page-409 .wpforms-container button[type='submit'],
	.elementor-page-409 .wpforms-container .wpforms-submit {
		width: 100%;
	}
}

/* ============================================================
   Homepage (Elementor page 408) — section headings
   Atomic e-heading (New Arrivals) uses #mtdh-carousel-title-1;
   legacy heading (Best Sellers) css_id isn't rendered, target data-id.
   ============================================================ */
.elementor-page-408 #mtdh-carousel-title-1.e-heading-base,
.elementor-page-408 [data-id="0d32daa"] .elementor-heading-title {
	font-family: 'Playfair Display', Georgia, serif;
	font-weight: 600;
	color: var(--ma-maroon);
}

/* ============================================================
   Global — overflow prevention + layout guards
   ============================================================ */
html, body {
	overflow-x: hidden;
}
body {
	max-width: 100vw;
}
.elementor-section, .elementor-container, .elementor-column,
.elementor-widget-wrap, .e-con, .e-con-inner {
	box-sizing: border-box;
}
img, iframe, video, svg {
	max-width: 100%;
}
.elementor-page img, .elementor-page iframe, .elementor-page video {
	height: auto;
}

/* ============================================================
   Cart drawer (Astra slide-out mini cart) — Mantraadhi redesign
   Palette: #FFFFFF bg / #9E1B39 accent / #1A1A1A ink /
            #6B6B6B muted / #E5E5E5 lines / #D9D9D9 stepper
   ============================================================ */
.astra-cart-drawer {
	--ma-cart-accent: #9E1B39;
	--ma-cart-accent-dark: #7e1530;
	--ma-cart-ink: #1A1A1A;
	--ma-cart-muted: #6B6B6B;
	--ma-cart-line: #E5E5E5;
	--ma-cart-step: #D9D9D9;
	background: #FFFFFF !important;
	font-family: 'Ubuntu', -apple-system, BlinkMacSystemFont, sans-serif;
}

/* Width: mobile = full viewport, desktop = 420px. */
.astra-cart-drawer {
	width: 100vw !important;
}
@media (min-width: 768px) {
	.astra-cart-drawer {
		width: 420px !important;
	}
}

/* ---------- Header ---------- */
.astra-cart-drawer .astra-cart-drawer-header {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	height: 72px;
	max-height: 72px;
	padding: 0 64px;
	border-bottom: 1px solid var(--ma-cart-line);
	background: #FFFFFF;
	text-align: center;
	z-index: 2;
}
.astra-cart-drawer .astra-cart-drawer-title {
	font-family: 'Playfair Display', Georgia, serif;
	font-size: 30px;
	font-weight: 500;
	line-height: 1;
	letter-spacing: 0;
	color: var(--ma-cart-ink);
}
.astra-cart-drawer .astra-cart-drawer-close {
	position: absolute;
	top: 50%;
	right: 14px;
	transform: translateY(-50%);
	color: var(--ma-cart-ink);
	background: none;
	border: 0;
	padding: 6px;
	cursor: pointer;
}
.astra-cart-drawer .astra-cart-drawer-close .ast-close-svg {
	width: 24px;
	height: 24px;
}
.astra-cart-drawer .astra-cart-drawer-close:hover {
	color: var(--ma-cart-accent);
}

/* ---------- Content column ---------- */
.astra-cart-drawer .astra-cart-drawer-content {
	padding-top: 72px;
	height: 100%;
}
.astra-cart-drawer .astra-cart-drawer-content .widget_shopping_cart_content {
	display: flex;
	flex-direction: column;
	height: 100%;
	overflow: hidden;
}

/* ---------- Labels row ---------- */
.ma-cart-labels {
	display: flex;
	justify-content: space-between;
	flex: 0 0 auto;
	padding: 14px 20px 10px;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 1px;
	text-transform: uppercase;
	color: var(--ma-cart-muted);
}

/* ---------- Items list ---------- */
#astra-mobile-cart-drawer .woocommerce-mini-cart {
	flex: 1 1 auto;
	overflow-y: auto;
	margin: 0;
	padding: 0 20px;
	list-style: none;
}
#astra-mobile-cart-drawer .woocommerce-mini-cart li.mini_cart_item {
	display: flex;
	gap: 16px;
	min-height: 140px;
	padding: 20px 0;
	border-bottom: 1px solid var(--ma-cart-line);
	position: relative;
}

/* ---------- Item image ---------- */
#astra-mobile-cart-drawer .ma-item-img {
	flex: 0 0 100px;
	display: block;
	text-decoration: none;
}
#astra-mobile-cart-drawer .ma-item-img img {
	width: 100px;
	height: 120px;
	object-fit: cover;
	border-radius: 0;
	display: block;
}

/* ---------- Item info ---------- */
.ma-item-info {
	flex: 1 1 auto;
	display: flex;
	flex-direction: column;
	min-width: 0;
}
.ma-item-name {
	font-family: 'Ubuntu', sans-serif;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.3;
	color: var(--ma-cart-ink);
	text-decoration: none;
}
.ma-item-name:hover {
	color: var(--ma-cart-accent);
}
.ma-item-meta {
	margin-top: 4px;
	font-size: 13px;
	line-height: 1.4;
	color: var(--ma-cart-muted);
}
.ma-item-price {
	margin-top: 6px;
	font-size: 15px;
	font-weight: 500;
	line-height: 1;
	color: var(--ma-cart-ink);
}
.ma-item-bottom {
	margin-top: auto;
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding-top: 10px;
}

/* ---------- Quantity stepper ---------- */
.ma-qty {
	display: inline-flex;
	align-items: center;
	height: 36px;
	border: 1px solid var(--ma-cart-step);
	border-radius: 4px;
	background: #FFFFFF;
	overflow: hidden;
}
.ma-qty.is-loading {
	opacity: 0.5;
	pointer-events: none;
}
.ma-qty-btn {
	width: 34px;
	height: 36px;
	border: 1px solid var(--ma-cart-step);
	background: #FFFFFF;
	color: var(--ma-cart-ink);
	font-size: 18px;
	line-height: 1;
	cursor: pointer;
	padding: 0;
}
.ma-qty-btn:hover {
	background: var(--ma-cart-accent);
	border-color: var(--ma-cart-accent);
	color: #FFFFFF;
}
.ma-qty-input {
	width: 40px;
	height: 36px;
	border: none;
	border-left: 1px solid var(--ma-cart-step);
	border-right: 1px solid var(--ma-cart-step);
	background: #FFFFFF;
	text-align: center;
	font-family: 'Ubuntu', sans-serif;
	font-size: 14px;
	font-weight: 500;
	color: var(--ma-cart-ink);
	-moz-appearance: textfield;
	appearance: textfield;
}
.ma-qty-input::-webkit-outer-spin-button,
.ma-qty-input::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

/* ---------- Trash / remove ---------- */
#astra-mobile-cart-drawer .woocommerce-mini-cart li.mini_cart_item a.remove {
	position: static;
	display: inline-flex;
	align-items: center;
	width: auto;
	height: auto;
	line-height: 1;
	background: none;
	border-radius: 0;
	color: var(--ma-cart-muted);
	font-size: 0;
}
#astra-mobile-cart-drawer .woocommerce-mini-cart li.mini_cart_item a.remove:hover {
	background: none;
	color: var(--ma-cart-accent);
}
.ma-item-remove {
	color: var(--ma-cart-muted);
}

/* ---------- Footer (sticky) ---------- */
.ma-cart-footer {
	flex: 0 0 auto;
	border-top: 1px solid var(--ma-cart-line);
	padding: 16px 20px 20px;
	background: #FFFFFF;
}
.ma-cart-total {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	margin-bottom: 6px;
}
.ma-cart-total-label {
	font-family: 'Ubuntu', sans-serif;
	font-size: 16px;
	font-weight: 600;
	color: var(--ma-cart-ink);
}
.ma-cart-total-amount {
	font-family: 'Ubuntu', sans-serif;
	font-size: 18px;
	font-weight: 700;
	color: var(--ma-cart-ink);
}
.ma-cart-note {
	margin: 0 0 14px;
	font-size: 13px;
	line-height: 1.4;
	color: var(--ma-cart-muted);
}
.ma-checkout-btn {
	display: flex !important;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 52px;
	margin: 0;
	border: 0 !important;
	border-radius: 4px !important;
	background: var(--ma-cart-accent) !important;
	color: #FFFFFF !important;
	font-family: 'Ubuntu', sans-serif !important;
	font-size: 16px;
	font-weight: 600;
	letter-spacing: 0.5px;
	text-transform: uppercase;
	text-decoration: none;
}
.ma-checkout-btn:hover {
	background: var(--ma-cart-accent-dark) !important;
	color: #FFFFFF !important;
}
.ma-view-cart {
	display: block;
	margin: 14px auto 0;
	border: 0 !important;
	background: none !important;
	color: var(--ma-cart-ink) !important;
	font-family: 'Ubuntu', sans-serif !important;
	font-size: 13px;
	font-weight: 500;
	text-decoration: underline;
	text-align: center;
}
.ma-view-cart:hover {
	color: var(--ma-cart-accent) !important;
}

/* ---------- Empty state ---------- */
.astra-cart-drawer .astra-cart-drawer-content .ast-mini-cart-empty {
	font-family: 'Ubuntu', sans-serif;
	color: var(--ma-cart-muted);
}

/* ============================================================
   MANTRADHI SHOP ARCHIVE v2 — /shop/ + product category pages
   Reference style: dribyhimadri collections. Added 2026-08-06.
   Scoped with .woocommerce-shop / .tax-product_cat so the
   homepage, single product, cart, footer and header stay intact.
   ============================================================ */

/* ---------- Topbar: title left, "X products" + Sort right ---------- */
.woocommerce-shop .ast-woocommerce-container,
.tax-product_cat .ast-woocommerce-container {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	column-gap: 20px;
	row-gap: 16px;
}
.woocommerce-shop .ast-woocommerce-container > .woocommerce-breadcrumb,
.tax-product_cat .ast-woocommerce-container > .woocommerce-breadcrumb {
	flex: 1 1 100%;
	margin: 0 0 4px;
	font-size: .78rem;
	letter-spacing: .3px;
	color: #9b9191;
}
.woocommerce-shop .ast-woocommerce-container > .woocommerce-breadcrumb a,
.tax-product_cat .ast-woocommerce-container > .woocommerce-breadcrumb a {
	color: #7a6a6a;
}
.woocommerce-shop .ast-woocommerce-container > .woocommerce-breadcrumb a:hover,
.tax-product_cat .ast-woocommerce-container > .woocommerce-breadcrumb a:hover {
	color: #3a3a3a;
}
.woocommerce-shop .ast-woocommerce-container > .woocommerce-products-header,
.tax-product_cat .ast-woocommerce-container > .woocommerce-products-header {
	margin: 0;
}
.woocommerce-shop .woocommerce-products-header .woocommerce-products-header__title.page-title,
.tax-product_cat .woocommerce-products-header .woocommerce-products-header__title.page-title {
	font-family: 'Playfair Display', Georgia, serif;
	font-size: 2.2rem;
	font-weight: 600;
	line-height: 1.1;
	letter-spacing: .2px;
	text-transform: none;
	color: #2b2b2b;
	margin: 0;
}
.woocommerce-shop .ast-woocommerce-container > .woocommerce-result-count,
.tax-product_cat .ast-woocommerce-container > .woocommerce-result-count {
	margin: 0 0 0 auto;
	order: 3;
}
.woocommerce-shop .ast-woocommerce-container > .woocommerce-ordering,
.tax-product_cat .ast-woocommerce-container > .woocommerce-ordering {
	margin: 0;
	order: 4;
}
.woocommerce-shop .woocommerce-result-count,
.tax-product_cat .woocommerce-result-count {
	font-family: 'Ubuntu', sans-serif;
	font-size: .85rem;
	letter-spacing: .4px;
	color: #7a6a6a;
}
.woocommerce-shop .woocommerce-ordering,
.tax-product_cat .woocommerce-ordering {
	display: flex;
	align-items: center;
}
.woocommerce-shop .woocommerce-ordering::before,
.tax-product_cat .woocommerce-ordering::before {
	content: "Sort by";
	margin-right: 10px;
	font-family: 'Ubuntu', sans-serif;
	font-size: .78rem;
	letter-spacing: .4px;
	text-transform: uppercase;
	color: #7a6a6a;
}
.woocommerce-shop .woocommerce-ordering select,
.tax-product_cat .woocommerce-ordering select {
	border: 1px solid #d9d2c8;
	border-radius: 2px;
	background: #fff;
	padding: .5em 2em .5em .8em;
	font-family: 'Ubuntu', sans-serif;
	font-size: .82rem;
	letter-spacing: .3px;
	color: #3a3a3a;
	cursor: pointer;
}
.woocommerce-shop .ast-woocommerce-container > .woocommerce-notices-wrapper,
.tax-product_cat .ast-woocommerce-container > .woocommerce-notices-wrapper {
	flex: 1 1 100%;
	order: 5;
}

/* ---------- Grid: clean white cards, generous gutter ---------- */
body.woocommerce-shop ul.products:not(.elementor-grid),
body.tax-product_cat ul.products:not(.elementor-grid) {
	grid-template-columns: repeat(3, 1fr);
	gap: 40px 28px;
	order: 6;
	flex: 1 1 100%;
	margin: 8px 0 0;
}
@media (max-width: 1024px) {
	body.woocommerce-shop ul.products:not(.elementor-grid),
	body.tax-product_cat ul.products:not(.elementor-grid) {
		grid-template-columns: repeat(2, 1fr);
		gap: 26px 18px;
	}
}
@media (max-width: 544px) {
	body.woocommerce-shop ul.products:not(.elementor-grid),
	body.tax-product_cat ul.products:not(.elementor-grid) {
		grid-template-columns: repeat(2, 1fr);
		gap: 22px 14px;
	}
}

/* ---------- Card image: portrait 3:4 + soft zoom ---------- */
.woocommerce-shop ul.products li.product .astra-shop-thumbnail-wrap,
.tax-product_cat ul.products li.product .astra-shop-thumbnail-wrap {
	position: relative;
	overflow: hidden;
	border-radius: 3px;
	background: #f4efe7;
}
.woocommerce-shop ul.products li.product .astra-shop-thumbnail-wrap img,
.tax-product_cat ul.products li.product .astra-shop-thumbnail-wrap img {
	width: 100%;
	aspect-ratio: 3 / 4;
	height: auto;
	object-fit: cover;
	display: block;
	transition: transform .6s ease;
}
.woocommerce-shop ul.products li.product:hover .astra-shop-thumbnail-wrap img,
.tax-product_cat ul.products li.product:hover .astra-shop-thumbnail-wrap img {
	transform: scale(1.06);
}

/* ---------- Quick add-to-cart (hover overlay) ---------- */
.woocommerce-shop ul.products li.product .astra-shop-thumbnail-wrap .ast-on-card-button,
.tax-product_cat ul.products li.product .astra-shop-thumbnail-wrap .ast-on-card-button {
	top: auto;
	left: 12px;
	right: 12px;
	bottom: 12px;
	width: auto !important;
	height: auto !important;
	background: rgba(20, 20, 20, .9) !important;
	color: #fff !important;
	border: 0 !important;
	border-radius: 999px !important;
	font-family: 'Ubuntu', sans-serif !important;
	font-size: 12px !important;
	font-weight: 600 !important;
	letter-spacing: .12em !important;
	text-transform: uppercase !important;
	text-align: center !important;
	line-height: 1 !important;
	padding: 13px 16px !important;
	margin: 0 !important;
	text-decoration: none !important;
	opacity: 0;
	transform: translateY(10px);
	transition: opacity .3s ease, transform .3s ease, background .2s ease;
	pointer-events: auto;
}
.woocommerce-shop ul.products li.product .astra-shop-thumbnail-wrap:hover .ast-on-card-button,
.tax-product_cat ul.products li.product .astra-shop-thumbnail-wrap:hover .ast-on-card-button {
	opacity: 1;
	transform: translateY(0);
}
.woocommerce-shop ul.products li.product .astra-shop-thumbnail-wrap .ast-on-card-button .ast-card-action-tooltip,
.tax-product_cat ul.products li.product .astra-shop-thumbnail-wrap .ast-on-card-button .ast-card-action-tooltip {
	display: none !important;
}
.woocommerce-shop ul.products li.product .astra-shop-thumbnail-wrap .ast-on-card-button:hover,
.tax-product_cat ul.products li.product .astra-shop-thumbnail-wrap .ast-on-card-button:hover {
	background: #111 !important;
}
.woocommerce-shop ul.products li.product.outofstock .ast-on-card-button,
.tax-product_cat ul.products li.product.outofstock .ast-on-card-button {
	display: none !important;
}

/* ---------- Sold out badge (white pill, top-left) ---------- */
.woocommerce-shop ul.products li.product.outofstock .astra-shop-thumbnail-wrap::before,
.tax-product_cat ul.products li.product.outofstock .astra-shop-thumbnail-wrap::before {
	content: "Sold out";
	position: absolute;
	top: 12px;
	left: 12px;
	z-index: 2;
	background: #fff;
	color: #1a1a1a;
	font-family: 'Ubuntu', sans-serif;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .1em;
	text-transform: uppercase;
	padding: 5px 13px;
	border-radius: 999px;
	box-shadow: 0 1px 6px rgba(0, 0, 0, .12);
	pointer-events: none;
}

/* ---------- Card summary: name (regular) + price (neutral) ---------- */
body.woocommerce-shop ul.products li.product h2.woocommerce-loop-product__title,
body.woocommerce-shop ul.products li.product .woocommerce-loop-product__title,
body.tax-product_cat ul.products li.product h2.woocommerce-loop-product__title,
body.tax-product_cat ul.products li.product .woocommerce-loop-product__title {
	font-family: 'Playfair Display', Georgia, serif;
	font-size: 1.02rem;
	font-weight: 500;
	letter-spacing: .2px;
	color: #2b2b2b;
}
body.woocommerce-shop ul.products li.product .price,
body.tax-product_cat ul.products li.product .price {
	color: #3a3a3a !important;
	font-family: 'Ubuntu', sans-serif;
	font-weight: 600;
	font-size: .98rem;
	letter-spacing: .4px;
}
.woocommerce-shop ul.products li.product .price del,
.tax-product_cat ul.products li.product .price del {
	color: #a8a29a;
	opacity: 1;
}
.woocommerce-shop ul.products li.product .price ins,
.tax-product_cat ul.products li.product .price ins {
	background: none;
}

/* ---------- Pagination: centered numbered, active underline ---------- */
.woocommerce-shop .ast-woocommerce-container > .woocommerce-pagination,
.tax-product_cat .ast-woocommerce-container > .woocommerce-pagination {
	flex: 1 1 100%;
	order: 7;
	margin-top: 44px;
	text-align: center;
}
.woocommerce-shop .woocommerce-pagination ul.page-numbers,
.tax-product_cat .woocommerce-pagination ul.page-numbers {
	display: inline-flex;
	flex-wrap: wrap;
	gap: 4px;
	margin: 0;
	padding: 0;
	border: 0;
	list-style: none;
}
.woocommerce-shop .woocommerce-pagination .page-numbers li,
.tax-product_cat .woocommerce-pagination .page-numbers li {
	border: 0;
	margin: 0;
}
.woocommerce-shop .woocommerce-pagination .page-numbers li > .page-numbers,
.tax-product_cat .woocommerce-pagination .page-numbers li > .page-numbers {
	display: inline-block;
	min-width: 34px;
	padding: 7px 10px;
	font-family: 'Ubuntu', sans-serif;
	font-size: 14px;
	font-weight: 500;
	color: #8a8178;
	text-decoration: none;
	border-bottom: 2px solid transparent;
}
.woocommerce-shop .woocommerce-pagination .page-numbers li > .page-numbers:hover,
.woocommerce-shop .woocommerce-pagination .page-numbers li > .page-numbers:focus,
.tax-product_cat .woocommerce-pagination .page-numbers li > .page-numbers:hover,
.tax-product_cat .woocommerce-pagination .page-numbers li > .page-numbers:focus {
	color: #1a1a1a;
}
.woocommerce-shop .woocommerce-pagination .page-numbers li > .page-numbers.current,
.tax-product_cat .woocommerce-pagination .page-numbers li > .page-numbers.current {
	color: #1a1a1a;
	font-weight: 700;
	border-bottom-color: #1a1a1a;
}

/* ---------- Sidebar category list refinements ---------- */
.woocommerce-shop .mtdh-cat-list a,
.tax-product_cat .mtdh-cat-list a {
	display: block;
	padding: 9px 0;
}
.woocommerce-shop .mtdh-cat-list .count,
.tax-product_cat .mtdh-cat-list .count {
	float: right;
	color: #a8a29a;
	font-size: .78rem;
	font-weight: 500;
}
.woocommerce-shop .mtdh-cat-list li.current-cat > a,
.woocommerce-shop .mtdh-cat-list a.mtdh-active,
.tax-product_cat .mtdh-cat-list li.current-cat > a,
.tax-product_cat .mtdh-cat-list a.mtdh-active {
	color: #8B1E2F;
	font-weight: 700;
	background: #FDF3E3;
}
.woocommerce-shop .mtdh-sidebar-title a,
.tax-product_cat .mtdh-sidebar-title a {
	color: #2b2b2b;
	text-decoration: none;
}

/* ---------- Empty / coming-soon state polish ---------- */
.woocommerce-shop section#mtdh-coming-soon h2,
.tax-product_cat section#mtdh-coming-soon h2 {
	font-family: 'Playfair Display', Georgia, serif;
	font-size: 2rem;
	font-weight: 600;
	letter-spacing: 1px;
	text-transform: none;
	color: #2b2b2b;
}
.woocommerce-shop section#mtdh-coming-soon p,
.tax-product_cat section#mtdh-coming-soon p {
	color: #5a4a3a;
}

/* ---------- Mobile refinements ---------- */
@media (max-width: 767px) {
	.woocommerce-shop .mtdh-drawer-toggle,
	.tax-product_cat .mtdh-drawer-toggle {
		display: inline-flex;
	}
	.woocommerce-shop .woocommerce-products-header .woocommerce-products-header__title.page-title,
	.tax-product_cat .woocommerce-products-header .woocommerce-products-header__title.page-title {
		font-size: 1.6rem;
	}
	.woocommerce-shop .ast-woocommerce-container > .woocommerce-result-count,
	.tax-product_cat .ast-woocommerce-container > .woocommerce-result-count {
		margin-left: 0;
		flex: 1 1 100%;
		order: 2;
	}
	.woocommerce-shop .ast-woocommerce-container > .woocommerce-ordering,
	.tax-product_cat .ast-woocommerce-container > .woocommerce-ordering {
		flex: 1 1 100%;
		order: 3;
	}
}

/* ============================================================
   MANTRADHI SHOP ARCHIVE v3 - toolbar, breadcrumb + badges
   Added 2026-08-06. Overrides the Customizer (post 23) block
   where the cascade needs a stronger hand. Scoped to the shop
   and product category pages only.
   ============================================================ */

/* ---------- Shop layout grid: sidebar + content ---------- */
body.woocommerce-shop .mtdh-shop-layout,
body.tax-product_cat .mtdh-shop-layout {
	display: flex;
	flex-wrap: wrap;
	gap: 40px;
	max-width: 1200px;
	margin: 0 auto;
	padding-left: 20px;
	padding-right: 20px;
}
body.woocommerce-shop .mtdh-shop-layout .mtdh-sidebar,
body.tax-product_cat .mtdh-shop-layout .mtdh-sidebar {
	width: 220px;
	flex-shrink: 0;
}
body.woocommerce-shop .mtdh-shop-layout .mtdh-content,
body.tax-product_cat .mtdh-shop-layout .mtdh-content {
	flex: 1;
	min-width: 0;
}

/* ---------- Mobile: hide sidebar, show drawer toggle ---------- */
@media (max-width: 991px) {
	body.woocommerce-shop .mtdh-shop-layout .mtdh-sidebar,
	body.tax-product_cat .mtdh-shop-layout .mtdh-sidebar {
		display: none;
		position: fixed;
		top: 0;
		left: 0;
		width: 280px;
		height: 100vh;
		background: #fff;
		z-index: 9999;
		padding: 60px 24px 24px;
		overflow-y: auto;
		box-shadow: 2px 0 20px rgba(0,0,0,0.15);
		transform: translateX(-100%);
		transition: transform 0.3s ease;
	}
	body.woocommerce-shop .mtdh-shop-layout .mtdh-sidebar.mtdh-open,
	body.tax-product_cat .mtdh-shop-layout .mtdh-sidebar.mtdh-open {
		display: block;
		transform: translateX(0);
	}
	body.woocommerce-shop .mtdh-drawer-toggle,
	body.tax-product_cat .mtdh-drawer-toggle {
		display: inline-flex;
		align-items: center;
		gap: 8px;
		padding: 10px 18px;
		background: #A00220;
		color: #fff;
		border: none;
		border-radius: 8px;
		font: 600 13px 'Ubuntu', sans-serif;
		letter-spacing: 0.05em;
		text-transform: uppercase;
		cursor: pointer;
		margin-bottom: 20px;
	}
	body.woocommerce-shop .mtdh-drawer-overlay,
	body.tax-product_cat .mtdh-drawer-overlay {
		display: none;
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background: rgba(0,0,0,0.5);
		z-index: 9998;
	}
	body.woocommerce-shop .mtdh-drawer-overlay.mtdh-open,
	body.tax-product_cat .mtdh-drawer-overlay.mtdh-open {
		display: block;
	}
}

@media (min-width: 992px) {
	body.woocommerce-shop .mtdh-drawer-toggle,
	body.tax-product_cat .mtdh-drawer-toggle {
		display: none;
	}
}

/* ---------- Top spacing ---------- */
body.woocommerce-shop .mtdh-shop-layout,
body.tax-product_cat .mtdh-shop-layout {
	padding-top: 48px;
}

/* ---------- Breadcrumb: hide WooCommerce's default, style ours ---------- */
body.woocommerce-shop .ast-woocommerce-container > .woocommerce-breadcrumb:not(.mtdh-breadcrumb),
body.tax-product_cat .ast-woocommerce-container > .woocommerce-breadcrumb:not(.mtdh-breadcrumb) {
	display: none;
}
body.woocommerce-shop .ast-woocommerce-container > .mtdh-breadcrumb,
body.tax-product_cat .ast-woocommerce-container > .mtdh-breadcrumb {
	flex: 1 1 100%;
	margin: 0 0 20px;
	font-family: 'Ubuntu', sans-serif;
	font-size: 1rem;
	letter-spacing: .3px;
	color: #7a6a6a;
}
body.woocommerce-shop .ast-woocommerce-container > .mtdh-breadcrumb a,
body.tax-product_cat .ast-woocommerce-container > .mtdh-breadcrumb a {
	color: #8B1E2F;
	text-decoration: none;
}
body.woocommerce-shop .ast-woocommerce-container > .mtdh-breadcrumb a:hover,
body.tax-product_cat .ast-woocommerce-container > .mtdh-breadcrumb a:hover {
	color: #5a2a2a;
}
body.woocommerce-shop .ast-woocommerce-container > .mtdh-breadcrumb .mtdh-bc-arrow,
body.tax-product_cat .ast-woocommerce-container > .mtdh-breadcrumb .mtdh-bc-arrow {
	margin-right: 8px;
	font-size: .85rem;
	color: #a8a29a;
}
body.woocommerce-shop .ast-woocommerce-container > .mtdh-breadcrumb .mtdh-bc-sep,
body.tax-product_cat .ast-woocommerce-container > .mtdh-breadcrumb .mtdh-bc-sep {
	margin: 0 8px;
	color: #c8c0b4;
}
body.woocommerce-shop .ast-woocommerce-container > .mtdh-breadcrumb .mtdh-bc-current,
body.tax-product_cat .ast-woocommerce-container > .mtdh-breadcrumb .mtdh-bc-current {
	color: #2b2b2b;
	font-weight: 600;
}

/* ---------- Toolbar: count left, category dropdown + sort right ---------- */
body.woocommerce-shop .ast-woocommerce-container > .woocommerce-result-count,
body.tax-product_cat .ast-woocommerce-container > .woocommerce-result-count {
	margin: 0;
	order: 3;
}
body.woocommerce-shop .ast-woocommerce-container > .mtdh-cat-filter,
body.tax-product_cat .ast-woocommerce-container > .mtdh-cat-filter {
	margin: 0 0 0 auto;
	order: 3;
}
body.woocommerce-shop .ast-woocommerce-container > .woocommerce-ordering,
body.tax-product_cat .ast-woocommerce-container > .woocommerce-ordering {
	order: 4;
}
body.woocommerce-shop .mtdh-cat-select,
body.tax-product_cat .mtdh-cat-select {
	border: 1px solid #e4ddd2;
	border-radius: 8px;
	background: #fbfaf7 url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTAiIGhlaWdodD0iNiIgdmlld0JveD0iMCAwIDEwIDYiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTUgNkwxIDBoOHoiIGZpbGw9IiM4QjFFMkYiLz48L3N2Zz4=) no-repeat right 12px center;
	padding: .55em 2.2em .55em .9em;
	font-family: 'Ubuntu', sans-serif;
	font-size: .82rem;
	letter-spacing: .3px;
	color: #3a3a3a;
	cursor: pointer;
	box-shadow: 0 1px 2px rgba(0, 0, 0, .04);
	transition: border-color .2s ease, box-shadow .2s ease;
}
body.woocommerce-shop .mtdh-cat-select:hover,
body.tax-product_cat .mtdh-cat-select:hover {
	border-color: #cfc3ad;
}
body.woocommerce-shop .mtdh-cat-select:focus,
body.tax-product_cat .mtdh-cat-select:focus {
	outline: none;
	border-color: #8B1E2F;
	box-shadow: 0 0 0 3px rgba(139, 30, 47, .08);
}

/* ---------- Grid: consistent 30px gutter on desktop ---------- */
@media (min-width: 1025px) {
	body.woocommerce-shop ul.products:not(.elementor-grid),
	body.tax-product_cat ul.products:not(.elementor-grid) {
		gap: 30px !important;
	}
}

/* ---------- Card image: portrait 4:5 ---------- */
body.woocommerce-shop ul.products li.product .astra-shop-thumbnail-wrap,
body.tax-product_cat ul.products li.product .astra-shop-thumbnail-wrap {
	aspect-ratio: 4 / 5 !important;
}

/* ---------- Sale badge: maroon pill, bottom-left ---------- */
body.woocommerce-shop ul.products li.product .astra-shop-thumbnail-wrap .ast-onsale-card,
body.tax-product_cat ul.products li.product .astra-shop-thumbnail-wrap .ast-onsale-card {
	top: auto;
	right: auto;
	bottom: 12px;
	left: 12px;
	z-index: 3;
	display: inline-block;
	min-width: 0;
	width: auto;
	height: auto;
	margin: 0;
	padding: 5px 13px;
	background: #8B1E2F;
	color: #fff;
	border: 0;
	border-radius: 999px;
	box-shadow: 0 1px 6px rgba(0, 0, 0, .14);
	font-family: 'Ubuntu', sans-serif;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .1em;
	text-transform: uppercase;
	line-height: 1.2;
	text-align: center;
	pointer-events: none;
}

/* ---------- Sold out: CSS pill retired, real span badge bottom-left ---------- */
body.woocommerce-shop ul.products li.product.outofstock .astra-shop-thumbnail-wrap::before,
body.tax-product_cat ul.products li.product.outofstock .astra-shop-thumbnail-wrap::before {
	content: none;
}
body.woocommerce-shop ul.products li.product .mtdh-soldout-badge,
body.tax-product_cat ul.products li.product .mtdh-soldout-badge {
	position: absolute;
	top: auto;
	right: auto;
	bottom: 12px;
	left: 12px;
	z-index: 3;
	display: inline-block;
	margin: 0;
	padding: 5px 13px;
	background: #fff;
	color: #1a1a1a;
	border-radius: 999px;
	box-shadow: 0 1px 6px rgba(0, 0, 0, .12);
	font-family: 'Ubuntu', sans-serif;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .1em;
	text-transform: uppercase;
	line-height: 1.2;
	pointer-events: none;
}

/* ---------- Mobile: stack count / dropdown / sort ---------- */
@media (max-width: 767px) {
	body.woocommerce-shop .ast-woocommerce-container > .mtdh-cat-filter,
	body.tax-product_cat .ast-woocommerce-container > .mtdh-cat-filter {
		margin-left: 0;
		flex: 1 1 100%;
		order: 3;
	}
	body.woocommerce-shop .ast-woocommerce-container > .woocommerce-ordering,
	body.tax-product_cat .ast-woocommerce-container > .woocommerce-ordering {
		flex: 1 1 100%;
		order: 4;
	}
}

/* ============================================================
   MANTRADHI SHOP ARCHIVE v4 - spacing rhythm + alignment
   Added 2026-08-06.
   ============================================================ */

/* ---------- Remove Astra's 60px content-area top margin ---------- */
body.woocommerce-shop .content-area,
body.tax-product_cat .content-area,
body.woocommerce-shop #primary,
body.tax-product_cat #primary {
	margin-top: 0;
}

/* ---------- Header gap: 48px -> 40px ---------- */
body.woocommerce-shop .mtdh-shop-layout,
body.tax-product_cat .mtdh-shop-layout {
	padding-top: 40px;
}

/* ---------- Uniform 16px row rhythm, 24px column gap ---------- */
body.woocommerce-shop .ast-woocommerce-container,
body.tax-product_cat .ast-woocommerce-container {
	gap: 16px 24px !important;
}
body.woocommerce-shop .ast-woocommerce-container > .mtdh-breadcrumb,
body.tax-product_cat .ast-woocommerce-container > .mtdh-breadcrumb {
	margin: 0;
}
body.woocommerce-shop .ast-woocommerce-container > .woocommerce-notices-wrapper:empty,
body.tax-product_cat .ast-woocommerce-container > .woocommerce-notices-wrapper:empty {
	display: none;
}
body.woocommerce-shop .ast-woocommerce-container > ul.products,
body.tax-product_cat .ast-woocommerce-container > ul.products {
	margin-top: 0;
}

/* ============================================================
   CART PAGE REDESIGN v3 — Professional E-Commerce
   Palette: #9E1B39 (brand red) / #1A1A1A (ink) / #F8F8F8 (surface)
   ============================================================ */

/* ---- PAGE CONTAINER: Match site-wide padding ---- */
.woocommerce-cart #primary,
.woocommerce-cart .content-area,
.woocommerce-cart .site-main {
	padding: 0 !important;
	margin: 0 !important;
	max-width: 100% !important;
}

.woocommerce-cart .entry-header {
	padding: 0 !important;
	margin: 0 !important;
}

/* Reduce gap between menu bar and cart content */
.woocommerce-cart #content .site-content,
.woocommerce-cart .site-content .ast-container {
	padding-top: 0 !important;
}

.woocommerce-cart #content {
	padding-top: 0 !important;
}

.woocommerce-cart .ast-container,
.woocommerce-cart .site-content {
	padding-top: 0 !important;
}

/* ---- PAGE HEADING ---- */
.woocommerce-cart .entry-title,
.woocommerce-cart .woocommerce h1,
.woocommerce-cart h1.page-title {
	font-family: 'Playfair Display', Georgia, serif !important;
	font-size: 32px !important;
	font-weight: 500 !important;
	color: #1A1A1A !important;
	margin: 0 0 32px !important;
	padding: 0 !important;
	line-height: 1.2 !important;
	flex: 1 1 100% !important;
}

/* ---- MAIN WRAPPER ---- */
.woocommerce-cart .woocommerce {
	max-width: 1200px !important;
	margin: 0 auto !important;
	padding: 0 20px 40px !important;
	display: flex !important;
	flex-flow: row wrap !important;
	align-items: flex-start !important;
	gap: 40px !important;
}

/* ---- PRODUCT TABLE (LEFT SIDE) ---- */
.woocommerce-cart .woocommerce-cart-form {
	flex: 1 1 calc(65% - 40px) !important;
	max-width: calc(65% - 20px) !important;
	min-width: 0 !important;
	margin: 0 !important;
	float: none !important;
}

.woocommerce-cart table.shop_table {
	border: none !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	margin: 0 !important;
	table-layout: auto !important;
	width: 100% !important;
}

.woocommerce-cart table.shop_table thead {
	display: table-header-group !important;
}

.woocommerce-cart table.shop_table thead th {
	font-family: 'Ubuntu', sans-serif !important;
	font-size: 12px !important;
	font-weight: 600 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.8px !important;
	color: #666 !important;
	padding: 12px 16px !important;
	border-bottom: 1px solid #E5E5E5 !important;
	background: transparent !important;
}

/* Column widths */
.woocommerce-cart table.shop_table .product-remove {
	width: 40px !important;
	padding: 12px 8px !important;
}

.woocommerce-cart table.shop_table .product-thumbnail {
	width: 100px !important;
	padding: 12px 8px !important;
}

.woocommerce-cart table.shop_table .product-name {
	width: auto !important;
	min-width: 200px !important;
}

.woocommerce-cart table.shop_table .product-price {
	width: 15% !important;
	min-width: 80px !important;
}

.woocommerce-cart table.shop_table .product-quantity {
	width: 15% !important;
	min-width: 90px !important;
}

.woocommerce-cart table.shop_table .product-subtotal {
	width: 15% !important;
	min-width: 90px !important;
}

/* Center align Price, Qty, Subtotal columns */
.woocommerce-cart table.shop_table thead th.product-price,
.woocommerce-cart table.shop_table thead th.product-quantity,
.woocommerce-cart table.shop_table thead th.product-subtotal,
.woocommerce-cart table.shop_table tbody td.product-price,
.woocommerce-cart table.shop_table tbody td.product-quantity,
.woocommerce-cart table.shop_table tbody td.product-subtotal {
	text-align: center !important;
}

.woocommerce-cart table.shop_table tbody td {
	padding: 20px 16px !important;
	min-height: 100px !important;
	vertical-align: middle !important;
	border-bottom: 1px solid #EEEEEE !important;
}

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

/* Product thumbnail */
.woocommerce-cart table.cart img {
	width: 80px !important;
	height: 80px !important;
	object-fit: cover !important;
	border-radius: 0 !important;
	display: block !important;
}

/* Product name/link */
.woocommerce-cart table.cart .product-name a {
	font-family: 'Ubuntu', sans-serif !important;
	font-size: 15px !important;
	font-weight: 500 !important;
	color: #1A1A1A !important;
	text-decoration: none !important;
	display: -webkit-box !important;
	-webkit-line-clamp: 2 !important;
	-webkit-box-orient: vertical !important;
	overflow: hidden !important;
	line-height: 1.4 !important;
}

.woocommerce-cart table.cart .product-name a:hover {
	color: #9E1B39 !important;
}

.woocommerce-cart table.cart .product-price,
.woocommerce-cart table.cart .product-subtotal {
	font-family: 'Ubuntu', sans-serif !important;
	font-size: 14px !important;
	font-weight: 400 !important;
	color: #1A1A1A !important;
}

/* Quantity input */
.woocommerce-cart table.cart .quantity input.qty {
	width: 60px !important;
	height: 38px !important;
	border: 1px solid #D9D9D9 !important;
	border-radius: 0 !important;
	font-size: 14px !important;
	text-align: center !important;
	padding: 0 !important;
	appearance: none !important;
	-moz-appearance: textfield !important;
}

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

/* Remove item (X) */
.woocommerce-cart table.cart td.product-remove {
	vertical-align: middle !important;
	text-align: center !important;
}

.woocommerce-cart table.cart .product-remove a {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 24px !important;
	height: 24px !important;
	color: #999 !important;
	font-size: 18px !important;
	text-decoration: none !important;
	transition: color 0.2s ease !important;
}

.woocommerce-cart table.cart .product-remove a:hover {
	color: #9E1B39 !important;
}

/* ---- COUPON + ACTIONS ROW ---- */
.woocommerce-cart .actions {
	background: transparent !important;
	padding: 20px 0 !important;
	border: none !important;
	display: flex !important;
	justify-content: space-between !important;
	align-items: center !important;
	flex-wrap: wrap !important;
	gap: 16px !important;
}

.woocommerce-cart .coupon {
	display: flex !important;
	align-items: center !important;
	gap: 16px !important;
}

.woocommerce-cart .coupon input.input-text {
	width: 180px !important;
	height: 42px !important;
	border: 1px solid #D9D9D9 !important;
	padding: 0 14px !important;
	font-size: 14px !important;
	color: #1A1A1A !important;
}

.woocommerce-cart .coupon input.input-text::placeholder {
	color: #999 !important;
}

.woocommerce-cart .coupon input.input-text:focus {
	border-color: #9E1B39 !important;
	outline: none !important;
}

.woocommerce-cart .coupon button,
.woocommerce-cart button[name="update_cart"] {
	height: 42px !important;
	padding: 0 20px !important;
	background: #fff !important;
	color: #9E1B39 !important;
	border: 1px solid #9E1B39 !important;
	font-family: 'Ubuntu', sans-serif !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.5px !important;
	white-space: nowrap !important;
	cursor: pointer !important;
	transition: all 0.2s ease !important;
}

.woocommerce-cart .coupon button:hover,
.woocommerce-cart button[name="update_cart"]:hover {
	background: #9E1B39 !important;
	color: #fff !important;
}

.woocommerce-cart button[name="update_cart"]:disabled {
	opacity: 0.5 !important;
	cursor: not-allowed !important;
}

/* ---- CART TOTALS (RIGHT SIDEBAR) ---- */
.woocommerce-cart .cart-collaterals {
	flex: 0 0 35% !important;
	max-width: 35% !important;
	min-width: 300px !important;
	margin: 0 !important;
	float: none !important;
}

.woocommerce-cart .cart_totals {
	width: 100% !important;
	padding: 0 !important;
	margin: 0 !important;
	background: #fff !important;
	border: 1px solid #E5E5E5 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	overflow: visible !important;
}

/* Cart totals title */
.woocommerce-cart .cart_totals h2 {
	font-family: 'Playfair Display', Georgia, serif !important;
	font-size: 20px !important;
	font-weight: 600 !important;
	color: #1A1A1A !important;
	background: #F8F8F8 !important;
	padding: 16px 24px !important;
	margin: 0 !important;
	border-bottom: 1px solid #E5E5E5 !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
	line-height: 1.4 !important;
	height: auto !important;
}

/* Cart totals table — FIX ROW ALIGNMENT */
.woocommerce-cart .cart_totals table.shop_table,
.woocommerce-cart .cart_totals .shop_table_responsive {
	border: none !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	padding: 0 !important;
	margin: 0 !important;
	display: table !important;
	width: 100% !important;
	table-layout: fixed !important;
}

.woocommerce-cart .cart_totals table.shop_table tbody,
.woocommerce-cart .cart_totals table.shop_table thead,
.woocommerce-cart .cart_totals table.shop_table tfoot {
	display: table-row-group !important;
}

.woocommerce-cart .cart_totals table.shop_table tr {
	display: table-row !important;
}

.woocommerce-cart .cart_totals table.shop_table th {
	font-family: 'Ubuntu', sans-serif !important;
	font-size: 14px !important;
	font-weight: 400 !important;
	color: #666 !important;
	padding: 14px 24px !important;
	border: none !important;
	border-bottom: 1px solid #F0F0F0 !important;
	background: transparent !important;
	text-align: left !important;
	display: table-cell !important;
	width: 40% !important;
	white-space: normal !important;
}

.woocommerce-cart .cart_totals table.shop_table td {
	font-family: 'Ubuntu', sans-serif !important;
	font-size: 14px !important;
	font-weight: 400 !important;
	color: #1A1A1A !important;
	padding: 14px 24px !important;
	border: none !important;
	border-bottom: 1px solid #F0F0F0 !important;
	background: transparent !important;
	text-align: right !important;
	display: table-cell !important;
	width: 60% !important;
	white-space: normal !important;
}

/* Divider between Subtotal and Total */
.woocommerce-cart .cart_totals .order-total th,
.woocommerce-cart .cart_totals .order-total td {
	border-bottom: none !important;
	border-top: 1px solid #E5E5E5 !important;
	padding-top: 20px !important;
}

.woocommerce-cart .cart_totals .order-total th {
	font-weight: 600 !important;
	color: #1A1A1A !important;
	font-size: 16px !important;
}

.woocommerce-cart .cart_totals .order-total td,
.woocommerce-cart .cart_totals .order-total td strong {
	font-weight: 700 !important;
	color: #9E1B39 !important;
	font-size: 18px !important;
}

/* Shipping row */
.woocommerce-cart .cart_totals .shipping th,
.woocommerce-cart .cart_totals .shipping td {
	font-size: 13px !important;
}

.woocommerce-cart .cart_totals .shipping td {
	font-size: 13px !important;
	color: #666 !important;
}

/* ---- CHECKOUT BUTTON ---- */
.woocommerce-cart .wc-proceed-to-checkout {
	padding: 20px 24px 24px !important;
}

.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
.woocommerce-cart .wc-proceed-to-checkout button.checkout-button {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 100% !important;
	height: 52px !important;
	padding: 0 20px !important;
	background: #9E1B39 !important;
	color: #fff !important;
	font-family: 'Ubuntu', sans-serif !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	text-transform: uppercase !important;
	letter-spacing: 1px !important;
	line-height: 1 !important;
	white-space: normal !important;
	border: none !important;
	border-radius: 4px !important;
	text-align: center !important;
	transition: background 0.2s ease, opacity 0.2s ease !important;
	box-shadow: none !important;
	float: none !important;
	margin: 0 !important;
}

.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover {
	background: #7e1530 !important;
	transform: none !important;
}

/* ---- CROSS SELLS ---- */
.woocommerce-cart .cart-collaterals .cross-sells {
	width: 100% !important;
	margin-top: 30px !important;
}

/* ---- EMPTY CART ---- */
.woocommerce-cart .cart-empty {
	font-family: 'Playfair Display', Georgia, serif !important;
	font-size: 24px !important;
	color: #1A1A1A !important;
	text-align: center !important;
	padding: 60px 20px 20px !important;
}

.woocommerce-cart .return-to-shop {
	text-align: center !important;
}

.woocommerce-cart .return-to-shop a {
	display: inline-block !important;
	padding: 14px 32px !important;
	background: #9E1B39 !important;
	color: #fff !important;
	font-family: 'Ubuntu', sans-serif !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.5px !important;
	text-decoration: none !important;
	transition: background 0.2s ease !important;
}

.woocommerce-cart .return-to-shop a:hover {
	background: #7e1530 !important;
}

/* ---- RESPONSIVE: MOBILE ---- */
@media (max-width: 768px) {
	.woocommerce-cart .woocommerce {
		padding: 0 16px 24px !important;
		gap: 24px !important;
		flex-direction: column !important;
	}

	.woocommerce-cart .woocommerce-cart-form,
	.woocommerce-cart .cart-collaterals {
		flex: 1 1 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
	}

	.woocommerce-cart .entry-title,
	.woocommerce-cart .woocommerce h1 {
		font-size: 26px !important;
		margin-bottom: 24px !important;
	}

	.woocommerce-cart table.shop_table {
		table-layout: auto !important;
	}

	.woocommerce-cart table.shop_table .product-name {
		min-width: 120px !important;
	}

	.woocommerce-cart table.shop_table thead {
		display: none !important;
	}

	.woocommerce-cart table.shop_table tbody tr {
		display: flex !important;
		flex-wrap: wrap !important;
		align-items: center !important;
		padding: 16px 0 !important;
		border-bottom: 1px solid #EEEEEE !important;
		position: relative !important;
	}

	.woocommerce-cart table.shop_table tbody td {
		padding: 4px 0 !important;
		min-height: auto !important;
		border: none !important;
	}

	.woocommerce-cart table.cart .product-thumbnail {
		flex: 0 0 80px !important;
		margin-right: 16px !important;
	}

	.woocommerce-cart table.cart .product-name {
		flex: 1 1 calc(100% - 96px) !important;
		min-width: 0 !important;
	}

	.woocommerce-cart table.cart .product-price {
		flex: 1 1 100% !important;
		text-align: left !important;
		padding-left: 96px !important;
	}

	.woocommerce-cart table.cart .product-quantity {
		flex: 0 0 auto !important;
		text-align: left !important;
		padding-left: 96px !important;
	}

	.woocommerce-cart table.cart .product-subtotal {
		flex: 1 1 auto !important;
		text-align: right !important;
	}

	.woocommerce-cart table.cart .product-remove {
		position: absolute !important;
		top: 12px !important;
		right: 0 !important;
	}

	.woocommerce-cart .actions {
		flex-direction: column !important;
		gap: 12px !important;
	}

	.woocommerce-cart .coupon {
		width: 100% !important;
		flex-direction: column !important;
	}

	.woocommerce-cart .coupon input.input-text {
		width: 100% !important;
	}

	.woocommerce-cart .coupon button,
	.woocommerce-cart button[name="update_cart"] {
		width: 100% !important;
	}

	.woocommerce-cart .cart_totals table.shop_table {
		table-layout: fixed !important;
	}

	.woocommerce-cart .cart_totals table.shop_table th,
	.woocommerce-cart .cart_totals table.shop_table td {
		padding: 12px 16px !important;
	}

	.woocommerce-cart .wc-proceed-to-checkout {
		padding: 16px !important;
	}
}

/* ============================================================
   CART PAGE REDESIGN v4 — Alignment & spacing fixes
   1) Heading aligned with table columns (20px inset to match)
   2) 32px breathing room between black menu bar and heading
   3) Remove phantom 40px row-gap from the empty notices row
   4) Force table-layout: fixed so the product table (714px)
      never overflows into / under the cart-totals sidebar
   ============================================================ */

/* Heading: add 32px top spacing, inset 20px to align with table cells */
.woocommerce-cart .entry-header {
	padding: 32px 20px 0 !important;
	margin: 0 !important;
}

.woocommerce-cart .entry-title,
.woocommerce-cart .woocommerce h1,
.woocommerce-cart h1.page-title {
	margin: 0 0 32px !important;
	padding: 0 !important;
}

/* Empty WooCommerce notice row must not create a phantom flex row-gap */
.woocommerce-cart .woocommerce-notices-wrapper {
	flex-basis: 100% !important;
	max-width: 100% !important;
}

.woocommerce-cart .woocommerce-notices-wrapper:empty {
	display: none !important;
}

/* Desktop: fixed table layout so column widths are enforced and the
   table stays inside its 714px column (no overflow under the sidebar) */
@media (min-width: 769px) {
	.woocommerce-cart table.shop_table {
		table-layout: fixed !important;
	}

	.woocommerce-cart table.shop_table thead th,
	.woocommerce-cart table.shop_table tbody td {
		box-sizing: border-box !important;
	}

	.woocommerce-cart table.shop_table .product-remove {
		width: 44px !important;
		min-width: 0 !important;
		padding: 12px 4px !important;
	}

	.woocommerce-cart table.shop_table .product-thumbnail {
		width: 96px !important;
		min-width: 0 !important;
		padding: 12px 8px !important;
	}

	.woocommerce-cart table.shop_table .product-name {
		width: auto !important;
		min-width: 0 !important;
		padding: 20px 12px !important;
	}

	.woocommerce-cart table.shop_table .product-price {
		width: 74px !important;
		min-width: 0 !important;
		padding: 20px 4px !important;
	}

	.woocommerce-cart table.shop_table .product-quantity {
		width: 88px !important;
		min-width: 0 !important;
		padding: 20px 4px !important;
	}

	.woocommerce-cart table.shop_table .product-subtotal {
		width: 96px !important;
		min-width: 0 !important;
		padding: 20px 4px !important;
	}
}

/* ============================================================
   CART PAGE REDESIGN v5 — Remove-icon position & mobile cards
   Desktop: (X) moves to the far right of each row, aligned with
   the Subtotal column, vertically centered.
   Mobile:  table becomes stacked cards (image+name top, then
   Price / Quantity / Subtotal as labeled rows), (X) pinned to
   the top-right of the card, totals labels de-duplicated, and
   coupon + update-cart buttons stacked full-width.
   ============================================================ */

/* ---- DESKTOP: remove (X) lives in its own dedicated trailing column
     at the far right, AFTER the Subtotal column, so it can never touch
     the Subtotal price (guaranteed >= 24px gap). Rows are flexbox; the
     product-remove cell is reordered to the end via order:6. ---- */
@media (min-width: 769px) {
	.woocommerce-cart table.shop_table thead tr,
	.woocommerce-cart table.shop_table tbody tr {
		display: flex !important;
		align-items: stretch !important;
	}

	.woocommerce-cart table.shop_table thead th,
	.woocommerce-cart table.shop_table tbody td {
		box-sizing: border-box !important;
		display: flex !important;
		align-items: center !important;
		border-top: none !important;
		border-left: none !important;
		border-right: none !important;
	}

	/* Fixed column widths (name grows to fill), vertical centering kept */
	.woocommerce-cart table.shop_table tbody .product-thumbnail {
		flex: 0 0 96px !important;
		min-width: 0 !important;
		padding: 12px 8px !important;
	}

	.woocommerce-cart table.shop_table tbody .product-name {
		flex: 1 1 auto !important;
		min-width: 0 !important;
		padding: 20px 12px !important;
	}

	.woocommerce-cart table.shop_table tbody .product-price {
		flex: 0 0 74px !important;
		min-width: 0 !important;
		padding: 20px 4px !important;
		justify-content: center !important;
	}

	.woocommerce-cart table.shop_table tbody .product-quantity {
		flex: 0 0 88px !important;
		min-width: 0 !important;
		padding: 20px 4px !important;
		justify-content: center !important;
	}

	/* Subtotal price right-aligned 24px inside its cell: the trailing
	   remove column (48px) then guarantees a >= 30px gap to the X */
	.woocommerce-cart table.shop_table tbody .product-subtotal {
		flex: 0 0 96px !important;
		min-width: 0 !important;
		padding: 20px 24px 20px 4px !important;
		justify-content: flex-end !important;
	}

	/* Header cells mirror the same column widths */
	.woocommerce-cart table.shop_table thead .product-thumbnail {
		flex: 0 0 96px !important;
		min-width: 0 !important;
	}

	.woocommerce-cart table.shop_table thead .product-name {
		flex: 1 1 auto !important;
		min-width: 0 !important;
	}

	.woocommerce-cart table.shop_table thead .product-price {
		flex: 0 0 74px !important;
		min-width: 0 !important;
		justify-content: center !important;
	}

	.woocommerce-cart table.shop_table thead .product-quantity {
		flex: 0 0 88px !important;
		min-width: 0 !important;
		justify-content: center !important;
	}

	.woocommerce-cart table.shop_table thead .product-subtotal {
		flex: 0 0 96px !important;
		min-width: 0 !important;
		justify-content: flex-end !important;
		padding-right: 24px !important;
	}

	/* Remove (X): dedicated trailing column after Subtotal */
	.woocommerce-cart table.shop_table thead .product-remove,
	.woocommerce-cart table.shop_table tbody .product-remove {
		order: 6 !important;
		flex: 0 0 48px !important;
		min-width: 0 !important;
		padding: 12px 4px !important;
		justify-content: center !important;
	}

	.woocommerce-cart table.shop_table .product-remove .remove {
		display: inline-flex !important;
		align-items: center !important;
		justify-content: center !important;
		width: 28px !important;
		height: 28px !important;
		background: #F5F5F5 !important;
		color: #999999 !important;
		border-radius: 50% !important;
		text-decoration: none !important;
		transition: background 0.2s ease, color 0.2s ease !important;
	}

	.woocommerce-cart table.shop_table .product-remove .remove:hover {
		background: #9E1B39 !important;
		color: #ffffff !important;
	}

	/* Actions row (coupon / update cart): one full-width cell, stacked */
	.woocommerce-cart table.shop_table tbody tr:has(td.actions) {
		display: flex !important;
	}

	.woocommerce-cart table.shop_table tbody tr:has(td.actions) td.actions {
		flex: 1 1 100% !important;
		display: flex !important;
		flex-direction: column !important;
		align-items: center !important;
		padding: 20px 4px !important;
	}
}

/* ---- MOBILE: card layout ---- */
@media (max-width: 768px) {
	/* Consistent 16px page padding: heading aligns with table + totals */
	.woocommerce-cart .entry-header {
		padding: 20px 16px 0 !important;
	}

	.woocommerce-cart .woocommerce {
		padding: 0 16px 24px !important;
	}

	.woocommerce-cart form.woocommerce-cart-form table.shop_table {
		width: 100% !important;
		table-layout: auto !important;
	}

	.woocommerce-cart form.woocommerce-cart-form table.shop_table thead {
		display: none !important;
	}

	.woocommerce-cart form.woocommerce-cart-form table.shop_table tbody {
		display: block !important;
	}

	/* Each product row becomes a card */
	.woocommerce-cart form.woocommerce-cart-form table.shop_table tbody tr:not(:has(td.actions)) {
		display: flex !important;
		flex-wrap: wrap !important;
		align-items: flex-start !important;
		row-gap: 12px !important;
		column-gap: 14px !important;
		position: relative !important;
		padding: 16px 44px 16px 16px !important;
		margin-bottom: 14px !important;
		border: 1px solid #EEEEEE !important;
		border-radius: 8px !important;
		background: #ffffff !important;
		box-sizing: border-box !important;
	}

	/* Image + name on the first line */
	.woocommerce-cart table.cart .product-thumbnail {
		flex: 0 0 80px !important;
		min-width: 0 !important;
		padding: 0 !important;
		margin: 0 !important;
	}

	.woocommerce-cart table.cart .product-thumbnail img {
		width: 80px !important;
		height: auto !important;
	}

	.woocommerce-cart table.cart .product-name {
		flex: 1 1 calc(100% - 94px) !important;
		min-width: 0 !important;
		padding: 2px 0 0 !important;
		margin: 0 !important;
	}

	.woocommerce-cart table.cart .product-name::before,
	.woocommerce-cart table.cart .product-thumbnail::before,
	.woocommerce-cart table.cart .product-remove::before {
		content: none !important;
	}

	.woocommerce-cart table.cart .product-name a {
		font-size: 14px !important;
		line-height: 1.4 !important;
		word-break: break-word !important;
	}

	/* Price / Quantity / Subtotal: labeled rows, label left, value right */
	.woocommerce-cart table.cart .product-price,
	.woocommerce-cart table.cart .product-quantity,
	.woocommerce-cart table.cart .product-subtotal {
		flex: 1 1 100% !important;
		min-width: 0 !important;
		display: flex !important;
		align-items: center !important;
		justify-content: space-between !important;
		padding: 0 !important;
		margin: 0 !important;
	}

	.woocommerce-cart table.cart .product-price::before,
	.woocommerce-cart table.cart .product-quantity::before,
	.woocommerce-cart table.cart .product-subtotal::before {
		content: attr(data-title) ": " !important;
		font-family: 'Ubuntu', sans-serif !important;
		font-size: 13px !important;
		font-weight: 500 !important;
		color: #666666 !important;
		text-align: left !important;
	}

	.woocommerce-cart table.cart .product-price .woocommerce-Price-amount,
	.woocommerce-cart table.cart .product-subtotal .woocommerce-Price-amount {
		font-size: 14px !important;
		font-weight: 500 !important;
		color: #1A1A1A !important;
		text-align: right !important;
	}

	.woocommerce-cart table.cart .product-quantity .quantity {
		margin: 0 !important;
	}

	.woocommerce-cart table.cart .product-quantity input.qty {
		width: 88px !important;
		height: 36px !important;
		text-align: center !important;
	}

	/* Remove (X) pinned to the top-right corner of the card */
	.woocommerce-cart form.woocommerce-cart-form table.shop_table tbody td.product-remove {
		position: absolute !important;
		top: 10px !important;
		right: 10px !important;
		width: 26px !important;
		height: 26px !important;
		padding: 0 !important;
		border: none !important;
	}

	.woocommerce-cart table.shop_table .product-remove .remove {
		display: inline-flex !important;
		align-items: center !important;
		justify-content: center !important;
		width: 26px !important;
		height: 26px !important;
		background: #F5F5F5 !important;
		color: #999999 !important;
		border-radius: 50% !important;
		text-decoration: none !important;
		transition: background 0.2s ease, color 0.2s ease !important;
	}

	.woocommerce-cart table.shop_table .product-remove .remove:hover {
		background: #9E1B39 !important;
		color: #ffffff !important;
	}

	/* Coupon + Update Cart: stacked full-width with 12px gaps */
	.woocommerce-cart form.woocommerce-cart-form table.shop_table tbody tr:has(td.actions) {
		display: block !important;
		border: none !important;
		background: transparent !important;
		padding: 4px 0 0 !important;
		margin: 0 !important;
	}

	.woocommerce-cart table.shop_table td.actions {
		display: flex !important;
		flex-direction: column !important;
		gap: 12px !important;
		width: 100% !important;
		padding: 0 !important;
	}

	.woocommerce-cart .actions .coupon {
		display: flex !important;
		flex-direction: column !important;
		gap: 12px !important;
		width: 100% !important;
		margin: 0 !important;
	}

	.woocommerce-cart .coupon input.input-text,
	.woocommerce-cart .coupon button.button,
	.woocommerce-cart button[name="update_cart"] {
		width: 100% !important;
		box-sizing: border-box !important;
		margin: 0 !important;
	}

	.woocommerce-cart .coupon button.button,
	.woocommerce-cart button[name="update_cart"] {
		min-height: 42px !important;
	}

	/* Cart totals: remove duplicate "Subtotal:" / "Total:" labels */
	.woocommerce-cart .cart_totals table.shop_table td::before {
		content: none !important;
	}

	.woocommerce-cart .cart_totals table.shop_table th,
	.woocommerce-cart .cart_totals table.shop_table td {
		padding: 12px 16px !important;
	}
}

/* ============================================================
   Mantraadhi — My Account login / register tabs
   Tab-style toggle: one form visible at a time.
   ============================================================ */

.mtdh-login-tabs {
	max-width: 480px;
	margin: 0 auto;
}

/* Tab navigation */
.mtdh-tab-nav {
	display: flex;
	list-style: none;
	margin: 0 0 24px;
	padding: 0;
	border-bottom: 2px solid #e7e0d6;
}

.mtdh-tab-nav li {
	flex: 1;
	margin: 0;
}

.mtdh-tab-nav a {
	display: block;
	padding: 14px 16px;
	text-align: center;
	font-family: 'Ubuntu', sans-serif;
	font-size: 0.95rem;
	font-weight: 600;
	letter-spacing: 1px;
	text-transform: uppercase;
	color: #9b9191;
	text-decoration: none;
	border-bottom: 2px solid transparent;
	margin-bottom: -2px;
	transition: color 0.2s, border-color 0.2s;
}

.mtdh-tab-nav li.active a {
	color: #8b1e2f;
	border-bottom-color: #8b1e2f;
}

/* Tab panels */
.mtdh-tab-panel {
	display: none;
	animation: mtdh-fadein 0.25s ease;
}

.mtdh-tab-panel.active {
	display: block;
}

@keyframes mtdh-fadein {
	from { opacity: 0; transform: translateY(6px); }
	to   { opacity: 1; transform: translateY(0); }
}

/* OTP form placeholder (hidden until toggled) */
.xoo-ml-lwo-form-placeholder {
	margin-top: 16px;
}

.xoo-ml-open-lwo-btn,
.xoo-ml-login-otp-btn,
.xoo-ml-low-back {
	width: 100%;
}

/* Mobile */
@media (max-width: 480px) {
	.mtdh-tab-nav a {
		font-size: 0.82rem;
		padding: 12px 8px;
		letter-spacing: 0.5px;
	}
}

