/* =================================================
	WISHLIST & SHARE MODAL COMPONENTS
	================================================= */
.joom-share-btn-round{
	position:relative;
	z-index:20;
	background:#fff;
	border:1px solid #e5e7eb;
	border-radius:50%;
	box-shadow:0 2px 8px rgba(250,52,52,.08);
	font-size:15px;
	cursor:pointer;
	transition:all .3s cubic-bezier(0.4, 0, 0.2, 1);
	width: 32px;
	height: 32px;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0;
	line-height: 1;
	color: var(--price-color, #111827);
}

.joom-share-btn-round:hover{
	border-color: var(--primary-color, #FA3434);
	box-shadow:0 4px 14px rgba(250,52,52,.18);
	background:#ffeaea;
	transform: translateY(-2px);
	color: var(--primary-color, #FA3434);
}

.joom-share-btn-round:active{
	transform: translateY(0);
	box-shadow: 0 2px 6px rgba(250,52,52,.1);
}

.joom-actions-top .joom-compare-btn-round{
	position:relative;
	z-index:20;
	background:#fff;
	border:1px solid #e5e7eb;
	border-radius:50%;
	box-shadow:0 2px 8px rgba(250,52,52,.08);
	font-size:15px;
	cursor:pointer;
	transition:all .3s cubic-bezier(0.4, 0, 0.2, 1);
	width: 32px;
	height: 32px;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0;
	line-height: 1;
	color: var(--price-color, #111827);
}

.joom-actions-top .joom-compare-btn-round:hover,
.joom-actions-top .joom-compare-btn-round.in-compare{
	border-color: var(--primary-color, #FA3434);
	box-shadow:0 4px 14px rgba(250,52,52,.18);
	background:#ffeaea;
	transform: translateY(-2px);
	color: var(--primary-color, #FA3434);
}

.joom-actions-top .joom-compare-btn-round:active{
	transform: translateY(0);
	box-shadow: 0 2px 6px rgba(250,52,52,.1);
}

.joom-wishlist-btn-round,
.mj-wishlist-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.mj-wishlist-btn {
	position: absolute;
	top: 12px;
	right: 12px;
	z-index: 10;
}

.joom-wishlist-btn-round .woosw-btn,
.mj-wishlist-btn .woosw-btn {
	position: relative;
	z-index: 20;
	background: #fff;
	border: 1px solid #e5e7eb;
	border-radius: 50%;
	box-shadow: 0 2px 8px rgba(250,52,52,.08);
	font-size: 16px;
	cursor: pointer;
	transition: all .3s cubic-bezier(0.4, 0, 0.2, 1);
	width: 32px;
	height: 32px;
	min-width: 32px;
	min-height: 32px;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0;
	line-height: 1;
	color: var(--price-color, #111827);
	margin: 0;
	overflow: hidden;
}

.joom-wishlist-btn-round .woosw-btn::before,
.joom-wishlist-btn-round .woosw-btn i,
.mj-wishlist-btn .woosw-btn::before,
.mj-wishlist-btn .woosw-btn i {
	font-size: 16px;
	margin: 0;
	line-height: 1;
}

.joom-wishlist-btn-round .woosw-btn:hover,
.mj-wishlist-btn .woosw-btn:hover {
	border-color: var(--primary-color, #FA3434);
	box-shadow: 0 4px 14px rgba(250,52,52,.18);
	background: #ffeaea;
	transform: translateY(-2px);
	color: var(--primary-color, #FA3434);
}

.joom-wishlist-btn-round .woosw-btn.woosw-added,
.mj-wishlist-btn .woosw-btn.woosw-added {
	color: var(--primary-color, #FA3434);
	border-color: var(--primary-color, #FA3434);
	background: #fff5f5;
}

.joom-wishlist-btn-round .woosw-btn:active,
.mj-wishlist-btn .woosw-btn:active {
	transform: translateY(0);
	box-shadow: 0 2px 6px rgba(250,52,52,.1);
}

@media (max-width: 768px) {
	.joom-wishlist-btn-round .woosw-btn,
	.mj-wishlist-btn .woosw-btn {
	width: 28px;
	height: 28px;
	min-width: 28px;
	min-height: 28px;
	background: rgba(255, 255, 255, 0.95);
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12);
	border: none;
	}
	.joom-wishlist-btn-round .woosw-btn::before,
	.joom-wishlist-btn-round .woosw-btn i,
	.mj-wishlist-btn .woosw-btn::before,
	.mj-wishlist-btn .woosw-btn i {
	font-size: 16px;
	}
}

/* Order View Free Shipping Label */
.free-shipping-label {
	color: #27ae60;
}

/* --- Core Application Box Sizing --- */
*, *::before, *::after {
	box-sizing: border-box;
}

:root {
	--mj-price-red: var(--primary-color, #FA3434);
	--mj-progress-bg: var(--border-color, #EEEEEE);
	--mj-text-grey: var(--light-text-color, #666666);
	--mj-star-orange: var(--star-rating-color, #FF922B);
}

/* --- Desktop Sidebar & Product Grid Grid Setup --- */
.mj-shop-layout {
	display: flex;
	flex-direction: row;
	align-items: flex-start;
	gap: 24px;
	max-width: 1300px;
	margin: 0 auto;
	padding-top: 8px;
	padding-bottom: 8px;
	width: 100%;
}

.mj-shop-sidebar {
	width: 280px;
	flex-shrink: 0;
	position: relative;
	background: var(--card-bg-color, #FFFFFF);
	border-radius: 24px;
	padding: 0;
	border: none;
	box-shadow: 0 10px 40px rgba(0, 0, 0, 0.05);
	height: fit-content;
}

.mj-shop-main {
	flex: 1;
	min-width: 0;
	display: block;
	background: transparent;
	border-radius: 0;
	padding: 0;
	border: none;
	box-shadow: none;
}

.mj-mobile-filter-close {
	display: none;
}

/* --- Mobile Filtering Offcanvas Layout --- */
@media (max-width: 1023px) {
	.mj-shop-layout {
	flex-direction: column;
	align-items: stretch;
	}

	.mj-shop-main {
	width: 100%;
	max-width: 100%;
	}

	.mj-mobile-filter-overlay {
	display: block;
	position: fixed;
	inset: 0;
	background: rgba(15, 23, 42, 0.6);
	backdrop-filter: blur(4px);
	-webkit-backdrop-filter: blur(4px);
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: opacity 0.25s ease, visibility 0.25s ease;
	z-index: 9998;
	}

	.mj-shop-sidebar {
	position: fixed;
	top: 0;
	left: 0;
	width: min(320px, 86vw);
	max-width: 86vw;
	height: 100dvh;
	margin: 0;
	padding: 0; /* No padding from edges as requested */
	border-radius: 0;
	z-index: 9999;
	overflow-y: auto;
	transform: translateX(-105%);
	transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
	box-shadow: 20px 0 50px rgba(0,0,0,0.15);
	}

	.mj-mobile-filter-close {
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	width: 40px;
	height: 40px;
	border: none;
	border-radius: 50%;
	background: rgba(0,0,0,0.05);
	color: #111;
	font-size: 20px;
	}

	/* Sidebar Header for Mobile */
	.mj-shop-sidebar::before {
	content: "Filters";
	display: block;
	padding: 20px 24px;
	font-family: var(--mj-meta-font, sans-serif);
	font-size: 20px;
	font-weight: 800;
	line-height: var(--mj-meta-line-height, 1.6);
	letter-spacing: var(--mj-meta-letter-spacing, 0px);
	color: #111;
	border-bottom: 1px solid #eee;
	background: #fff;
	position: sticky;
	top: 0;
	z-index: 10;
	}

	.mj-shop-sidebar .mj-mobile-filter-close {
	position: absolute;
	top: 14px;
	right: 16px;
	z-index: 11;
	}

	/* Full-width category widget override */
	.mj-shop-sidebar #woocommerce_product_categories-2 {
	padding: 0;
	}

	.mj-shop-sidebar #woocommerce_product_categories-2 .widget-title {
	padding: 24px 20px 10px; /* Restoring internal padding for the title only */
	}

	.mj-shop-sidebar .widget {
	padding: 15px 20px; /* Internal spacing for pro look */
	margin: 0;
	border-bottom: 8px solid #f8f9fb; /* Segmented sections */
	}

	.mj-shop-sidebar .widget:last-child {
	border-bottom: none;
	padding-bottom: 100px; /* Extra space for sticky button */
	}

	.mj-shop-sidebar .widget-title {
	font-size: 15px;
	color: #111;
	margin-bottom: 18px;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	}

	body.mj-mobile-filters-open {
	overflow: hidden;
	}

	body.mj-mobile-filters-open .mj-mobile-filter-trigger-wrap {
	opacity: 0;
	pointer-events: none;
	}

	body.mj-mobile-filters-open .mj-shop-sidebar {
	transform: translateX(0);
	}

	body.mj-mobile-filters-open .mj-mobile-filter-overlay {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	}
}

/* --- Unified Sidebar Base --- */
.col-4 .sidebar {
	background: var(--card-bg-color, #FFFFFF);
	border-radius: 24px;
	padding: 0;
	border: none;
	box-shadow: 0 10px 40px rgba(0, 0, 0, 0.05);
	height: fit-content;
	width: 100%;
}

.mj-shop-sidebar .widget, .col-4 .sidebar .widget {
	background: transparent;
	border-radius: 0;
	padding: 24px 20px;
	margin-bottom: 0;
	box-shadow: none;
	border: none;
	border-bottom: 1px solid #F3F4F6;
	width: 100%;
}

.mj-shop-sidebar .widget select, .col-4 .sidebar .widget select,
.mj-shop-sidebar .widget input[type="text"], .col-4 .sidebar .widget input[type="text"],
.mj-shop-sidebar .widget input[type="search"], .col-4 .sidebar .widget input[type="search"],
.mj-shop-sidebar .widget input[type="number"], .col-4 .sidebar .widget input[type="number"],
.mj-shop-sidebar .widget ul, .col-4 .sidebar .widget ul {
	display: block;
	visibility: visible;
	opacity: 1;
}

.mj-shop-sidebar .widget:last-child, .col-4 .sidebar .widget:last-child {
	border-bottom: none;
}

.mj-shop-sidebar .widget:hover, .col-4 .sidebar .widget:hover {
	background: #F9FAFB;
}

.mj-shop-sidebar .widget-title, .col-4 .sidebar .widget-title {
	font-family: var(--mj-meta-font, sans-serif);
	font-size: 18px;
	text-transform: none;
	letter-spacing: 0;
	line-height: var(--mj-meta-line-height, 1.6);
	font-weight: 800;
	color: #111827;
	margin: 0 0 24px 0;
	padding-bottom: 0;
	border-bottom: none;
	position: relative;
}

.mj-shop-sidebar .widget-title::after, .col-4 .sidebar .widget-title::after {
	display: none;
}

.mj-shop-sidebar .widget select, .col-4 .sidebar .widget select,
.mj-shop-sidebar .widget input[type="text"], .col-4 .sidebar .widget input[type="text"],
.mj-shop-sidebar .widget input[type="number"], .col-4 .sidebar .widget input[type="number"],
.mj-shop-sidebar .widget button, .col-4 .sidebar .widget button {
	width: 100%;
	padding: 14px 16px;
	margin-bottom: 0px;
	border: 1px solid var(--border-color, #e2e8f0);
	border-radius: 12px;
	font-size: 14px;
	font-weight: 500;
	color: var(--secondary-color, #0f172a);
	background-color: var(--bg-color, #f8fafc);
	transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
	cursor: pointer;
}

.mj-shop-sidebar .widget select:hover, .col-4 .sidebar .widget select:hover,
.mj-shop-sidebar .widget input:hover, .col-4 .sidebar .widget input:hover,
.mj-shop-sidebar .widget button:hover, .col-4 .sidebar .widget button:hover {
	border-color: #D1D5DB;
	background-color: var(--card-bg-color, #FFFFFF);
}

.mj-shop-sidebar .widget select:focus, .col-4 .sidebar .widget select:focus,
.mj-shop-sidebar .widget input:focus, .col-4 .sidebar .widget input:focus,
.mj-shop-sidebar .widget button:focus, .col-4 .sidebar .widget button:focus {
	outline: none;
	border-color: var(--primary-color, #FA3434);
	background-color: var(--card-bg-color, #FFFFFF);
	box-shadow: 0 0 0 4px rgba(250, 52, 52, 0.1);
}

/* --- Fix Block Widgets Duplicate Wrappers --- */
.mj-shop-sidebar .widget_block {
	padding: 0;
	border: none;
	background: transparent;
}
.mj-shop-sidebar .widget_block .wc-block-components-panel,
.mj-shop-sidebar .widget_block .wp-block-woocommerce-price-filter {
	background: transparent;
	border: none;
	border-bottom: 1px solid #F3F4F6;
	padding: 15px 10px;
}
.mj-shop-sidebar .widget_block h2,
.mj-shop-sidebar .widget_block h3 {
	font-size: 18px;
	font-weight: 800;
	color: #111827;
	margin-bottom: 16px;
}

.mj-shop-sidebar .widget ul, .col-4 .sidebar .widget ul,
.mj-shop-sidebar .widget ol, .col-4 .sidebar .widget ol {
	list-style: none;
	padding: 0;
	margin: 0;
}

.mj-shop-sidebar .widget li, .col-4 .sidebar .widget li {
	padding: 0px 12px;
	margin-bottom: 4px;

	border-radius: 8px;
	transition: all 0.2s ease;
	font-size: 14px;
	font-weight: 500;
}

.mj-shop-sidebar .widget li:last-child {
	margin-bottom: 0;
}



/* --- Advanced Sidebar Tabs UI --- */
.mj-shop-sidebar .widget .tabs-navigation,
.mj-shop-sidebar .widget .jet-tabs-control-wrapper {
	display: flex;
	flex-wrap: nowrap;
	border: 1px solid #E5E7EB;
	border-radius: 4px;
	overflow: hidden;
	margin-bottom: 15px;
	box-shadow: 0 1px 2px rgba(0,0,0,0.05);
	width: 100%;
	box-sizing: border-box;
}

.mj-shop-sidebar .widget .tabs-item,
.mj-shop-sidebar .widget .jet-tabs-control {
	flex: 1;
	text-align: center;
	padding: 10px 2px;
	font-size: 11px;
	font-weight: 700;
	color: #4B5563;
	background: #F9FAFB;
	border-right: 1px solid #E5E7EB;
	cursor: pointer;
	transition: all 0.2s ease;
	text-transform: capitalize;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	min-width: 0;
}

.mj-shop-sidebar .widget .tabs-item:last-child,
.mj-shop-sidebar .widget .jet-tabs-control:last-child {
	border-right: none;
}

.mj-shop-sidebar .widget .tabs-item.active,
.mj-shop-sidebar .widget .jet-tabs-control.active,
.mj-shop-sidebar .widget .active-tab {
	background: var(--card-bg-color, #FFFFFF);
	color: var(--price-color, #212121);
	border-bottom: 2px solid var(--mj-price-red);
}





/* Desktop styling - Auto Fill Columns */
html body.woocommerce ul.products.mj-mega-grid,
html body.woocommerce-page ul.products.mj-mega-grid,
html body .mj-mega-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
	gap: 16px;
	padding: 16px 0;
	margin: 0;
	width: 100%;
	max-width: 100%;
}
html body.woocommerce ul.products.mj-mega-grid::before,
html body.woocommerce ul.products.mj-mega-grid::after,
html body.woocommerce-page ul.products.mj-mega-grid::before,
html body.woocommerce-page ul.products.mj-mega-grid::after {
	display: none;
}
html body.woocommerce ul.products.mj-mega-grid li.product,
html body.woocommerce-page ul.products.mj-mega-grid li.product {
	width: 100%;
	margin: 0;
	padding: 0;
	float: none;
	list-style: none;
}

.mj-premium-card {
	background: transparent !important;
	border-radius: 20px;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	position: relative;
	transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
	min-height: 0;
	min-width: 0;
	width: 100%;
	height: 100%;
	contain: layout style paint;
	box-shadow: none !important;
	border: none !important;
}

.mj-premium-card:hover {
	transform: none !important;
	z-index: 2;
}

/* --- Product Image Wrapping --- */
.mj-visual-box {
	position: relative;
	width: 100%;
	aspect-ratio: var(--mj-image-aspect-ratio, 1 / 1);
	background-color: var(--bg-color, #f8fafc);
	flex-shrink: 0;
	overflow: hidden !important;
	border-radius: 16px !important;
	z-index: 1;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	-webkit-transform: translate3d(0, 0, 0);
	transform: translate3d(0, 0, 0);
}

.mj-visual-box::after {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(to bottom, transparent 70%, rgba(0,0,0,0.03) 100%);
	pointer-events: none;
	z-index: 1;
	border-radius: 16px !important;
}

.mj-visual-box img,
html body.woocommerce ul.products li.product .mj-visual-box img,
html body.woocommerce-page ul.products li.product .mj-visual-box img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	max-width: 100%;
	image-rendering: crisp-edges;
	image-rendering: -webkit-optimize-contrast;
	margin: 0;
}

html body.woocommerce ul.products li.product .mj-visual-box img.mj-primary-img,
html body.woocommerce-page ul.products li.product .mj-visual-box img.mj-primary-img,
.mj-visual-box img.mj-primary-img {
	position: relative;
	height: var(--mj-image-height, 100%);
	border-radius: 16px !important;
	overflow: hidden !important;
}

/* Enhanced Image Hover Transitions (Smooth Zoom + Crossfade) */
.mj-visual-box img.mj-primary-img {
	transform: scale(1);
	transition: transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);
}
.mj-premium-card:hover .mj-visual-box img.mj-primary-img {
	transform: scale(1.08);
}

.mj-visual-box img.mj-secondary-img {
	opacity: 0;
	z-index: 2;
	transform: scale(1.03);
	transition: opacity 0.6s cubic-bezier(0.16, 1, 0.3, 1), transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);
}
.mj-premium-card:hover .mj-visual-box img.mj-secondary-img {
	opacity: 1;
	transform: scale(1.08);
}

/* --- Product Details Container --- */
.mj-card-details {
	padding: 10px 14px 10px;
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
}

.mj-price-cart-row {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	margin-bottom: 4px;
	gap: 12px;
	flex-shrink: 0;
	position: relative; /* Ensure this row can have a z-index */
	width: 100%;
}

.mj-price-wrap {
	display: flex;
	align-items: center;
	color: var(--price-color, #111827);
	gap: 6px;
	flex: 1 1 auto;
	min-width: 0;
	flex-wrap: wrap;
}

.mj-flash-icon {
	font-size: 14px;
}

.mj-price-val {
	font-size: 18px;
	font-weight: 800;
	line-height: 1;
	white-space: nowrap;
	color: var(--price-color, #111827);
}

.mj-cart-btn {
    align-items: center;
    background-color: var(--add-to-cart-bg, #111827);
	border: 2px solid var(--add-to-cart-border, #111827) !important;
	border-radius: 12px !important;
    box-shadow: 0 4px 12px rgba(0,0,0,0.1);
    box-sizing: border-box;
    color: var(--btn-text-color, #ffffff);
    cursor: pointer;
    display: flex;
    font-size: inherit;
	width: 44px !important;
	height: 36px !important;
    justify-content: center;
    line-height: inherit;
    margin: -40px 0 0 0;
    padding: 0;
    position: relative;
    z-index: 2;
	border-radius: 12px;
    transition: all 0.2s ease-out;
}

.mj-cart-btn:hover {
	transform: translateY(-2px) !important;
	background-color: var(--add-to-cart-hover, #e62e2e) !important;
	border: 2px solid var(--add-to-cart-border-hover, #e62e2e) !important;
	color: var(--add-to-cart-hover-color, #ffffff);
	box-shadow: 0 6px 16px rgba(250, 52, 52, 0.25);
}

.mj-cart-btn.added,
.btn-add-cart.added {
	background-color: #28a745;
	border: 2px solid var(--btn-border-color, #ffffff) !important;
	color: #fff;
	border-radius: 12px !important;
}

.mj-cart-btn svg {
	width: 16px;
	height: 16px;
	stroke: white;
	stroke-width: 2.5;
	flex-shrink: 0;
	display: block;
}

/* --- Progress Bars --- */
.mj-stock-status {
	font-size: 11px;
	color: var(--mj-text-grey);
	margin-bottom: 4px;
}

.mj-progress-container {
	width: 100%;
	height: 3px;
	background-color: var(--mj-progress-bg);
	border-radius: 2px;
	margin-bottom: 8px;
}

.mj-progress-fill {
	height: 100%;
	background: var(--mj-price-red);
	width: 45%;
}

.mj-product-name,
html body.woocommerce ul.products li.product .mj-product-name,
html body.woocommerce-page ul.products li.product .mj-product-name {
	font-family: var(--mj-shop-title-font);
	font-size: var(--mj-shop-title-font-size);
	color: var(--secondary-color, #0f172a);
	line-height: var(--mj-shop-title-line-height);
	font-weight: var(--mj-shop-title-font-weight);
	margin-top: 0;
	margin-bottom: 4px;
	height: auto;
	min-height: 0;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	line-clamp: 2;
	-webkit-box-orient: vertical;
	box-orient: vertical;
	overflow: hidden;
	flex-shrink: 0;
	transition: color 0.2s ease;
}

.mj-premium-card:hover .mj-product-name {
	color: var(--primary-color, #FA3434);
}

.mj-rating-badge {
	background-color: #000000;
	padding: 2px 4px;
	border-radius: 8px;
	display: inline-flex;
	align-items: center;
	gap: 4px;
	font-family: var(--mj-meta-font, sans-serif);
	font-size: 12px;
	font-weight: 600;
	line-height: var(--mj-meta-line-height, 1.6);
	letter-spacing: var(--mj-meta-letter-spacing, 0px);
	color: var(--btn-text-color, #ffffff);
	width: fit-content;
	flex-shrink: 0;
}

.mj-star {
	color: var(--mj-star-orange);
	font-size: 11px;
}

/* Archive Swatches */
.mj-rating-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	margin-top: 4px;
	flex-wrap: wrap;
	width: 100%;
}
.mj-rating-row .mj-rating-badge {
	flex-shrink: 0;
}
.mj-archive-swatches {
	display: flex;
	align-items: center;
	gap: 4px;
	margin: -4px 0 -4px auto;
	padding: 4px;
	flex-wrap: nowrap;
	justify-content: flex-end;
	overflow-x: auto;
	scrollbar-width: none;
	-webkit-overflow-scrolling: touch;
}
.mj-archive-swatches::-webkit-scrollbar {
	display: none;
}
.mj-archive-swatch {
	width: var(--mj-archive-swatch-size, 24px);
	height: var(--mj-archive-swatch-size, 24px);
	border-radius: var(--mj-archive-swatch-radius, 50%);
	border: 1px solid var(--border-color, #e2e8f0);
	cursor: pointer;
	overflow: hidden;
	position: relative;
	background: var(--bg-color, #f8fafc);
	transition: all 0.2s ease;
	flex-shrink: 0;
	display: block;
}
.mj-archive-swatch:hover, .mj-archive-swatch.active {
	border-color: var(--primary-color, #FA3434);
	box-shadow: 0 0 0 1px var(--primary-color, #FA3434);
	transform: scale(1.1);
	z-index: 2;
}
html body .mj-premium-card .mj-archive-swatch img, 
html body .mj-premium-card .mj-archive-swatch .mj-archive-swatch-color {
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: center;
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	padding: 0;
	border: none;
}

/* Fix for Secondary Image Hover Interference */
html body .mj-premium-card.mj-swatch-active .mj-primary-img {
	opacity: 1;
	visibility: visible;
}
html body .mj-premium-card.mj-swatch-active .mj-secondary-img {
	display: none;
}

.mj-ad-badge {
	position: absolute;
	top: 6px; left: 6px;
	background: rgba(0,0,0,0.3);
	color: #fff;
	padding: 1px 5px;
	border-radius: 3px;
	font-size: 9px;
	z-index: 4;
}

@media (max-width: 600px) {
	html body.woocommerce ul.products.mj-mega-grid,
	html body.woocommerce-page ul.products.mj-mega-grid,
	html body .mj-mega-grid {
	grid-template-columns: repeat(2, 1fr);
	gap: 12px;
	padding: 10px 0;
	}

	html body.woocommerce ul.products.joom-similar-products .mj-mega-grid,
	html body.woocommerce-page .joom-similar-products .mj-mega-grid,
	html body.woocommerce-page .joom-top-picks-section .mj-mega-grid {
	padding-left: 0;
	padding-right: 0;
	gap: 12px;
	margin: 0;
	}

	.mj-rating-badge {
	padding: 3px 6px;
	font-size: 11px;
	}

	.mj-premium-card {
	will-change: transform;
	backface-visibility: hidden;
	}
}

/* --- Infinite Scroll Elements --- */
.mj-load-more-wrap {
	width: 100%;
	display: flex;
	justify-content: center;
	padding: 14px 12px 24px;
}

.mj-load-more-btn {
	min-width: 180px;
	height: 48px;
	border: none;
	border-radius: 100px;
	background: var(--secondary-color, #0f172a);
	color: var(--btn-text-color, #ffffff);
	font-size: 15px;
	font-weight: 700;
	letter-spacing: 0.5px;
	cursor: pointer;
	transition: all 0.2s ease;
	box-shadow: 0 8px 20px rgba(15, 23, 42, 0.15);
}

.mj-load-more-btn:hover {
	background: var(--text-color, #1e293b);
	transform: translateY(-2px);
	box-shadow: 0 10px 24px rgba(15, 23, 42, 0.25);
}

.mj-load-more-btn:disabled,
.mj-load-more-btn.is-loading {
	opacity: 0.8;
	cursor: wait;
}


@media (max-width: 767px) {
	.tax-product_cat .mj-mega-grid,
	.post-type-archive-product .mj-mega-grid {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 8px;
	}
}

/* --- Catalog Filter Bar Horizontal --- */
.mj-filters-bar-wrapper {
	background: transparent;
	border-bottom: none;
	padding: 0 10px 16px 10px;
	margin: 0;
	box-shadow: none;
	min-height: auto;
	display: flex;
	align-items: center;
}

.mj-filters-bar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	flex-wrap: wrap;
	width: 100%;
	max-width: 100%;
}

.mj-filters-list {
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
	align-items: center;
	flex: 1;
}

.mj-filter-badge {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	background: var(--card-bg-color, #FFFFFF);
	border: 1px solid #E5E7EB;
	border-radius: 100px;
	padding: 6px 14px;
	font-size: 13px;
	color: var(--secondary-color, #0f172a);
	font-weight: 600;
	box-shadow: 0 2px 8px rgba(0,0,0,0.02);
}

.mj-filter-remove {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 18px;
	height: 18px;
	background: #f1f5f9;
	border-radius: 50%;
	color: #64748b;
	text-decoration: none;
	font-weight: bold;
	transition: all 0.2s ease;
	cursor: pointer;
}

.mj-filter-remove:hover {
	background: var(--primary-color, #FA3434);
	color: #FFF;
}

.mj-clear-filters {
	display: inline-block;
	color: #64748b;
	background: var(--bg-color, #f8fafc);
	padding: 6px 14px;
	border-radius: 100px;
	text-decoration: none;
	font-size: 13px;
	font-weight: 600;
	transition: color 0.2s ease;
	white-space: nowrap;
}

.mj-clear-filters:hover {
	color: var(--secondary-color, #0f172a);
	background: #f1f5f9;
}

@media (max-width: 768px) {
	.mj-filters-bar {
	flex-direction: column;
	align-items: flex-start;
	}

	.mj-filters-list {
	width: 100%;
	}

	.mj-filter-badge {
	font-size: 12px;
	padding: 5px 10px;
	}
}

.woocommerce-account .site-content,
.woocommerce-account #content,
.woocommerce-account .content-area,
body.woocommerce-account #primary.content-area {
	max-width: 1300px;
	margin: 0 auto;
	padding: 40px 16px;
	width: 100%;
	display: block;
	box-shadow: none;
	background: transparent;
}

/* =================================================
	MY ACCOUNT DASHBOARD COMPONENTS
	================================================= */
.woocommerce-account {
	background: var(--bg-color, #f8fafc);
	padding: 0;
}

.woocommerce-account .site-main {
	display: flex;
	flex-direction: row;
	gap: 32px;
	align-items: flex-start;
	width: 100%;
	max-width: 1300px;
	margin: 0 auto;
}

.woocommerce-account .container {
	max-width: 1300px;
	margin: 0 auto;
	width: 100%;
	padding: 0;
}

.woocommerce-account .woocommerce-MyAccount-navigation {
	flex: 0 0 280px;
	width: 280px;
	background: var(--card-bg-color, #ffffff);
	border: 1px solid var(--border-color, #e2e8f0);
	border-radius: 16px;
	padding: 16px;
	box-shadow: none;
	height: fit-content;
	position: sticky;
	top: 100px;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: block;
	width: 100%;
}

.woocommerce-account .woocommerce-MyAccount-navigation li {
	margin: 0;
	padding: 0;
	display: block;
}

.woocommerce-account .woocommerce-MyAccount-navigation a {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 11px 14px;
	font-size: 14.5px;
	font-weight: 500;
	color: var(--text-color, #475569);
	text-decoration: none;
	border-radius: 10px;
	transition: background 0.2s ease, color 0.2s ease;
	border-bottom: none;
	text-align: left;
	margin-bottom: 2px;
}

.mj-nav-icon {
	flex: 0 0 auto;
	width: 20px;
	height: 20px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: currentColor;
}

.woocommerce-account .woocommerce-MyAccount-navigation a:hover {
	background: var(--bg-color, #f8fafc);
	color: var(--secondary-color, #0f172a);
}

body.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a {
	background: rgba(250, 52, 52, 0.1);
	background: color-mix(in srgb, var(--primary-color, #FA3434) 10%, transparent);
	color: var(--primary-color, #FA3434) !important;
	font-weight: 600;
	box-shadow: none;
}

.woocommerce-account .entry-content {
	flex: 1;
	background: transparent;
	border: none;
	border-radius: 0;
	padding: 0;
	box-shadow: none;
}

@media (max-width: 768px) {
	.woocommerce-account .site-main {
	flex-direction: column;
	gap: 20px;
	}

	.woocommerce-account .woocommerce-MyAccount-navigation {
	width: 100%;
	flex: none;
	position: relative;
	top: auto;
	padding: 0;
	background: transparent;
	border: none;
	box-shadow: none;
	margin-bottom: 10px;
	}

	.woocommerce-account .entry-content {
	width: 100%;
	padding: 8px;
	}
}



.woocommerce-account .entry-content h2 {
	font-size: 22px;
	font-weight: 700;
	color: var(--text-color, #111827);
	margin-top: 0;
	margin-bottom: 24px;
	padding-bottom: 16px;
	border-bottom: 2px solid var(--border-color, #f3f4f6);
}

.woocommerce-account .entry-content p {
	font-size: 14px;
	color: var(--text-color, #000000);
	line-height: 1.6;
	margin: 16px 0 16px 0;
}

.mj-account-page-header {
	margin-bottom: 24px;
}

.woocommerce-account .entry-content .mj-account-page-header h2 {
	font-family: var(--mj-h2-font, var(--mj-body-font, sans-serif));
	font-size: 26px;
	font-weight: 800;
	color: var(--secondary-color, #0f172a);
	margin: 0 0 6px 0;
}

.mj-account-page-header p {
	font-size: 14px;
	color: var(--light-text-color, #64748b);
	margin: 0;
}

.woocommerce-account .entry-content a {
	color: var(--link-color, #FA3434);
	text-decoration: none;
	transition: color 0.2s ease;
}

.woocommerce-account .entry-content a:hover {
	color: var(--link-hover-color, #E83E3E);
	text-decoration: none;
}

.woocommerce-account table.shop_table td {
	border-top: 0;
}

.woocommerce-account table.shop_table_responsive tr:nth-child(2n) td {
	background-color: transparent;
}

/* =================================================
	TABLES UI (ORDERS, WALLET, DOWNLOADS)
	================================================= */
.woocommerce-account .woocommerce-MyAccount-content .shop_table {
	width: 100%;
	border-collapse: separate;
	border-spacing: 0 16px;
	background: transparent;
	border: none;
	margin-top: 0;
	margin-bottom: 30px;
}

.woocommerce-account .woocommerce-MyAccount-content .shop_table thead th {
	background: transparent;
	border: none;
	border-bottom: 1px solid var(--border-color, #e2e8f0);
	padding: 0 20px 16px 20px;
	font-size: 12px;
	font-weight: 800;
	color: var(--light-text-color, #64748b);
	text-transform: uppercase;
	letter-spacing: 1.5px;
	border-radius: 0;
	text-align: center;
}

.woocommerce-account .woocommerce-MyAccount-content .shop_table thead th:first-child {
	text-align: left;
}

.woocommerce-account .woocommerce-MyAccount-content .shop_table thead th:last-child {
	text-align: right;
}

.woocommerce-account .woocommerce-MyAccount-content .shop_table tbody tr {
	background: var(--card-bg-color, #ffffff);
	box-shadow: 0 2px 8px rgba(0,0,0,0.02);
	transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.woocommerce-account .woocommerce-MyAccount-content .shop_table tbody tr:hover {
	transform: translateY(-3px);
	box-shadow: 0 12px 24px -6px rgba(0,0,0,0.08);
	z-index: 2;
	position: relative;
}

.woocommerce-account .woocommerce-MyAccount-content .shop_table tbody td,
.woocommerce-account .woocommerce-MyAccount-content .shop_table tbody th {
	padding: 24px 20px;
	border-top: 1px solid var(--border-color, #e2e8f0);
	border-bottom: 1px solid var(--border-color, #e2e8f0);
	color: var(--text-color, #334155);
	font-size: 14px;
	vertical-align: middle;
	text-align: center;
	background: var(--card-bg-color, #fff);
}

.woocommerce-account .woocommerce-MyAccount-content .shop_table tbody td:first-child,
.woocommerce-account .woocommerce-MyAccount-content .shop_table tbody th:first-child {
	text-align: left;
	border-left: 1px solid var(--border-color, #e2e8f0);
	border-top-left-radius: 16px;
	border-bottom-left-radius: 16px;
	padding-left: 30px;
}

.woocommerce-account .woocommerce-MyAccount-content .shop_table tbody td:last-child,
.woocommerce-account .woocommerce-MyAccount-content .shop_table tbody th:last-child {
	text-align: right;
	border-right: 1px solid var(--border-color, #e2e8f0);
	border-top-right-radius: 16px;
	border-bottom-right-radius: 16px;
	padding-right: 30px;
}

.woocommerce-account .woocommerce-MyAccount-content .shop_table tbody td.download-file a,
.woocommerce-account .woocommerce-MyAccount-content .shop_table tbody .woocommerce-orders-table__cell-order-number a {
	color: var(--secondary-color, #0f172a);
	font-weight: 800;
	font-size: 14.5px;
	text-decoration: none;
	background: var(--bg-color, #f8fafc);
	padding: 6px 12px;
	border-radius: 8px;
	border: 1px solid var(--border-color, #e2e8f0);
	transition: all 0.2s ease;
}

.woocommerce-account .woocommerce-MyAccount-content .shop_table tbody td.download-file a:hover,
.woocommerce-account .woocommerce-MyAccount-content .shop_table tbody .woocommerce-orders-table__cell-order-number a:hover {
	background: var(--secondary-color, #0f172a);
	color: var(--btn-hover-text-color, #ffffff) !important;
	border-color: var(--secondary-color, #0f172a);
	box-shadow: 0 4px 12px rgba(15,23,42,0.15);
}

.woocommerce-account .woocommerce-MyAccount-content .shop_table mark.order-status {
	padding: 7px 18px;
	border-radius: 100px;
	font-size: 12px;
	font-weight: 700;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	text-transform: capitalize;
	background: #64748b;
	color: #ffffff;
	box-shadow: 0 3px 10px -2px rgba(0,0,0,0.2);
}

.woocommerce-account .woocommerce-MyAccount-content .shop_table mark.order-status.status-completed {
	background: linear-gradient(135deg, #22c55e 0%, #16a34a 100%); color: #fff;
}
.woocommerce-account .woocommerce-MyAccount-content .shop_table mark.order-status.status-processing {
	background: linear-gradient(135deg, #3b82f6 0%, #2563eb 100%); color: #fff;
}
.woocommerce-account .woocommerce-MyAccount-content .shop_table mark.order-status.status-on-hold {
	background: linear-gradient(135deg, #f59e0b 0%, #d97706 100%); color: #fff;
}
.woocommerce-account .woocommerce-MyAccount-content .shop_table mark.order-status.status-cancelled,
.woocommerce-account .woocommerce-MyAccount-content .shop_table mark.order-status.status-failed {
	background: linear-gradient(135deg, #f43f5e 0%, #e11d48 100%); color: #fff;
}

.woocommerce-account .woocommerce-MyAccount-content .shop_table .button {
	background: var(--bg-color, #f8fafc);
	color: #475569;
	padding: 10px 28px;
	border-radius: 100px;
	font-weight: 800;
	font-size: 14px;
	border: 1px solid var(--border-color, #e2e8f0);
	box-shadow: none;
	transition: all 0.2s ease;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: auto;
	min-width: 80px;
	line-height: 1;
	text-decoration: none;
}

html body .woocommerce-account .woocommerce-MyAccount-content .shop_table .button:hover {
	background: var(--secondary-color, #0f172a);
	transform: translateY(-2px);
	box-shadow: 0 4px 12px rgba(15, 23, 42, 0.15);
	color: var(--btn-hover-text-color, #ffffff);
	border-color: var(--secondary-color, #0f172a);
}

.woocommerce-AccountOrdersTable { display: none; }

.pro-dashboard {
	padding: 0;
	background: transparent;
}

.pro-dashboard__header {
	margin-bottom: 32px;
	padding-bottom: 24px;
	border-bottom: 2px solid #f3f4f6;
}

.woocommerce-account .entry-content .pro-dashboard__header h2 {
	font-family: var(--mj-h2-font, var(--mj-body-font, sans-serif));
	font-size: 32px;
	font-weight: 800;
	color: var(--secondary-color, #0f172a);
	margin: 0 0 10px 0;
	letter-spacing: -0.5px;
}

.pro-dashboard__header h2 span {
	color: var(--primary-color, #FA3434);
}

.pro-dashboard__header p {
	color: var(--light-text-color, #64748b);
	font-size: 16px;
	line-height: 1.6;
	max-width: 600px;
}

.pro-recent-orders {
	background: var(--card-bg-color, #ffffff);
	border: 1px solid var(--border-color, #f1f5f9);
	border-radius: 16px;
	padding: 24px;
	margin-bottom: 32px;
}

.pro-recent-orders__title-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 16px;
}

.woocommerce-account .entry-content .pro-recent-orders__title-row h3 {
	margin: 0;
	font-family: var(--mj-h3-font, var(--mj-body-font, sans-serif));
	font-size: 16px;
	font-weight: 700;
	color: var(--secondary-color, #0f172a);
}

.woocommerce-account .entry-content .pro-recent-orders__view-all {
	font-size: 13px;
	font-weight: 600;
	color: var(--primary-color, #FA3434);
	text-decoration: none;
}

.pro-recent-orders__list {
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.woocommerce-account .entry-content .pro-recent-order-row {
	display: flex;
	align-items: center;
	gap: 16px;
	padding: 14px 12px;
	border-radius: 10px;
	text-decoration: none;
	color: inherit;
	transition: background 0.2s ease;
}

.woocommerce-account .entry-content .pro-recent-order-row:hover {
	background: var(--bg-color, #f8fafc);
}

.pro-recent-order-row__number {
	font-size: 14px;
	font-weight: 700;
	color: var(--secondary-color, #0f172a);
	flex: 1 1 auto;
}

.pro-recent-order-row__date {
	font-size: 13px;
	color: var(--light-text-color, #94a3b8);
	flex: 0 0 auto;
}

.pro-recent-order-row mark.order-status {
	background: transparent;
	padding: 0;
	border-radius: 0;
	box-shadow: none;
	font-size: 13px;
	font-weight: 600;
	color: #64748b;
	text-transform: capitalize;
	flex: 0 0 auto;
	min-width: 90px;
}

.pro-recent-order-row mark.order-status.status-completed { color: #16a34a; }
.pro-recent-order-row mark.order-status.status-processing { color: #2563eb; }
.pro-recent-order-row mark.order-status.status-on-hold { color: #d97706; }
.pro-recent-order-row mark.order-status.status-cancelled,
.pro-recent-order-row mark.order-status.status-failed { color: #dc2626; }

.pro-recent-order-row__total {
	font-size: 14px;
	font-weight: 700;
	color: var(--secondary-color, #0f172a);
	flex: 0 0 auto;
	min-width: 70px;
	text-align: right;
}

.pro-recent-orders__empty {
	text-align: center;
	padding: 24px 0;
}

.pro-recent-orders__empty p {
	color: var(--light-text-color, #64748b);
	margin: 0 0 16px 0;
}

.woocommerce-account .entry-content .featured-btn--outline {
	background: transparent;
	color: var(--primary-color, #FA3434);
	border: 1.5px solid var(--primary-color, #FA3434);
	box-shadow: none;
}

.woocommerce-account .entry-content .featured-btn--outline:hover {
	background: var(--primary-color, #FA3434);
	color: #ffffff;
}

@media (max-width: 640px) {
	.woocommerce-account .entry-content .pro-recent-order-row {
		flex-wrap: wrap;
	}
	.pro-recent-order-row__number {
		flex: 1 1 100%;
	}
}

.pro-dashboard-featured {
	background: linear-gradient(135deg, var(--secondary-color, #0f172a) 0%, #1e293b 100%);
	border-radius: 24px;
	padding: 40px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	color: #ffffff;
	position: relative;
	overflow: hidden;
	margin-top: 40px;
	box-shadow: 0 20px 40px rgba(15, 23, 42, 0.2);
	border: 1px solid rgba(255, 255, 255, 0.08);
}

.woocommerce-account .entry-content .pro-dashboard-featured h3 {
	margin: 0 0 10px 0;
	font-family: var(--mj-h3-font, var(--mj-body-font, sans-serif));
	font-size: 24px;
	font-weight: 800;
	color: #fff;
}

.woocommerce-account .entry-content .pro-dashboard-featured p {
	color: #ffffff;
	font-size: 15px;
	max-width: 400px;
	margin-bottom: 20px;
}

html body .woocommerce-account .entry-content .featured-btn,
html body .featured-btn {
	display: inline-block;
	background: #ffffff;
	color: var(--primary-color, #FA3434);
	padding: 12px 28px;
	border-radius: 12px;
	font-weight: 700;
	text-decoration: none;
	box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2);
	position: relative;
	z-index: 1;
}

html body .woocommerce-account .entry-content .featured-btn:hover,
html body .featured-btn:hover {
	color: var(--primary-color, #FA3434);
	background: #fff5f2;
	transform: translateY(-2px);
	box-shadow: 0 6px 20px rgba(0, 0, 0, 0.25);
}

.featured-image {
	display: block;
	font-size: 80px;
	opacity: 0.1;
	position: absolute;
	right: -10px;
	bottom: -10px;
	top: auto;
	transform: rotate(-15deg);
	z-index: 1;
}

/* --- Dashboard Forms & Mobile Alignment --- */
@media (max-width: 768px) {
	.woocommerce-account .woocommerce-MyAccount-content .shop_table {
	border: none;
	background: transparent;
	display: block;
	}

	.woocommerce-account .woocommerce-MyAccount-content .shop_table thead {
	display: none;
	}

	.woocommerce-account .woocommerce-MyAccount-content .shop_table tbody,
	.woocommerce-account .woocommerce-MyAccount-content .shop_table tr {
	display: flex;
	flex-direction: column;
	width: 100%;
	gap: 0;
	}

	.woocommerce-account .woocommerce-MyAccount-content .shop_table tr {
	margin-bottom: 20px;
	border: 1px solid var(--border-color, #e5e7eb);
	border-radius: 20px;
	padding: 0;
	background: var(--card-bg-color, #fff);
	box-shadow: 0 4px 12px rgba(0,0,0,0.03);
	overflow: hidden;
	}

	.woocommerce-account .woocommerce-MyAccount-content .shop_table tbody td,
	.woocommerce-account .woocommerce-MyAccount-content .shop_table tbody th {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 16px 20px;
	border: none;
	border-bottom: 1px solid var(--border-color, #f1f5f9);
	text-align: right;
	font-size: 14px;
	background: transparent;
	border-radius: 0;
	}

	.woocommerce-account .woocommerce-MyAccount-content .shop_table tbody .woocommerce-orders-table__cell-order-total .amount {
	margin-right: 4px;
	}

	.woocommerce-account .woocommerce-MyAccount-content .shop_table tbody td.download-file,
	.woocommerce-account .woocommerce-MyAccount-content .shop_table tbody .woocommerce-orders-table__cell-order-number {
	border-bottom: 1px solid var(--border-color, #e2e8f0);
	padding-top: 16px;
	font-size: 15px;
	background: var(--bg-color, #f8fafc);
	}

	.woocommerce-account .woocommerce-MyAccount-content .shop_table tbody td:last-child,
	.woocommerce-account .woocommerce-MyAccount-content .shop_table tbody th:last-child {
	border-bottom: none;
	padding-bottom: 16px;
	margin-top: 0;
	}

	.woocommerce-account .woocommerce-MyAccount-content .shop_table tbody td.download-actions .button,
	.woocommerce-account .woocommerce-MyAccount-content .shop_table tbody .woocommerce-orders-table__cell-order-actions .button {
	width: 100%;
	text-align: center;
	justify-content: center;
	padding: 14px 24px;
	font-size: 15px;
	background: var(--secondary-color, #0f172a);
	color: var(--btn-text-color, #ffffff);
	}

	.woocommerce-account .woocommerce-MyAccount-content .shop_table tbody td.download-actions,
	.woocommerce-account .woocommerce-MyAccount-content .shop_table tbody .woocommerce-orders-table__cell-order-actions {
	padding: 16px;
	background: var(--bg-color, #f8fafc);
	}

	.woocommerce-account .woocommerce-MyAccount-content .shop_table tbody td.download-actions::before,
	.woocommerce-account .woocommerce-MyAccount-content .shop_table tbody .woocommerce-orders-table__cell-order-actions::before {
	display: none !important;
	}

	.woocommerce-account .woocommerce-MyAccount-content .shop_table tbody td::before,
	.woocommerce-account .woocommerce-MyAccount-content .shop_table tbody th::before {
	content: attr(data-title) ": ";
	font-weight: 700;
	color: var(--text-color, #64748b);
	text-transform: uppercase;
	font-size: 11px;
	text-align: left;
	flex: 1;
	}

	.woocommerce-account:not(.woocommerce-dashboard) .woocommerce-MyAccount-navigation {
		display: none;
	}

	.woocommerce-Addresses {
		display: flex;
		flex-direction: column;
		gap: 16px;
	}

	.woocommerce-Address {
	min-height: auto;
	}

	.woocommerce-Address-title h3 {
	font-size: 14px;
	}

	.woocommerce-Address .edit {
	padding: 6px 12px;
	font-size: 12px;
	width: auto;
	}

	.woocommerce-account .woocommerce-MyAccount-navigation ul {
	display: flex;
	overflow-x: auto;
	white-space: nowrap;
	gap: 14px;
	padding: 8px 8px 24px 8px;
	scrollbar-width: none; /* Firefox */
	-webkit-overflow-scrolling: touch;
	}

	.woocommerce-account .woocommerce-MyAccount-navigation ul::-webkit-scrollbar {
	display: none;
	}

	.woocommerce-account .woocommerce-MyAccount-navigation li {
	flex: 0 0 auto;
	}

	.woocommerce-account .woocommerce-MyAccount-navigation a {
	padding: 10px 20px 10px 10px;
	font-size: 14.5px;
	font-weight: 600;
	border-bottom: none;
	background: var(--card-bg-color, #ffffff);
	border: 1px solid var(--border-color, #e2e8f0);
	border-radius: 100px;
	text-align: center;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.03);
	transform: none;
	}

	.mj-nav-icon {
	width: 18px;
	height: 18px;
	}

	body.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a {
	background: rgba(250, 52, 52, 0.1);
	background: color-mix(in srgb, var(--primary-color, #FA3434) 10%, transparent);
	color: var(--primary-color, #FA3434) !important;
	border-color: var(--primary-color, #FA3434);
	box-shadow: none;
	transform: none;
	}

	.pro-dashboard__header {
	margin-bottom: 20px;
	padding-bottom: 16px;
	}

	.pro-dashboard__header h2 {
	font-size: 24px;
	}

	.pro-dashboard__header p {
	font-size: 14px;
	}

	.pro-dashboard-featured {
	flex-direction: column;
	align-items: flex-start;
	gap: 20px;
	padding: 24px;
	}
}

.woocommerce-account .u-columns.col2-set {
	display: flex;
	flex-wrap: wrap;
	gap: 24px;
	margin-top: 24px;
}

.woocommerce-account .u-columns.col2-set .u-column1,
.woocommerce-account .u-columns.col2-set .u-column2 {
	flex: 1;
	min-width: 0;
	background: var(--bg-color, #f9fafb);
	padding: 24px;
	border-radius: 12px;
	border: 1px solid var(--border-color, #e5e7eb);
	display: flex;
	flex-direction: column;
	gap: 12px;
	position: relative;
	min-height: 180px;
	box-sizing: border-box;
	max-width: 100%;
}

.woocommerce-account .addresses header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 12px;
	border-bottom: 1px solid var(--border-color, #e5e7eb);
	padding-bottom: 8px;
}

.woocommerce-account .addresses header h3 {
	margin: 0;
	font-size: 18px;
	font-weight: 700;
	color: var(--text-color, #111827);
}

.woocommerce-account .address address {
	font-style: normal;
	line-height: 1.6;
	font-size: 14px;
	color: var(--text-color, #4b5563);
	margin-bottom: 0;
	word-break: break-word;
	overflow-wrap: break-word;
}

/* =================================================
	MY ACCOUNT - ORDERS LIST (CARD STYLE)
	================================================= */
.mj-orders-list {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.mj-order-card {
	background: var(--card-bg-color, #ffffff);
	border: 1px solid var(--border-color, #e2e8f0);
	border-radius: 16px;
	padding: 20px 24px 24px;
	transition: box-shadow 0.2s ease, border-color 0.2s ease;
}

.mj-order-card:hover {
	box-shadow: 0 8px 24px -10px rgba(0,0,0,0.12);
	border-color: #e2e8f0;
}

.mj-order-card__top {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	flex-wrap: wrap;
	gap: 16px;
	padding-bottom: 18px;
	border-bottom: 1px solid var(--border-color, #f1f5f9);
	margin-bottom: 18px;
}

.mj-order-card__title-block mark.order-status {
	display: inline-block;
	background: rgba(100, 116, 139, 0.1);
	color: #64748b;
	padding: 3px 12px;
	border-radius: 100px;
	font-size: 11.5px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.3px;
	margin-bottom: 10px;
}

.mj-order-card__title-block mark.order-status.status-completed { background: rgba(34, 197, 94, 0.12); color: #16a34a; }
.mj-order-card__title-block mark.order-status.status-processing { background: rgba(37, 99, 235, 0.1); color: #2563eb; }
.mj-order-card__title-block mark.order-status.status-on-hold { background: rgba(217, 119, 6, 0.1); color: #d97706; }
.mj-order-card__title-block mark.order-status.status-cancelled,
.mj-order-card__title-block mark.order-status.status-failed { background: rgba(220, 38, 38, 0.1); color: #dc2626; }

.woocommerce-account .entry-content .mj-order-card__number {
	margin: 0 0 4px 0;
	font-family: var(--mj-h3-font, var(--mj-body-font, sans-serif));
	font-size: 17px;
	font-weight: 700;
}

.woocommerce-account .entry-content .mj-order-card__number a {
	color: var(--secondary-color, #0f172a);
	text-decoration: none;
}

.mj-order-card__meta {
	margin: 0;
	font-size: 13px;
	color: var(--light-text-color, #94a3b8);
}

.mj-order-card__total-block {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 10px;
}

.mj-order-card__total {
	font-size: 20px;
	font-weight: 800;
	color: var(--secondary-color, #0f172a);
}

.mj-order-card__actions {
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
}

.woocommerce-account .entry-content .mj-order-action {
	display: inline-flex;
	align-items: center;
	padding: 7px 16px;
	border-radius: 8px;
	border: 1px solid var(--border-color, #e2e8f0);
	background: var(--card-bg-color, #ffffff);
	color: var(--secondary-color, #0f172a);
	font-size: 13px;
	font-weight: 600;
	text-decoration: none;
	transition: all 0.2s ease;
}

.woocommerce-account .entry-content .mj-order-action:hover {
	border-color: var(--primary-color, #FA3434);
	color: var(--primary-color, #FA3434);
}

.woocommerce-account .entry-content .mj-order-action--view,
.woocommerce-account .entry-content .mj-order-action--pay {
	background: var(--primary-color, #FA3434);
	border-color: var(--primary-color, #FA3434);
	color: var(--btn-text-color, #ffffff);
}

.woocommerce-account .entry-content .mj-order-action--view:hover,
.woocommerce-account .entry-content .mj-order-action--pay:hover {
	background: var(--btn-hover-bg-color, #e62e2e);
	border-color: var(--btn-hover-bg-color, #e62e2e);
	color: var(--btn-hover-text-color, #ffffff);
}

.mj-order-card__items {
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
	margin-bottom: 18px;
}

.mj-order-card__product {
	width: 108px;
	text-align: center;
}

.mj-order-card__product-image {
	position: relative;
	width: 108px;
	height: 108px;
	border-radius: 12px;
	overflow: hidden;
	background: var(--bg-color, #f8fafc);
	border: 1px solid var(--border-color, #f1f5f9);
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 8px;
}

.mj-order-card__product-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.mj-order-card__product-qty {
	position: absolute;
	bottom: 4px;
	right: 4px;
	background: rgba(15, 23, 42, 0.75);
	color: #ffffff;
	font-size: 10.5px;
	font-weight: 700;
	padding: 1px 6px;
	border-radius: 100px;
	line-height: 1.5;
}

.mj-order-card__product-name {
	margin: 0;
	font-size: 12.5px;
	font-weight: 600;
	color: var(--secondary-color, #0f172a);
	line-height: 1.35;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.mj-order-card__footer {
	display: flex;
	align-items: center;
	gap: 6px;
	padding-top: 16px;
	border-top: 1px dashed var(--border-color, #f1f5f9);
	font-size: 13px;
	color: var(--light-text-color, #94a3b8);
}

.mj-order-card__footer svg {
	flex: 0 0 auto;
}

@media (max-width: 640px) {
	.mj-order-card {
		padding: 16px;
	}
	.mj-order-card__top {
		flex-direction: column;
	}
	.mj-order-card__total-block {
		align-items: flex-start;
		width: 100%;
	}
	.mj-order-card__product {
		width: 84px;
	}
	.mj-order-card__product-image {
		width: 84px;
		height: 84px;
	}
}

/* =================================================
	MY ACCOUNT - VIEW ORDER UI (CLEAN & SIMPLE)
	================================================= */
.view-order-container {
	max-width: 900px;
	margin: 0 auto;
	padding: 0;
	background: transparent;
}

.order-header {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	background: var(--card-bg-color, #ffffff);
	border: 1px solid var(--border-color, #e2e8f0);
	border-radius: 14px;
	padding: 18px 20px;
	margin-bottom: 16px;
	box-shadow: 0 2px 8px rgba(0,0,0,0.02);
	flex-wrap: wrap;
	gap: 12px;
}

.order-header__info mark.order-status {
	display: inline-block;
	background: rgba(100, 116, 139, 0.1);
	color: #64748b;
	padding: 2px 10px;
	border-radius: 100px;
	font-size: 10.5px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.3px;
	margin-bottom: 8px;
}
.order-header__info mark.order-status.status-completed { background: rgba(34, 197, 94, 0.12); color: #16a34a; }
.order-header__info mark.order-status.status-processing { background: rgba(37, 99, 235, 0.1); color: #2563eb; }
.order-header__info mark.order-status.status-on-hold { background: rgba(217, 119, 6, 0.1); color: #d97706; }
.order-header__info mark.order-status.status-cancelled,
.order-header__info mark.order-status.status-failed { background: rgba(220, 38, 38, 0.1); color: #dc2626; }

.order-header__info .order-number {
	font-family: var(--mj-h2-font, var(--mj-body-font, sans-serif));
	font-size: 17px;
	font-weight: 700;
	color: var(--secondary-color, #0f172a);
	margin: 0 0 4px 0;
}

.order-header__info .order-date {
	font-size: 13px;
	color: var(--light-text-color, #64748b);
	margin: 0;
}

.order-header__total {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	text-align: right;
}

.order-header__total-label {
	font-size: 11px;
	color: var(--light-text-color, #94a3b8);
	margin-bottom: 2px;
}

.order-header__total-value {
	font-size: 17px;
	font-weight: 700;
	color: var(--secondary-color, #0f172a);
}

.order-section {
	background: var(--card-bg-color, #ffffff);
	border: 1px solid var(--border-color, #e2e8f0);
	border-radius: 14px;
	padding: 18px 20px;
	margin-bottom: 16px;
	box-shadow: 0 2px 8px rgba(0,0,0,0.02);
}

.woocommerce-account .entry-content .section-title {
	font-family: var(--mj-h3-font, var(--mj-body-font, sans-serif));
	font-size: 15px;
	font-weight: 600;
	color: var(--secondary-color, #0f172a);
	margin: 0 0 10px 0;
	display: flex;
	align-items: center;
	gap: 8px;
	border-bottom: 1px solid #f1f5f9;
	padding-bottom: 8px;
}

.mj-icon-chip {
	flex: 0 0 auto;
	width: 24px;
	height: 24px;
	border-radius: 7px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: rgba(250, 52, 52, 0.1);
	background: color-mix(in srgb, var(--primary-color, #FA3434) 10%, transparent);
	color: var(--primary-color, #FA3434);
}

.mj-icon-chip svg {
	width: 13px;
	height: 13px;
}

.order-items-wrapper {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
}

.order-item-card {
	display: flex;
	flex-direction: column;
	width: 108px;
}

.item-image {
	position: relative;
	width: 108px;
	height: 108px;
	border-radius: 10px;
	background: var(--bg-color, #f8fafc);
	overflow: hidden;
	flex-shrink: 0;
	border: 1px solid #f1f5f9;
	margin-bottom: 8px;
}
.item-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.item-qty-badge {
	position: absolute;
	bottom: 4px;
	right: 4px;
	background: rgba(15, 23, 42, 0.75);
	color: #ffffff;
	font-size: 10px;
	font-weight: 700;
	padding: 1px 6px;
	border-radius: 100px;
	line-height: 1.5;
}

.item-details {
	min-width: 0;
}
.woocommerce-account .entry-content .item-name {
	font-size: 12.5px;
	font-weight: 600;
	color: var(--secondary-color, #0f172a);
	margin: 0 0 4px 0;
	line-height: 1.35;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.item-details dl.variation {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 4px 0;
	font-size: 12px;
	color: var(--light-text-color, #64748b);
}
.item-details dl.variation dt {
	font-weight: 600;
	color: var(--secondary-color, #0f172a);
	margin: 0;
}
.item-details dl.variation dd {
	margin: 0 12px 0 0;
}
.item-details dl.variation p {
	margin: 0;
}

.item-price {
	display: block;
	font-weight: 700;
	font-size: 12.5px;
	color: var(--secondary-color, #0f172a);
	margin-bottom: 6px;
}

.item-details .btn-write-review {
	width: 100%;
	background: var(--card-bg-color, #ffffff);
	color: var(--secondary-color, #0f172a);
	border: 1px solid var(--border-color, #e2e8f0);
	padding: 5px 10px;
	border-radius: 7px;
	font-size: 11px;
	font-weight: 600;
	cursor: pointer;
	transition: all 0.2s ease;
	box-shadow: none;
}
.item-details .btn-write-review:hover {
	background: var(--secondary-color, #0f172a);
	color: var(--btn-hover-text-color, #ffffff);
	border-color: var(--secondary-color, #0f172a);
}

@media (max-width: 640px) {
	.order-item-card,
	.item-image {
		width: 84px;
	}
	.item-image {
		height: 84px;
	}
}

.order-summary-wrapper {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 16px;
	margin-bottom: 16px;
}

.order-totals-card {
	display: flex;
	flex-direction: column;
	gap: 9px;
	background: transparent;
	border: none;
	padding: 0;
}

.total-row {
	display: flex;
	justify-content: space-between;
	align-items: center;
	font-size: 13px;
	color: var(--text-color, #475569);
	padding: 0;
	border: none;
}
.total-row.total-amount {
	margin-top: 6px;
	padding: 12px;
	border-top: none;
	background: linear-gradient(135deg, rgba(250, 52, 52, 0.08) 0%, rgba(249, 115, 22, 0.08) 100%);
	border-radius: 10px;
	font-size: 13.5px;
	font-weight: 700;
	color: var(--secondary-color, #0f172a);
}
.total-amount .total-value {
	font-size: 16px;
	font-weight: 800;
	color: var(--cart-total-color, #FA3434);
}

.order-methods {
	display: flex;
	flex-direction: column;
	gap: 12px;
}
.method-box {
	background: var(--bg-color, #f8fafc);
	border: 1px solid #f1f5f9;
	border-radius: 10px;
	padding: 12px 14px;
}
.woocommerce-account .entry-content .method-title {
	font-family: var(--mj-h3-font, var(--mj-body-font, sans-serif));
	font-size: 12px;
	font-weight: 600;
	color: var(--light-text-color, #64748b);
	margin: 0 0 6px 0;
	text-transform: uppercase;
	letter-spacing: 0.4px;
	display: flex;
	align-items: center;
	gap: 8px;
}
.method-content {
	font-size: 13.5px;
	font-weight: 500;
	color: var(--secondary-color, #0f172a);
	margin: 0;
}

.order-addresses {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 16px;
}
.address-box {
	background: var(--card-bg-color, #ffffff);
	border: 1px solid var(--border-color, #e2e8f0);
	border-radius: 14px;
	padding: 18px 20px;
	box-shadow: 0 2px 8px rgba(0,0,0,0.02);
}
.woocommerce-account .entry-content .address-title {
	font-family: var(--mj-h3-font, var(--mj-body-font, sans-serif));
	font-size: 15px;
	font-weight: 600;
	color: var(--secondary-color, #0f172a);
	margin: 0 0 10px 0;
	display: flex;
	align-items: center;
	gap: 8px;
	border-bottom: none;
	padding-bottom: 0;
}
.address-content {
	font-size: 13px;
	line-height: 1.55;
	color: var(--text-color, #475569);
	font-style: normal;
	margin-bottom: 12px;
}
.address-phone, .address-email {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 13px;
	color: var(--text-color, #334155);
	margin: 8px 0 0 0;
	background: transparent;
	padding: 0;
}

.mj-mini-icon {
	flex: 0 0 auto;
	width: 22px;
	height: 22px;
	border-radius: 6px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: var(--bg-color, #f8fafc);
	color: var(--light-text-color, #64748b);
}

@media (max-width: 768px) {
	.order-header {
		flex-direction: column;
		align-items: flex-start;
		gap: 16px;
	}
	.order-summary-wrapper, .order-addresses {
		grid-template-columns: 1fr;
		gap: 16px;
	}
	.order-item-card {
		flex-direction: column;
		align-items: flex-start;
		position: relative;
		gap: 12px;
	}
	.item-actions {
		width: 100%;
		margin: 0;
	}
	.item-actions .btn-write-review {
		width: 100%;
		text-align: center;
		justify-content: center;
	}
	.view-order-container {
		padding: 0 12px;
	}
}

.woocommerce-Addresses {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: 24px;
	margin-top: 24px;
}

.woocommerce-Address {
	width: 100%;
	background: var(--card-bg-color, #ffffff);
	padding: 20px 22px;
	border-radius: 14px;
	border: 1px solid var(--border-color, #f1f5f9);
	box-shadow: 0 2px 8px rgba(0,0,0,0.02);
	display: flex;
	flex-direction: column;
	gap: 12px;
	transition: all 0.3s ease;
	box-sizing: border-box;
	max-width: 100%;
	position: relative;
	overflow: hidden;
}

.woocommerce-Address::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 5px;
	background: var(--primary-color, #FA3434);
}

.mj-address-icon {
	flex: 0 0 auto;
	width: 34px;
	height: 34px;
	border-radius: 10px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: rgba(250, 52, 52, 0.1);
	background: color-mix(in srgb, var(--primary-color, #FA3434) 10%, transparent);
	color: var(--primary-color, #FA3434);
}

.woocommerce-Address:hover {
	border-color: var(--border-color, #e2e8f0);
	box-shadow: 0 8px 20px -6px rgba(0,0,0,0.1);
	transform: translateY(-2px);
}

.woocommerce-Address-title {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 5px;
	border-bottom: 1px dashed var(--border-color, #e2e8f0);
	padding-bottom: 16px;
}

.woocommerce-Address-title h3 {
	margin: 0;
	font-size: 18px;
	font-weight: 800;
	color: var(--text-color, #0f172a);
}

.woocommerce-Address address {
	font-style: normal;
	line-height: 1.6;
	font-size: 14px;
	color: var(--text-color, #4b5563);
	margin-bottom: 0;
	flex-grow: 1;
	word-break: break-word;
	overflow-wrap: break-word;
}

@media (max-width: 768px) {
	.woocommerce-account .u-columns.col2-set {
		flex-direction: column;
	}
	.woocommerce-Address {
		padding: 20px;
	}
}

html body .woocommerce-account .addresses .edit,
html body .woocommerce-Address .edit,
html body .woocommerce-account .u-column1 .edit,
html body .woocommerce-account .u-column2 .edit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: var(--primary-color, #FA3434);
	border-color: var(--primary-color, #FA3434);
	color: #fff;
	padding: 8px 16px;
	border-radius: 8px;
	text-decoration: none;
	font-weight: 700;
	font-size: 13px;
	transition: all 0.2s ease;
	text-align: center;
	margin: 0;
}

html body .woocommerce-account .addresses .edit:hover,
html body .woocommerce-Address .edit:hover,
html body .woocommerce-account .u-column1 .edit:hover,
html body .woocommerce-account .u-column2 .edit:hover {
	background: var(--btn-hover-bg-color, #e83e3e);
	border-color: var(--btn-hover-bg-color, #e83e3e);
	color: #fff;
	text-decoration: none;
	transform: translateY(-2px);
	box-shadow: 0 4px 12px rgba(250, 52, 52, 0.2);
}

.woocommerce-account .u-column1 p,
.woocommerce-account .u-column2 p {
	margin: 0 0 15px 0;
	font-size: 14px;
	color: #6b7280;
	line-height: 1.5;
}

.woocommerce-account .woocommerce-MyAccount-navigation + .entry-content > div > p,
.woocommerce-account .woocommerce-addresses-header p {
	background: var(--card-bg-color, #ffffff);
	padding: 18px 24px;
	border-radius: 16px;
	font-size: 15px;
	color: var(--text-color, #4b5563);
	border: 1px solid var(--border-color, #f1f5f9);
	box-shadow: 0 4px 16px rgba(0,0,0,0.02);
	margin-bottom: 30px;
	font-weight: 500;
}

.woocommerce-account .woocommerce-EditAccountForm .form-row,
.woocommerce-account .woocommerce-address-fields .form-row {
	margin-bottom: 20px;
}

.woocommerce-account .woocommerce-EditAccountForm label,
.woocommerce-account .woocommerce-address-fields label {
	display: block;
	font-size: 14.5px;
	font-weight: 600;
	color: var(--text-color, #334155);
	margin-bottom: 6px;
}

.woocommerce-account .woocommerce-EditAccountForm input.input-text,
.woocommerce-account .woocommerce-address-fields input.input-text,
.woocommerce-account .woocommerce-address-fields select {
	width: 100%;
	height: 50px;
	padding: 0 16px;
	border-radius: 12px;
	border: 1px solid var(--border-color, #e2e8f0);
	background: var(--bg-color, #f8fafc);
	font-size: 15px;
	color: var(--secondary-color, #0f172a);
	transition: all 0.2s ease;
}

.woocommerce-account .woocommerce-EditAccountForm input.input-text:focus,
.woocommerce-account .woocommerce-address-fields input.input-text:focus,
.woocommerce-account .woocommerce-address-fields select:focus {
	border-color: var(--primary-color, #FA3434);
	background: var(--card-bg-color, #ffffff);
	outline: none;
	box-shadow: 0 0 0 3px rgba(250, 52, 52, 0.1);
}

.woocommerce-account .woocommerce-EditAccountForm fieldset,
.woocommerce-account .woocommerce-address-fields fieldset {
	border: 1px solid var(--border-color, #e2e8f0);
	padding: 24px;
	border-radius: 16px;
	margin: 24px 0;
	background: var(--bg-color, #f8fafc);
}

.woocommerce-account .woocommerce-EditAccountForm fieldset legend,
.woocommerce-account .woocommerce-address-fields fieldset legend {
	font-weight: 800;
	font-size: 18px;
	color: var(--text-color, #0f172a);
	padding: 0 10px;
}

.woocommerce-account .woocommerce-EditAccountForm .button.button,
.woocommerce-account .woocommerce-address-fields .button.button {
	background: var(--primary-color, #FA3434);
	color: var(--btn-text-color, #ffffff);
	padding: 14px 32px;
	height: 50px;
	border-radius: 12px;
	font-size: 16px;
	font-weight: 800;
	border: none;
	cursor: pointer;
	transition: background 0.2s ease;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 4px 12px rgba(250,52,52,0.2);
}

.woocommerce-account .woocommerce-EditAccountForm .button.button:hover,
.woocommerce-account .woocommerce-address-fields .button.button:hover {
	background: var(--btn-hover-bg-color, #e62e2e);
	transform: translateY(-2px);
	box-shadow: 0 6px 16px rgba(250,52,52,0.3);
}

.woocommerce-account .woocommerce-MyAccount-content > form,
.woocommerce-account .woocommerce-MyAccount-content > .woocommerce-notices-wrapper + form,
.woocommerce-account .woocommerce-MyAccount-content > .woocommerce-ResetPassword,
.woocommerce-account .woocommerce-MyAccount-content > .woo-wallet-my-wallet-container {
	background: var(--card-bg-color, #ffffff);
	border-radius: 24px;
	padding: 40px;
	box-shadow: 0 10px 40px rgba(0, 0, 0, 0.03);
	border: 1px solid var(--border-color, #f1f5f9);
	margin-top: 10px;
	color: var(--text-color, #333333);
}

.woocommerce-account .woocommerce-MyAccount-content > .woocommerce-message,
.woocommerce-account .woocommerce-MyAccount-content > .woocommerce-info {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 16px;
	background: var(--card-bg-color, #ffffff);
	border-radius: 16px;
	padding: 20px 24px;
	border: 1px solid var(--border-color, #f1f5f9);
	border-left: 4px solid var(--primary-color, #FA3434);
	box-shadow: 0 4px 20px rgba(0,0,0,0.03);
	color: var(--secondary-color, #0f172a);
	font-weight: 500;
	margin-bottom: 24px;
}

.woocommerce-account .woocommerce-MyAccount-content > .woocommerce-message .button.button,
.woocommerce-account .woocommerce-MyAccount-content > .woocommerce-info .button.button {
	background: var(--secondary-color, #0f172a);
	color: #fff;
	border-radius: 10px;
	padding: 10px 20px;
	font-size: 14px;
	font-weight: 700;
	text-decoration: none;
	box-shadow: 0 4px 12px rgba(15, 23, 42, 0.15);
	transition: all 0.2s ease;
}

.woocommerce-account .woocommerce-MyAccount-content > .woocommerce-message .button.button:hover,
.woocommerce-account .woocommerce-MyAccount-content > .woocommerce-info .button.button:hover {
	transform: translateY(-2px);
	box-shadow: 0 6px 16px rgba(15, 23, 42, 0.25);
	background: var(--primary-color, #FA3434);
}

/* =================================================
	AUTHENTICATION UI OVERRIDES
	================================================= */
.joom-auth-page-wrapper {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 50vh;
	padding: 40px 20px;
	width: 100%;
}

.joom-auth-cards-container {
	display: flex;
	gap: 30px;
	align-items: stretch;
	justify-content: center;
	width: 100%;
	max-width: 900px;
}

.joom-auth-card {
	background: var(--card-bg-color, #ffffff);
	width: 100%;
	max-width: 440px;
	border-radius: 20px;
	box-shadow: 0 20px 40px -5px rgba(0, 0, 0, 0.08), 0 10px 15px -5px rgba(0, 0, 0, 0.04);
	border: 1px solid var(--border-color, #f1f5f9);
	padding: 40px;
	flex: 1;
	transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.joom-auth-card:hover {
	transform: translateY(-5px);
	box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.12);
}

.joom-auth-header {
	text-align: center;
	margin-bottom: 30px;
}

.joom-auth-icon {
	width: 64px;
	height: 64px;
	background: linear-gradient(145deg, #fff0f0, #ffe4e4);
	color: var(--primary-color, #FA3434);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 auto 20px;
	box-shadow: 0 0 0 6px rgba(250, 52, 52, 0.06), 0 6px 16px rgba(250, 52, 52, 0.12);
}

.joom-auth-icon svg {
	width: 32px;
	height: 32px;
	stroke: currentColor;
}

.joom-auth-header h1 {
	font-size: 24px;
	font-weight: 800;
	color: var(--text-color, #111827);
	margin: 0 0 12px 0;
	border: none;
	padding: 0;
}

.joom-auth-header p {
	font-size: 14.5px;
	color: var(--text-color, #64748b);
	line-height: 1.6;
	margin: 0;
}

.joom-auth-form .joom-form-group {
	margin-bottom: 24px;
}

.joom-auth-form label {
	display: block;
	font-size: 14px;
	font-weight: 600;
	color: var(--text-color, #334155);
	margin-bottom: 8px;
}

.joom-auth-form input[type="text"],
.joom-auth-form input[type="email"] {
	width: 100%;
	height: 50px;
	padding: 0 16px 0 46px;
	border: 1px solid var(--border-color, #e2e8f0);
	border-radius: 12px;
	font-size: 15px;
	background-color: var(--bg-color, #f8fafc);
	background-repeat: no-repeat;
	background-position: 16px center;
	background-size: 18px 18px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='12' cy='7' r='4'/%3E%3C/svg%3E");
	transition: all 0.2s ease;
	color: var(--secondary-color, #0f172a);
}

.joom-auth-form input[type="email"] {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 4h16c1.1 0 2 .9 2 2v12c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2V6c0-1.1.9-2 2-2z'/%3E%3Cpolyline points='22,6 12,13 2,6'/%3E%3C/svg%3E");
}

.joom-auth-form input[type="text"]:focus,
.joom-auth-form input[type="email"]:focus {
	background-color: var(--card-bg-color, #ffffff);
	border-color: var(--primary-color, #FA3434);
	box-shadow: 0 0 0 3px rgba(250, 52, 52, 0.1);
	outline: none;
}

.joom-auth-form input[type="text"]:focus {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FA3434' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='12' cy='7' r='4'/%3E%3C/svg%3E");
}

.joom-auth-form input[type="email"]:focus {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FA3434' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 4h16c1.1 0 2 .9 2 2v12c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2V6c0-1.1.9-2 2-2z'/%3E%3Cpolyline points='22,6 12,13 2,6'/%3E%3C/svg%3E");
}

.joom-auth-btn {
	width: 100%;
	height: 50px;
	background: var(--primary-color, #FA3434);
	color: var(--btn-text-color, #ffffff);
	border: none;
	border-radius: 12px;
	font-size: 16px;
	font-weight: 700;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: all 0.3s ease;
	box-shadow: 0 4px 12px rgba(250, 52, 52, 0.2);
	margin: 0;
	padding: 0;
}

.joom-auth-btn:hover {
	background: var(--btn-hover-bg-color, #e62e2e);
	transform: translateY(-2px);
	box-shadow: 0 6px 16px rgba(250, 52, 52, 0.3);
}

.joom-auth-btn-dark {
	background: var(--secondary-color, #111827);
	box-shadow: 0 4px 12px rgba(17, 24, 39, 0.2);
}

.joom-auth-btn-dark:hover {
	background: #000000;
	box-shadow: 0 6px 16px rgba(0, 0, 0, 0.3);
}

.joom-auth-footer {
	margin-top: 30px;
	padding-top: 24px;
	border-top: 1px solid var(--border-color, #f1f5f9);
	text-align: center;
}

.joom-back-link {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: var(--text-color, #64748b);
	font-size: 14.5px;
	font-weight: 600;
	text-decoration: none;
	transition: color 0.2s ease;
}

.joom-back-link svg {
	width: 16px;
	height: 16px;
	stroke: currentColor;
}

.joom-back-link:hover {
	color: var(--primary-color, #111827);
}

.joom-mobile-account-back {
	display: none;
}

@media (max-width: 768px) {
	.joom-mobile-account-back {
		display: inline-flex;
		align-items: center;
		gap: 6px;
		margin-bottom: 16px;
		color: var(--light-text-color, #64748b);
		font-size: 14px;
		font-weight: 600;
		text-decoration: none;
	}
}

.woocommerce-lost-password .joom-mobile-account-back {
	display: none;
}

@media (max-width: 768px) {
	.joom-auth-page-wrapper {
		padding: 20px 12px;
		min-height: auto;
	}

	.joom-auth-cards-container {
		flex-direction: column;
		gap: 24px;
	}

	.joom-auth-card {
		padding: 30px 20px;
		border-radius: 16px;
		box-shadow: 0 4px 16px rgba(0, 0, 0, 0.04);
	}

	.woocommerce-account .woocommerce-MyAccount-content > form,
	.woocommerce-account .woocommerce-MyAccount-content > .woocommerce-notices-wrapper + form,
	.woocommerce-account .woocommerce-MyAccount-content > .woo-wallet-my-wallet-container {
		padding: 24px 20px;
		border-radius: 20px;
	}

	.joom-auth-header h1 {
		font-size: 22px;
	}

	.joom-auth-header p {
		font-size: 14px;
	}
}

/* =================================================
	ACCOUNT PAGINATION (PREVIOUS / NEXT)
	================================================= */
.woocommerce-account .woocommerce-pagination {
	display: flex;
	justify-content: center;
	gap: 16px;
	margin-top: 30px;
	padding-top: 20px;
	border-top: 1px solid #f1f5f9;
}

.woocommerce-account .woocommerce-pagination a,
.woocommerce-account .woocommerce-pagination .button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	line-height: 1;
	background: var(--card-bg-color, #ffffff);
	color: var(--text-color, #0f172a);
	border: 1px solid var(--border-color, #e2e8f0);
	padding: 12px 28px;
	border-radius: 12px;
	font-size: 14.5px;
	font-weight: 700;
	transition: all 0.3s ease;
	box-shadow: 0 4px 12px rgba(0,0,0,0.03);
	text-decoration: none;
}

.woocommerce-account .woocommerce-pagination a:hover,
.woocommerce-account .woocommerce-pagination .button:hover {
	background: var(--card-bg-color, #ffffff);
	color: var(--primary-color, #FA3434);
	border-color: var(--primary-color, #FA3434);
	transform: translateY(-2px);
	box-shadow: 0 8px 20px rgba(250, 52, 52, 0.12);
}

.woocommerce-account .woocommerce-pagination a:hover *,
.woocommerce-account .woocommerce-pagination .button:hover * {
	color: var(--primary-color, #FA3434);
}

/* =================================================
	SIDEBAR CATEGORIES WIDGET 
	================================================= */
body .sidebar .widget.widget_product_categories, body .mj-shop-sidebar .widget.widget_product_categories, body .widget.widget_product_categories {
	padding: 0;
	background: transparent;
	border: none;
	border-radius: 0;
	box-shadow: none;
	overflow: visible;
}
body .sidebar .widget.widget_product_categories form, body .mj-shop-sidebar .widget.widget_product_categories form, body .widget.widget_product_categories form {
	padding: 16px 20px 24px;
	margin: 0;
}

.widget_product_categories .widget-title {
	padding: 16px 20px;
	margin: 0;
	background: var(--bg-color, #f8fafc);
	border-bottom: 1px solid var(--border-color, #e2e8f0);
	font-size: 16px;
	font-weight: 800;
	color: var(--secondary-color, #0f172a);
	display: flex;
	align-items: center;
	gap: 10px;
}

.mj-drilldown-header {
	display: flex;
	align-items: center;
	padding: 12px 20px;
	background: var(--bg-color, #f1f5f9);
	border-bottom: 1px solid var(--border-color, #e2e8f0);
	gap: 12px;
	transition: all 0.3s ease;
}

.mj-drilldown-header.mj-hidden {
	display: none;
}

.mj-drilldown-back {
	background: var(--card-bg-color, #ffffff);
	border: 1px solid var(--border-color, #cbd5e1);
	color: var(--text-color, #475569);
	font-size: 13px;
	font-weight: 700;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	padding: 6px 12px;
	border-radius: 8px;
	transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
	width: auto;
	margin: 0;
}

/* Higher specificity than ".mj-shop-sidebar .widget button" so the compact
   size above isn't overridden inside the shop sidebar's category widget. */
.mj-shop-sidebar .widget .mj-drilldown-back,
.col-4 .sidebar .widget .mj-drilldown-back {
	width: auto !important;
	padding: 6px 12px !important;
}

.mj-drilldown-back:hover {
	background: var(--secondary-color, #0f172a);
	border-color: var(--secondary-color, #0f172a);
	color: var(--btn-text-color, #ffffff);
	transform: translateX(-2px);
}

.widget_product_categories .mj-drilldown-title-wrap {
	flex: 1;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	font-size: 14.5px;
	font-weight: 700;
	color: var(--secondary-color, #0f172a);
	text-align: right;
}

.widget_product_categories ul.product-categories,
.widget_product_categories ul.children.mj-active-level {
	padding: 8px 0;
	margin: 0;
	list-style: none;
	display: block;
}

.widget_product_categories li.mj-hidden,
.widget_product_categories a.mj-hidden {
	display: none;
}
html body .widget_product_categories li.mj-see-more-hidden {
	display: none !important;
}

.widget_product_categories ul.children {
	display: none;
	margin: 0;
	padding: 0;
}

.widget_product_categories ul.children.mj-active-level {
	display: block;
}

.widget_product_categories li {
	padding: 0;
	margin: 0;
	border: none;
	background: transparent;
}

.widget_product_categories li a {
	display: flex;
	align-items: center;
	padding: 8px 20px;
	color: var(--text-color, #000);
	font-size: 14.5px;
	font-weight: 600;
	text-decoration: none;
	transition: all 0.2s ease;
	position: relative;
	border-radius: 0;
	background: transparent;
}

.widget_product_categories li a:hover {
	background: transparent;
	color: var(--primary-color, #000);
	padding-left: 24px;
}

.widget_product_categories li.current-cat > a {
	color: var(--primary-color, #000);
	background: var(--bg-color, #f8fafc);
	font-weight: 800;
	border-left: 3px solid var(--primary-color, #000);
	padding-left: 17px;
}

.widget_product_categories li.current-cat > a:hover {
	padding-left: 21px;
}

.widget_product_categories .count {
	background: var(--bg-color, #f1f5f9);
	color: var(--light-text-color, #64748b);
	font-size: 11.5px;
	padding: 2px 8px;
	border-radius: 20px;
	margin-left: auto;
	margin-right: 8px;
	font-weight: 700;
	transition: all 0.2s ease;
}

.widget_product_categories li a:hover .count {
	box-shadow: none;
}

.widget_product_categories li.current-cat > a .count {
	background: var(--primary-color, #FA3434);
	color: var(--btn-text-color, #ffffff);
}

.mj-drilldown-arrow {
	color: var(--light-text-color, #94a3b8);
	font-size: 13px;
	margin-left: auto;
	transition: transform 0.2s ease, color 0.2s ease;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 24px;
	height: 24px;
	border-radius: 50%;
	background: var(--bg-color, #f8fafc);
}

/* =================================================
	RECENT SALES POPUP UI
	================================================= */
.mj-sales-popup {
	position: fixed;
	bottom: 30px;
	left: 30px;
	background: var(--card-bg-color, #ffffff);
	border-radius: 16px;
	box-shadow: 0 10px 40px rgba(0,0,0,0.1), 0 4px 12px rgba(0,0,0,0.05);
	border: 1px solid #f1f5f9;
	padding: 12px 32px 12px 12px;
	z-index: 99998;
	max-width: 340px;
	width: calc(100% - 32px);
	transform: translateY(20px) scale(0.95);
	opacity: 0;
	visibility: hidden;
	transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
	pointer-events: none;
	overflow: hidden;
}

.mj-sales-popup.show {
	transform: translateY(0) scale(1);
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
}

/* On My Account, the nav sidebar occupies the bottom-left corner - keep the
   popup on the right so it never covers "Log out" or other menu links. */
.woocommerce-account .mj-sales-popup {
	left: auto;
	right: 30px;
}

@media (max-width: 768px) {
	.mj-sales-popup {
		bottom: 85px; /* Safely above the mobile bottom menu */
		left: 16px;
		right: 16px;
		max-width: none;
		padding: 10px 32px 10px 10px;
	}
	html body .mj-sales-popup.mj-hide-on-mobile {
		display: none;
	}
}

html body .mj-sp-link {
	display: flex;
	align-items: center;
	gap: 14px;
	text-decoration: none;
	color: inherit;
}

.mj-sp-img {
	width: 65px;
	height: 65px;
	border-radius: 10px;
	overflow: hidden;
	flex-shrink: 0;
	background: var(--bg-color, #f8fafc);
	border: 1px solid #f1f5f9;
}

.mj-sp-img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.mj-sp-content {
	display: flex;
	flex-direction: column;
	gap: 4px;
	flex: 1;
	min-width: 0;
}

.mj-sp-title {
	margin: 0;
	font-size: 12px;
	color: #64748b;
	line-height: 1.3;
}

.mj-sp-title strong {
	color: var(--secondary-color, #0f172a);
}

.mj-sp-product {
	margin: 0;
	font-size: 14px;
	color: var(--secondary-color, #0f172a);
	line-height: 1.3;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	display: block;
	transition: color 0.2s ease;
}

.mj-sp-link:hover .mj-sp-product {
	color: var(--primary-color, #FA3434);
}

.mj-sp-time {
	margin: 0;
	font-size: 11px;
	color: #10b981;
	display: flex;
	align-items: center;
	gap: 4px;
}

.mj-sp-close {
	position: absolute;
	top: 8px;
	right: 8px;
	width: 24px;
	height: 24px;
	background: #f1f5f9;
	border: none;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 14px;
	color: #94a3b8;
	cursor: pointer;
	transition: all 0.2s ease;
	padding: 0;
	line-height: 1;
	opacity: 0.8;
	visibility: visible;
}

.mj-sales-popup:hover .mj-sp-close {
	opacity: 1;
	background: var(--border-color, #e2e8f0);
}

.mj-sp-close:hover {
	color: var(--primary-color, #FA3434);
	background: #fff5f5;
	transform: scale(1.1);
}

@media (max-width: 768px) {
	.woocommerce-page .mj-custom-shop-header {
		flex-direction: row;
		flex-wrap: wrap;
		align-items: center;
		gap: 15px;
		padding: 10px 8px 20px;
	}
	.woocommerce-page .mj-header-left {
		width: 100%;
		border-bottom: 1px solid rgba(0,0,0,0.04);
		padding-bottom: 10px;
	}
	.woocommerce-page .mj-shop-title {
		font-size: 22px;
	}
	.woocommerce-page .mj-header-right {
		width: 100%;
		justify-content: space-between;
		gap: 8px;
	}
	.woocommerce-page .mj-header-dropdown {
		flex: 1;
	}
	.woocommerce-page .mj-header-dropdown .mj-select-field,
	.woocommerce-page .woocommerce-ordering select {
		width: 100%;
		font-size: 12px;
	}
}

/* List View Support */
html.mj-shop-view-list body.woocommerce div.site-main ul.products.mj-mega-grid,
html.mj-shop-view-list body.woocommerce-page div.site-main ul.products.mj-mega-grid,
html.mj-shop-view-list body.woocommerce-page div.site-main .mj-mega-grid,
html.mj-shop-view-list body.woocommerce div.site-main ul.products:not(.joom-fbt-list),
html.mj-shop-view-list body.woocommerce-page div.site-main ul.products:not(.joom-fbt-list) {
	grid-template-columns: 1fr;
}
html.mj-shop-view-list body.woocommerce ul.products.mj-mega-grid li.product .mj-premium-card,
html.mj-shop-view-list body.woocommerce-page .mj-premium-card {
	flex-direction: row;
	height: 220px;
}
html.mj-shop-view-list body.woocommerce-page .mj-visual-box {
	width: 220px;
	padding-top: 0;
	height: 100%;
	border-radius: 20px 0 0 20px;
	flex-shrink: 0;
}
html.mj-shop-view-list body.woocommerce-page .mj-card-details {
	justify-content: center;
	padding: 20px 24px;
}
@media (max-width: 600px) {
	html.mj-shop-view-list body.woocommerce-page .mj-premium-card {
		height: 150px;
	}
	html.mj-shop-view-list body.woocommerce-page .mj-visual-box {
		width: 120px;
	}
	html.mj-shop-view-list body.woocommerce-page .mj-card-details {
		padding: 10px 14px;
	}
}

/* =================================================
   PREMIUM ORDER TRACKING UI
================================================= */

.woocommerce:has(form.woocommerce-form-track-order),
.woocommerce-track-order {
	max-width: 1400px;
	width: 100%;
	margin: 50px auto;
	padding: 0 4px !important;
	display: flex;
	flex-direction: column;
	align-items: center;
	position: relative;
}

/* =================================================
   TRACK ORDER FORM
================================================= */

form.woocommerce-form-track-order {
	width: 100%;
	max-width: 900px;
	position: relative;
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	gap: 18px;

	padding: 42px;
	border-radius: 24px;

	background: linear-gradient(
		180deg,
		rgba(255,255,255,0.98) 0%,
		rgba(248,250,252,0.98) 100%
	);

	border: 1px solid rgba(226,232,240,0.9);

	box-shadow:
		0 10px 40px rgba(15,23,42,0.04),
		0 2px 10px rgba(15,23,42,0.03);

	backdrop-filter: blur(10px);

	overflow: hidden;
}

/* Decorative Glow */
form.woocommerce-form-track-order::before {
	content: "";
	position: absolute;
	top: -100px;
	right: -100px;
	width: 220px;
	height: 220px;
	background: radial-gradient(circle, rgba(250,52,52,0.12) 0%, transparent 70%);
	pointer-events: none;
}

form.woocommerce-form-track-order::after {
	content: "";
	position: absolute;
	bottom: -100px;
	left: -100px;
	width: 220px;
	height: 220px;
	background: radial-gradient(circle, rgba(250,52,52,0.08) 0%, transparent 70%);
	pointer-events: none;
}

/* =================================================
   INTRO TEXT
================================================= */

form.woocommerce-form-track-order > p:first-of-type {
	flex: 0 0 100%;
	width: 100%;
	margin: 0 0 24px 0;

	display: block;

	text-align: center;

	font-size: 16px;
	line-height: 1.7;
	font-weight: 500;

	color: #64748b;

	position: relative;
	z-index: 2;
}

/* Top Icon */
form.woocommerce-form-track-order > p:first-of-type::before {
	content: "\f48b";

	font-family: "Font Awesome 6 Free", "FontAwesome";
	font-weight: 900;

	width: 82px;
	height: 82px;

	margin: 0 auto 16px auto;

	display: flex;
	align-items: center;
	justify-content: center;

	border-radius: 50%;

	font-size: 34px;

	color: var(--btn-text-color, #ffffff);

	background: linear-gradient(
		135deg,
		var(--primary-color, #FA3434),
		#ff6b6b
	);

	box-shadow:
		0 10px 25px rgba(250,52,52,0.28),
		inset 0 1px 1px rgba(255,255,255,0.3);
}

/* =================================================
   FORM ROWS
================================================= */

form.woocommerce-form-track-order .form-row {
	flex: 1;
	min-width: 260px;
	margin: 0;
	padding: 0;
	position: relative;
	z-index: 2;
}

/* Full Width Button */
form.woocommerce-form-track-order .form-row:last-of-type {
	flex: 0 0 100%;
	width: 100%;
	display: flex;
	justify-content: center;
	margin-top: 4px;
}

/* =================================================
   LABELS
================================================= */

form.woocommerce-form-track-order .form-row label {
	display: flex;
	align-items: center;

	margin-bottom: 2px;

	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.2px;

	color: var(--secondary-color, #0f172a);
}

/* =================================================
   INPUTS
================================================= */

form.woocommerce-form-track-order input.input-text {
	width: 100%;
	height: 58px;

	padding: 0 22px;

	border-radius: 16px;
	border: 1px solid #dbe3ec;

	background: var(--card-bg-color, #ffffff);

	font-size: 15px;
	font-weight: 600;

	color: var(--secondary-color, #0f172a);

	box-shadow:
		inset 0 1px 2px rgba(15,23,42,0.03);

	transition: all 0.25s ease;
}

form.woocommerce-form-track-order input.input-text::placeholder {
	color: #94a3b8;
	font-weight: 500;
}

form.woocommerce-form-track-order input.input-text:focus {
	border-color: var(--primary-color, #FA3434);

	background: var(--card-bg-color, #ffffff);

	box-shadow:
		0 0 0 5px rgba(250,52,52,0.10),
		0 6px 16px rgba(250,52,52,0.08);

	transform: translateY(-1px);

	outline: none;
}

/* =================================================
   BUTTON
================================================= */

form.woocommerce-form-track-order .button {
	position: relative;

	min-width: 240px;
	height: 56px;

	padding: 0 34px;

	border: none;
	border-radius: 16px;

	background: linear-gradient(
		135deg,
		var(--primary-color, #FA3434),
		#ff5f5f
	);

	color: var(--btn-text-color, #ffffff);

	font-size: 16px;
	font-weight: 700;
	letter-spacing: 0.3px;

	display: inline-flex;
	align-items: center;
	justify-content: center;

	cursor: pointer;

	box-shadow:
		0 10px 22px rgba(250,52,52,0.25),
		inset 0 1px 1px rgba(255,255,255,0.2);

	transition: all 0.28s ease;

	overflow: hidden;
}

/* Shine Effect */
form.woocommerce-form-track-order .button::before {
	content: "";

	position: absolute;
	top: 0;
	left: -120%;

	width: 80%;
	height: 100%;

	background: linear-gradient(
		90deg,
		transparent,
		rgba(255,255,255,0.35),
		transparent
	);

	transform: skewX(-25deg);

	transition: all 0.7s ease;
}

form.woocommerce-form-track-order .button:hover::before {
	left: 130%;
}

/* Hover */
form.woocommerce-form-track-order .button:hover {
	transform: translateY(-3px);

	box-shadow:
		0 14px 28px rgba(250,52,52,0.34),
		inset 0 1px 1px rgba(255,255,255,0.2);

	background: linear-gradient(
		135deg,
		#f92b2b,
		#ff4d4d
	);
}

/* Active */
form.woocommerce-form-track-order .button:active {
	transform: scale(0.98);
}

/* =================================================
   ERROR NOTICE
================================================= */

.woocommerce:has(form.woocommerce-form-track-order) .woocommerce-error,
.woocommerce-track-order .woocommerce-error {
	width: 100%;
	max-width: 900px;

	margin: 0 auto 28px;
	padding: 18px 22px;

	display: flex;
	align-items: center;
	justify-content: center;
	gap: 14px;

	min-height: auto;
	box-sizing: border-box;

	border-radius: 18px;

	background: linear-gradient(
		135deg,
		#fff5f5 0%,
		#fef2f2 50%,
		#fff1f1 100%
	);

	border: 1px solid #fecaca;

	box-shadow:
		0 10px 25px rgba(239,68,68,0.06),
		0 2px 6px rgba(239,68,68,0.04),
		inset 0 1px 0 rgba(255,255,255,0.7);

	list-style: none;

	font-size: 15px;
	font-weight: 600;
	line-height: 1.4;

	color: #b91c1c;

	position: relative;
	overflow: hidden;
}

/* Top Border */
.woocommerce:has(form.woocommerce-form-track-order) .woocommerce-error::after,
.woocommerce-track-order .woocommerce-error::after {
	content: "";

	position: absolute;
	top: 0;
	left: 0;

	width: 100%;
	height: 3px;

	background: linear-gradient(
		90deg,
		#ef4444,
		#f87171,
		#ef4444
	);

	display: block;
}

/* Error Icon */
.woocommerce:has(form.woocommerce-form-track-order) .woocommerce-error::before,
.woocommerce-track-order .woocommerce-error::before {
	content: "\f071";

	font-family: "Font Awesome 6 Free", "FontAwesome";
	font-weight: 900;

	width: 42px;
	height: 42px;

	min-width: 42px;

	display: flex;
	align-items: center;
	justify-content: center;

	border-radius: 50%;

	background: rgba(239,68,68,0.12);

	color: #ef4444;

	font-size: 18px;

	line-height: 1;

	flex-shrink: 0;
}

/* Error Text Perfect Center */
.woocommerce:has(form.woocommerce-form-track-order) .woocommerce-error li,
.woocommerce-track-order .woocommerce-error li {
	margin: 0;
	padding: 0;

	display: flex;
	align-items: center;
	justify-content: center;

	line-height: 1.4;

	text-align: center;

	flex: 1;
}

/* Remove Default */
.woocommerce:has(form.woocommerce-form-track-order) .woocommerce-error li::before,
.woocommerce-track-order .woocommerce-error li::before {
	display: none !important;
}

/* =================================================
   SUCCESS NOTICE
================================================= */

.woocommerce-order-details__notice.notice-info {
	width: 100%;
	max-width: 900px;

	margin: 0 auto 28px auto;
	padding: 18px 22px;

	display: flex;
	align-items: center;
	gap: 14px;

	border-radius: 18px;

	background: linear-gradient(
		180deg,
		#f0fdf4 0%,
		#ecfdf5 100%
	);

	border: 1px solid #bbf7d0;

	box-sizing: border-box;
	box-shadow:
		0 8px 20px rgba(16,185,129,0.06);

	font-size: 15px;
	font-weight: 600;
	line-height: 1.6;

	color: #065f46;
}

/* Success Icon */
.woocommerce-order-details__notice.notice-info::before {
	content: "\f058";

	font-family: "Font Awesome 6 Free", "FontAwesome";
	font-weight: 900;

	width: 42px;
	height: 42px;

	border-radius: 50%;

	background: rgba(16,185,129,0.12);

	display: flex;
	align-items: center;
	justify-content: center;

	font-size: 18px;

	color: #10b981;

	flex-shrink: 0;
}

/* =================================================
   TABLET
================================================= */

@media (max-width: 992px) {

	form.woocommerce-form-track-order {
		padding: 34px 28px;
		gap: 16px;
	}

	form.woocommerce-form-track-order .form-row {
		min-width: calc(50% - 8px);
	}

	form.woocommerce-form-track-order .button {
		width: 100%;
		max-width: 100%;
	}
}

/* =================================================
   MOBILE
================================================= */

@media (max-width: 768px) {

	.woocommerce:has(form.woocommerce-form-track-order),
	.woocommerce-track-order {
		margin: 16px auto;
		padding: 0 4px !important;
		width: 100%;
		max-width: 100%;
	}

	form.woocommerce-form-track-order {
		padding: 32px 20px;
		border-radius: 16px;

		flex-direction: column;
		align-items: stretch;

		gap: 20px;
	}

	form.woocommerce-form-track-order > p:first-of-type {
		font-size: 14px;
		line-height: 1.6;
		margin-bottom: 15px;
	}

	form.woocommerce-form-track-order > p:first-of-type::before {
		width: 70px;
		height: 70px;
		font-size: 28px;
		margin: 0 auto 12px auto;
	}

	form.woocommerce-form-track-order .form-row {
		width: 100%;
		min-width: 100%;
	}

	form.woocommerce-form-track-order .form-row label {
		font-size: 13.5px;
		margin-bottom: 2px;
	}

	form.woocommerce-form-track-order input.input-text {
		height: 52px;
		font-size: 14px;
		padding: 0 18px;
		border-radius: 14px;
	}

	form.woocommerce-form-track-order .button {
		width: 100%;
		height: 52px;
		font-size: 15px;
		border-radius: 14px;
	}

	.woocommerce:has(form.woocommerce-form-track-order) .woocommerce-error,
	.woocommerce-track-order .woocommerce-error,
	.woocommerce-order-details__notice.notice-info {
		padding: 16px !important;
		border-radius: 16px !important;
		font-size: var(--mj-body-font-size, 14px) !important;
		line-height: var(--mj-body-line-height, 1.5) !important;
	}

	.woocommerce:has(form.woocommerce-form-track-order) .woocommerce-error::before,
	.woocommerce-track-order .woocommerce-error::before,
	.woocommerce-order-details__notice.notice-info::before {
		width: 38px !important;
		height: 38px !important;
		font-size: 16px !important;
	}
}

/* =================================================
   SMALL MOBILE
================================================= */

@media (max-width: 480px) {

	form.woocommerce-form-track-order > p:first-of-type::before {
		width: 64px;
		height: 64px;
		font-size: 24px;
	}

	form.woocommerce-form-track-order input.input-text,
	form.woocommerce-form-track-order .button {
		height: 50px;
	}

	form.woocommerce-form-track-order .button {
		font-size: 14.5px;
	}
}

/* =================================================
   STYLE 2 PRODUCT CARD UI (ULTRA PREMIUM)
   ================================================= */
.mj-product-card-v2 {
    background: transparent !important;
    border-radius: 0 !important;
    border: none !important;
    overflow: visible !important;
    display: flex;
    flex-direction: column;
    position: relative;
    transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
    min-height: 0;
    min-width: 0;
    width: 100%;
    height: 100%;
    padding: 10px;
    box-shadow: none !important;
}
.mj-product-card-v2:hover {
    transform: none !important;
    box-shadow: none !important;
    border-color: transparent !important;
    z-index: 2;
}
.mj-v2-image-wrap {
    position: relative;
    width: 100%;
    aspect-ratio: var(--mj-image-aspect-ratio, 1 / 1);
    background-color: var(--bg-color, #f8fafc);
    border-radius: 16px !important;
    overflow: hidden !important;
    box-shadow: none !important;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
}
.mj-v2-image-wrap img.mj-primary-img {
    position: relative;
    height: var(--mj-image-height, 100%);
    border-radius: 16px !important;
    overflow: hidden !important;
}
.mj-v2-image-wrap img.mj-primary-img,
.mj-v2-image-wrap img.mj-secondary-img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.mj-v2-image-wrap img.mj-primary-img {
    transform: scale(1);
    transition: transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);
}
.mj-product-card-v2:hover .mj-v2-image-wrap img.mj-primary-img {
    transform: scale(1.08);
}
.mj-v2-image-wrap img.mj-secondary-img {
    opacity: 0;
    z-index: 2;
    transform: scale(1.05);
    transition: all 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}
.mj-product-card-v2:hover .mj-v2-image-wrap img.mj-secondary-img {
    opacity: 1;
    transform: scale(1.08);
}
.mj-v2-wishlist {
    position: absolute;
    top: 14px;
    right: 14px;
    z-index: 10;
    opacity: 0;
    transform: scale(0.8) rotate(-10deg);
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}
.mj-product-card-v2:hover .mj-v2-wishlist,
.mj-v2-wishlist:has(.woosw-added) {
    opacity: 1;
    transform: scale(1) rotate(0);
}
.mj-v2-wishlist .woosw-btn {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: var(--card-bg-color, #ffffff);
    color: var(--secondary-color, #0f172a);
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 15px rgba(0,0,0,0.1);
    border: none;
    cursor: pointer;
    transition: all 0.2s ease;
}
.mj-v2-wishlist .woosw-btn i, .mj-v2-wishlist .woosw-btn::before {
    font-size: 15px !important;
    line-height: 1;
}
.mj-v2-wishlist .woosw-btn:hover {
    background: var(--primary-color, #FA3434);
    color: var(--btn-text-color, #ffffff);
    transform: scale(1.1);
}
.mj-v2-wishlist .woosw-btn.woosw-added {
    background: var(--primary-color, #FA3434);
    color: var(--btn-text-color, #ffffff);
}
.mj-v2-action-bar {
    position: absolute;
    bottom: 16px;
    left: 50%;
    width: calc(100% - 32px);
    z-index: 10;
    transform: translateX(-50%) translateY(20px);
    opacity: 0;
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}
.mj-product-card-v2:hover .mj-v2-action-bar {
    transform: translateX(-50%) translateY(0);
    opacity: 1;
}
.mj-v2-cart-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 44px;
    height: 36px;
    background: var(--add-to-cart-bg, rgba(255, 255, 255, 0.95)) !important;
    backdrop-filter: blur(8px);
    color: var(--add-to-cart-color, #0f172a) !important;
    border: 2px solid var(--btn-border-color, #ffffff) !important;
    border-radius: 12px;
    font-size: 14px;
    font-weight: 800;
    text-decoration: none !important;
    box-shadow: 0 8px 25px rgba(0,0,0,0.1);
    transition: all 0.3s ease;
}
.mj-v2-cart-btn:hover, .mj-v2-cart-btn.added {
    background: var(--add-to-cart-hover, #FA3434) !important;
    color: var(--add-to-cart-hover-color, #ffffff) !important;
    border: 2px solid var(--add-to-cart-border-hover, #FA3434) !important;
    transform: translateY(-2px);
    box-shadow: 0 10px 30px rgba(0,0,0,0.2);
}
.mj-v2-cart-btn svg {
	width: 16px;
	height: 16px;
	stroke-width: 2.5;
}
.mj-v2-cart-btn:active:not(.added) {
    transform: translateY(0) scale(0.96);
    box-shadow: 0 4px 15px rgba(0,0,0,0.1);
}
.mj-v2-cart-btn.mj-is-go-to-cart {
    background: var(--go-to-cart-bg, #10b981) !important;
    color: var(--btn-text-color, #ffffff) !important;
    border: 2px solid var(--btn-border-color, #ffffff) !important;
}
.mj-v2-cart-btn.loading {
    color: transparent !important;
}
.mj-v2-content {
    padding: 10px 10px 10px 10px;
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
}
.mj-v2-cat-rating-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 4px;
    gap: 8px;
    flex-shrink: 0;
}
.mj-v2-cat {
    font-size: 12px;
    font-weight: 500;
    text-transform: capitalize;
    color: #000000;
    background: transparent;
    padding: 0;
    letter-spacing: 0.8px;
    text-decoration: none;
    transition: all 0.2s;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	max-width: 60%;
}
.mj-v2-cat:hover {
    opacity: 0.5;
}
.mj-v2-cat-rating-row .mj-rating-badge {
    background: transparent;
    padding: 0;
    color: var(--light-text-color, #64748b);
    font-size: 12px;
    font-weight: 600;
}
.mj-v2-cat-rating-row .mj-star {
    color: var(--star-rating-color, #f59e0b);
    font-size: 12px;
    margin-right: 4px;
}
.mj-v2-title {
    color: var(--secondary-color, #111827);
    margin: 0;
    height: auto;
    min-height: 0;
    font-family: var(--mj-shop-title-font);
    font-size: var(--mj-shop-title-font-size);
    line-height: var(--mj-shop-title-line-height);
    font-weight: var(--mj-shop-title-font-weight);
    letter-spacing: var(--mj-shop-title-letter-spacing, 0px);
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    transition: color 0.2s ease;
	margin-bottom: 4px;
}
.mj-product-card-v2:hover .mj-v2-title {
    color: var(--primary-color, #FA3434);
}
.mj-v2-bottom-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: auto !important;
    height: auto !important;
}
.mj-v2-price {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    height: auto !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    gap: 8px;
    font-size: 20px;
    font-weight: 800;
    color: var(--price-color, #111827); /* Overrides default woocommerce margin/color conflicts safely */
    letter-spacing: -0.5px;
}
.mj-v2-price del {
    display: none !important;
}
.mj-v2-price ins {
    text-decoration: none;
    color: var(--sale-price-color, #FA3434);
    font-weight: 800;
}
.mj-v2-swatches-wrap {
    position: absolute;
    bottom: 30px;
    left: 12px;
    z-index: 5;
    max-width: calc(100% - 24px);
    flex-shrink: 0;
    height: auto !important;
    margin-bottom: 10px !important;
}
.mj-product-card-v2 .mj-badges-wrap {
    top: 14px;
    left: 14px;
}
.mj-product-card-v2 .mj-badge {
    padding: 3px 7px;
    border-radius: 5px;
    font-size: 10px;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    border: 1px solid rgba(255,255,255,0.3);
}
@media (max-width: 1024px) {
    .mj-v2-action-bar {
        opacity: 1;
        bottom: 12px; left: 50%; width: calc(100% - 24px); transform: translateX(-50%) translateY(0);
    }
    .mj-v2-wishlist {
        opacity: 1;
        transform: scale(1) rotate(0);
        top: 12px; right: 12px;
    }
    .mj-product-card-v2 .mj-badges-wrap {
        top: 12px; left: 12px;
    }
    .mj-v2-title {
        font-size: 14px;
    }
    .mj-v2-price {
        font-size: 20px !important;
    }
    .mj-v2-cart-btn {
        height: 40px;
        font-size: 13px;
        box-shadow: 0 4px 15px rgba(0,0,0,0.1);
    }
}
.mj-product-card-v2.mj-swatch-active .mj-primary-img {
    opacity: 1 !important;
    visibility: visible !important;
}
.mj-product-card-v2.mj-swatch-active .mj-secondary-img {
    display: none !important;
    opacity: 0 !important;
}

/* --- Product Card Style 3 (Pink Pastel / Left-Aligned / Gradient CTA) --- */
.mj-product-card-v3 {
    background: #ffffff;
    border: 1px solid #f0f0f0;
    border-radius: 20px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    width: 100%;
    /* Not height:100% on purpose: the grid row still stretches this card's
       li to match its tallest sibling (e.g. one showing "Hurry! Only 1
       left"), and height:100% was filling that full stretched box - pushing
       .mj-v3-cart-btn's margin-top:auto down with it and opening a big gap
       above the button on every shorter card in the same row. Sizing to its
       own content instead keeps that gap only where the extra line exists. */
    height: auto;
    align-self: start;
    text-align: left;
    box-shadow: 0 4px 16px rgba(15, 23, 42, 0.04);
    transition: transform 0.4s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.4s ease, border-color 0.4s ease;
}
.mj-product-card-v3:hover {
    transform: translateY(-8px);
    border-color: #ffd6e6;
    box-shadow: 0 20px 40px rgba(253, 49, 126, 0.16);
}
.mj-v3-image-wrap {
    position: relative;
    width: 100%;
    margin: 0 0 10px;
    aspect-ratio: var(--mj-image-aspect-ratio, 1 / 1);
    background: linear-gradient(160deg, #fff5f9, #ffeaf1);
    overflow: hidden;
    flex-shrink: 0;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
}
.mj-v3-image-wrap img.mj-primary-img,
.mj-v3-image-wrap img.mj-secondary-img {
    width: 100%;
    object-fit: cover;
    display: block;
}
.mj-v3-image-wrap img.mj-secondary-img {
    position: absolute;
    inset: 0;
    height: 100%;
}
.mj-v3-image-wrap img.mj-primary-img {
    position: relative;
    height: var(--mj-image-height, 100%);
    transform: scale(1);
    transition: transform 0.6s cubic-bezier(0.22, 1, 0.36, 1), opacity 0.4s ease;
}
.mj-product-card-v3:hover .mj-v3-image-wrap img.mj-primary-img {
    transform: scale(1.08);
    opacity: 0;
}
.mj-v3-image-wrap img.mj-secondary-img {
    opacity: 0;
    z-index: 2;
    transition: opacity 0.4s ease, transform 0.6s cubic-bezier(0.22, 1, 0.36, 1);
}
.mj-product-card-v3:hover .mj-v3-image-wrap img.mj-secondary-img {
    opacity: 1;
    transform: scale(1.08);
}
.mj-v3-wishlist {
    position: absolute;
    top: 14px;
    right: 14px;
    z-index: 10;
}
.mj-v3-wishlist .woosw-btn {
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: var(--card-bg-color, #ffffff);
    color: var(--secondary-color, #0f172a);
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
    border: none;
    cursor: pointer;
    transition: all 0.25s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.mj-v3-wishlist .woosw-btn i, .mj-v3-wishlist .woosw-btn::before {
    font-size: 14px !important;
    line-height: 1;
}
.mj-v3-wishlist .woosw-btn:hover,
.mj-v3-wishlist .woosw-btn.woosw-added {
    background: var(--primary-color, #FA3434);
    color: var(--btn-text-color, #ffffff);
    transform: scale(1.1);
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.2);
}
.mj-product-card-v3 .mj-badges-wrap {
    top: 14px;
    left: 14px;
    right: 14px;
    width: auto;
    flex-direction: row;
    justify-content: space-between;
    align-items: flex-start;
}
.mj-product-card-v3 .mj-badge-new {
    order: 1;
    background: var(--badge-new-bg, #10b981);
    color: #ffffff;
    border-radius: 20px;
    padding: 5px 12px;
}
.mj-product-card-v3 .mj-badge-sale {
    order: 2;
    background-color: var(--sale-badge-bg, #FA3434);
    color: var(--sale-badge-text, #ffffff);
    border-radius: 20px;
    padding: 4px 8px;
    font-size: 9px;
}
.mj-product-card-v3 .mj-badge-featured {
    order: 2;
}
.mj-v3-content {
    padding: 0 16px 14px;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    flex: 1 1 auto;
}
.mj-v3-title {
    color: var(--secondary-color, #1a1a1a);
    margin: 0 0 4px;
    font-family: var(--mj-shop-title-font);
    font-size: var(--mj-shop-title-font-size, 14.5px);
    line-height: var(--mj-shop-title-line-height, 1.35);
    font-weight: var(--mj-shop-title-font-weight, 600);
    letter-spacing: var(--mj-shop-title-letter-spacing, -0.1px);
    display: -webkit-box;
    -webkit-line-clamp: 1;
    line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
    transition: color 0.2s ease;
}
.mj-product-card-v3:hover .mj-v3-title {
    color: var(--primary-color, #FD317E);
}
.mj-v3-rating {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center;
    justify-content: flex-start;
    gap: 6px;
    margin: 0 0 6px;
    line-height: 1;
}
.mj-v3-rating .star-rating {
    display: inline-block !important;
    float: none !important;
    margin: 0 !important;
    position: relative;
    overflow: hidden;
    height: 1em;
    line-height: 1;
    width: 5.4em;
    font-size: 11px;
    color: #d1d5db;
    vertical-align: middle;
    flex-shrink: 0;
}
.mj-v3-rating .star-rating::before {
    content: "sssss";
    position: absolute;
    top: 0;
    left: 0;
}
.mj-v3-rating .star-rating span {
    overflow: hidden;
    position: absolute;
    top: 0;
    left: 0;
    padding-top: 1.5em;
    color: var(--star-rating-color, #f5a623);
}
.mj-v3-rating .star-rating span::before {
    content: "SSSSS";
    position: absolute;
    top: 0;
    left: 0;
}
.mj-v3-rating-count {
    display: inline-block;
    font-size: 10.5px;
    font-weight: 500;
    color: var(--light-text-color, #aaaaaa);
    line-height: 1;
    white-space: nowrap;
    vertical-align: middle;
}
.mj-v3-price {
    display: flex;
    align-items: baseline;
    justify-content: flex-start;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 8px;
    font-size: 18px;
    font-weight: 700;
    color: var(--price-color, #1a1a1a);
    letter-spacing: -0.3px;
}
.mj-v3-price del {
    order: 2;
    font-size: 0.7em;
    font-weight: 400;
    color: var(--regular-price-color, #bbbbbb);
    text-decoration: line-through;
    opacity: 1;
}
.mj-v3-price ins {
    order: 1;
    text-decoration: none;
    color: var(--sale-price-color, #1a1a1a);
    font-weight: 700;
}
.mj-v3-cart-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    padding: 9px 0;
    border-radius: 24px;
    background: var(--add-to-cart-bg, #FD317E);
    color: var(--add-to-cart-color, #ffffff) !important;
    font-family: var(--mj-btn-font);
    font-weight: var(--mj-btn-font-weight, 600);
    font-size: 12.5px;
    letter-spacing: var(--mj-btn-letter-spacing, 0.2px);
    text-transform: var(--mj-btn-text-transform, none);
    text-decoration: none !important;
    border: none;
    cursor: pointer;
    box-sizing: border-box;
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.14);
    transition: all 0.3s ease;
    margin-top: auto;
}
.mj-v3-cart-btn:hover {
    background: var(--add-to-cart-hover, #FA3434);
    color: var(--add-to-cart-hover-color, #ffffff) !important;
    transform: translateY(-2px);
    box-shadow: 0 10px 22px rgba(0, 0, 0, 0.18);
}
.mj-v3-cart-btn:active {
    transform: translateY(0) scale(0.98);
}
.mj-v3-cart-btn.mj-is-go-to-cart {
    background: var(--go-to-cart-bg, #10b981);
    box-shadow: 0 8px 18px -6px rgba(16, 185, 129, 0.5);
}
.mj-v3-cart-btn.mj-is-go-to-cart:hover {
    background: var(--go-to-cart-hover, #059669);
    box-shadow: 0 12px 22px -6px rgba(5, 150, 105, 0.55);
}
.mj-v3-cart-btn.loading {
    color: transparent !important;
}
@media (max-width: 1024px) {
    .mj-v3-title {
        font-size: 12px;
    }
    .mj-v3-price {
        font-size: 14px;
    }
    .mj-v3-cart-btn {
        padding: 9px 0;
        font-size: 10.5px;
    }
}

/* Low Stock Single Line Flexbox Alignment */
.mj-shop-urgency-wrapper {
    width: 100%;
    margin-bottom: 8px;
    display: flex;
    flex-direction: column;
}
.mj-shop-urgency-stock {
    display: inline-flex !important;
    align-items: center !important;
    flex-wrap: nowrap !important;
    white-space: nowrap !important;
    gap: 4px !important;
}
.mj-shop-urgency-bar {
    height: 4px;
    background: #fee2e2;
    border-radius: 10px;
    overflow: hidden;
    width: 100%;
    margin-top: 2px;
}
.mj-shop-urgency-progress {
    display: block;
    height: 100%;
    background: var(--stock-low-color, #ef4444);
    border-radius: 10px;
    transition: width 0.5s ease;
}

/* --- WooCommerce Price Filter Custom Colors & Centering --- */
.widget_price_filter .price_slider_amount {
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	gap: 12px !important;
	margin-top: 15px !important;
}
.widget_price_filter .price_slider_amount .price_label {
	text-align: center !important;
	width: 100% !important;
}
.widget_price_filter .price_slider_amount .button,
.woocommerce .widget_price_filter .price_slider_amount .button {
	width: 100% !important;
	height: 38px !important;
	min-height: 38px !important;
	padding: 0 16px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	border-radius: 8px !important;
	font-weight: 700 !important;
	background-color: #000000 !important;
	color: var(--btn-text-color, #ffffff) !important;
	border: none !important;
}
.widget_price_filter .price_slider_amount .button:hover {
	background-color: var(--primary-color) !important;
}
.widget_price_filter .ui-slider .ui-slider-range,
.widget_price_filter .ui-slider .ui-slider-handle {
	background-color: var(--primary-color) !important;
}
.widget_price_filter .ui-slider { position: relative; text-align: left; margin: 10px 10px 24px; }
.widget_price_filter .ui-slider .ui-slider-handle { position: absolute; z-index: 2; width: 22px; height: 22px; border-radius: 50%; background-color: var(--card-bg-color, #ffffff) !important; border: 3px solid var(--primary-color) !important; top: -8px; cursor: pointer; outline: none; margin-left: -11px; box-shadow: 0 4px 10px rgba(0,0,0,0.15); transition: transform 0.2s ease; }
.widget_price_filter .ui-slider .ui-slider-handle:hover { transform: scale(1.1); }
.widget_price_filter .ui-slider .ui-slider-range { position: absolute; z-index: 1; display: block; border: 0; border-radius: 4px; background-color: var(--primary-color) !important; height: 6px; top: 0; }
.widget_price_filter .price_slider_wrapper .ui-widget-content { border-radius: 4px; background: var(--border-color, #e2e8f0); height: 6px; position: relative; margin-top: 14px; }

/* --- WooCommerce Layered Nav (Size/Color Attribute Filters UI) --- */
.widget_layered_nav ul.woocommerce-widget-layered-nav-list {
	list-style: none !important;
	padding: 0 !important;
	margin: 0 !important;
}
.widget_layered_nav ul.woocommerce-widget-layered-nav-list > li {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	padding: 10px 14px !important;
	margin-bottom: 8px !important;
	background: var(--bg-color, #f8fafc) !important;
	border-radius: 10px !important;
	transition: all 0.2s ease !important;
	border: 1px solid transparent !important;
}
.widget_layered_nav ul.woocommerce-widget-layered-nav-list > li:hover {
	background: var(--card-bg-color, #ffffff) !important;
	border-color: var(--border-color, #e2e8f0) !important;
	box-shadow: 0 4px 10px rgba(0,0,0,0.03) !important;
}
.widget_layered_nav ul.woocommerce-widget-layered-nav-list > li.chosen {
	background: #fff5f5 !important;
	border-color: #fecaca !important;
}
.widget_layered_nav ul.woocommerce-widget-layered-nav-list > li > a {
	color: var(--text-color, #334155) !important;
	font-family: var(--mj-meta-font, sans-serif) !important;
	font-weight: 600 !important;
	line-height: var(--mj-meta-line-height, 1.6) !important;
	letter-spacing: var(--mj-meta-letter-spacing, 0px) !important;
	text-decoration: none !important;
	flex: 1 !important;
	font-size: 14.5px !important;
}
.widget_layered_nav ul.woocommerce-widget-layered-nav-list > li:hover > a,
.widget_layered_nav ul.woocommerce-widget-layered-nav-list > li.chosen > a {
	color: var(--primary-color) !important;
}
.widget_layered_nav ul.woocommerce-widget-layered-nav-list > li.chosen > a {
	font-weight: 700 !important;
}
.widget_layered_nav .count {
	background: var(--border-color, #e2e8f0) !important;
	color: #475569 !important;
	font-family: var(--mj-meta-font, sans-serif) !important;
	font-size: 11px !important;
	line-height: var(--mj-meta-line-height, 1.6) !important;
	letter-spacing: var(--mj-meta-letter-spacing, 0px) !important;
	padding: 3px 8px !important;
	border-radius: 20px !important;
	font-weight: 700 !important;
	margin-left: 10px !important;
	transition: all 0.2s ease;
}
.widget_layered_nav ul li.chosen .count {
	background: var(--primary-color) !important;
	color: var(--btn-text-color, #ffffff) !important;
}

/* --- Prevent FOUC (Vertical List Flash) Before JS Loads --- */
body .widget select.woocommerce-widget-layered-nav-dropdown:not(.select2-hidden-accessible) {
	max-height: 44px;
	overflow: hidden;
	opacity: 0;
}

/* --- WooCommerce Select2 Premium UI (No !important, High Specificity) --- */
body .select2-container { width: 100%; }
body .select2-container--open, body .select2-dropdown { z-index: 100000; }
body .select2-container .select2-selection--single, body .select2-container .select2-selection--multiple { border: 1px solid var(--border-color, #e2e8f0); border-radius: 8px; min-height: 44px; background: var(--bg-color, #f8fafc); display: flex; align-items: center; padding: 0 12px; }
body .select2-container .select2-selection--multiple { height: auto; padding: 6px 10px; }
body .select2-container:hover .select2-selection--single, body .select2-container:hover .select2-selection--multiple { border-color: #cbd5e1; background: var(--card-bg-color, #ffffff); }
body .select2-container--focus .select2-selection--single, body .select2-container--focus .select2-selection--multiple, body .select2-container--open .select2-selection--single, body .select2-container--open .select2-selection--multiple { border-color: var(--primary-color); background: var(--card-bg-color, #ffffff); box-shadow: 0 0 0 3px rgba(250, 52, 52, 0.1); }
body .widget .select2-container .select2-selection__rendered, body .select2-container .select2-selection__rendered { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; width: 100%; list-style: none; padding: 0; margin: 0; }
body .widget .select2-container .select2-selection__rendered > li, body .select2-container .select2-selection__rendered > li { display: inline-flex; align-items: center; width: auto; margin: 0; padding: 0; border: none; background: transparent; }
body .select2-container .select2-selection--multiple .select2-selection__choice { background: var(--bg-color, #f8fafc); border: 1px solid #cbd5e1; border-radius: 6px; padding: 3px 10px 3px 6px; font-size: 13px; font-weight: 600; color: var(--secondary-color, #0f172a); display: inline-flex; align-items: center; flex-direction: row; gap: 6px; box-shadow: 0 2px 4px rgba(0,0,0,0.02); max-width: 100%; }
html body div.select2-container .select2-selection--multiple .select2-selection__choice__display { color: var(--secondary-color, #0f172a); display: inline-block; padding: 0; margin: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 100%; cursor: default; }
body .select2-container .select2-selection--multiple .select2-selection__choice__remove { color: #ef4444; font-size: 18px; line-height: 1; background: transparent; border: none; padding: 0; margin: 0; cursor: pointer; position: static; transform: none; display: flex; align-items: center; justify-content: center; transition: color 0.2s; flex-shrink: 0; }
body .select2-container .select2-selection--multiple .select2-selection__choice__remove:hover { color: #ff4747; }
body .widget .select2-container .select2-search--inline, body .select2-container .select2-search--inline { flex: 1 1 auto; min-width: 60px; display: inline-flex; margin: 0; }
body .select2-container .select2-search--inline .select2-search__field { width: 100%; height: auto; min-height: 0; margin: 0; font-family: inherit; font-size: 14px; border: none; box-shadow: none; background: transparent; padding: 2px 0; outline: none; }
body .select2-dropdown { border: 1px solid var(--border-color, #e2e8f0); border-radius: 10px; box-shadow: 0 10px 30px rgba(0,0,0,0.1); overflow: hidden; padding: 6px; background: var(--card-bg-color, #ffffff); }
body .select2-search--dropdown .select2-search__field { border: 1px solid var(--border-color, #e2e8f0); border-radius: 6px; padding: 6px 12px; outline: none; width: 100%; box-sizing: border-box; }
body .select2-search--dropdown .select2-search__field:focus { border-color: var(--primary-color); }
body .select2-results__option { padding: 8px 12px; font-size: 14px; color: var(--text-color, #334155); border-radius: 8px; margin-bottom: 2px; transition: all 0.2s ease; cursor: pointer; }
body .select2-results__option--highlighted[aria-selected], body .select2-results__option:hover { background: var(--primary-color); color: var(--btn-hover-text-color, #ffffff); font-weight: 600; }
body .select2-results__option[aria-selected="true"] { background: #f1f5f9; color: var(--secondary-color, #0f172a); font-weight: 700; }
/* Dropdown Options as Interactive Grid Boxes */
body .select2-results__options[aria-multiselectable="true"] { display: flex; flex-wrap: wrap; gap: 6px; padding: 2px; }
body .select2-results__options[aria-multiselectable="true"] .select2-results__option { flex: 1 1 auto; min-width: 48px; margin: 0; border: 1px solid var(--border-color, #e2e8f0); display: flex; align-items: center; justify-content: center; text-align: center; background: var(--bg-color, #f8fafc); font-weight: 600; }
body .select2-results__options[aria-multiselectable="true"] .select2-results__option:hover, body .select2-results__options[aria-multiselectable="true"] .select2-results__option--highlighted[aria-selected] { background: var(--primary-color); color: var(--btn-hover-text-color, #ffffff); border-color: var(--primary-color); }
body .select2-results__options[aria-multiselectable="true"] .select2-results__option[aria-selected="true"] { background: var(--secondary-color, #0f172a); color: var(--btn-text-color, #ffffff); border-color: var(--secondary-color, #0f172a); }

/* --- WooCommerce Filter Apply Button --- */
body .widget .woocommerce-widget-layered-nav-dropdown__submit, body .widget .wc-block-components-filter-submit-button { background: #000000 !important; color: var(--btn-text-color, #ffffff) !important; border: none !important; border-radius: 8px !important; width: 100% !important; margin-top: 10px; min-height: 38px !important; padding: 0 16px !important; display: flex !important; align-items: center !important; justify-content: center !important; font-weight: 700 !important; cursor: pointer; transition: background 0.2s ease; }
body .widget .woocommerce-widget-layered-nav-dropdown__submit:hover, body .widget .wc-block-components-filter-submit-button:hover { background: var(--primary-color) !important; }

/* --- Universal Fix for WooCommerce Native Widgets (Reviews, Top Rated, Viewed, Products, Cart) --- */
body .widget.widget_recent_reviews ul li,
body .widget.widget_top_rated_products ul li,
body .widget.widget_recently_viewed_products ul li,
body .widget.widget_products ul li,
body .widget.widget_rating_filter ul li {
	display: block;
	padding: 14px 0;
	border-bottom: 1px solid #f1f5f9;
	background: transparent;
}
body .widget.widget_recent_reviews ul li:last-child,
body .widget.widget_top_rated_products ul li:last-child,
body .widget.widget_recently_viewed_products ul li:last-child,
body .widget.widget_products ul li:last-child,
body .widget.widget_rating_filter ul li:last-child {
	border-bottom: none;
}
body .widget.widget_recent_reviews ul li img,
body .widget.widget_top_rated_products ul li img,
body .widget.widget_recently_viewed_products ul li img,
body .widget.widget_products ul li img {
	float: left;
	width: 60px;
	height: 60px;
	min-width: 60px;
	margin-right: 16px;
	margin-bottom: 4px;
	border-radius: 12px;
	object-fit: cover;
	background: var(--bg-color, #f8fafc);
	border: 1px solid #f1f5f9;
	display: block;
}
body .widget.widget_recent_reviews ul li a,
body .widget.widget_top_rated_products ul li a,
body .widget.widget_recently_viewed_products ul li a,
body .widget.widget_products ul li a,
body .widget.widget_rating_filter ul li a {
	display: block;
	font-weight: 700;
	color: var(--secondary-color, #0f172a);
	font-size: 14.5px;
	line-height: 1.4;
	text-decoration: none;
	white-space: normal;
	max-width: 100%;
	overflow: visible;
}
body .widget.widget_recent_reviews ul li a:hover,
body .widget.widget_top_rated_products ul li a:hover,
body .widget.widget_recently_viewed_products ul li a:hover,
body .widget.widget_products ul li a:hover {
	color: var(--primary-color);
}
body .widget.widget_recent_reviews ul li .star-rating,
body .widget.widget_top_rated_products ul li .star-rating,
body .widget.widget_products ul li .star-rating,
body .widget.widget_rating_filter ul li .star-rating {
	margin: 6px 0;
	font-size: 12px;
	float: none;
}
body .widget.widget_recent_reviews ul li .reviewer,
body .widget.widget_products ul li .price,
body .widget.widget_top_rated_products ul li .price,
body .widget.widget_recently_viewed_products ul li .price {
	display: block;
	font-size: 14px;
	color: #475569;
	font-weight: 600;
	margin-top: 4px;
}
body .widget.widget_products ul li .price ins,
body .widget.widget_top_rated_products ul li .price ins,
body .widget.widget_recently_viewed_products ul li .price ins {
	text-decoration: none;
	color: var(--primary-color);
}
body .widget.widget_products ul li .price del,
body .widget.widget_top_rated_products ul li .price del,
body .widget.widget_recently_viewed_products ul li .price del {
	font-size: 12.5px;
	color: var(--regular-price-color, #94a3b8);
	font-weight: 500;
	margin-right: 8px;
	display: inline-block;
}
body .sidebar .widget.widget_rating_filter ul li, body .mj-shop-sidebar .widget.widget_rating_filter ul li, body .widget.widget_rating_filter ul li {
	padding: 6px 0;
	border-bottom: none;
}
body .sidebar .widget.widget_rating_filter ul li a, body .mj-shop-sidebar .widget.widget_rating_filter ul li a, body .widget.widget_rating_filter ul li a {
	display: inline-flex;
	align-items: center;
	gap: 8px;
}
body .widget.widget_recent_reviews ul li::after,
body .widget.widget_top_rated_products ul li::after,
body .widget.widget_recently_viewed_products ul li::after,
body .widget.widget_products ul li::after,
body .widget.widget_rating_filter ul li::after {
	content: "";
	display: table;
	clear: both;
}

/* --- Cart Widget Specific UI --- */
body .widget.widget_shopping_cart .cart_list li {
	padding: 16px 0 16px 75px;
	border-bottom: 1px solid #f1f5f9;
	background: transparent;
	position: relative;
	min-height: 92px;
	display: flex;
	flex-direction: column;
	justify-content: center;
}
body .widget.widget_shopping_cart .cart_list li:last-child {
	border-bottom: none;
}
body .widget.widget_shopping_cart .cart_list li a:not(.remove) {
	display: block;
	font-weight: 700;
	color: var(--secondary-color, #0f172a);
	font-size: 14.5px;
	line-height: 1.4;
	text-decoration: none;
	padding-right: 36px;
}
body .widget.widget_shopping_cart .cart_list li a:not(.remove):hover {
	color: var(--primary-color);
}
body .widget.widget_shopping_cart .cart_list li img {
	position: absolute;
	left: 0;
	top: 16px;
	width: 60px;
	height: 60px;
	border-radius: 12px;
	object-fit: cover;
	background: var(--bg-color, #f8fafc);
	border: 1px solid #f1f5f9;
	margin: 0;
}
body .widget.widget_shopping_cart .cart_list li .quantity {
	display: block;
	font-size: 14px;
	color: #475569;
	font-weight: 600;
	margin-top: 4px;
}
body .widget.widget_shopping_cart .cart_list li .quantity .amount {
	color: var(--primary-color);
}
body .widget.widget_shopping_cart .cart_list li .remove {
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	color: #ef4444;
	font-size: 18px;
	text-decoration: none;
	width: 32px;
	height: 32px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: #f1f5f9;
	transition: all 0.2s ease;
	line-height: 1;
	margin: 0;
}
body .widget.widget_shopping_cart .cart_list li .remove:hover {
	background: #fee2e2;
	color: #dc2626;
}
body .widget.widget_shopping_cart .total {
	border-top: 2px dashed var(--border-color, #e2e8f0);
	padding-top: 16px;
	margin-top: 8px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	font-size: 16px;
	font-weight: 800;
	color: var(--secondary-color, #0f172a);
}
body .widget.widget_shopping_cart .total .amount {
	color: var(--primary-color);
	font-size: 18px;
}
body .widget.widget_shopping_cart .buttons {
	display: flex;
	gap: 12px;
	margin-top: 16px;
	margin-bottom: 0;
	padding: 0;
}
body .widget.widget_shopping_cart .buttons .button {
	flex: 1;
	text-align: center;
	padding: 12px 16px;
	border-radius: 12px;
	font-size: 14px;
	font-weight: 700;
	margin: 0;
	background: var(--bg-color, #f8fafc);
	color: var(--secondary-color, #0f172a);
	border: 1px solid var(--border-color, #e2e8f0);
}
body .widget.widget_shopping_cart .buttons .button:hover {
	background: var(--border-color, #e2e8f0);
}
body .widget.widget_shopping_cart .buttons .button.checkout {
	background: var(--primary-color);
	color: #fff;
	border-color: var(--primary-color);
}
body .widget.widget_shopping_cart .buttons .button.checkout:hover {
	background: #e62e2e;
	border-color: #e62e2e;
}
html.mj-shop-view-list body.woocommerce ul.products.mj-mega-grid li.product .mj-product-card-v2,
html.mj-shop-view-list body.woocommerce-page .mj-product-card-v2 {
    flex-direction: row !important;
    height: 240px;
    padding: 12px;
}
html.mj-shop-view-list body.woocommerce-page .mj-v2-image-wrap {
    width: 216px;
    height: 100%;
    border-radius: 14px;
    flex-shrink: 0;
}
html.mj-shop-view-list body.woocommerce-page .mj-product-card-v2 .mj-v2-content {
    justify-content: center;
    padding: 20px 30px;
}
@media (max-width: 600px) {
    html.mj-shop-view-list body.woocommerce-page .mj-product-card-v2 {
        height: 170px;
        padding: 10px;
    }
    html.mj-shop-view-list body.woocommerce-page .mj-v2-image-wrap {
        width: 150px;
    }
    html.mj-shop-view-list body.woocommerce-page .mj-product-card-v2 .mj-v2-content {
        padding: 10px 16px;
    }
    html.mj-shop-view-list body.woocommerce-page .mj-product-card-v2 .mj-v2-action-bar {
        display: none;
    }
    /* Grid mobile specific */
    body:not(.mj-shop-view-list) .mj-product-card-v2 {
        padding: 8px;
        border-radius: 20px;
    }
    body:not(.mj-shop-view-list) .mj-v2-image-wrap {
        border-radius: 12px;
    }
    body:not(.mj-shop-view-list) .mj-v2-content {
        padding: 14px 6px 6px 6px;
    }
    body:not(.mj-shop-view-list) .mj-v2-cat {
        font-size: 10px;
        padding: 0;
    }
    body:not(.mj-shop-view-list) .mj-v2-title {
        font-size: 13.5px;
        margin-bottom: 6px;
        line-height: 1.3;
    }
    body:not(.mj-shop-view-list) .mj-v2-price {
        font-size: 20px !important;
    }
    body:not(.mj-shop-view-list) .mj-v2-action-bar {
        bottom: 8px;
        width: calc(100% - 16px);
    }
    /* Standardized mobile swatch layouts handled */
}

/* ====================================================
   SHOP & WOOCOMMERCE LAYOUT SETTINGS (Gap Fix)
   ==================================================== */
body .container,
body .site-container,
body .wrapper,
body .mj-container,
body .mj-shop-layout,
body .mj-standard-layout,
body .joom-product-container,
body .woosw-list.woosw-list,
html body.woocommerce-cart .woocommerce.woocommerce,
html body.woocommerce-checkout .woocommerce,
html body.woocommerce-order-received .woocommerce,
html body.woocommerce-account .site-content,
html body.woocommerce-account #content,
html body.woocommerce-account .content-area {
	width: 100%;
	max-width: var(--mj-max-width, 1300px);
	padding-left: var(--mj-content-padding, 20px);
	padding-right: var(--mj-content-padding, 20px);
	margin-left: auto;
	margin-right: auto;
	box-sizing: border-box;
}
@media (max-width: 768px) {
	body .container, body .site-container, body .wrapper, body .mj-container, body .mj-shop-layout, body .mj-standard-layout,
	body .joom-product-container, body .woosw-list.woosw-list, html body.woocommerce-cart .woocommerce.woocommerce,
	html body.woocommerce-checkout .woocommerce, html body.woocommerce-order-received .woocommerce,
	html body.woocommerce-account .site-content, html body.woocommerce-account #content, html body.woocommerce-account .content-area {
		padding-left: 4px;
		padding-right: 4px;
	}
}

/* Force Full Width (No Gap) for Elementor Full Width & Canvas Pages ONLY */
body.elementor-template-full-width .container,
body.elementor-template-full-width .site-container,
body.elementor-template-full-width .wrapper,
body.page-template-elementor_header_footer .container,
body.page-template-elementor_canvas .container {
	padding-left: 0 !important;
	padding-right: 0 !important;
	max-width: 100% !important;
}

/* Prevent Double Padding for Header Wrappers */
body .header-top .container-fluid,
body .site-header .container-fluid,
body .navigation-main-wrapper .container-fluid {
	padding-left: 0 !important;
	padding-right: 0 !important;
}

/* Full Width Layout Classes */
body.joom-header-full .header-top .container-fluid,
body.joom-header-full .site-header .container-fluid,
body.joom-header-full .navigation-main-wrapper .container-fluid,
/* .up-sells and products grid redundant override styles removed 
   to maintain single-product horizontally scrollable premium UI */

/* Map WooCommerce native column classes seamlessly */
ul.products.columns-1, .products.columns-1 { grid-template-columns: repeat(1, 1fr) !important; }
ul.products.columns-2, .products.columns-2 { grid-template-columns: repeat(2, 1fr) !important; }
ul.products.columns-3, .products.columns-3 { grid-template-columns: repeat(3, 1fr) !important; }
ul.products.columns-4, .products.columns-4 { grid-template-columns: repeat(4, 1fr) !important; }
ul.products.columns-5, .products.columns-5 { grid-template-columns: repeat(5, 1fr) !important; }
ul.products.columns-6, .products.columns-6 { grid-template-columns: repeat(6, 1fr) !important; }
ul.products.columns-7, .products.columns-7 { grid-template-columns: repeat(7, 1fr) !important; }
ul.products.columns-8, .products.columns-8 { grid-template-columns: repeat(8, 1fr) !important; }

@media (max-width: 1200px) {
	ul.products.columns-8, ul.products.columns-7, ul.products.columns-6, ul.products.columns-5,
	.products.columns-8, .products.columns-7, .products.columns-6, .products.columns-5 { grid-template-columns: repeat(4, 1fr) !important; }
}
@media (max-width: 900px) {
	ul.products.columns-8, ul.products.columns-7, ul.products.columns-6, ul.products.columns-5, ul.products.columns-4,
	.products.columns-8, .products.columns-7, .products.columns-6, .products.columns-5, .products.columns-4 { grid-template-columns: repeat(3, 1fr) !important; }
}
@media (max-width: 600px) {
	ul.products:not(.joom-fbt-list), .products:not(.joom-fbt-list) { grid-template-columns: repeat(2, 1fr) !important; }
	ul.products.columns-1, .products.columns-1 { grid-template-columns: repeat(1, 1fr) !important; }
}

/* =================================================
   LIST VIEW OVERRIDES (Forces 1 Column)
   ================================================= */
html.mj-shop-view-list body ul.products:not(.joom-fbt-list),
html.mj-shop-view-list body .products:not(.joom-fbt-list),
html.mj-shop-view-list body .mj-mega-grid {
    grid-template-columns: 1fr !important;
}

/* Footer UI Toggles */
body.joom-no-footer-app .footer-column-app { display: none !important; }

/* Sticky Header Toggle */
body.joom-no-sticky-header .site-header { position: relative !important; top: auto !important; }

/* PageSpeed LCP & Flicker Fixes */
body { text-rendering: optimizeLegibility; -webkit-font-smoothing: antialiased; }
.jt-au-hero, .jt-fade-in:first-of-type, .joom-fade-in:first-of-type, .elementor-section:first-of-type, .elementor-widget-wrap:first-of-type, .jt-hbs-slide:first-child, .jt-fhs-slide:first-child, .jt-mbs-slide:first-child, .jt-ccs-item:first-child, .elementor-section:first-child .elementor-invisible {
	opacity: 1 !important; transform: none !important; animation: none !important; transition: none !important; visibility: visible !important;
}
.jt-hbs-slide, .jt-fhs-slide, .jt-mbs-slide, .jt-ccs-item, .jt-pc-card, .jt-bg-card, .jx3-slide, .jt-testi-card, .jt-product-item, .jt-brand-item, .swiper-slide,
.jt-hbs-bg img, .jt-fhs-image img, .jt-mbs-bg img, .jt-ccs-img-wrap img, .jt-pc-img-wrap img, .jt-bg-img-wrap img, .jt-hbs-bg picture, .jt-hbs-bg {
	-webkit-backface-visibility: hidden !important; backface-visibility: hidden !important;
}
.jt-hbs-track, .jt-fhs-track, .jt-mbs-track, .jt-ccs-container, .jt-promo-track, .jt-bargain-track, .jx3-track, .jt-testimonials-track, .jt-product-track, .jt-brands-track {
	-webkit-overflow-scrolling: touch !important;
}
@media (max-width: 1024px) {
	.jt-hbs-bg img, .jt-fhs-image img, .jt-mbs-bg img, .jt-ccs-img-wrap img, .jt-pc-img-wrap img, .jt-bg-img-wrap img { transition: none !important; }
}

/* Base Fonts */
body, input, select, textarea { font-family: var(--mj-body-font, sans-serif); }
body { font-size: var(--mj-body-font-size, 15px); font-weight: var(--mj-body-font-weight, 400); line-height: var(--mj-body-line-height, 1.6); letter-spacing: var(--mj-body-letter-spacing, 0px); }
p { font-family: var(--mj-paragraph-font, var(--mj-body-font, sans-serif)); font-weight: var(--mj-paragraph-font-weight, 400); font-size: var(--mj-paragraph-font-size, 15px); letter-spacing: var(--mj-paragraph-letter-spacing, 0px); }

/* H1-H6 Headings Font (Typography panel). Zero specificity impact on any already-styled
   heading in this file — every one of them is qualified by a class, which always outranks
   these bare element selectors. Only genuinely unstyled headings pick these up. */
h1 { font-family: var(--mj-h1-font, var(--mj-body-font, sans-serif)); font-weight: var(--mj-h1-font-weight, 400); font-size: var(--mj-h1-font-size, 35px); letter-spacing: var(--mj-h1-letter-spacing, 1px); text-transform: var(--mj-h1-text-transform, none); }
h2 { font-family: var(--mj-h2-font, var(--mj-body-font, sans-serif)); font-weight: var(--mj-h2-font-weight, 400); font-size: var(--mj-h2-font-size, 26px); letter-spacing: var(--mj-h2-letter-spacing, 0px); text-transform: var(--mj-h2-text-transform, none); }
h3 { font-family: var(--mj-h3-font, var(--mj-body-font, sans-serif)); font-weight: var(--mj-h3-font-weight, 400); font-size: var(--mj-h3-font-size, 24px); letter-spacing: var(--mj-h3-letter-spacing, 0px); text-transform: var(--mj-h3-text-transform, none); }
h4 { font-family: var(--mj-h4-font, var(--mj-body-font, sans-serif)); font-weight: var(--mj-h4-font-weight, 400); font-size: var(--mj-h4-font-size, 20px); letter-spacing: var(--mj-h4-letter-spacing, 0px); text-transform: var(--mj-h4-text-transform, none); }
h5 { font-family: var(--mj-h5-font, var(--mj-body-font, sans-serif)); font-weight: var(--mj-h5-font-weight, 400); font-size: var(--mj-h5-font-size, 16px); letter-spacing: var(--mj-h5-letter-spacing, 0px); text-transform: var(--mj-h5-text-transform, none); }
h6 { font-family: var(--mj-h6-font, var(--mj-body-font, sans-serif)); font-weight: var(--mj-h6-font-weight, 400); font-size: var(--mj-h6-font-size, 14px); letter-spacing: var(--mj-h6-letter-spacing, 0px); text-transform: var(--mj-h6-text-transform, none); }

.star-rating, .star-rating span, .star-rating::before, .star-rating span::before, p.stars a, p.stars a::before { font-family: 'star' !important; }
.menu-link, .joom-mobile-menu a, .joom-polylang-active, .language-selector select, .currency-selector select, .top-link { font-family: var(--mj-nav-font, sans-serif); font-weight: var(--mj-nav-font-weight, 600); font-size: var(--mj-nav-font-size, 14.5px); line-height: 1.6; letter-spacing: var(--mj-nav-letter-spacing, 0px); text-transform: var(--mj-nav-text-transform, none); }
.sub-menu a, .categories-dropdown a, .all-categories-btn, .j-cat-name, .j-pane-header h3 a, .j-subcat-name, .j-grandchild-list li a, .joom-category-name, .joom-subcategory-name, .joom-grandchild-name { font-family: var(--mj-categories-menu-font, sans-serif); font-weight: var(--mj-categories-menu-font-weight, 600); font-size: var(--mj-categories-menu-font-size, 14.5px); line-height: 1.6; letter-spacing: var(--mj-categories-menu-letter-spacing, 0px); text-transform: var(--mj-categories-menu-text-transform, none); }
.product-title, .product_title, .joom-item-name, .woocommerce-loop-product__title, .modern-card-title a, .joom-product-title, .mj-sp-product { font-family: var(--mj-product-title-font, sans-serif); font-weight: var(--mj-product-title-font-weight, 600); line-height: var(--mj-product-title-line-height, 1.4); letter-spacing: var(--mj-product-title-letter-spacing, 0px); text-transform: var(--mj-product-title-text-transform, none); }
.breadcrumb, .woocommerce-breadcrumb, .product_meta, .modern-card-meta, .joom-post-meta, .mj-fs-subtext, .joom-price-sub, small, .small-text, .mj-mbm-item span, .joom-live-viewing, .jac-time-box, .top-center, .modern-card-cat, .mj-sp-title, .mj-sp-time { font-family: var(--mj-meta-font, sans-serif); font-weight: var(--mj-meta-font-weight, 500); line-height: var(--mj-meta-line-height, 1.6); letter-spacing: var(--mj-meta-letter-spacing, 0px); text-transform: var(--mj-meta-text-transform, none); }
button, .button, .btn, .add_to_cart_button, .mj-cart-btn, input[type="submit"], .joom-btn, .featured-btn, .mj-badge, .onsale, .product-badge { font-family: var(--mj-btn-font, sans-serif); font-weight: var(--mj-btn-font-weight, 700); line-height: 1.6; letter-spacing: var(--mj-btn-letter-spacing, 0.3px); text-transform: var(--mj-btn-text-transform, none); }
.price, .amount, .mj-price-val, .woocommerce-Price-amount, .joom-price-value, bdi { font-family: var(--mj-price-font, sans-serif); font-weight: var(--mj-price-font-weight, 800); line-height: var(--mj-price-line-height, 1.6); letter-spacing: var(--mj-price-letter-spacing, 0px); }

/* Isolate secondary product-info labels from Global Body Text line-height/letter-spacing
   (font-family/size intentionally left on body inheritance — only these two were leaking). */
.joom-sales-count, .joom-social-proof-sales, .joom-tb-text, .in-stock, .out-of-stock, .low-stock { line-height: var(--mj-meta-line-height, 1.6); letter-spacing: var(--mj-meta-letter-spacing, 0px); }

/* Colors */
body, .site-main, body.woocommerce-account, body.single-product, .mj-shop-main { background-color: var(--bg-color); color: var(--text-color); }
.joom-product-title, .product-title a, .mj-product-name, .item-name, .section-title, .widget-title, .mj-sidebar-title, .joom-category-name, .joom-subcategory-name, .mj-v2-title { color: var(--text-color); }
h1 { color: var(--mj-h1-color, var(--text-color)); }
h2 { color: var(--mj-h2-color, var(--text-color)); }
h3 { color: var(--mj-h3-color, var(--text-color)); }
h4 { color: var(--mj-h4-color, var(--text-color)); }
h5 { color: var(--mj-h5-color, var(--text-color)); }
h6 { color: var(--mj-h6-color, var(--text-color)); }
.text-muted, .joom-price-sub, .comment-date, .order-date, .joom-breadcrumb a, .top-link, .mj-stock-status, .review-count, .mj-filter-arrow, .joom-grandchild-name { color: var(--light-text-color); }
a:not(.button):not(.btn):not(.menu-link):not(.header-icon):not(.categories-grid-link):not(.joom-category-name):not(.joom-subcategory-name):not(.joom-grandchild-name):not(.mj-mbm-item):not(.top-link):not(.mega-menu-link):not(.mega-menu-column-title):not(.mega-menu-feature-image):not(.j-shop-all-btn):not(.j-pane-title-link):not(.j-pane-header-brand):not(.j-grandchild-link):not(.mj-order-action):not(.mj-order-card__number-link):not(.featured-btn):not(.mj-order-action--view):not(.mj-order-action--pay):not(.pro-recent-order-row):not(.pro-recent-orders__view-all):not(.edit):not(.mj-announcement-link) { color: var(--link-color); }
a:not(.button):not(.btn):not(.menu-link):not(.header-icon):not(.categories-grid-link):not(.mj-mbm-item):not(.top-link):not(.mega-menu-link):not(.mega-menu-column-title):not(.mega-menu-feature-image):not(.j-shop-all-btn):not(.j-pane-title-link):not(.j-pane-header-brand):not(.j-grandchild-link):not(.mj-order-action):not(.featured-btn):not(.edit):not(.mj-announcement-link):hover { color: var(--link-hover-color); }
.navigation-main-wrapper, .joom-mobile-tabs, .categories-dropdown { background-color: var(--header-bg-color); border-color: var(--border-color); }
.site-header { background-color: var(--site-header-bg-color); border-color: var(--border-color); }
.site-header, .header-icon, .header-icon .icon-label, .logo-text { color: var(--site-header-text-color); }
.header-icon svg { stroke: var(--site-header-text-color); }
.menu-link { color: var(--header-text-color); }
.site-header .search-bar-wrapper { background-color: var(--bg-color); border-color: var(--border-color); }
.site-header .search-input { color: var(--text-color); }
.site-footer, .footer-content-wrapper, .footer-bottom-wrapper, .joom-mobile-footer { background-color: var(--footer-bg-color); border-color: var(--footer-bg-color); }
.site-footer, .site-footer h3, .site-footer a, .footer-copyright, .footer-copyright-text { color: var(--footer-text-color); text-decoration: none !important; }
.product-card, .mj-premium-card, .joom-main-image, .joom-trust-card, .joom-meta-card, .order-item-card, .address-box, .pro-stat-card, .mj-shop-sidebar, .joom-review-item, .woocommerce-Address, .order-section, .woocommerce-account .woocommerce-MyAccount-content > form, .woocommerce-account .woocommerce-MyAccount-content > .woocommerce-notices-wrapper + form, .joom-auth-card, .joom-login-content, .woocommerce-account .woocommerce-MyAccount-navigation, .joom-mobile-drawer { background-color: var(--card-bg-color); border-color: var(--border-color); }
.footer-divider, .joom-reviews-container, .joom-trust-divider, .border-bottom, .mj-filters-bar-wrapper, .myaccount-profile, .order-header, .shop_table td { border-color: var(--border-color); }
.woocommerce-Price-amount, bdi, .price, .amount, .mj-price-val, .item-price, .joom-price-value { color: var(--price-color); }
del .woocommerce-Price-amount, del bdi, .price.original, .joom-regular-price-display bdi, .joom-regular-price-display .woocommerce-Price-amount { color: var(--regular-price-color); }
ins .woocommerce-Price-amount, ins bdi, .joom-bulk-price-display .woocommerce-Price-amount, .joom-bulk-price-display bdi { color: var(--sale-price-color); }
body .total-amount .total-value, body .cart_totals .order-total .woocommerce-Price-amount, body .cart_totals .order-total strong, body .cart_totals .order-total bdi, body .woocommerce-checkout-review-order-table .order-total .woocommerce-Price-amount, body .woocommerce-checkout-review-order-table .order-total strong, body .woocommerce-checkout-review-order-table .order-total bdi, body.woocommerce-order-received .shop_table.order_details tfoot tr.order-total td, body.woocommerce-order-received .shop_table.order_details tfoot tr.order-total td * { color: var(--cart-total-color); }

/* Buttons */

body .woocommerce div.product form.cart .button:hover, body .woocommerce div.product .button.alt:hover, body .woocommerce .joom-button-content .single_add_to_cart_button:hover, body.single-product .joom-exact-ui-repro button.single_add_to_cart_button:hover, body .single_add_to_cart_button:hover, body .btn-add-cart:hover, body .mj-cart-btn:hover, body .ajax_add_to_cart:hover, body .woosw-list td[class*="add"] .button:hover, body button.joom-sticky-add-to-cart.button.alt:hover { background-color: var(--add-to-cart-hover); border-color: var(--add-to-cart-hover); color: var(--add-to-cart-hover-color); }
body.single-product .joom-exact-ui-repro button.single_add_to_cart_button.mj-is-go-to-cart, body.single-product .single_add_to_cart_button.mj-is-go-to-cart, body .joom-sticky-cart button.joom-sticky-add-to-cart.button.alt.mj-is-go-to-cart, body button.joom-sticky-add-to-cart.button.alt.mj-is-go-to-cart, body .mj-cart-btn.mj-is-go-to-cart, body .mj-cart-btn.loading, body .ajax_add_to_cart.loading, body .mj-cart-btn.added, body .ajax_add_to_cart.added { background-color: var(--go-to-cart-bg); border-color: var(--go-to-cart-bg); color: var(--btn-text-color); }
body.single-product .joom-exact-ui-repro button.single_add_to_cart_button.mj-is-go-to-cart:hover, body.single-product .single_add_to_cart_button.mj-is-go-to-cart:hover, body .joom-sticky-cart button.joom-sticky-add-to-cart.button.alt.mj-is-go-to-cart:hover, body button.joom-sticky-add-to-cart.button.alt.mj-is-go-to-cart:hover, body .mj-cart-btn.mj-is-go-to-cart:hover { background-color: var(--go-to-cart-hover); border-color: var(--go-to-cart-hover); }

body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button, body.woocommerce-checkout button#place_order, body .site-header .search-button, body .joom-login-content input[type="submit"]:not(.joom-auth-btn-dark-modal), body .joom-auth-btn, body .joom-submit-review, body.woocommerce-account .woocommerce-address-fields .button, body.woocommerce-account .woocommerce-EditAccountForm .button, body.woocommerce-account .addresses .edit, body .woocommerce-Address .edit, body .featured-btn, body .joom-share-copy-btn { background-color: var(--btn-bg-color); border-color: var(--btn-bg-color); color: var(--btn-text-color); }
body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover, body.woocommerce-checkout button#place_order:hover, body .site-header .search-button:hover, body .joom-login-content input[type="submit"]:not(.joom-auth-btn-dark-modal):hover, body .joom-auth-btn:hover, body .joom-submit-review:hover, body.woocommerce-account .woocommerce-address-fields .button:hover, body.woocommerce-account .woocommerce-EditAccountForm .button:hover, body.woocommerce-account .addresses .edit:hover, body .woocommerce-Address .edit:hover, body .featured-btn:hover, body .joom-share-copy-btn:hover { background-color: var(--btn-hover-bg-color); border-color: var(--btn-hover-bg-color); color: var(--btn-hover-text-color); }

/* .all-categories-btn intentionally excluded from this list: it has its own
   dedicated my_joom_all_categories_bg/text/hover/hover_text settings in
   style.css (~line 1302), and this generic rule's "body" prefix gave it
   just enough extra specificity to silently win over that dedicated color
   even with !important on both sides - the "All Categories Text Color"
   setting had no visible effect because of it. */
body .header-top, body .joom-geek-btn, body .mj-load-more-btn, body .joom-auth-btn-dark, body .joom-login-content input[type="submit"].joom-auth-btn-dark-modal, body .btn-write-review, body .joom-back-home, body .joom-mobile-header, body .woocommerce-MyAccount-navigation li.is-active a, body .joom-report-continue:not(:disabled) { background-color: var(--secondary-color); border-color: var(--secondary-color); color: var(--btn-text-color, #ffffff) !important; }
body .joom-geek-btn:hover, body .mj-load-more-btn:hover, body .joom-auth-btn-dark:hover, body .joom-login-content input[type="submit"].joom-auth-btn-dark-modal:hover, body .btn-write-review:hover, body .joom-back-home:hover, body .joom-report-continue:not(:disabled):hover { filter: brightness(0.85); }

/* Badges & Status */
.product-badge.sale, .mj-ad-badge { background-color: var(--sale-badge-bg); color: var(--sale-badge-text); }
.in-stock, .joom-stock-text, .free-shipping-label { color: var(--stock-in-color); }
.out-of-stock { color: var(--stock-out-color); }
.low-stock { color: var(--stock-low-color, #ef4444); }
.mj-badge-new { background-color: var(--badge-new-bg); }
.mj-badge-featured { background-color: var(--badge-featured-bg); }
.mj-badge-oos { background-color: var(--badge-oos-bg); }

/* Primary Highlights */
.mobile-badge, .header-icon .icon-badge, .logo-first-letter, .logo-icon, .scroll-to-top, .joom-tab-btn.active::after { background-color: var(--primary-color); }
/* .menu-link:hover intentionally excluded: it has its own dedicated
   --header-hover-text-color (see style.css ".menu-link:hover" /
   "body .menu-link.current-cat") so it stays legible against any header
   background - tied specificity with this generic --primary-color rule
   let source order silently decide the winner before this exclusion. */
.site-logo:hover .logo-text, .joom-meta-link, .outlet-link, .promo-link, .joom-lightning-icon, .joom-stars, .widget_layered_nav ul li.chosen a, .widget_product_categories ul li.current-cat a, .joom-category-item.is-open .joom-category-name, .joom-category-item.is-open .joom-category-icon, .joom-login-tab.active, .joom-auth-icon-modal:not(.dark-icon), .joom-auth-icon { color: var(--primary-color); }
.joom-swatch.active, .widget_layered_nav ul li.chosen, .woocommerce-info, .joom-login-tab.active { border-color: var(--primary-color); }
.woocommerce-info, .woocommerce-message { border-top-color: var(--primary-color); border-left-color: var(--primary-color); }
input:focus, textarea:focus, select:focus, .search-bar-wrapper:focus-within { border-color: var(--primary-color); box-shadow: 0 0 0 3px rgba(0,0,0,0.05); }

/* Announcement & Top Bar */
/* !important on color/background-color: the sitewide "a:not(...){ color:
   var(--link-color) }" catch-all further down this file (its :not() chain
   excludes .menu-link/.top-link/etc but not .mj-announcement-link) has far
   higher specificity than a plain ".mj-announcement-bar a" rule and wins
   without !important, making the global Link Color setting bleed into the
   announcement bar. Also guards against Elementor Global Kit colors on live
   sites (same class of bug fixed for JT Flash Sale in 1.0.8) - neither
   conflict reproduces on a bare localhost install, which is why this only
   shows up live. */
.mj-announcement-bar { background-color: var(--mj-announcement-bg) !important; color: var(--mj-announcement-color) !important; text-align: center; font-size: 13.5px; font-weight: 600; line-height: var(--mj-meta-line-height, 1.6); letter-spacing: 0.3px; position: relative; z-index: 1000; overflow: hidden; display: flex; align-items: center; justify-content: center; min-height: 40px; }
.mj-announcement-slider { position: relative; width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; padding: 8px 35px; }
.mj-announcement-slide { position: absolute; width: 100%; opacity: 0; transform: translateY(10px); transition: all 0.5s ease-in-out; pointer-events: none; }
.mj-announcement-slide.active { position: relative; opacity: 1; transform: translateY(0); pointer-events: auto; }
.mj-announcement-bar a,
.mj-announcement-bar .mj-announcement-text { color: var(--mj-announcement-color) !important; text-decoration: none; display: inline-block; }
.mj-announcement-bar a:hover { opacity: 0.85; }
.mj-announcement-close { position: absolute; right: 15px; top: 50%; transform: translateY(-50%); background: transparent; border: none; color: var(--mj-announcement-color) !important; font-size: 20px; cursor: pointer; opacity: 0.7; padding: 0; line-height: 1; }
.mj-announcement-close:hover { opacity: 1; background: transparent !important; color: var(--mj-announcement-color) !important; }
.mj-marquee-track { display: flex; width: max-content; animation: mj-marquee linear infinite; }
.mj-marquee-track:hover { animation-play-state: paused; }
.mj-effect-marquee .mj-announcement-slider { justify-content: flex-start; padding: 8px 0; }
.mj-effect-marquee .mj-announcement-slide { position: relative; width: auto; opacity: 1; transform: none; pointer-events: auto; padding: 0 40px; white-space: nowrap; transition: none; }
@keyframes mj-marquee { 0% { transform: translateX(0); } 100% { transform: translateX(-50%); } }

@media (max-width: 768px) { .top-center { display: none; } }

/* Mobile Bottom Menu */
.mj-mobile-bottom-menu { display: none; position: fixed; left: 0; right: 0; bottom: 0; z-index: 999; background-color: var(--mj-mbm-bg, #ffffff); border-top: 1px solid var(--border-color, #e2e8f0); box-shadow: 0 -2px 10px rgba(0,0,0,0.05); padding-bottom: env(safe-area-inset-bottom, 0); }
.mj-mbm-item { flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; padding: 6px 4px; height: 60px; text-decoration: none; color: var(--mj-mbm-icon, #64748b); -webkit-tap-highlight-color: transparent; transition: transform 0.15s ease; }
.mj-mbm-item:active { transform: scale(0.94); }
.mj-mbm-icon-wrap { position: relative; display: inline-flex; align-items: center; justify-content: center; width: 38px; height: 26px; border-radius: 999px; transition: background-color 0.2s ease, transform 0.2s ease; }
.mj-mbm-item i { font-size: 19px; line-height: 1; transition: color 0.2s ease; }
.mj-mbm-item span { font-size: 11px; font-weight: 600; line-height: 1.2; transition: color 0.2s ease; }
.mj-mbm-item.active { color: var(--mj-mbm-active, #FA3434); }
.mj-mbm-item.active .mj-mbm-icon-wrap { background-color: var(--bg-color, #f8fafc); transform: translateY(-1px); }
.mj-mbm-badge { position: absolute; top: -4px; right: -2px; min-width: 16px; height: 16px; padding: 0 4px; border-radius: 999px; background-color: var(--mj-mbm-active, #FA3434); color: #ffffff; font-size: 10px; font-weight: 700; line-height: 16px; text-align: center; box-shadow: 0 0 0 2px var(--mj-mbm-bg, #ffffff); }
.mj-mbm-icons-only .mj-mbm-item span { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.mj-mbm-icons-only .mj-mbm-item i { font-size: 22px; }
.mj-mbm-icons-only .mj-mbm-icon-wrap { width: 42px; height: 30px; }
@media (max-width: 768px) {
	body.joom-has-mobile-menu { padding-bottom: calc(60px + env(safe-area-inset-bottom, 0)) !important; }
	body.joom-has-mobile-menu .mj-mobile-bottom-menu { display: flex; }
	body.joom-has-mobile-menu.woocommerce-cart .woocommerce .wc-proceed-to-checkout a.checkout-button,
	body.joom-has-mobile-menu.woocommerce-checkout button#place_order { bottom: calc(65px + env(safe-area-inset-bottom, 0)) !important; }
	body.joom-has-mobile-menu.woocommerce-cart .woocommerce .cart_totals table.shop_table tr.order-total { bottom: calc(77px + env(safe-area-inset-bottom, 0)) !important; }
}

/* =================================================
   WORDPRESS NATIVE WIDGETS (SEARCH & RECENT POSTS)
   ================================================= */
body .widget_search form, body .widget_product_search form { display: flex; align-items: stretch; width: 100%; margin: 0; position: relative; }
body .widget_search form label, body .widget_product_search form label { flex: 1 1 auto; width: 100%; margin: 0; padding: 0; display: flex; }
body .widget_search form .screen-reader-text, body .widget_product_search form .screen-reader-text { display: none; }
body .widget_search .search-field, body .widget_search input[type="search"], body .widget_search input[type="text"], body .widget_product_search .search-field, body .widget_product_search input[type="search"], body .widget_product_search input[type="text"] { flex: 1 1 auto; width: 100%; height: 48px; padding: 0 16px; border: 1px solid var(--border-color, #e2e8f0); border-right: none; border-radius: 12px 0 0 12px; background: var(--bg-color, #f8fafc); font-size: 15px; color: var(--secondary-color, #0f172a); outline: none; transition: all 0.2s ease; box-shadow: none; margin: 0; box-sizing: border-box; }
body .widget_search .search-field:focus, body .widget_search input[type="search"]:focus, body .widget_search input[type="text"]:focus, body .widget_product_search .search-field:focus, body .widget_product_search input[type="search"]:focus, body .widget_product_search input[type="text"]:focus { background: var(--card-bg-color, #ffffff); border-color: var(--primary-color); box-shadow: 0 0 0 3px rgba(250,52,52,0.1); z-index: 1; position: relative; }
body .sidebar .widget_search button[type="submit"], body .mj-shop-sidebar .widget_search button[type="submit"], body .widget.widget_search button[type="submit"], body .sidebar .widget_product_search button[type="submit"], body .mj-shop-sidebar .widget_product_search button[type="submit"], body .widget.widget_product_search button[type="submit"], body .sidebar .widget_search input[type="submit"], body .mj-shop-sidebar .widget_search input[type="submit"], body .widget.widget_search input[type="submit"], body .sidebar .widget_product_search input[type="submit"], body .mj-shop-sidebar .widget_product_search input[type="submit"], body .widget.widget_product_search input[type="submit"] { position: static; flex: 0 0 54px; width: 54px; height: 48px; border-radius: 0 12px 12px 0; background: var(--primary-color); color: transparent; border: none; padding: 0; margin: 0; font-size: 0; cursor: pointer; transition: background 0.2s ease; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='%23ffffff' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round' viewBox='0 0 24 24'%3E%3Ccircle cx='11' cy='11' r='8'%3E%3C/circle%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'%3E%3C/line%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: center; background-size: 20px; z-index: 2; transform: none; }
body .sidebar .widget_search button[type="submit"]:hover, body .mj-shop-sidebar .widget_search button[type="submit"]:hover, body .widget.widget_search button[type="submit"]:hover, body .sidebar .widget_product_search button[type="submit"]:hover, body .mj-shop-sidebar .widget_product_search button[type="submit"]:hover, body .widget.widget_product_search button[type="submit"]:hover, body .sidebar .widget_search input[type="submit"]:hover, body .mj-shop-sidebar .widget_search input[type="submit"]:hover, body .widget.widget_search input[type="submit"]:hover, body .sidebar .widget_product_search input[type="submit"]:hover, body .mj-shop-sidebar .widget_product_search input[type="submit"]:hover, body .widget.widget_product_search input[type="submit"]:hover { background-color: var(--secondary-color, #0f172a); color: transparent; }

body .sidebar .widget.widget_recent_entries ul li, body .mj-shop-sidebar .widget.widget_recent_entries ul li, body .widget.widget_recent_entries ul li { display: flex; flex-direction: column; align-items: flex-start; padding: 14px 0; margin-bottom: 0; border-radius: 0; border-bottom: 1px solid #f1f5f9; background: transparent; }
body .sidebar .widget.widget_recent_entries ul li:last-child, body .mj-shop-sidebar .widget.widget_recent_entries ul li:last-child, body .widget.widget_recent_entries ul li:last-child { border-bottom: none; }
body .widget.widget_recent_entries ul li a { font-size: 15px; font-weight: 700; color: var(--secondary-color, #0f172a); line-height: 1.4; text-decoration: none; transition: color 0.2s ease; display: block; }
body .widget.widget_recent_entries ul li a:hover { color: var(--primary-color); }
body .widget.widget_recent_entries .post-date { font-size: 13px; color: #64748b; margin-top: 6px; font-weight: 600; display: block; }

/* --- Blog Categories Widget (Dropdown, Hierarchy & Counts Support) --- */
body .widget.widget_categories select { width: 100%; height: 48px; padding: 0 40px 0 16px; border: 1px solid var(--border-color, #e2e8f0); border-radius: 12px; background: var(--bg-color, #f8fafc); font-size: 15px; color: var(--secondary-color, #0f172a); font-weight: 600; outline: none; transition: all 0.2s ease; appearance: none; -webkit-appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='%23111827' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round' viewBox='0 0 24 24'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 16px center; background-size: 14px; cursor: pointer; box-shadow: 0 2px 4px rgba(0,0,0,0.02); }
body .widget.widget_categories select:focus { background: var(--card-bg-color, #ffffff); border-color: var(--primary-color); box-shadow: 0 0 0 3px rgba(250,52,52,0.1); }

body .widget.widget_categories ul { list-style: none; padding: 0; margin: 0; }
body .sidebar .widget.widget_categories ul li, body .mj-shop-sidebar .widget.widget_categories ul li, body .widget.widget_categories ul li { display: block; padding: 10px 0; margin-bottom: 0; border-radius: 0; border-bottom: 1px solid #f1f5f9; font-size: 13.5px; font-weight: 700; color: #94a3b8; background: transparent; line-height: 1.4; }
body .sidebar .widget.widget_categories ul li:last-child, body .mj-shop-sidebar .widget.widget_categories ul li:last-child, body .widget.widget_categories ul li:last-child { border-bottom: none; }
body .widget.widget_categories ul li a { display: inline-block; font-size: 15px; font-weight: 600; color: var(--secondary-color, #0f172a); text-decoration: none; transition: all 0.2s ease; margin-right: 6px; padding: 2px 0; }
body .widget.widget_categories ul li a:hover { color: var(--primary-color); transform: translateX(4px); }
body .widget.widget_categories ul li.current-cat > a { color: var(--primary-color); font-weight: 800; }

/* Categories Hierarchy Level Fix */
body .widget.widget_categories ul.children { margin: 8px 0 0 16px; padding-left: 16px; border-left: 2px solid var(--border-color, #e2e8f0); }
body .widget.widget_categories ul.children li { padding-bottom: 0; border-bottom: none; padding-top: 8px; }

/* --- Product Tags / Tag Cloud Widget --- */
body .widget.widget_tag_cloud .tagcloud,
body .widget.widget_product_tag_cloud .tagcloud {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	align-items: center;
}
body .widget.widget_tag_cloud .tagcloud a,
body .widget.widget_product_tag_cloud .tagcloud a {
	display: inline-flex;
	align-items: center;
	padding: 8px 14px;
	background: var(--bg-color, #f8fafc);
	border: 1px solid var(--border-color, #e2e8f0);
	border-radius: 100px;
	font-size: 13px;
	font-weight: 600;
	color: #475569;
	text-decoration: none;
	transition: all 0.2s ease;
	line-height: 1;
}
body .widget.widget_tag_cloud .tagcloud a:hover,
body .widget.widget_product_tag_cloud .tagcloud a:hover {
	background: var(--primary-color);
	color: var(--btn-hover-text-color, #ffffff);
	border-color: var(--primary-color);
	transform: translateY(-2px);
	box-shadow: 0 4px 12px rgba(250, 52, 52, 0.2);
}

/* --- Recent Comments Widget --- */
body .sidebar .widget.widget_recent_comments ul li,
body .mj-shop-sidebar .widget.widget_recent_comments ul li,
body .widget.widget_recent_comments ul li {
	display: block;
	padding: 14px 0;
	margin-bottom: 0;
	border-radius: 0;
	border-bottom: 1px solid #f1f5f9;
	background: transparent;
	font-size: 13.5px;
	color: #64748b;
	line-height: 1.5;
}
body .sidebar .widget.widget_recent_comments ul li:last-child,
body .mj-shop-sidebar .widget.widget_recent_comments ul li:last-child,
body .widget.widget_recent_comments ul li:last-child {
	border-bottom: none;
}
body .widget.widget_recent_comments ul li .recentcommentsauthor {
	font-weight: 600;
	color: var(--text-color, #334155);
}
body .widget.widget_recent_comments ul li a {
	font-size: 15px;
	font-weight: 700;
	color: var(--secondary-color, #0f172a);
	text-decoration: none;
	transition: color 0.2s ease;
	display: block;
	margin-top: 4px;
}
body .widget.widget_recent_comments ul li a:hover {
	color: var(--primary-color);
}