/* NexCart automatic homepage category and product sections. */

/* Bundled vector icons avoid Font Awesome family/version conflicts. */
.nexcart-svg-icon {
	display: block;
	flex: 0 0 auto;
	width: 1em;
	height: 1em;
}

.infoservice-icon .nexcart-svg-icon {
	width: 27px;
	height: 27px;
}

.shopping-benefit-icon .nexcart-svg-icon {
	width: 1em;
	height: 1em;
}

.title-container .main-title .nexcart-heading-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 50px;
	width: 50px;
	height: 50px;
	margin-right: 10px;
	color: var(--sp-white, #fff);
	border-top-left-radius: var(--sp-radius, 4px);
	border-bottom-left-radius: var(--sp-radius, 4px);
	background: var(--sp-primary, #ff6b0b);
}

.title-container .main-title .nexcart-heading-icon .nexcart-svg-icon {
	width: 26px;
	height: 26px;
}

.custom-owl-nav button,
.nexcart-rail-prev,
.nexcart-rail-next {
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.custom-owl-nav button .nexcart-svg-icon,
.nexcart-rail-prev .nexcart-svg-icon,
.nexcart-rail-next .nexcart-svg-icon {
	width: 16px;
	height: 16px;
}

@media (max-width: 575px) {
	.title-container .main-title .nexcart-heading-icon {
		flex-basis: 28px;
		width: 28px;
		height: 28px;
		margin-right: 3px;
	}

	.title-container .main-title .nexcart-heading-icon .nexcart-svg-icon {
		width: 16px;
		height: 16px;
	}

	.shopping-benefit-icon .nexcart-svg-icon {
		width: 30px;
		height: 30px;
	}
}

#footer-small .footer-mobile-menu > a > .nexcart-svg-icon {
	width: 18px;
	height: 18px;
	margin: 0 auto 4px;
}

#category-popup-mobile .switcher-tab button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
}

#category-popup-mobile .switcher-tab .nexcart-svg-icon {
	display: inline-block;
	width: 15px;
	height: 15px;
}

#category-popup-mobile #AVMenu.nexcart-mobile-menu-visible {
	display: block !important;
	width: 100%;
	max-height: none;
	padding: 8px 10px 100px;
	overflow: visible;
	opacity: 1 !important;
	visibility: visible !important;
	background: #fff;
}

#category-popup-mobile #AVMenu.nexcart-mobile-menu-visible > .menu-wrap,
#category-popup-mobile #AVMenu.nexcart-mobile-menu-visible ul.menu-wrap {
	display: block !important;
	width: 100%;
	padding: 0 !important;
	margin: 0 !important;
}

#category-popup-mobile #AVMenu.nexcart-mobile-menu-visible .menu-wrap > li {
	display: block;
	width: 100%;
	text-align: left;
}

#category-popup-mobile #AVMenu.nexcart-mobile-menu-visible .menu-wrap > li > a {
	display: block;
	width: 100%;
	padding: 10px 12px;
	color: #101827;
	line-height: 1.35;
	border-bottom: 1px solid #e8eaf0;
}

/* The parent mobile browse action renders its own `.docker-right-list` inside
 * the drawer's right list. Both wrappers inherit a 100px bottom margin from
 * the parent theme; when the Category panel is hidden that nested margin sits
 * above #AVMenu and looks like an empty header block. Keep drawer wrappers
 * flush so either tab begins immediately below the switcher. */
@media (max-width: 991px) {
	#category-popup-mobile .docker-anim {
		display: flex;
		flex-direction: column;
		height: 100vh;
		height: 100dvh;
		min-height: 0;
	}

	#category-popup-mobile .docker-top,
	#category-popup-mobile .switcher-tab {
		flex: 0 0 auto;
	}

	#category-popup-mobile .docker-category,
	#category-popup-mobile .docker-category .docker-right-list {
		margin: 0 !important;
		padding-top: 0 !important;
	}

	#category-popup-mobile .docker-category {
		display: flex;
		flex: 1 1 auto;
		min-height: 0;
		max-height: none;
		overflow: hidden;
	}

	#category-popup-mobile .docker-category > .docker-right-list {
		height: 100%;
		min-height: 0;
		max-height: none;
		padding-bottom: calc(76px + env(safe-area-inset-bottom, 0px)) !important;
		overflow-x: hidden;
		overflow-y: auto;
		overscroll-behavior: contain;
		-webkit-overflow-scrolling: touch;
	}

	#category-popup-mobile .docker-category > .docker-right-list > .docker-right-list {
		height: auto;
		max-height: none;
		padding-bottom: 0 !important;
		overflow: visible;
	}

	#category-popup-mobile #AVMenu.nexcart-mobile-menu-visible {
		margin: 0 !important;
		padding-top: 6px;
	}
}

.nexcart-product-category-menus .more-item-btn {
	position: relative;
	z-index: 5;
	pointer-events: auto !important;
}

.nexcart-product-category-menus .more-item-btn .browse-more {
	pointer-events: auto !important;
	cursor: pointer;
	touch-action: manipulation;
}

/* Header benefit carousel: keep all three service messages inside the header. */
@media (min-width: 992px) {
	#header .main-menu-right {
		min-width: 0;
	}

	#header .main-menu-right > .benefit-slider {
		flex: 1 1 0;
		width: auto !important;
		min-width: 0;
		margin-right: 12px;
		overflow: hidden;
	}

	#header .benefit-slider .owl-stage-outer,
	#header .benefit-slider .owl-stage,
	#header .benefit-slider .owl-item,
	#header .benefit-slider .benefit-item,
	#header .benefit-slider .benefit-area,
	#header .benefit-slider .benefit-info {
		min-width: 0;
	}

	#header .benefit-slider .owl-stage {
		display: flex;
		align-items: stretch;
	}

	#header .benefit-slider .owl-item {
		display: flex;
		align-items: center;
	}

	#header .benefit-slider .benefit-item {
		width: 100%;
		margin: 0;
		padding: 7px 18px 7px 4px;
	}

	#header .benefit-slider .benefit-item::after {
		right: 7px;
		height: 64%;
	}

	#header .benefit-slider .benefit-area {
		width: 100%;
		gap: 9px;
	}

	#header .benefit-slider .benefit-icon {
		width: 34px;
		height: 34px;
		font-size: 29px;
		line-height: 34px;
	}

	#header .benefit-slider .benefit-info {
		flex: 1 1 auto;
		overflow: hidden;
		line-height: 1.25;
	}

	#header .benefit-slider .benefit-info > p {
		display: block;
		overflow: hidden;
		margin: 0 0 2px;
		font-size: 14px;
		line-height: 1.2;
		text-overflow: ellipsis;
		white-space: nowrap;
	}

	#header .benefit-slider .benefit-info > a {
		display: block;
		min-width: 0;
		font-size: 13px;
		line-height: 1.25;
	}

	#header .benefit-slider .benefit-info .title {
		display: -webkit-box;
		overflow: hidden;
		max-width: 100%;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 2;
		overflow-wrap: anywhere;
		white-space: normal;
	}

	#header .main-menu-right > .menu-right-list {
		flex: 0 0 auto;
	}
}

@media (min-width: 992px) and (max-width: 1199px) {
	#header .main-menu-right > .benefit-slider {
		margin-right: 8px;
	}

	#header .benefit-slider .benefit-item {
		padding-right: 12px;
		padding-left: 0;
	}

	#header .benefit-slider .benefit-item::after {
		right: 4px;
	}

	#header .benefit-slider .benefit-area {
		gap: 6px;
	}

	#header .benefit-slider .benefit-icon {
		width: 28px;
		height: 28px;
		font-size: 24px;
		line-height: 28px;
	}

	#header .benefit-slider .benefit-info > p {
		font-size: 12px;
	}

	#header .benefit-slider .benefit-info > a {
		font-size: 11px;
	}
}

/* Original Electromix moving strips use one consistent theme-container width. */
#product-two,
#product-three,
#product-four {
	width: calc(100% - 24px);
	max-width: 1320px;
	margin-right: auto !important;
	margin-left: auto !important;
	border-radius: 4px;
	overflow: hidden;
}

/* The marked demo countdowns are removed; titles/products remain editable. */
#flash-product .dealsofday-timer,
#filter-product-two .dealsofday-timer {
	display: none !important;
}

/* Clean WooCommerce sale-price presentation inside editable promo cards. */
.nexcart-sale-price del,
#banner-full .price del,
#banner-three .price del {
	margin-right: 5px;
	color: #8a909b !important;
	font-weight: 500;
	text-decoration: line-through;
	opacity: 0.78;
}

.nexcart-sale-price ins,
#banner-full .price ins,
#banner-three .price ins {
	color: var(--sp-primary) !important;
	font-weight: 700;
	text-decoration: none;
}

@media (max-width: 1399px) {
	#product-two,
	#product-three,
	#product-four {
		max-width: 1140px;
	}
}

@media (max-width: 1199px) {
	#product-two,
	#product-three,
	#product-four {
		max-width: 960px;
	}
}

@media (max-width: 991px) {
	#product-two,
	#product-three,
	#product-four {
		max-width: 720px;
	}
}

/* ================================================================
 * v1.9.8 — automatic banner price and empty-slot presentation
 * ================================================================ */

/* The first dynamic hero feature is always its live WooCommerce price. The
 * parent template applies its muted description colour inline, so override it
 * explicitly while leaving the remaining descriptive features unchanged. */
.home #slider .main-slider .banner-item:not(.nexcart-empty-promotion) .features-list > li:first-child,
.home #slider .main-slider .banner-item:not(.nexcart-empty-promotion) .features-list > li:first-child i,
.home .banner-item:not(.nexcart-empty-promotion) .start-price strong,
.home .banner-item:not(.nexcart-empty-promotion) .coupon-code strong,
.home .banner-item:not(.nexcart-empty-promotion) .price ins,
.home .banner-item:not(.nexcart-empty-promotion) .price ins .woocommerce-Price-amount {
	color: var(--sp-primary, #ff6b0b) !important;
	font-weight: 700 !important;
	opacity: 1 !important;
}

.home .banner-section .banner-item:not(.nexcart-empty-promotion) .offer-badge {
	color: #fff !important;
	background-color: var(--sp-primary, #ff6b0b) !important;
	opacity: 1 !important;
}

/* Product marquee positions use the same live category source as banners.
 * When a category is empty, keep the placeholder readable and non-clickable. */
.home .popular-product-item.nexcart-empty-promotion {
	display: flex;
	align-items: center;
	gap: 10px;
	min-height: 72px;
	padding: 8px 12px;
}

.home .popular-product-item.nexcart-empty-promotion > a {
	display: flex;
	flex-direction: column;
	color: #101827 !important;
	font-weight: 700;
	line-height: 1.3;
	cursor: default;
}

.home .popular-product-item.nexcart-empty-promotion > a > span {
	color: #5f6876 !important;
	font-size: 12px;
	font-weight: 500;
}

/* Keep every top marquee item vertically centred, including Owl clones and
 * selectively refreshed content. */
.home #product-one .popular-product-slider .owl-stage {
	display: flex;
	align-items: stretch;
}

.home #product-one .popular-product-slider .owl-item {
	display: flex;
	align-items: center;
	min-height: 72px;
}

.home #product-one .popular-product-item {
	align-items: center;
	min-height: 72px;
}

/* The marquee is a ticker, not a stacked card. Keep product, parent category
 * and price on one uninterrupted line while Owl measures each item by content. */
.home #product-one .popular-product-slider .owl-item,
.home #product-four .popular-product-slider .owl-item,
.home #product-one .popular-product-item,
.home #product-four .popular-product-item,
.home #product-one .popular-product-item > a,
.home #product-four .popular-product-item > a {
	width: max-content !important;
	max-width: none !important;
	white-space: nowrap !important;
}

.home #product-one .popular-product-item > a,
.home #product-four .popular-product-item > a {
	display: inline-flex !important;
	align-items: baseline;
	gap: 5px;
	line-height: 1.25;
}

.home #product-one .popular-product-item > a > span,
.home #product-four .popular-product-item > a > span {
	display: inline !important;
	white-space: nowrap !important;
}

/* True continuous, arrow-free product marquees.
 *
 * Each track contains two identical groups. At -50% the second group occupies
 * the exact pixels where the first group started, so the animation can restart
 * without Owl's item-boundary pause, a visible jump or navigation arrows. */
.home .nexcart-continuous-product-marquee {
	display: block !important;
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
	overflow: hidden !important;
}

.home .nexcart-product-marquee-track {
	display: flex;
	align-items: stretch;
	width: max-content;
	max-width: none;
	transform: translate3d(0, 0, 0);
	will-change: transform;
	animation: nexcart-product-marquee-scroll 100s linear infinite;
}

.home .nexcart-product-marquee-group {
	display: flex;
	flex: 0 0 auto;
	align-items: center;
	gap: 30px;
	min-width: max-content;
	padding-right: 30px;
}

.home .nexcart-product-marquee-group > .popular-product-item {
	display: inline-flex;
	flex: 0 0 auto;
	align-items: center;
	width: max-content !important;
	max-width: none !important;
	min-height: 72px;
	white-space: nowrap !important;
}

.home .nexcart-product-marquee-group > .popular-product-item > a {
	display: inline-flex !important;
	align-items: baseline;
	gap: 5px;
	width: max-content !important;
	max-width: none !important;
	white-space: nowrap !important;
}

.home .nexcart-continuous-product-marquee .owl-nav,
.home .nexcart-continuous-product-marquee .owl-dots,
.home .nexcart-continuous-product-marquee .custom-owl-nav {
	display: none !important;
}

@keyframes nexcart-product-marquee-scroll {
	from {
		transform: translate3d(0, 0, 0);
	}
	to {
		transform: translate3d(-50%, 0, 0);
	}
}

@media (max-width: 991px) {
	.home .nexcart-product-marquee-group {
		gap: 15px;
		padding-right: 15px;
	}

	.home .nexcart-product-marquee-track {
		animation-duration: 100s;
	}
}

@media (prefers-reduced-motion: reduce) {
	.home .nexcart-product-marquee-track {
		animation-duration: 130s;
	}
}

/* Owl may calculate the main hero before its images finish loading. A stable
 * flex surface prevents later slides from collapsing into a blank frame. */
.home #slider .main-slider .owl-stage {
	display: flex;
	align-items: stretch;
}

.home #slider .main-slider .owl-item {
	display: flex;
	height: auto;
}

.home #slider .main-slider .owl-item > .banner-item {
	width: 100%;
	min-height: 350px;
}

/* ================================================================
 * v1.9.6 — section-wide empty states, prices and variation galleries
 * ================================================================ */

/* A filter tab may point at a valid, currently empty category. Preserve the
 * heading/tabs and replace only the product surface with an informative card. */
.home .filter-group.nexcart-filter-selection-empty > .container > .nexcart-filter-empty-state {
	display: flex !important;
	visibility: visible !important;
	opacity: 1 !important;
	width: 100%;
	min-height: 230px;
	margin-top: 18px;
}

.home .filter-group.nexcart-filter-selection-empty > .container > ul.products[hidden],
.home .filter-group.nexcart-filter-selection-empty > .container > .owl-carousel[hidden],
.home .filter-group.nexcart-filter-selection-empty > .container > .tns-outer[hidden] {
	display: none !important;
}

/* Parent banner templates print live prices as plain strong text, while normal
 * WooCommerce cards use .price/ins/del. Keep every current price readable and
 * reserve the muted colour for an actual crossed-out regular price only. */
.woocommerce ul.products li.product .price,
.woocommerce ul.products li.product .price > .woocommerce-Price-amount,
.woocommerce div.product p.price,
.woocommerce div.product span.price,
.woocommerce div.product p.price > .woocommerce-Price-amount,
.woocommerce div.product span.price > .woocommerce-Price-amount,
.home .banner-item .start-price strong,
.home .banner-item .coupon-code strong,
.home .start-price .color-secondary,
.home .nexcart-promo-price,
.home .nexcart-promo-price > .woocommerce-Price-amount {
	color: var(--sp-primary, #ff6b0b) !important;
	font-weight: 700 !important;
	opacity: 1 !important;
}

.woocommerce ul.products li.product .price ins,
.woocommerce ul.products li.product .price ins .woocommerce-Price-amount,
.woocommerce div.product p.price ins,
.woocommerce div.product p.price ins .woocommerce-Price-amount,
.woocommerce div.product span.price ins,
.woocommerce div.product span.price ins .woocommerce-Price-amount,
.home .banner-item .price ins,
.home .banner-item .price ins .woocommerce-Price-amount {
	color: var(--sp-primary, #ff6b0b) !important;
	font-weight: 700 !important;
	text-decoration: none !important;
	opacity: 1 !important;
}

.woocommerce ul.products li.product .price del,
.woocommerce ul.products li.product .price del .woocommerce-Price-amount,
.woocommerce div.product p.price del,
.woocommerce div.product p.price del .woocommerce-Price-amount,
.woocommerce div.product span.price del,
.woocommerce div.product span.price del .woocommerce-Price-amount,
.home .banner-item .price del,
.home .banner-item .price del .woocommerce-Price-amount {
	color: #7b8492 !important;
	font-weight: 500 !important;
	text-decoration-line: line-through !important;
	text-decoration-thickness: 1.5px !important;
	opacity: 1 !important;
}

/* The magnifier plugin injects overlays and may rebuild the gallery after a
 * variation AJAX response. Keep thumbnails and arrows above those overlays. */
body.single-product .woocommerce div.product div.images .thumbnails,
body.single-product .woocommerce div.product div.images .thumbnails * {
	box-sizing: border-box;
}

body.single-product .woocommerce div.product div.images .thumbnails {
	z-index: 35 !important;
	pointer-events: auto !important;
}

body.single-product .woocommerce div.product div.images ul.electromix_magnifier_gallery,
body.single-product .woocommerce div.product div.images ul.electromix_magnifier_gallery > li,
body.single-product .woocommerce div.product div.images ul.electromix_magnifier_gallery > li > a,
body.single-product .woocommerce div.product div.images ul.electromix_magnifier_gallery img {
	pointer-events: auto !important;
}

body.single-product .woocommerce div.product div.images ul.electromix_magnifier_gallery > li > a {
	cursor: pointer !important;
	touch-action: manipulation;
}

@media (max-width: 767px) {
	.home .filter-group.nexcart-filter-selection-empty > .container > .nexcart-filter-empty-state {
		min-height: 190px;
		margin-top: 14px;
	}
}

/* v1.9.7: use the arrow SVG included by the magnifier template instead of its
 * Font Awesome pseudo-element. This remains visible on hover even when the
 * parent plugin injects an inline path colour. */
body.single-product .woocommerce div.product div.images .thumbnails .electromix_slider_arrow::after {
	content: none !important;
}

body.single-product .woocommerce div.product div.images .thumbnails .electromix_slider_arrow > span {
	display: flex !important;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
}

body.single-product .woocommerce div.product div.images .thumbnails .electromix_slider_arrow svg {
	display: block !important;
	width: 16px;
	height: 16px;
	pointer-events: none;
}

body.single-product .woocommerce div.product div.images .thumbnails .electromix_slider_arrow svg path:not(.cls-1) {
	fill: currentColor !important;
}

body.single-product .woocommerce div.product div.images .thumbnails .electromix_slider_arrow:hover,
body.single-product .woocommerce div.product div.images .thumbnails .electromix_slider_arrow:focus-visible {
	color: #fff !important;
	background-color: var(--sp-primary, #ff6b0b) !important;
	border-color: var(--sp-primary, #ff6b0b) !important;
}

body.single-product .woocommerce div.product div.images .thumbnails .electromix_slider_arrow[aria-disabled="true"],
body.single-product .woocommerce div.product div.images .thumbnails .electromix_slider_arrow[aria-disabled="true"]:hover {
	color: #6f7784 !important;
	background-color: #fff !important;
	border-color: #d8dce2 !important;
	opacity: .65 !important;
}

@media (max-width: 767px) {
	#product-two,
	#product-three,
	#product-four {
		max-width: 540px;
	}
}

/* ================================================================
 * NexCart professional footer
 * ================================================================ */

#footer-section.nexcart-footer {
	position: relative;
	width: 100%;
	overflow: hidden;
	color: #cbd5e1;
	background-color: #0f172a !important;
	background-image:
		radial-gradient(circle at 8% 10%, rgb(249 115 22 / 14%), transparent 31%),
		linear-gradient(135deg, #111827 0%, #0f172a 58%, #111827 100%) !important;
}

#footer-section.nexcart-footer::before {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 4px;
	content: '';
	background: linear-gradient(90deg, var(--sp-primary, #f97316), #ff9c42, var(--sp-primary, #f97316));
}

#footer-section.nexcart-footer > div,
#footer-section.nexcart-footer > div .container {
	position: relative;
}

#footer-section.nexcart-footer > div .container::after {
	display: none !important;
	content: none !important;
}

.nexcart-footer-main {
	padding: 62px 0 46px;
}

.nexcart-footer-grid {
	display: grid;
	grid-template-columns: minmax(220px, 1.25fr) minmax(150px, 0.72fr) minmax(180px, 0.9fr) minmax(270px, 1.35fr);
	gap: 46px;
	align-items: start;
}

.nexcart-footer-column {
	min-width: 0;
}

.nexcart-footer-logo {
	display: inline-flex;
	align-items: center;
	max-width: 220px;
	min-height: 58px;
	margin-bottom: 20px;
	padding: 9px 14px;
	border: 1px solid rgb(255 255 255 / 12%);
	border-radius: 10px;
	background: #fff;
	box-shadow: 0 12px 32px rgb(0 0 0 / 18%);
}

.nexcart-footer-logo .custom-logo-link,
.nexcart-footer-logo .custom-logo-link img {
	display: block;
	max-width: 100%;
}

.nexcart-footer-logo .custom-logo-link img {
	width: auto;
	height: auto;
	max-height: 40px;
}

.nexcart-footer-site-name {
	color: #111827;
	font-size: 22px;
	font-weight: 800;
	line-height: 1.2;
	text-decoration: none;
}

.nexcart-footer-about-text {
	max-width: 330px;
	margin: 0 0 24px;
	color: #cbd5e1;
	font-size: 14px;
	line-height: 1.75;
}

.nexcart-footer-heading {
	position: relative;
	margin: 0 0 22px;
	padding-bottom: 12px;
	color: #fff;
	font-size: 17px;
	font-weight: 700;
	line-height: 1.3;
}

.nexcart-footer-heading::after {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 38px;
	height: 3px;
	content: '';
	border-radius: 999px;
	background: var(--sp-primary, #f97316);
}

.nexcart-footer-brand .nexcart-footer-heading {
	margin-bottom: 14px;
	font-size: 14px;
}

.nexcart-footer-brand .nexcart-footer-heading::after {
	display: none;
}

.nexcart-footer-socials {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.nexcart-footer-socials a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	color: #fff;
	font-size: 16px;
	text-decoration: none;
	border: 1px solid rgb(255 255 255 / 14%);
	border-radius: 9px;
	background: rgb(255 255 255 / 7%);
	transition: transform 0.2s ease, border-color 0.2s ease, background-color 0.2s ease;
}

.nexcart-footer-socials a:hover,
.nexcart-footer-socials a:focus {
	color: #fff;
	border-color: var(--sp-primary, #f97316);
	background: var(--sp-primary, #f97316);
	transform: translateY(-2px);
}

.nexcart-footer-socials .nexcart-svg-icon {
	width: 18px;
	height: 18px;
}

.nexcart-footer-menu {
	display: grid;
	gap: 11px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.nexcart-footer-menu li {
	position: relative;
	margin: 0;
	padding: 0 0 0 15px;
	line-height: 1.45;
	list-style: none;
}

.nexcart-footer-menu li::before {
	position: absolute;
	top: 0.65em;
	left: 0;
	width: 5px;
	height: 5px;
	content: '';
	border-radius: 50%;
	background: var(--sp-primary, #f97316);
	transform: translateY(-50%);
}

.nexcart-footer-menu a {
	display: inline-block;
	color: #cbd5e1;
	font-size: 14px;
	line-height: 1.45;
	text-decoration: none;
	overflow-wrap: anywhere;
	transition: color 0.2s ease, transform 0.2s ease;
}

.nexcart-footer-menu a:hover,
.nexcart-footer-menu a:focus {
	color: #fff;
	transform: translateX(3px);
}

.nexcart-footer-menu .nexcart-footer-view-all {
	margin-top: 4px;
}

.nexcart-footer-menu .nexcart-footer-view-all a {
	color: var(--sp-primary, #f97316);
	font-weight: 700;
}

.nexcart-footer-menu .nexcart-footer-view-all .nexcart-svg-icon {
	margin-left: 4px;
	width: 13px;
	height: 13px;
}

.nexcart-footer-menu .nexcart-footer-view-all a {
	display: inline-flex;
	align-items: center;
}

.nexcart-footer-support-list {
	display: grid;
	gap: 12px;
}

.nexcart-footer-support-item {
	display: grid;
	grid-template-columns: 42px minmax(0, 1fr);
	align-items: center;
	gap: 12px;
	min-width: 0;
	padding: 11px 12px;
	color: #cbd5e1;
	text-decoration: none;
	border: 1px solid rgb(255 255 255 / 9%);
	border-radius: 10px;
	background: rgb(255 255 255 / 4%);
	transition: transform 0.2s ease, border-color 0.2s ease, background-color 0.2s ease;
}

.nexcart-footer-support-item:hover,
.nexcart-footer-support-item:focus {
	color: #fff;
	border-color: rgb(249 115 22 / 55%);
	background: rgb(249 115 22 / 9%);
	transform: translateY(-2px);
}

.nexcart-footer-support-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	color: #fff;
	font-size: 17px;
	border-radius: 9px;
	background: var(--sp-primary, #f97316);
	box-shadow: 0 8px 18px rgb(249 115 22 / 22%);
}

.nexcart-footer-support-icon .nexcart-svg-icon {
	width: 19px;
	height: 19px;
}

.nexcart-footer-support-copy {
	display: block;
	min-width: 0;
}

.nexcart-footer-support-copy strong,
.nexcart-footer-support-copy > span {
	display: block;
	overflow-wrap: anywhere;
}

.nexcart-footer-support-copy strong {
	margin-bottom: 2px;
	color: #fff;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.3;
}

.nexcart-footer-support-copy > span {
	color: #aeb8c7;
	font-size: 12px;
	line-height: 1.45;
}

.nexcart-footer-bottom {
	padding: 20px 0;
	border-top: 1px solid rgb(255 255 255 / 10%);
	background: rgb(2 6 23 / 35%);
}

.nexcart-footer-bottom-grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
	gap: 24px;
}

.nexcart-footer-copyright,
.nexcart-footer-copyright p {
	margin: 0;
	color: #aeb8c7;
	font-size: 13px;
	line-height: 1.55;
}

.nexcart-footer-copyright a {
	color: #fff;
}

.nexcart-footer-payments {
	min-width: 0;
}

.nexcart-footer-payments ul.payment_methods {
	display: flex !important;
	align-items: center;
	justify-content: flex-end;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none;
}

.nexcart-footer-payments ul.payment_methods li {
	margin: 0 !important;
	padding: 0 !important;
	list-style: none;
}

.nexcart-footer-payments .nexcart-payment-badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 42px;
	height: 29px;
	padding: 0 7px;
	color: #e5e7eb;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 10px;
	font-weight: 800;
	letter-spacing: -0.02em;
	text-decoration: none;
	border: 1px solid rgb(255 255 255 / 12%);
	border-radius: 5px;
	background: rgb(255 255 255 / 6%);
}

@media (max-width: 1199px) {
	.nexcart-footer-grid {
		grid-template-columns: minmax(210px, 1.15fr) minmax(140px, 0.7fr) minmax(170px, 0.9fr) minmax(245px, 1.25fr);
		gap: 28px;
	}
}

@media (max-width: 991px) {
	.nexcart-footer-main {
		padding: 52px 0 38px;
	}

	.nexcart-footer-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 38px 44px;
	}

	.nexcart-footer-about-text {
		max-width: 420px;
	}

	#footer-small + #footer-section .nexcart-footer-bottom {
		padding-bottom: calc(86px + env(safe-area-inset-bottom));
	}
}

@media (max-width: 575px) {
	.nexcart-footer-main {
		padding: 44px 0 32px;
	}

	.nexcart-footer-grid {
		grid-template-columns: minmax(0, 1fr);
		gap: 34px;
	}

	.nexcart-footer-logo {
		max-width: min(220px, 100%);
	}

	.nexcart-footer-about-text {
		max-width: 100%;
	}

	.nexcart-footer-menu {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		column-gap: 14px;
	}

	.nexcart-footer-support-item {
		padding: 10px;
	}

	.nexcart-footer-bottom-grid {
		grid-template-columns: minmax(0, 1fr);
		gap: 16px;
		text-align: center;
	}

	.nexcart-footer-payments ul.payment_methods {
		justify-content: center;
	}
}

@media (max-width: 359px) {
	.nexcart-footer-menu {
		grid-template-columns: minmax(0, 1fr);
	}

	.nexcart-footer-payments .nexcart-payment-badge {
		min-width: 38px;
		height: 27px;
		padding: 0 5px;
		font-size: 9px;
	}
}

@media (max-width: 575px) {
	#product-two,
	#product-three,
	#product-four {
		max-width: none;
	}
}

/* ================================================================
 * Curated live-catalog homepage
 * ================================================================ */

#nexcart-homepage,
#nexcart-homepage * {
	box-sizing: border-box;
}

/* Both announcement bars deliberately use the same theme container. */
.nexcart-marquee-section {
	width: 100%;
	padding: 8px 0;
	background: #fff;
}

.nexcart-marquee {
	position: relative;
	width: 100%;
	overflow: hidden;
	border: 1px solid #e7e9ed;
	border-radius: 4px;
	background: #f5f6f8;
}

.nexcart-marquee-track {
	display: flex;
	width: max-content;
	will-change: transform;
	animation: nexcart-marquee-scroll 35s linear infinite;
}

.nexcart-marquee-group {
	display: flex;
	align-items: center;
	flex: none;
	gap: 34px;
	min-width: max-content;
	padding: 10px 34px 10px 0;
}

.nexcart-marquee-item {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	min-height: 24px;
	color: #252b38;
	font-size: 14px;
	line-height: 1.35;
	text-decoration: none;
	white-space: nowrap;
}

.nexcart-marquee-item .nexcart-svg-icon,
.nexcart-marquee-item strong {
	color: var(--sp-primary, #ff6b0b);
}

.nexcart-marquee-item strong {
	font-weight: 700;
}

.nexcart-marquee-item:hover,
.nexcart-marquee-item:focus {
	color: var(--sp-primary, #ff6b0b);
}

.nexcart-marquee-section--benefits .nexcart-marquee {
	border-color: var(--sp-primary, #ff6b0b);
	background: var(--sp-primary, #ff6b0b);
}

.nexcart-marquee-section--benefits .nexcart-marquee-item,
.nexcart-marquee-section--benefits .nexcart-marquee-item .nexcart-svg-icon,
.nexcart-marquee-section--benefits .nexcart-marquee-item strong,
.nexcart-marquee-section--benefits .nexcart-marquee-item:hover,
.nexcart-marquee-section--benefits .nexcart-marquee-item:focus {
	color: #fff;
}

.nexcart-marquee-item .nexcart-svg-icon {
	width: 15px;
	height: 15px;
}

.nexcart-marquee:hover .nexcart-marquee-track,
.nexcart-marquee:focus-within .nexcart-marquee-track {
	animation-play-state: paused;
}

@keyframes nexcart-marquee-scroll {
	to {
		transform: translateX(-50%);
	}
}

#nexcart-hero.st-py-default {
	padding: 24px 0 30px;
}

.nexcart-hero-layout {
	display: grid;
	grid-template-columns: minmax(0, 2fr) minmax(285px, 1fr);
	gap: 20px;
}

.nexcart-hero-main,
.nexcart-product-promo {
	overflow: hidden;
	border: 1px solid #eceef1;
	border-radius: 6px;
	background: #f5f6f8;
}

.nexcart-hero-main,
.nexcart-hero-main .owl-carousel,
.nexcart-hero-main .owl-stage-outer,
.nexcart-hero-main .owl-stage,
.nexcart-hero-main .owl-item {
	height: 100%;
}

.nexcart-hero-main .owl-stage {
	display: flex;
}

.nexcart-hero-main .owl-item {
	display: flex;
}

.nexcart-hero-slide {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(260px, 0.92fr);
	align-items: center;
	width: 100%;
	min-height: 400px;
	background:
		radial-gradient(circle at 80% 50%, rgb(255 107 11 / 9%) 0 24%, transparent 24.5%),
		#f5f6f8;
}

.nexcart-hero-content {
	position: relative;
	z-index: 2;
	padding: 46px 20px 54px 44px;
}

.nexcart-product-eyebrow {
	display: inline-block;
	margin-bottom: 9px;
	color: var(--sp-primary, #ff6b0b);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.02em;
	text-transform: uppercase;
}

.nexcart-hero-content h2 {
	margin: 0 0 14px;
	font-size: clamp(30px, 3vw, 46px);
	line-height: 1.08;
}

.nexcart-hero-content h2 a,
.nexcart-product-promo h3 a {
	color: #101827;
	text-decoration: none;
}

.nexcart-hero-content h2 a:hover,
.nexcart-hero-content h2 a:focus,
.nexcart-product-promo h3 a:hover,
.nexcart-product-promo h3 a:focus {
	color: var(--sp-primary, #ff6b0b);
}

.nexcart-hero-content p {
	max-width: 470px;
	margin: 0 0 15px;
	color: #4e5666;
	font-size: 15px;
	line-height: 1.65;
}

.nexcart-promo-price {
	margin: 0 0 17px;
	color: var(--sp-primary, #ff6b0b);
	font-size: 22px;
	font-weight: 700;
}

.nexcart-promo-price del {
	margin-left: 5px;
	color: #8a909a;
	font-size: 0.72em;
	font-weight: 400;
}

.nexcart-promo-price ins {
	color: inherit;
	text-decoration: none;
}

.nexcart-promo-button,
.nexcart-promo-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	font-weight: 700;
	text-decoration: none;
}

.nexcart-promo-button {
	min-height: 44px;
	padding: 10px 19px;
	color: #fff;
	border: 1px solid var(--sp-primary, #ff6b0b);
	border-radius: 5px;
	background: var(--sp-primary, #ff6b0b);
}

.nexcart-promo-button:hover,
.nexcart-promo-button:focus {
	color: #fff;
	border-color: var(--sp-secondary, #101827);
	background: var(--sp-secondary, #101827);
}

.nexcart-promo-button .nexcart-svg-icon,
.nexcart-promo-link .nexcart-svg-icon,
.nexcart-view-all .nexcart-svg-icon {
	width: 14px;
	height: 14px;
}

.nexcart-hero-image {
	display: flex;
	align-items: center;
	justify-content: center;
	align-self: stretch;
	min-width: 0;
	padding: 28px;
}

.nexcart-hero-image img {
	display: block;
	width: 100%;
	height: 330px;
	object-fit: contain;
	mix-blend-mode: multiply;
}

.nexcart-hero-slider .owl-dots {
	position: absolute;
	bottom: 17px;
	left: 44px;
	display: flex;
	align-items: center;
	gap: 6px;
}

.nexcart-hero-slider.owl-theme .owl-dots .owl-dot span {
	width: 9px;
	height: 9px;
	margin: 0;
	border: 1px solid var(--sp-primary, #ff6b0b);
	background: transparent;
}

.nexcart-hero-slider.owl-theme .owl-dots .owl-dot.active span,
.nexcart-hero-slider.owl-theme .owl-dots .owl-dot:hover span {
	width: 24px;
	background: var(--sp-primary, #ff6b0b);
}

.nexcart-promo-stack {
	display: grid;
	grid-template-rows: repeat(2, minmax(0, 1fr));
	gap: 20px;
}

.nexcart-promo-row {
	display: grid;
	grid-column: 1 / -1;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 20px;
}

.nexcart-live-banner-section.st-py-default {
	padding: 34px 0;
}

.nexcart-promo-row--2 {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.nexcart-promo-row--1 {
	grid-template-columns: minmax(0, 1fr);
}

.nexcart-promo-row--1 .nexcart-product-promo {
	grid-template-columns: minmax(0, 1.35fr) minmax(250px, 0.65fr);
	min-height: 230px;
}

.nexcart-promo-row--1 .nexcart-product-promo h3 {
	font-size: 28px;
}

.nexcart-promo-row--1 .nexcart-product-promo-image img {
	height: 205px;
}

.nexcart-product-promo {
	display: grid;
	grid-template-columns: minmax(0, 1.08fr) minmax(115px, 0.92fr);
	align-items: center;
	min-height: 188px;
	background:
		linear-gradient(135deg, rgb(255 107 11 / 7%), transparent 60%),
		#f7f7f8;
	transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.nexcart-product-promo:hover {
	border-color: rgb(255 107 11 / 35%);
	box-shadow: 0 12px 30px rgb(15 23 42 / 8%);
	transform: translateY(-2px);
}

.nexcart-product-promo-content {
	position: relative;
	z-index: 2;
	min-width: 0;
	padding: 22px 8px 22px 20px;
}

.nexcart-product-promo h3 {
	display: -webkit-box;
	overflow: hidden;
	margin: 0 0 10px;
	font-size: 19px;
	line-height: 1.25;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

.nexcart-product-promo .nexcart-product-eyebrow {
	margin-bottom: 6px;
	font-size: 11px;
}

.nexcart-product-promo .nexcart-promo-price {
	margin-bottom: 10px;
	font-size: 17px;
}

.nexcart-promo-link {
	color: var(--sp-primary, #ff6b0b);
	font-size: 14px;
}

.nexcart-promo-link:hover,
.nexcart-promo-link:focus {
	color: #101827;
}

.nexcart-product-promo-image {
	display: flex;
	align-items: center;
	justify-content: center;
	align-self: stretch;
	min-width: 0;
	padding: 14px 14px 14px 0;
}

.nexcart-product-promo-image img {
	display: block;
	width: 100%;
	height: 155px;
	object-fit: contain;
	mix-blend-mode: multiply;
}

#nexcart-benefits.st-py-default {
	padding: 24px 0 42px;
}

.nexcart-benefits-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 16px;
}

.nexcart-benefit-card {
	display: flex;
	align-items: center;
	gap: 14px;
	min-width: 0;
	min-height: 92px;
	padding: 16px;
	border: 1px solid #eceef1;
	border-radius: 6px;
	background: #fff;
	box-shadow: 0 5px 18px rgb(15 23 42 / 6%);
}

.nexcart-benefit-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 48px;
	width: 48px;
	height: 48px;
	color: #fff;
	font-size: 20px;
	border-radius: 50%;
	background: #101827;
}

.nexcart-benefit-icon .nexcart-svg-icon {
	width: 23px;
	height: 23px;
}

.nexcart-benefit-card h2 {
	margin: 0 0 3px;
	font-size: 16px;
	line-height: 1.3;
}

.nexcart-benefit-card p {
	margin: 0;
	color: #626a78;
	font-size: 13px;
	line-height: 1.45;
}

.nexcart-live-product-section .nexcart-live-products-carousel {
	display: block;
	width: 100%;
	margin: 28px 0 0;
	padding: 0;
	list-style: none;
}

.nexcart-live-product-section .nexcart-live-products-carousel::before,
.nexcart-live-product-section .nexcart-live-products-carousel::after {
	display: none !important;
	content: none !important;
}

.nexcart-live-product-section .nexcart-live-products-carousel .owl-stage {
	display: flex;
}

.nexcart-live-product-section .nexcart-live-products-carousel .owl-item {
	display: flex;
	height: auto;
}

.nexcart-live-product-section .nexcart-live-products-carousel li.product {
	float: none !important;
	width: 100% !important;
	margin: 0 !important;
}

.nexcart-live-product-section .nexcart-live-products-carousel li.product > .product,
.nexcart-live-product-section .nexcart-live-products-carousel .product-single {
	height: 100%;
}

@media (max-width: 1199px) {
	.nexcart-hero-slide {
		grid-template-columns: minmax(0, 1fr) minmax(235px, 0.85fr);
	}

	.nexcart-hero-content {
		padding-left: 32px;
	}

	.nexcart-hero-slider .owl-dots {
		left: 32px;
	}

	.nexcart-benefits-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 991px) {
	.nexcart-hero-layout {
		grid-template-columns: minmax(0, 1fr);
	}

	.nexcart-promo-stack {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		grid-template-rows: none;
	}

	.nexcart-promo-row {
		grid-column: auto;
	}
}

@media (max-width: 767px) {
	.nexcart-marquee-group {
		gap: 24px;
		padding-right: 24px;
	}

	.nexcart-marquee-item {
		font-size: 12px;
	}

	.nexcart-hero-slide {
		grid-template-columns: minmax(0, 1fr);
		min-height: 0;
	}

	.nexcart-hero-content {
		padding: 30px 24px 18px;
	}

	.nexcart-hero-content h2 {
		font-size: 29px;
	}

	.nexcart-hero-image {
		padding: 8px 24px 48px;
	}

	.nexcart-hero-image img {
		height: 230px;
	}

	.nexcart-hero-slider .owl-dots {
		bottom: 16px;
		left: 24px;
	}

	.nexcart-promo-stack,
	.nexcart-promo-row,
	.nexcart-benefits-grid {
		grid-template-columns: minmax(0, 1fr);
	}

	.nexcart-promo-row--1 .nexcart-product-promo {
		grid-template-columns: minmax(0, 1.08fr) minmax(115px, 0.92fr);
		min-height: 188px;
	}

	.nexcart-promo-row--1 .nexcart-product-promo h3 {
		font-size: 20px;
	}

	.nexcart-promo-row--1 .nexcart-product-promo-image img {
		height: 155px;
	}

	.nexcart-product-promo {
		min-height: 178px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.nexcart-marquee-track {
		animation-play-state: paused;
	}
}

#category-one .nexcart-section-heading,
#filter-product-one .nexcart-section-heading,
#filter-product-one .nexcart-category-heading {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
}

#category-one .nexcart-heading-actions,
#filter-product-one .nexcart-heading-actions {
	display: flex;
	align-items: center;
	gap: 12px;
}

.nexcart-view-all {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	font-weight: 600;
	white-space: nowrap;
	text-decoration: none;
}

.nexcart-view-all:hover,
.nexcart-view-all:focus {
	color: var(--sp-primary);
}

.nexcart-category-slider {
	margin-top: 24px;
}

#category-one .nexcart-category-slider .owl-stage {
	display: flex;
}

#category-one .nexcart-category-slider .owl-item {
	display: flex;
	height: auto;
}

.nexcart-category-slide {
	display: flex;
	width: 100%;
	height: 100%;
	padding: 6px;
}

.nexcart-category-card {
	display: block;
	width: 100%;
	height: 100%;
	color: inherit;
	text-decoration: none;
}

.nexcart-category-card .categories-item {
	display: flex;
	flex-direction: column;
	height: 100%;
	min-height: 230px;
	transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.nexcart-category-card:hover .categories-item,
.nexcart-category-card:focus .categories-item {
	transform: translateY(-4px);
	box-shadow: var(--sp-shadow);
}

.nexcart-category-card .categories-img {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 145px;
	margin-bottom: 14px;
}

.nexcart-category-card .categories-img img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.nexcart-category-card .categories-content {
	margin-top: auto;
}

.nexcart-category-card .count-badge,
.nexcart-category-card:hover .count-badge,
.nexcart-category-card:focus .count-badge {
	width: auto;
	min-width: 24px;
	height: 24px !important;
	padding: 0 7px;
	line-height: 24px;
	border-radius: 999px;
}

/* One scalable product grid replaces a long row for every category. */
#filter-product-one .nexcart-home-products-grid {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 28px 24px;
	width: 100%;
	margin: 0;
	padding: 30px 0 0;
	list-style: none;
}

#filter-product-one .nexcart-home-products-grid::before,
#filter-product-one .nexcart-home-products-grid::after {
	display: none !important;
	content: none !important;
}

#filter-product-one .nexcart-home-products-grid > li.product {
	float: none !important;
	clear: none !important;
	width: 100% !important;
	max-width: none;
	height: 100%;
	margin: 0 !important;
}

#filter-product-one .nexcart-home-products-grid > li.product > .product,
#filter-product-one .nexcart-home-products-grid .product-single {
	height: 100%;
}

#filter-product-one .nexcart-home-products-grid .product-single,
#filter-product-one .nexcart-home-products-grid .product-content-outer {
	display: flex;
	flex-direction: column;
}

#filter-product-one .nexcart-home-products-grid .product-content-outer {
	flex: 1 1 auto;
}

#filter-product-one .nexcart-home-products-grid .product-action {
	margin-top: auto;
}

#filter-product-one .nexcart-home-products-grid .product-img > a {
	display: flex;
	align-items: center;
	justify-content: center;
	aspect-ratio: 1 / 1;
}

#filter-product-one .nexcart-home-products-grid .product-img > a > img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.nexcart-load-more-wrap {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 12px;
	padding-top: 35px;
	text-align: center;
}

.nexcart-load-more {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 9px;
	min-width: 160px;
	min-height: 48px;
	padding: 11px 24px;
	color: var(--sp-white);
	font-weight: 600;
	border: 1px solid var(--sp-primary);
	border-radius: var(--sp-radius);
	background: var(--sp-primary);
	box-shadow: var(--sp-shadow);
	transition: transform 0.2s ease, background-color 0.2s ease, opacity 0.2s ease;
}

.nexcart-load-more:hover,
.nexcart-load-more:focus {
	color: var(--sp-white);
	background: var(--sp-secondary);
	border-color: var(--sp-secondary);
	transform: translateY(-2px);
}

.nexcart-load-more.is-loading {
	cursor: wait;
	opacity: 0.75;
}

.nexcart-load-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 17px;
	height: 17px;
}

.nexcart-load-icon .nexcart-svg-icon {
	width: 17px;
	height: 17px;
}

.nexcart-load-more.is-loading .nexcart-load-icon .nexcart-svg-icon {
	display: none;
}

.nexcart-load-more.is-loading .nexcart-load-icon::after {
	width: 15px;
	height: 15px;
	content: '';
	border: 2px solid currentColor;
	border-right-color: transparent;
	border-radius: 50%;
	animation: nexcart-spin 0.7s linear infinite;
}

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

.nexcart-load-status:not(.screen-reader-text) {
	margin: 0;
	font-weight: 500;
}

.nexcart-product-loaded {
	animation: nexcart-product-in 0.35s ease both;
}

@keyframes nexcart-product-in {
	from {
		opacity: 0;
		transform: translateY(12px);
	}

	to {
		opacity: 1;
		transform: translateY(0);
	}
}

@media (max-width: 991px) {
	#filter-product-one .nexcart-home-products-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 22px 18px;
	}
}

@media (max-width: 767px) {
	#filter-product-one .nexcart-home-products-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 18px 12px;
	}
}

/* ================================================================
 * Header live product search overlay
 * ================================================================ */

#header,
#header .header-search-bar,
#header .header-search-bar .container,
#header .header-search-bar .row,
#header .header-search-form {
	overflow: visible !important;
}

#header {
	position: relative;
	z-index: 10000;
}

#header .header-search-bar {
	position: relative;
	z-index: 10010;
}

#header .header-search-form {
	position: relative;
	z-index: 10020;
}

#header .header-search-form .search-results.woocommerce {
	position: absolute !important;
	top: calc(100% + 8px) !important;
	left: 0 !important;
	display: none;
	width: 100% !important;
	min-width: 0 !important;
	max-width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden;
	color: #111827;
	border: 1px solid #d9dee5 !important;
	border-radius: 10px;
	background: #fff !important;
	box-shadow: 0 18px 48px rgb(15 23 42 / 24%) !important;
	transform: none !important;
	isolation: isolate;
	z-index: 999999 !important;
	pointer-events: auto;
}

#header .header-search-form .search-results.woocommerce.active {
	display: block !important;
}

#header .header-search-form .search-results > ul {
	display: block;
	width: 100%;
	height: auto !important;
	max-height: min(430px, 65vh);
	margin: 0 !important;
	padding: 0 !important;
	overflow-x: hidden;
	overflow-y: auto;
	overscroll-behavior: contain;
	background: #fff !important;
	scrollbar-width: thin;
	scrollbar-color: var(--sp-primary) #eef1f4;
}

#header .header-search-form .search-results > ul::-webkit-scrollbar {
	display: block;
	width: 7px;
}

#header .header-search-form .search-results > ul::-webkit-scrollbar-track {
	background: #eef1f4;
}

#header .header-search-form .search-results > ul::-webkit-scrollbar-thumb {
	border-radius: 999px;
	background: var(--sp-primary);
}

#header .header-search-form .search-results li {
	position: relative;
	min-width: 0 !important;
	margin: 0 !important;
	padding: 0;
	overflow: visible;
	cursor: pointer;
	border: 0;
	border-bottom: 1px solid #e8ebef;
	background: #fff !important;
	transition: background-color 0.2s ease, box-shadow 0.2s ease;
}

#header .header-search-form .search-results li:last-child {
	border-bottom: 0;
}

#header .header-search-form .search-results li:hover,
#header .header-search-form .search-results li:focus,
#header .header-search-form .search-results li:focus-within {
	outline: none;
	background: #fff7f0 !important;
	box-shadow: inset 4px 0 0 var(--sp-primary);
}

#header .header-search-form .electromix_result_link {
	display: grid !important;
	grid-template-columns: 52px minmax(150px, 1fr) auto auto auto;
	align-items: center !important;
	gap: 10px !important;
	width: 100%;
	min-height: 70px;
	padding: 10px 12px !important;
	overflow: visible !important;
	background: transparent !important;
}

#header .header-search-form .search-results .product-image {
	display: flex !important;
	align-items: center;
	justify-content: center;
	width: 52px !important;
	height: 52px !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 4px !important;
	float: none;
	overflow: hidden;
	border: 1px solid #e2e6ea !important;
	border-radius: 7px !important;
	background: #f7f8fa;
}

#header .header-search-form .search-results .product-image img {
	display: block;
	width: 100% !important;
	height: 100% !important;
	max-width: none;
	object-fit: contain;
}

#header .header-search-form .search-results .product-data {
	min-width: 0;
	width: auto !important;
	max-width: none !important;
}

#header .header-search-form .search-results span.product-title {
	margin: 0;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.35;
}

#header .header-search-form .search-results .product-title a {
	display: -webkit-box !important;
	width: auto !important;
	overflow: hidden;
	color: #111827;
	font-size: 14px !important;
	font-weight: 600;
	line-height: 1.35;
	text-decoration: none;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

#header .header-search-form .search-results .product-title a:hover,
#header .header-search-form .search-results .product-title a:focus {
	color: var(--sp-primary);
}

#header .header-search-form .search-results .price-stock,
#header .header-search-form .search-results .product-price {
	margin: 0 !important;
	font-size: 13px !important;
	white-space: nowrap;
}

#header .header-search-form .search-results .product-stock {
	padding: 4px 7px !important;
	font-size: 11px;
	font-weight: 600;
	line-height: 1.2;
	text-transform: capitalize;
}

#header .header-search-form .search-results .product-price {
	font-weight: 700;
	color: #111827;
}

#header .header-search-form .search-results form.cart {
	display: flex !important;
	align-items: center;
	gap: 6px;
	width: auto !important;
	margin: 0 !important;
	padding: 0 !important;
	background: transparent !important;
}

#header .header-search-form .search-results .quantity {
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
}

#header .header-search-form .search-results .quantity .qty {
	width: 42px !important;
	min-width: 42px;
	height: 32px;
	margin: 0 !important;
	padding: 4px !important;
	text-align: center;
	border: 1px solid #d9dee5;
	border-radius: 5px;
	background: #fff;
}

#header .header-search-form .search-results form.cart .button[type="submit"] {
	flex: 0 0 32px;
	width: 32px !important;
	height: 32px !important;
	min-width: 32px;
	margin: 0;
	padding: 0 !important;
	border-radius: 5px !important;
}

#header .header-search-form .search-results form.cart .button[type="submit"]::before {
	width: 32px;
	height: 32px;
	border-radius: 5px;
}

@media (max-width: 767px) {
	#header .header-search-form .search-results.woocommerce {
		left: 50% !important;
		width: min(620px, calc(100vw - 24px)) !important;
		max-width: none !important;
		transform: translateX(-50%) !important;
	}

	#header .header-search-form .electromix_result_link {
		grid-template-columns: 46px minmax(0, 1fr) auto;
		gap: 5px 9px !important;
		min-height: 66px;
		padding: 9px 10px !important;
	}

	#header .header-search-form .search-results .product-image {
		grid-row: 1 / span 2;
		width: 46px !important;
		height: 46px !important;
	}

	#header .header-search-form .search-results .product-data {
		grid-column: 2;
		grid-row: 1;
	}

	#header .header-search-form .search-results .price-stock {
		grid-column: 3;
		grid-row: 1;
	}

	#header .header-search-form .search-results .product-price {
		grid-column: 2;
		grid-row: 2;
	}

	#header .header-search-form .search-results form.cart {
		grid-column: 3;
		grid-row: 2;
	}

	#header .header-search-form .search-results .quantity {
		display: none !important;
	}
}

@media (max-width: 419px) {
	#filter-product-one .nexcart-home-products-grid {
		grid-template-columns: minmax(0, 1fr);
	}
}

/* The footer bottom intentionally contains only copyright and payments. */
#footer-section .footer-copyright .widget-right {
	justify-content: flex-end;
}

#footer-section .footer-copyright .widget-right::after,
#footer-section .footer-copyright .widget-right .right-part {
	display: none !important;
}

#footer-section .footer-copyright .widget-right .left-part {
	display: flex;
	width: 100%;
	justify-content: flex-end;
}

@media (max-width: 767px) {
	#category-one .nexcart-section-heading,
	#filter-product-one .nexcart-section-heading,
	#filter-product-one .nexcart-category-heading {
		align-items: flex-start;
	}

	.nexcart-view-all span {
		display: none;
	}

	.nexcart-category-card .categories-item {
		min-height: 210px;
	}

	.nexcart-category-card .categories-img {
		height: 125px;
	}

	#footer-section .footer-copyright .widget-right .left-part {
		justify-content: center;
	}
}

/* ================================================================
 * WooCommerce full-width and responsive layout
 * ================================================================ */

/* The parent theme reserves 25% to 33% for an empty sidebar. */
.nexcart-woocommerce-shell #st-primary-content,
body.woocommerce-cart #st-primary-content,
body.woocommerce-checkout #st-primary-content,
body.woocommerce-account #st-primary-content {
	flex: 0 0 auto;
	width: 100%;
	max-width: 100%;
}

.nexcart-woocommerce-shell #st-primary-content > .woocommerce,
body.woocommerce-cart #st-primary-content > .row,
body.woocommerce-checkout #st-primary-content > .row,
body.woocommerce-account #st-primary-content > .row,
body.woocommerce-cart #st-primary-content .woocommerce,
body.woocommerce-checkout #st-primary-content .woocommerce,
body.woocommerce-account #st-primary-content .woocommerce {
	width: 100%;
	max-width: none;
}

/* Shop/archive toolbar. */
.nexcart-woocommerce-shell #st-primary-content > .mb-2,
.nexcart-woocommerce-shell #st-primary-content > .mb-sm-4 {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 12px;
}

.nexcart-woocommerce-shell .woocommerce-result-count,
.nexcart-woocommerce-shell .woocommerce-ordering {
	float: none;
}

/* Five-column desktop catalog with reliable responsive breakpoints. */
body.woocommerce-shop #st-primary-content ul.products:not(.list):not(.owl-carousel),
body.post-type-archive-product #st-primary-content ul.products:not(.list):not(.owl-carousel),
body.tax-product_cat #st-primary-content ul.products:not(.list):not(.owl-carousel),
body.tax-product_tag #st-primary-content ul.products:not(.list):not(.owl-carousel) {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 28px 24px;
	width: 100%;
}

/* WooCommerce clearfix pseudo-elements must never become product grid cells. */
body.woocommerce-page #st-primary-content ul.products:not(.list):not(.owl-carousel)::before,
body.woocommerce-page #st-primary-content ul.products:not(.list):not(.owl-carousel)::after {
	display: none !important;
	content: none !important;
}

body.woocommerce-shop #st-primary-content ul.products:not(.list):not(.owl-carousel) > li.product,
body.post-type-archive-product #st-primary-content ul.products:not(.list):not(.owl-carousel) > li.product,
body.tax-product_cat #st-primary-content ul.products:not(.list):not(.owl-carousel) > li.product,
body.tax-product_tag #st-primary-content ul.products:not(.list):not(.owl-carousel) > li.product {
	float: none !important;
	clear: none !important;
	width: 100% !important;
	max-width: none;
	height: 100%;
	margin: 0 !important;
}

/* Related, upsell and cart cross-sell products also use the available width. */
body.single-product #st-primary-content .related.products ul.products,
body.single-product #st-primary-content .upsells.products ul.products,
body.woocommerce-cart #st-primary-content .cross-sells ul.products {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 28px 24px;
	width: 100%;
}

body.single-product #st-primary-content .related.products ul.products > li.product,
body.single-product #st-primary-content .upsells.products ul.products > li.product,
body.woocommerce-cart #st-primary-content .cross-sells ul.products > li.product {
	float: none !important;
	clear: none !important;
	width: 100% !important;
	margin: 0 !important;
}

/* Equal-height product cards without changing the Electromix design. */
body.woocommerce-page #st-primary-content ul.products:not(.list):not(.owl-carousel) > li.product > .product,
body.woocommerce-page #st-primary-content ul.products:not(.list):not(.owl-carousel) > li.product .product-single {
	height: 100%;
}

body.woocommerce-page #st-primary-content ul.products:not(.list):not(.owl-carousel) > li.product .product-single,
body.woocommerce-page #st-primary-content ul.products:not(.list):not(.owl-carousel) > li.product .product-content-outer {
	display: flex;
	flex-direction: column;
}

body.woocommerce-page #st-primary-content ul.products:not(.list):not(.owl-carousel) > li.product .product-content-outer {
	flex: 1 1 auto;
}

body.woocommerce-page #st-primary-content ul.products:not(.list):not(.owl-carousel) > li.product .product-action {
	margin-top: auto;
}

body.woocommerce-page #st-primary-content ul.products:not(.list):not(.owl-carousel) > li.product .product-img > a {
	display: flex;
	align-items: center;
	justify-content: center;
	aspect-ratio: 1 / 1;
}

body.woocommerce-page #st-primary-content ul.products:not(.list):not(.owl-carousel) > li.product .product-img > a > img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

/* Cart, checkout and account content must not inherit narrow alignwide limits. */
body.woocommerce-cart .wp-block-woocommerce-cart,
body.woocommerce-checkout .wp-block-woocommerce-checkout,
body.woocommerce-cart .wc-block-cart,
body.woocommerce-checkout .wc-block-checkout,
body.woocommerce-checkout form.checkout,
body.woocommerce-account .woocommerce-MyAccount-content {
	max-width: none;
}

body.woocommerce-cart .woocommerce-cart-form,
body.woocommerce-account .woocommerce-orders-table,
body.woocommerce-account .woocommerce-table {
	max-width: 100%;
	overflow-x: auto;
}

@media (max-width: 1199px) {
	body.woocommerce-shop #st-primary-content ul.products:not(.list):not(.owl-carousel),
	body.post-type-archive-product #st-primary-content ul.products:not(.list):not(.owl-carousel),
	body.tax-product_cat #st-primary-content ul.products:not(.list):not(.owl-carousel),
	body.tax-product_tag #st-primary-content ul.products:not(.list):not(.owl-carousel),
	body.single-product #st-primary-content .related.products ul.products,
	body.single-product #st-primary-content .upsells.products ul.products,
	body.woocommerce-cart #st-primary-content .cross-sells ul.products {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}

@media (max-width: 991px) {
	body.woocommerce-shop #st-primary-content ul.products:not(.list):not(.owl-carousel),
	body.post-type-archive-product #st-primary-content ul.products:not(.list):not(.owl-carousel),
	body.tax-product_cat #st-primary-content ul.products:not(.list):not(.owl-carousel),
	body.tax-product_tag #st-primary-content ul.products:not(.list):not(.owl-carousel),
	body.single-product #st-primary-content .related.products ul.products,
	body.single-product #st-primary-content .upsells.products ul.products,
	body.woocommerce-cart #st-primary-content .cross-sells ul.products {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 22px 18px;
	}

	body.woocommerce-account .woocommerce-MyAccount-navigation,
	body.woocommerce-account .woocommerce-MyAccount-content {
		float: none;
		width: 100%;
	}

	body.woocommerce-account .woocommerce-MyAccount-navigation {
		margin-bottom: 25px;
	}
}

@media (max-width: 767px) {
	body.woocommerce-shop #st-primary-content ul.products:not(.list):not(.owl-carousel),
	body.post-type-archive-product #st-primary-content ul.products:not(.list):not(.owl-carousel),
	body.tax-product_cat #st-primary-content ul.products:not(.list):not(.owl-carousel),
	body.tax-product_tag #st-primary-content ul.products:not(.list):not(.owl-carousel),
	body.single-product #st-primary-content .related.products ul.products,
	body.single-product #st-primary-content .upsells.products ul.products,
	body.woocommerce-cart #st-primary-content .cross-sells ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 18px 12px;
	}

	.nexcart-woocommerce-shell .woocommerce-result-count,
	.nexcart-woocommerce-shell .woocommerce-ordering {
		margin-left: 0;
	}

	.nexcart-woocommerce-shell .woocommerce-ordering {
		width: 100%;
	}

	.nexcart-woocommerce-shell .woocommerce-ordering select {
		width: 100%;
	}

	body.woocommerce-cart .wc-block-cart__main,
	body.woocommerce-cart .wc-block-cart__sidebar,
	body.woocommerce-checkout .wc-block-checkout__main,
	body.woocommerce-checkout .wc-block-checkout__sidebar {
		width: 100%;
	}
}

@media (max-width: 419px) {
	body.woocommerce-shop #st-primary-content ul.products:not(.list):not(.owl-carousel),
	body.post-type-archive-product #st-primary-content ul.products:not(.list):not(.owl-carousel),
	body.tax-product_cat #st-primary-content ul.products:not(.list):not(.owl-carousel),
	body.tax-product_tag #st-primary-content ul.products:not(.list):not(.owl-carousel),
	body.single-product #st-primary-content .related.products ul.products,
	body.single-product #st-primary-content .upsells.products ul.products,
	body.woocommerce-cart #st-primary-content .cross-sells ul.products {
		grid-template-columns: minmax(0, 1fr);
	}
}

/* ================================================================
 * WooCommerce block Checkout order summary
 * ================================================================ */

body.woocommerce-checkout .wc-block-checkout__sidebar {
	min-width: 0;
}

body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block {
	overflow: hidden;
	border: 1px solid #d9dce1 !important;
	border-radius: 10px !important;
	background: #fff;
	box-shadow: 0 8px 24px rgb(15 23 42 / 6%);
}

body.woocommerce-checkout .wc-block-components-checkout-order-summary__title {
	display: flex;
	align-items: center;
	gap: 10px;
	min-height: 64px;
	margin: 0;
	padding: 16px 20px !important;
	border-bottom: 1px solid #e5e7eb;
}

body.woocommerce-checkout .wc-block-components-checkout-order-summary__title-text {
	margin: 0;
	font-size: 22px;
	font-weight: 600;
	line-height: 1.3;
}

body.woocommerce-checkout .wc-block-components-checkout-order-summary__title-price {
	display: inline-block !important;
	margin-left: auto;
	font-weight: 700;
	white-space: nowrap;
}

body.woocommerce-checkout .wc-block-components-checkout-order-summary__title-icon {
	flex: 0 0 24px;
	margin: 0;
}

body.woocommerce-checkout .wc-block-components-order-summary__content {
	display: block !important;
	width: 100%;
}

body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-cart-items-block {
	padding: 0 20px !important;
}

body.woocommerce-checkout .wc-block-components-order-summary-item {
	display: grid !important;
	grid-template-columns: 72px minmax(0, 1fr) auto;
	align-items: start !important;
	gap: 6px 14px !important;
	width: 100%;
	padding: 18px 0 !important;
}

body.woocommerce-checkout .wc-block-components-order-summary-item:not(:last-child) {
	border-bottom: 1px solid #edf0f3;
}

body.woocommerce-checkout .wc-block-components-order-summary-item__image {
	position: relative;
	width: 72px !important;
	height: 72px !important;
	padding: 7px !important;
	overflow: visible !important;
	border: 1px solid #e1e5e9 !important;
	border-radius: 8px !important;
	background: #f7f8fa !important;
}

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

body.woocommerce-checkout .wc-block-components-order-summary-item__quantity {
	top: -8px !important;
	right: -8px !important;
	transform: none !important;
}

body.woocommerce-checkout .wc-block-components-order-summary-item__description {
	min-width: 0;
	padding: 0 !important;
}

body.woocommerce-checkout .wc-block-components-product-name {
	margin: 0;
	font-size: 15px;
	font-weight: 600;
	line-height: 1.4;
	overflow-wrap: anywhere;
}

/* Product marketing copy is hidden here; unit and line-total prices remain. */
body.woocommerce-checkout .wc-block-components-product-metadata__description {
	display: none !important;
}

body.woocommerce-checkout .wc-block-components-order-summary-item__total-price {
	align-self: center;
	margin: 0;
	font-weight: 700;
	text-align: right;
	white-space: nowrap;
}

body.woocommerce-checkout .wc-block-components-totals-wrapper:not(:empty) {
	padding: 14px 20px !important;
}

body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-cart-items-block,
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-totals-block > .wc-block-components-totals-wrapper:first-child {
	border-top: 0;
}

body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-coupon-form-block,
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-totals-block,
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block > .wc-block-components-totals-wrapper {
	border-top: 1px solid #e5e7eb;
}

/* ================================================================
 * Checkout payment fields and place-order states
 *
 * Electromix collapses every WooCommerce accordion content element to zero
 * height. That also collapses the selected Stripe card iframe, leaving only
 * the "card number is incomplete" notice. Keep the selected payment content
 * visible and let WooCommerce/Stripe own validation and button enablement.
 * ================================================================ */
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-coupon-form-block {
	display: none !important;
}

body.woocommerce-checkout .wc-block-checkout__payment-method .wc-block-components-radio-control-accordion-content {
	display: block !important;
	width: 100% !important;
	height: auto !important;
	max-height: none !important;
	padding: 0 20px 16px !important;
	overflow: visible !important;
	visibility: visible !important;
	opacity: 1 !important;
}

body.woocommerce-checkout .wc-block-checkout__payment-method .wc-block-components-radio-control-accordion-content:empty {
	padding-bottom: 0 !important;
}

body.woocommerce-checkout .wc-block-checkout__payment-method .wc-block-gateway-container,
body.woocommerce-checkout .wc-block-checkout__payment-method [class*="wc-stripe"],
body.woocommerce-checkout .wc-block-checkout__payment-method [class*="stripe"] {
	width: 100% !important;
	max-width: 100% !important;
	overflow: visible !important;
	visibility: visible !important;
	opacity: 1 !important;
}

body.woocommerce-checkout .wc-block-checkout__payment-method iframe {
	display: block !important;
	width: 100% !important;
	max-width: 100% !important;
	min-height: 44px !important;
	visibility: visible !important;
	opacity: 1 !important;
}

body.woocommerce-checkout .wc-block-checkout__actions_row .wc-block-components-checkout-place-order-button {
	min-height: 52px !important;
	border: 1px solid var(--sp-primary, #f97316) !important;
	border-radius: 999px !important;
	background: var(--sp-primary, #f97316) !important;
	color: #fff !important;
	font-weight: 700 !important;
	box-shadow: none !important;
}

body.woocommerce-checkout .wc-block-checkout__actions_row .wc-block-components-checkout-place-order-button:not(:disabled):not([aria-disabled="true"]) {
	cursor: pointer !important;
	opacity: 1 !important;
}

body.woocommerce-checkout .wc-block-checkout__actions_row .wc-block-components-checkout-place-order-button:not(:disabled):not([aria-disabled="true"]):hover,
body.woocommerce-checkout .wc-block-checkout__actions_row .wc-block-components-checkout-place-order-button:not(:disabled):not([aria-disabled="true"]):focus-visible {
	border-color: #df5f08 !important;
	background: #df5f08 !important;
}

body.woocommerce-checkout .wc-block-checkout__actions_row .wc-block-components-checkout-place-order-button:disabled,
body.woocommerce-checkout .wc-block-checkout__actions_row .wc-block-components-checkout-place-order-button[aria-disabled="true"] {
	border-color: #fdba8c !important;
	background: #fdba8c !important;
	color: #fff !important;
	cursor: not-allowed !important;
	opacity: 1 !important;
}

body.woocommerce-checkout .wc-block-components-panel__button {
	min-height: 24px;
	padding-right: 30px;
}

body.woocommerce-checkout .wc-block-components-totals-item {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 16px;
}

body.woocommerce-checkout .wc-block-components-totals-item__value {
	margin-left: auto;
	text-align: right;
}

body.woocommerce-checkout .wc-block-components-totals-footer-item {
	font-size: 20px;
	font-weight: 700;
}

@media (max-width: 479px) {
	body.woocommerce-checkout .wc-block-components-checkout-order-summary__title {
		min-height: 56px;
		padding: 14px !important;
	}

	body.woocommerce-checkout .wc-block-components-checkout-order-summary__title-text {
		font-size: 19px;
	}

	body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-cart-items-block {
		padding: 0 14px !important;
	}

	body.woocommerce-checkout .wc-block-components-order-summary-item {
		grid-template-columns: 56px minmax(0, 1fr);
		gap: 5px 12px !important;
		padding: 15px 0 !important;
	}

	body.woocommerce-checkout .wc-block-components-order-summary-item__image {
		grid-row: 1 / span 2;
		width: 56px !important;
		height: 56px !important;
		padding: 5px !important;
	}

	body.woocommerce-checkout .wc-block-components-order-summary-item__total-price {
		grid-column: 2;
		justify-self: start;
		text-align: left;
	}

	body.woocommerce-checkout .wc-block-components-totals-wrapper:not(:empty) {
		padding: 13px 14px !important;
	}

	body.woocommerce-checkout .wc-block-components-shipping-placeholder__value {
		display: inline-block;
		max-width: 155px;
		font-size: 12px;
		line-height: 1.35;
	}

	body.woocommerce-checkout .wc-block-components-totals-footer-item {
		font-size: 18px;
	}
}

/* ================================================================
 * Electromix footer: reliable desktop, tablet and mobile layout
 * ================================================================ */

#footer-section,
#footer-section * {
	box-sizing: border-box;
}

#footer-section .footer-content .widget-left,
#footer-section .footer-content .footer-widgets,
#footer-section .footer-middle .widget-right,
#footer-section .footer-above .widget-left,
#footer-section .footer-above .widget-right {
	min-width: 0;
}

#footer-section .footer-content .footer-widgets {
	align-items: flex-start;
	padding: 20px 0 0 !important;
}

#footer-section .footer-content .widget,
#footer-section .footer-middle .widget,
#footer-section .footer-above .widget {
	max-width: 100%;
	margin-bottom: 0;
}

#footer-section .footer-content .payment-methods {
	display: grid !important;
	grid-template-columns: repeat(6, minmax(38px, 1fr)) !important;
	gap: 10px !important;
	width: 100% !important;
	margin: 0 !important;
}

#footer-section .footer-middle .widget-right {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
	width: 100%;
}

#footer-section .footer-middle .nexcart-footer-empty-featured,
#footer-section .footer-above .nexcart-footer-empty-featured {
	display: none !important;
}

#footer-section .footer-middle .nexcart-footer-info-full,
#footer-section .footer-above .nexcart-footer-info-full {
	flex: 0 0 100%;
	width: 100%;
	max-width: 100%;
}

#footer-section .footer-middle .widget-contact,
#footer-section .footer-middle .contact-area {
	width: 100%;
	min-width: 0;
}

#footer-section .footer-middle .contact-area {
	gap: 10px;
}

#footer-section .footer-middle .contact-info {
	min-width: 0;
}

#footer-section .footer-middle .contact-info a {
	overflow-wrap: anywhere;
}

#footer-section .footer-above .textwidget .brand {
	display: flex !important;
	align-items: center;
	justify-content: flex-start !important;
	flex-wrap: wrap;
	gap: 10px;
}

#footer-section .footer-above .textwidget .brand a {
	flex: 0 1 150px;
	max-width: 100%;
	margin: 0 !important;
}

#footer-section .footer-above .textwidget .brand img {
	max-width: 100%;
	height: auto;
}

#footer-section .footer-above .widget_nav_menu {
	align-items: center;
	flex-wrap: wrap;
	gap: 10px;
}

#footer-section .footer-above .widget_nav_menu .menu {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 6px 12px;
	margin: 0;
}

#footer-section .footer-copyright p,
#footer-section .footer-copyright ul {
	margin-top: 0;
	margin-bottom: 0;
}

#footer-section .footer-copyright .widget-left {
	display: flex;
	align-items: center;
}

#footer-section .footer-copyright ul.payment_methods {
	display: grid !important;
	grid-template-columns: repeat(6, minmax(32px, auto));
	align-items: center;
	justify-content: end;
	gap: 10px;
	padding: 0;
}

#footer-section .footer-copyright ul.payment_methods li {
	margin: 0;
	list-style: none;
}

@media (max-width: 991px) {
	#footer-section .footer-content,
	#footer-section .footer-middle,
	#footer-section .footer-above {
		padding: 28px 0;
	}

	#footer-section .footer-content > .container > .row,
	#footer-section .footer-middle > .container > .row,
	#footer-section .footer-above > .container > .row {
		row-gap: 24px;
	}

	#footer-section .footer-content .widget-left,
	#footer-section .footer-above .widget-left,
	#footer-section .footer-above .widget-right {
		text-align: center;
	}

	#footer-section .footer-content .payment-methods {
		max-width: 560px !important;
		margin-right: auto !important;
		margin-left: auto !important;
	}

	#footer-section .footer-middle .widget-right {
		grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
	}

	#footer-section .footer-above .textwidget .brand {
		justify-content: center !important;
	}

	#footer-section .footer-above .widget_nav_menu {
		justify-content: center;
	}

	#footer-section .footer-above .widget_nav_menu .menu {
		justify-content: center;
	}

	#footer-section .footer-copyright .widget-left,
	#footer-section .footer-copyright .widget-right,
	#footer-section .footer-copyright .widget-right .left-part {
		justify-content: center;
		text-align: center;
	}

	#footer-section .footer-copyright .widget-left {
		border: 0;
	}

	#footer-section .footer-copyright ul.payment_methods {
		justify-content: center;
	}
}

@media (max-width: 767px) {
	#footer-section .footer-content .footer-widgets > [class*="col-"] {
		flex: 0 0 100%;
		width: 100%;
		max-width: 100%;
		text-align: center;
	}

	#footer-section .footer-content .payment-methods,
	#footer-section .footer-copyright ul.payment_methods {
		grid-template-columns: repeat(3, minmax(44px, 1fr)) !important;
		max-width: 360px !important;
		margin-right: auto !important;
		margin-left: auto !important;
	}

	#footer-section .footer-middle .widget-right {
		grid-template-columns: minmax(0, 1fr);
	}

	#footer-section .footer-middle .widget-contact {
		max-width: 420px;
		margin: 0 auto;
	}

	#footer-section .footer-above .widget_nav_menu {
		flex-direction: column;
	}

	#footer-section .footer-above .widget_nav_menu .widget-title {
		margin: 0 0 8px;
	}

	#footer-section .footer-copyright {
		padding: 12px 0;
	}

	#footer-section .footer-copyright .widget-left,
	#footer-section .footer-copyright .widget-right {
		min-height: 48px;
	}

	#footer-small .footer-mobile-menu {
		flex: 1 1 0;
		min-width: 0;
	}

	#footer-small .footer-mobile-menu > a > span {
		display: block;
		overflow: hidden;
		font-size: 11px;
		text-overflow: ellipsis;
		white-space: nowrap;
	}
}


/* ================================================================
 * NexCart client revisions: transparent logo, account shortcut,
 * expandable category browser and trusted payments.
 * ================================================================ */

/* Footer logo: white card keeps the dark artwork clear on the navy footer. */
.nexcart-footer-logo {
	max-width: 230px;
	min-height: 0;
	margin-bottom: 20px;
	padding: 9px 14px;
	border: 1px solid rgb(255 255 255 / 15%);
	border-radius: 10px;
	background: #fff !important;
	box-shadow: 0 10px 26px rgb(0 0 0 / 18%);
}

.nexcart-footer-logo .custom-logo-link,
.nexcart-footer-logo .custom-logo-link img {
	background: transparent !important;
}

.nexcart-footer-logo .custom-logo-link img {
	max-height: 54px;
	filter: drop-shadow(0 5px 12px rgb(0 0 0 / 24%));
}

/* The new account shortcut replaces the phone/contact block. */
.nexcart-header-account {
	display: inline-flex;
	align-items: center;
	gap: 11px;
	min-width: 220px;
	padding: 8px 0;
	color: inherit;
	text-decoration: none;
}

.nexcart-header-account:hover,
.nexcart-header-account:focus {
	color: inherit;
}

.nexcart-header-account-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 48px;
	width: 48px;
	height: 48px;
	color: #fff;
	border-radius: 7px;
	background: var(--sp-primary, #f97316);
}

.nexcart-header-account-icon .nexcart-svg-icon {
	width: 25px;
	height: 25px;
}

.nexcart-header-account-copy {
	display: flex;
	min-width: 0;
	flex-direction: column;
	line-height: 1.25;
}

.nexcart-header-account-copy strong {
	color: var(--sp-black, #111827);
	font-size: 17px;
	font-weight: 750;
}

.nexcart-header-account-copy > span {
	margin-top: 3px;
	color: #7b8494;
	font-size: 12px;
	white-space: nowrap;
}

/* Footer policy links continue the Useful Links list without a visual break. */
.nexcart-footer-policy-menu {
	margin-top: 0 !important;
}

/* Automatic category list: every parent category appears and expands in place. */
.nexcart-product-category-menus .nexcart-category-menu-wrap {
	align-items: start;
}

.nexcart-product-category-menus .product-category-menus-list {
	position: relative;
	isolation: isolate;
}

.nexcart-product-category-menus .nexcart-browse-category-item {
	position: relative;
}

.nexcart-product-category-menus .nexcart-category-depth-0 {
	display: flex;
	align-content: flex-start;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	overflow: visible;
}

.nexcart-product-category-menus .nexcart-category-depth-0 > .nexcart-browse-category-link {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	flex: 1 1 100%;
	min-width: 0;
	flex-direction: column;
	gap: 8px;
	padding: 10px 8px 5px;
	line-height: 1.15;
	position: relative;
	z-index: 1;
	pointer-events: auto;
	cursor: pointer;
}

.nexcart-product-category-menus .nexcart-browse-category-image {
	display: flex !important;
	align-items: center;
	justify-content: center;
	width: 86px !important;
	height: 72px !important;
	max-width: 100%;
	margin: 0 auto !important;
	padding: 7px !important;
	color: var(--sp-primary, #f97316);
	border: 1px solid rgb(15 23 42 / 9%) !important;
	border-radius: 10px !important;
	background: #fff !important;
	box-shadow: 0 5px 15px rgb(15 23 42 / 7%);
	object-fit: contain !important;
	object-position: center !important;
}

.nexcart-product-category-menus .nexcart-browse-category-font-icon {
	font-size: 30px !important;
}

.nexcart-product-category-menus .nexcart-browse-category-name {
	display: -webkit-box;
	overflow: hidden;
	min-height: 30px;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	font-size: 13px;
	font-weight: 650;
	line-height: 1.15;
	text-align: center;
}

.nexcart-product-category-menus .nexcart-browse-category-toggle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 23px;
	height: 23px;
	margin: 0 auto 8px;
	padding: 0;
	color: #fff;
	border: 0;
	border-radius: 50%;
	background: var(--sp-primary, #f97316);
	box-shadow: none;
	position: relative;
	z-index: 5;
	pointer-events: auto !important;
	cursor: pointer;
	touch-action: manipulation;
}

.nexcart-product-category-menus .nexcart-browse-category-toggle-wrap {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	position: relative;
	z-index: 20;
	pointer-events: auto !important;
}

.nexcart-product-category-menus .nexcart-browse-category-toggle .nexcart-svg-icon {
	width: 12px;
	height: 12px;
	transition: transform .2s ease;
}

.nexcart-product-category-menus .nexcart-browse-category-item.is-open > .nexcart-browse-category-toggle .nexcart-svg-icon {
	transform: rotate(90deg);
}

.nexcart-product-category-menus .nexcart-browse-category-children {
	display: none;
	position: static !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 5px 7px 8px !important;
	visibility: visible !important;
	opacity: 1 !important;
	border: 0 !important;
	border-top: 1px solid rgb(15 23 42 / 10%) !important;
	background: #fff !important;
	box-shadow: none !important;
}

.nexcart-product-category-menus .nexcart-browse-category-item.is-open > .nexcart-browse-category-children {
	display: block;
}

/* The desktop browser owns its markup and classes. It deliberately shares no
 * Electromix menu/arrow classes, so parent menu scripts cannot stretch or
 * redirect a category link. Mobile keeps the expandable renderer above. */
@media (min-width: 992px) {
	/* Fixed vertical geometry: the panel is a flex column whose top strip
	 * (close/heading/Search) is a solid, higher layer and whose category area
	 * fills the exact remaining height with its own scrollbar. Category boxes
	 * therefore can never rise over the Search row, and the last row always
	 * stays inside the reachable scroll area. */
	#category-popup .docker-div,
	#category-popup-mobile .docker-div {
		display: flex;
		flex-direction: column;
		height: 100%;
		padding-bottom: 0 !important;
		overflow: hidden;
	}

	#category-popup .docker-anim,
	#category-popup-mobile .docker-anim {
		display: flex;
		flex-direction: column;
		height: 100%;
		min-height: 0;
		overflow: hidden;
	}

	#category-popup .docker-top,
	#category-popup-mobile .docker-top {
		flex: 0 0 auto;
		position: relative;
		z-index: 30;
		isolation: isolate;
		background: #fff;
	}

	/* The popup no longer carries a Search form; if cached HTML still contains
	 * one, keep it out of the panel entirely. */
	#category-popup .docker-top .header-search-form,
	#category-popup-mobile .docker-top .header-search-form {
		display: none !important;
	}

	/* Electromix hangs the close X outside the panel (right: -50px), where the
	 * column layout clips it. Pin it inside the top strip instead, on the same
	 * row as the heading. */
	#category-popup .docker-top,
	#category-popup-mobile .docker-top {
		display: flex;
		align-items: center;
		padding: 12px 64px 12px 15px;
		min-height: 62px;
	}

	#category-popup .docker-top .heading,
	#category-popup-mobile .docker-top .heading {
		display: flex;
		align-items: center;
		gap: 8px;
		width: 100%;
		margin: 0 !important;
		padding: 0 !important;
	}

	#category-popup .docker-top .heading h2,
	#category-popup-mobile .docker-top .heading h2 {
		margin: 0 !important;
		line-height: 1.2;
	}

	#category-popup .docker-top .close-style,
	#category-popup-mobile .docker-top .close-style {
		position: absolute !important;
		top: 50% !important;
		right: 12px !important;
		left: auto !important;
		bottom: auto !important;
		width: 38px !important;
		height: 38px !important;
		margin: 0 !important;
		transform: translateY(-50%);
		border-radius: var(--sp-radius, 4px) !important;
		z-index: 5;
	}

	#category-popup .docker-top .close-style::before,
	#category-popup .docker-top .close-style::after,
	#category-popup-mobile .docker-top .close-style::before,
	#category-popup-mobile .docker-top .close-style::after {
		width: 20px;
	}

	#category-popup .docker-category,
	#category-popup-mobile .docker-category {
		display: block !important;
		flex: 1 1 auto;
		min-height: 0;
		max-height: none !important;
		position: relative;
		z-index: 1;
		overflow-x: hidden !important;
		overflow-y: auto !important;
		overscroll-behavior: contain;
		scrollbar-width: thin;
		scrollbar-color: var(--sp-primary, #f97316) #eef1f4;
	}

	/* Chromium mis-places hover/click targets for content scrolled inside a
	 * 3D-transformed, backface-hidden ancestor: the first (unscrolled) rows
	 * respond correctly while deeper rows only react near their bottom edge.
	 * Settling the open panel on transform:none (still animatable, so the
	 * slide-in is kept) removes the 3D layer and restores exact hit areas. */
	body.docker-popup-active #category-popup.popup-visible .docker-div,
	body.docker-popup-active #category-popup-mobile.popup-visible .docker-div {
		-webkit-transform: none !important;
		transform: none !important;
	}

	body.docker-popup-active #category-popup.popup-visible .docker-anim,
	body.docker-popup-active #category-popup-mobile.popup-visible .docker-anim {
		top: 0 !important;
	}

	#category-popup.docker-widget-popup,
	#category-popup-mobile.docker-widget-popup,
	#category-popup .docker-div,
	#category-popup .docker-anim,
	#category-popup-mobile .docker-div,
	#category-popup-mobile .docker-anim {
		-webkit-backface-visibility: visible !important;
		backface-visibility: visible !important;
	}

	#category-popup .docker-category::-webkit-scrollbar,
	#category-popup-mobile .docker-category::-webkit-scrollbar {
		width: 5px;
	}

	#category-popup .docker-category::-webkit-scrollbar-track,
	#category-popup-mobile .docker-category::-webkit-scrollbar-track {
		background: #eef1f4;
	}

	#category-popup .docker-category::-webkit-scrollbar-thumb,
	#category-popup-mobile .docker-category::-webkit-scrollbar-thumb {
		border-radius: 999px;
		background: var(--sp-primary, #f97316);
	}

	/* The parent gives .docker-right-list its own 100vh scroll box plus a
	 * 100px bottom margin, which pushed the last card rows past the panel so
	 * their links could not be reached. Scrolling now lives on
	 * .docker-category, so this wrapper must be a plain block. */
	#category-popup .docker-category .docker-right-list,
	#category-popup-mobile .docker-category .docker-right-list {
		height: auto !important;
		max-height: none !important;
		margin: 0 !important;
		overflow: visible !important;
	}

	/* Safe first-paint rules for cached legacy markup. The critical bootstrap
	 * replaces this tree with the clean renderer, while these declarations stop
	 * its old nested hit boxes from ever covering the Search form beforehand. */
	#category-popup .docker-category .product-category-menus-list,
	#category-popup-mobile .docker-category .product-category-menus-list,
	#category-popup .docker-category ul.category-menu-wrap,
	#category-popup .docker-category ul.nexcart-category-menu-wrap,
	#category-popup-mobile .docker-category ul.category-menu-wrap,
	#category-popup-mobile .docker-category ul.nexcart-category-menu-wrap {
		position: relative !important;
		inset: auto !important;
		transform: none !important;
		height: auto !important;
		min-height: 0 !important;
		margin: 0 !important;
	}

	#category-popup .docker-category ul.category-menu-wrap,
	#category-popup .docker-category ul.nexcart-category-menu-wrap,
	#category-popup-mobile .docker-category ul.category-menu-wrap,
	#category-popup-mobile .docker-category ul.nexcart-category-menu-wrap {
		display: grid !important;
		grid-template-columns: repeat(3, minmax(0, 1fr));
		align-items: start;
		gap: 15px;
		width: 100%;
		padding: 15px !important;
		list-style: none;
	}

	#category-popup .docker-category ul.category-menu-wrap > li,
	#category-popup .docker-category ul.nexcart-category-menu-wrap > li,
	#category-popup-mobile .docker-category ul.category-menu-wrap > li,
	#category-popup-mobile .docker-category ul.nexcart-category-menu-wrap > li {
		display: flex !important;
		flex-direction: column;
		align-items: stretch;
		min-width: 0;
		margin: 0 !important;
		position: relative !important;
		inset: auto !important;
		height: auto !important;
		max-height: none !important;
		overflow: hidden !important;
	}

	#category-popup .docker-category ul.category-menu-wrap > li > a,
	#category-popup .docker-category ul.nexcart-category-menu-wrap > li > a,
	#category-popup-mobile .docker-category ul.category-menu-wrap > li > a,
	#category-popup-mobile .docker-category ul.nexcart-category-menu-wrap > li > a {
		display: block !important;
		width: 100% !important;
		position: static !important;
		inset: auto !important;
		height: auto !important;
		max-height: none !important;
		pointer-events: auto !important;
	}

	/* The parent floats every submenu at top:0 / left:100% of the panel: an
	 * invisible click surface that landed over the Search row and neighbour
	 * cards. On desktop the submenus stay closed inside these popups, and if
	 * a script opens one it flows in place instead of floating. */
	#category-popup .docker-category .menu-item .dropdown-menu,
	#category-popup-mobile .docker-category .menu-item .dropdown-menu {
		display: none !important;
		position: static !important;
		inset: auto !important;
		width: 100% !important;
		transform: none !important;
	}

	#category-popup .docker-category .menu-item.active > .dropdown-menu,
	#category-popup .docker-category .menu-item.is-open > .dropdown-menu,
	#category-popup-mobile .docker-category .menu-item.active > .dropdown-menu,
	#category-popup-mobile .docker-category .menu-item.is-open > .dropdown-menu {
		display: block !important;
		visibility: visible !important;
		opacity: 1 !important;
	}

	#category-popup .nexcart-desktop-category-browser {
		position: relative;
		width: 100%;
		max-height: none;
		margin: 0 !important;
		overflow: visible;
		isolation: isolate;
	}

	#category-popup .nexcart-desktop-category-grid {
		display: grid !important;
		grid-template-columns: repeat(3, minmax(0, 1fr));
		align-items: start;
		gap: 15px;
		width: 100%;
		margin: 0 !important;
		padding: 15px !important;
		list-style: none;
	}

	#category-popup .nexcart-desktop-category-card {
		display: block !important;
		min-width: 0;
		min-height: 64px;
		margin: 0 !important;
		padding: 0 !important;
		position: relative;
		overflow: hidden !important;
		border-radius: var(--sp-radius, 4px);
		background: #fff;
		box-shadow: var(--sp-shadow, 0 5px 18px rgb(15 23 42 / 10%));
		transition: background-color .2s ease, box-shadow .2s ease, transform .2s ease;
	}

	#category-popup .nexcart-desktop-category-card__link {
		display: flex !important;
		align-items: center;
		justify-content: center;
		flex-direction: column;
		gap: 8px;
		width: 100% !important;
		min-width: 0;
		min-height: 64px;
		padding: 12px 8px !important;
		position: static !important;
		inset: auto !important;
		pointer-events: auto !important;
		cursor: pointer;
		color: var(--sp-black, #111827);
		font-size: 13px;
		font-weight: 650;
		line-height: 1.15;
		text-align: center;
		text-decoration: none !important;
	}

	#category-popup .nexcart-desktop-category-card__image {
		display: flex !important;
		align-items: center;
		justify-content: center;
		width: 86px !important;
		height: 72px !important;
		max-width: 100%;
		margin: 0 auto !important;
		padding: 7px !important;
		pointer-events: none !important;
		color: var(--sp-primary, #f97316);
		border: 1px solid rgb(15 23 42 / 9%) !important;
		border-radius: 10px !important;
		background: #fff !important;
		box-shadow: 0 5px 15px rgb(15 23 42 / 7%);
		object-fit: contain !important;
		object-position: center !important;
	}

	#category-popup .nexcart-desktop-category-card__font-icon {
		font-size: 30px !important;
	}

	#category-popup .nexcart-desktop-category-card__title {
		display: -webkit-box;
		width: 100%;
		min-height: 30px;
		padding: 0;
		overflow: hidden;
		pointer-events: none !important;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 2;
	}

	#category-popup .nexcart-desktop-category-card:hover,
	#category-popup .nexcart-desktop-category-card:focus-within {
		background: var(--sp-primary, #f97316);
		box-shadow: 0 10px 24px rgb(15 23 42 / 16%);
	}

	#category-popup .nexcart-desktop-category-card:hover .nexcart-desktop-category-card__link,
	#category-popup .nexcart-desktop-category-card:focus-within .nexcart-desktop-category-card__link {
		color: #fff;
	}

	#category-popup .nexcart-desktop-category-card__link:focus-visible {
		outline: 3px solid rgb(249 115 22 / 35%);
		outline-offset: -3px;
	}
}

.nexcart-product-category-menus .nexcart-browse-category-children .menu-item {
	display: flex !important;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	width: 100%;
	background: transparent !important;
	box-shadow: none !important;
}

.nexcart-product-category-menus .nexcart-browse-category-children .menu-item > a {
	display: block !important;
	flex: 1 1 auto;
	width: auto !important;
	min-width: 0;
	padding: 8px 6px !important;
	color: #263044 !important;
	border: 0 !important;
	border-bottom: 1px solid rgb(15 23 42 / 7%) !important;
	font-size: 13px !important;
	font-weight: 550 !important;
	line-height: 1.3 !important;
	text-align: left;
}

.nexcart-product-category-menus .nexcart-category-view-all > a {
	color: var(--sp-primary, #f97316) !important;
	font-weight: 700 !important;
}

.nexcart-product-category-menus .nexcart-browse-category-children .nexcart-browse-category-toggle {
	flex: 0 0 22px;
	width: 22px;
	height: 22px;
	margin: 0 5px 0 0;
}

/* Trusted card/payment processor marks. */
.nexcart-footer-payments {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	flex-wrap: wrap;
	gap: 10px;
}

.nexcart-payment-trust-label {
	color: #aab4c4;
	font-size: 12px;
	font-weight: 600;
}

.nexcart-footer-payments .payment_methods {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px;
}

.nexcart-footer-payments .payment_methods li {
	margin: 0 !important;
}

.nexcart-payment-logo {
	display: block;
	width: auto;
	height: 30px;
	border-radius: 5px;
	box-shadow: 0 3px 12px rgb(0 0 0 / 18%);
}

.nexcart-payment-logo-stripe {
	height: 30px;
}


@media (max-width: 991px) {
	.nexcart-product-category-menus .nexcart-category-depth-0 {
		justify-content: flex-start;
		margin-bottom: 10px;
	}

	.nexcart-product-category-menus .nexcart-category-depth-0 > .nexcart-browse-category-link {
		align-items: center;
		flex: 1 1 auto;
		flex-direction: row;
		gap: 10px;
		padding: 7px 9px;
	}

	.nexcart-product-category-menus .nexcart-browse-category-image {
		flex: 0 0 58px;
		width: 58px !important;
		height: 50px !important;
		margin: 0 !important;
		padding: 5px !important;
	}

	.nexcart-product-category-menus .nexcart-browse-category-name {
		min-height: 0;
		font-size: 14px;
		text-align: left;
	}

	.nexcart-product-category-menus .nexcart-category-depth-0 > .nexcart-browse-category-toggle-wrap {
		flex: 0 0 28px;
		width: 28px;
		height: 28px;
		margin: 0 10px 0 0;
		padding: 0 !important;
	}

	.nexcart-product-category-menus .nexcart-category-depth-0 > .nexcart-browse-category-toggle-wrap > .nexcart-browse-category-toggle {
		width: 28px;
		height: 28px;
		margin: 0;
	}
}

@media (max-width: 767px) {
	.nexcart-footer-payments {
		justify-content: center;
	}

	.nexcart-payment-trust-label {
		flex: 1 1 100%;
		text-align: center;
	}
}


/* ================================================================
 * Cart drawer stacking fix
 *
 * Electromix gives the right-side cart a lower z-index than some header
 * layers. The body class is added only while #cart-popup is visible, so the
 * cart drawer and its own overlay sit above search, menus and other popups.
 * ================================================================ */
/* Category popups: while closed (or still finishing the parent's 1.2s close
 * transition) the full-screen fixed layer must never intercept clicks aimed at
 * the header Search underneath. The cart drawer already had this guard; it was
 * lost for the category popups and is restored here. */
#category-popup.docker-widget-popup,
#category-popup-mobile.docker-widget-popup {
	pointer-events: none !important;
}

#category-popup.docker-widget-popup:not(.popup-visible),
#category-popup-mobile.docker-widget-popup:not(.popup-visible) {
	visibility: hidden !important;
	opacity: 0 !important;
	transition-delay: 0s !important;
	transition-duration: .15s !important;
}

#category-popup.docker-widget-popup.popup-visible,
#category-popup-mobile.docker-widget-popup.popup-visible,
#category-popup.docker-widget-popup.popup-visible > .docker-overlay-layer,
#category-popup-mobile.docker-widget-popup.popup-visible > .docker-overlay-layer,
#category-popup.docker-widget-popup.popup-visible .docker-div,
#category-popup-mobile.docker-widget-popup.popup-visible .docker-div,
#category-popup.docker-widget-popup.popup-visible .docker-anim,
#category-popup-mobile.docker-widget-popup.popup-visible .docker-anim,
#category-popup.docker-widget-popup.popup-visible .docker-top,
#category-popup-mobile.docker-widget-popup.popup-visible .docker-top,
#category-popup.docker-widget-popup.popup-visible .docker-category,
#category-popup-mobile.docker-widget-popup.popup-visible .docker-category {
	pointer-events: auto !important;
}

#cart-popup.docker-widget-popup {
	pointer-events: none !important;
}

#cart-popup.docker-widget-popup.popup-visible {
	pointer-events: auto !important;
}

#cart-popup.docker-widget-popup.popup-visible > .docker-overlay-layer,
#cart-popup.docker-widget-popup.popup-visible > .docker-div,
#cart-popup.docker-widget-popup.popup-visible .docker-anim,
#cart-popup.docker-widget-popup.popup-visible .docker-cart,
#cart-popup.docker-widget-popup.popup-visible .cart-container {
	pointer-events: auto !important;
}

/* ModernCart and Electromix both render a full-screen cart drawer. When the
 * plugin exists, JavaScript routes theme cart triggers to it and this legacy
 * layer must not remain as an invisible click-capturing surface. */
body.nexcart-moderncart-active #cart-popup.docker-widget-popup {
	display: none !important;
	visibility: hidden !important;
	opacity: 0 !important;
	pointer-events: none !important;
}

body.nexcart-moderncart-active .moderncart-floating-cart-button,
body.nexcart-moderncart-active #moderncart-slide-out,
body.nexcart-moderncart-active #moderncart-slide-out-modal,
body.nexcart-moderncart-active .moderncart-modal-wrap {
	z-index: 2147483646 !important;
}

body.nexcart-cart-open #cart-popup.docker-widget-popup.popup-visible {
	z-index: 2147483647 !important;
	isolation: isolate;
}

body.nexcart-cart-open #cart-popup.docker-widget-popup.popup-visible > .docker-overlay-layer {
	z-index: 1 !important;
}

body.nexcart-cart-open #cart-popup.docker-widget-popup.popup-visible > .docker-div {
	position: relative;
	z-index: 2 !important;
}

/* The mobile category drawer starts inside #footer-small (z-index: 999).
 * JavaScript moves it to body while preserving all parent-theme listeners;
 * these layers then keep its panel and backdrop above the sticky header. */
body.nexcart-desktop-category-open #category-popup.docker-widget-popup.popup-visible {
	z-index: 2147483647 !important;
	isolation: isolate;
}

body.nexcart-desktop-category-open #category-popup.docker-widget-popup.popup-visible .docker-div {
	position: relative;
	z-index: 2 !important;
}

body.nexcart-desktop-category-open .header-search-bar,
body.nexcart-desktop-category-open .nav-area,
body.nexcart-desktop-category-open .is-sticky-on.sticky-menu {
	z-index: 0 !important;
}

body.nexcart-category-open #category-popup-mobile.docker-widget-popup.popup-visible {
	z-index: 2147483647 !important;
	isolation: isolate;
}

body.nexcart-category-open #category-popup-mobile.docker-widget-popup.popup-visible > .docker-overlay-layer {
	z-index: 1 !important;
}

body.nexcart-category-open #category-popup-mobile.docker-widget-popup.popup-visible > .docker-div {
	position: relative;
	z-index: 2 !important;
}

body.nexcart-category-open .main-mobile-nav,
body.nexcart-category-open .is-sticky-on.sticky-menu {
	z-index: 0 !important;
}


/* ================================================================
 * Primary category links with an automatic More overflow menu
 *
 * Parent product categories are direct links between Shop and Contact. On
 * desktop, JavaScript keeps as many visible as the available header width can
 * hold and moves only the remaining category links into More.
 * ================================================================ */
@media (min-width: 992px) {
	.nav-area .theme-menu,
	.nav-area .main-navbar,
	.nav-area .menubar {
		min-width: 0;
	}

	.nav-area .menubar ul.menu-wrap.nexcart-category-overflow-enabled {
		width: 100%;
		min-width: 0;
		flex-wrap: nowrap;
		column-gap: 8px;
	}

	.nav-area .menu-wrap > .nexcart-top-category-menu-item,
	.nav-area .menu-wrap > .nexcart-category-overflow-menu,
	.nav-area .menu-wrap > .nexcart-contact-menu-item {
		flex: 0 0 auto;
	}

	.nav-area .menu-wrap > .nexcart-top-category-menu-item > a {
		padding-right: 6px !important;
		padding-left: 6px !important;
		white-space: nowrap;
		font-size: 14px;
	}

	.nav-area .menu-wrap > .nexcart-category-overflow-menu {
		position: relative;
	}

	.nav-area .menu-wrap > .nexcart-category-overflow-menu > .nexcart-category-overflow-trigger {
		display: flex;
		align-items: center;
		min-height: 44px;
		padding: 10px 24px 10px 6px !important;
		font-size: 14px;
		font-weight: 600;
		line-height: 1;
		white-space: nowrap;
	}

	.nav-area .menu-wrap > .nexcart-category-overflow-menu > .nexcart-category-overflow-trigger::before {
		content: "" !important;
		position: absolute;
		top: 50%;
		right: 5px;
		bottom: auto;
		display: block;
		width: 12px;
		height: 12px;
		background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23172033' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m4 6 4 4 4-4'/%3E%3C/svg%3E");
		background-repeat: no-repeat;
		background-position: center;
		background-size: 12px 12px;
		transform: translateY(-50%);
	}

	.nav-area .menu-wrap > .nexcart-category-overflow-menu[hidden] {
		display: none !important;
	}

	.navbar-area .menubar .nexcart-category-overflow-dropdown {
		left: auto !important;
		right: 0 !important;
		width: min(290px, 84vw) !important;
		max-height: min(68vh, 560px);
		overflow-x: hidden;
		overflow-y: auto;
		padding: 8px !important;
		border: 1px solid rgb(15 23 42 / 10%) !important;
		border-radius: 10px !important;
		background: #fff !important;
		box-shadow: 0 18px 45px rgb(15 23 42 / 18%) !important;
	}

	.navbar-area .menu-wrap .nexcart-category-overflow-menu.is-open > .nexcart-category-overflow-dropdown {
		opacity: 1 !important;
		visibility: visible !important;
		transform: perspective(600px) rotateX(0deg) !important;
	}

	.menubar .nexcart-category-overflow-dropdown > .nexcart-top-category-menu-item {
		display: block !important;
		width: 100%;
		padding: 0 !important;
		background: transparent !important;
	}

	.menubar .nexcart-category-overflow-dropdown > .nexcart-top-category-menu-item > a {
		display: block !important;
		width: 100%;
		min-height: 40px;
		padding: 10px 11px !important;
		color: #172033 !important;
		border: 0 !important;
		border-bottom: 1px solid rgb(15 23 42 / 8%) !important;
		border-radius: 6px;
		font-size: 14px !important;
		font-weight: 600 !important;
		line-height: 1.3 !important;
		white-space: normal;
	}

	.menubar .nexcart-category-overflow-dropdown > .nexcart-top-category-menu-item > a::before,
	.menubar .nexcart-category-overflow-dropdown > .nexcart-top-category-menu-item > a::after {
		content: none !important;
	}

	.menubar .nexcart-category-overflow-dropdown > .nexcart-top-category-menu-item > a:hover,
	.menubar .nexcart-category-overflow-dropdown > .nexcart-top-category-menu-item > a:focus {
		color: var(--sp-primary, #f97316) !important;
		background: rgb(249 115 22 / 7%) !important;
	}
}

/* ================================================================
 * Three-column product slider heading alignment
 *
 * Electromix allows .heading-default to wrap. A longer middle title can push
 * its navigation buttons onto a second row, which also pushes that column's
 * products lower than the other two. Reserve a fixed navigation lane so every
 * heading and product list starts on the same baseline.
 * ================================================================ */
@media (min-width: 992px) {
	#product-slider .heading-default,
	#product-slider-two .heading-default,
	#product-slider-three .heading-default {
		position: relative;
		display: block;
		min-height: 52px;
		padding-right: 100px;
	}

	#product-slider .heading-default .title-container,
	#product-slider-two .heading-default .title-container,
	#product-slider-three .heading-default .title-container {
		display: inline-grid;
		max-width: 100%;
		min-width: 0;
		margin-right: 0;
		vertical-align: top;
	}

	#product-slider .heading-default .title-container .main-title,
	#product-slider-two .heading-default .title-container .main-title,
	#product-slider-three .heading-default .title-container .main-title {
		min-width: 0;
	}

	#product-slider .heading-default .title-container .main-title h2,
	#product-slider-two .heading-default .title-container .main-title h2,
	#product-slider-three .heading-default .title-container .main-title h2 {
		min-width: 0;
		font-size: clamp(15px, 1.3vw, 20px);
		line-height: 1.2;
		white-space: nowrap;
	}

	#product-slider .heading-default .custom-owl-nav,
	#product-slider-two .heading-default .custom-owl-nav,
	#product-slider-three .heading-default .custom-owl-nav {
		position: absolute;
		top: 0;
		right: 0;
		display: flex;
		align-items: center;
		gap: 5px;
		margin: 0;
	}

	#product-slider .heading-default .custom-owl-nav button,
	#product-slider-two .heading-default .custom-owl-nav button,
	#product-slider-three .heading-default .custom-owl-nav button {
		margin: 0;
	}
}

@media (min-width: 992px) and (max-width: 1199px) {
	#product-slider .heading-default,
	#product-slider-two .heading-default,
	#product-slider-three .heading-default {
		padding-right: 82px;
	}

	#product-slider .heading-default .custom-owl-nav button,
	#product-slider-two .heading-default .custom-owl-nav button,
	#product-slider-three .heading-default .custom-owl-nav button {
		width: 36px;
	}

	#product-slider .heading-default .title-container .main-title > i,
	#product-slider-two .heading-default .title-container .main-title > i,
	#product-slider-three .heading-default .title-container .main-title > i,
	#product-slider .heading-default .nexcart-heading-icon,
	#product-slider-two .heading-default .nexcart-heading-icon,
	#product-slider-three .heading-default .nexcart-heading-icon {
		flex-basis: 42px;
		width: 42px;
		margin-right: 4px;
	}
}

/* Dynamic product columns added in v1.8.9. */
.nexcart-dynamic-product-section .nexcart-dynamic-products-empty {
	margin: 0;
	padding: 18px;
	border: 1px dashed rgb(15 23 42 / 18%);
	border-radius: 6px;
	background: #fff;
	font-size: 14px;
}

.nexcart-dynamic-product-section .nexcart-heading-icon {
	width: 22px;
	height: 22px;
}

/* ================================================================
 * v1.9.3 — Scoped, equal product cards and media frames
 * ================================================================
 *
 * Do not apply one global image rule to every Electromix layout. The theme
 * uses four different card structures on the homepage, so each structure is
 * normalized independently below. This keeps automatic WooCommerce content
 * flexible while preventing tall images, long titles and variation buttons
 * from stretching only one card.
 */

/* Shared safeguards for every homepage product image. */
.home .product-section .product-img,
.home #category-two .product-img {
	box-sizing: border-box;
}

.home .product-section .product-img > a,
.home #category-two .product-img > a {
	min-width: 0;
}

.home .product-section .product-img > a > img,
.home #category-two .product-img > a > img {
	display: block;
	max-width: 100% !important;
	max-height: 100% !important;
	margin: 0 auto !important;
	object-position: center !important;
}

/* ----------------------------------------------------------------
 * Automatic category columns 1–3 — compact horizontal cards
 * ---------------------------------------------------------------- */
#product-slider .products-list-slider > li.product {
	display: block;
	height: 168px;
	margin: 0 !important;
	padding: 6px;
	box-sizing: border-box;
}

#product-slider .products-list-slider > li.product > .product {
	width: 100%;
	height: 100%;
	margin: 0;
	overflow: hidden;
}

#product-slider .products-list-slider > li.product .product-single {
	display: grid !important;
	grid-template-columns: 124px minmax(0, 1fr);
	align-items: stretch;
	width: 100% !important;
	height: 100%;
	min-height: 0;
}

#product-slider .products-list-slider > li.product .product-img {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 124px !important;
	min-width: 124px;
	height: 100% !important;
	padding: 10px;
	overflow: hidden;
	border-right: 1px solid var(--sp-border-dark);
	border-bottom: 0;
	background: #fff;
}

#product-slider .products-list-slider > li.product .product-img > a:first-child {
	display: flex !important;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	aspect-ratio: auto !important;
	overflow: hidden;
}

#product-slider .products-list-slider > li.product .product-img > a:first-child > img {
	width: 100% !important;
	height: 100% !important;
	padding: 0 !important;
	object-fit: contain !important;
}

/* Galleries are useful on a product page, but they make these narrow rail
 * cards uneven. The product page still retains the complete gallery. */
#product-slider .products-list-slider > li.product .thumbnails {
	display: none !important;
}

#product-slider .products-list-slider > li.product .product-content-outer {
	display: flex !important;
	flex-direction: column;
	justify-content: center;
	min-width: 0;
	height: 100%;
}

#product-slider .products-list-slider > li.product .product-content {
	padding: 12px 14px 6px;
	min-width: 0;
}

#product-slider .products-list-slider > li.product .product-content h3 {
	min-height: 2.6em;
	margin: 0 0 5px;
	font-size: 16px;
	line-height: 1.3;
}

#product-slider .products-list-slider > li.product .product-content h3 a {
	display: -webkit-box;
	overflow: hidden;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow-wrap: anywhere;
}

#product-slider .products-list-slider > li.product .price {
	min-height: 24px;
	margin: 0;
	font-size: 16px;
	line-height: 1.35;
}

#product-slider .products-list-slider > li.product .product-action {
	margin-top: auto;
	padding: 5px 14px 12px;
	gap: 6px;
	border-top: 0;
	flex-wrap: nowrap;
}

#product-slider .products-list-slider > li.product .home-single-fields {
	min-width: 0;
}

#product-slider .products-list-slider > li.product .product-action .button,
#product-slider .products-list-slider > li.product .product-action .added_to_cart {
	max-width: 100%;
	min-height: 38px;
	padding-top: 6px;
	padding-bottom: 6px;
	padding-right: 12px;
	font-size: 14px;
	line-height: 1.15;
	white-space: nowrap;
}

/* Compact rails do not have room for separate wishlist/compare circles. */
#product-slider .products-list-slider > li.product .product-action > .yith-wcwl-add-to-wishlist,
#product-slider .products-list-slider > li.product .product-action > .compare-btn,
#product-slider .products-list-slider > li.product .product-action > .woo_btns {
	display: none !important;
}

/* ----------------------------------------------------------------
 * Automatic category columns 4–6 — three equal list rows
 * ---------------------------------------------------------------- */
#product-slider-two .products-list-slider > li.product {
	height: 122px;
	margin: 0 0 14px !important;
	box-sizing: border-box;
}

#product-slider-two .products-list-slider > li.product > .product,
#product-slider-two .products-list-slider > li.product .product-single {
	width: 100%;
	height: 100%;
}

#product-slider-two .products-list-slider > li.product .product-single {
	display: grid !important;
	grid-template-columns: 108px minmax(0, 1fr);
	align-items: stretch;
}

#product-slider-two .products-list-slider > li.product .product-img {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 108px !important;
	min-width: 108px;
	height: 100% !important;
	padding: 9px;
	overflow: hidden;
	border-right: 1px solid var(--sp-border-dark);
	border-bottom: 0;
	background: #fff;
}

#product-slider-two .products-list-slider > li.product .product-img > a {
	display: flex !important;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	aspect-ratio: auto !important;
}

#product-slider-two .products-list-slider > li.product .product-img img {
	width: 100% !important;
	height: 100% !important;
	object-fit: contain !important;
}

#product-slider-two .products-list-slider > li.product .product-content-outer {
	display: flex !important;
	align-items: center;
	min-width: 0;
	height: 100%;
}

#product-slider-two .products-list-slider > li.product .product-content {
	width: 100%;
	padding: 10px 14px;
}

#product-slider-two .products-list-slider > li.product h3 {
	min-height: 2.6em;
	margin: 0 0 5px;
	line-height: 1.3;
}

#product-slider-two .products-list-slider > li.product h3 a {
	display: -webkit-box;
	overflow: hidden;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow-wrap: anywhere;
}

/* ----------------------------------------------------------------
 * Category product matrix — equal cells, equal media and bottom buttons
 * ---------------------------------------------------------------- */
#category-two ul.products > li.product {
	display: flex;
	align-self: stretch;
}

#category-two ul.products > li.product > .product {
	width: 100%;
	height: 100%;
	min-height: 360px;
	margin: 0;
}

#category-two ul.products > li.product .product-single {
	display: flex !important;
	flex-direction: column;
	width: 100%;
	height: 100%;
}

#category-two ul.products > li.product .product-img {
	display: flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 160px;
	width: 100%;
	height: 160px !important;
	padding: 12px;
	overflow: hidden;
	border-bottom: 0;
	background: #fff;
}

#category-two ul.products > li.product .product-img > a {
	display: flex !important;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	aspect-ratio: auto !important;
}

#category-two ul.products > li.product .product-img > a > img {
	width: 100% !important;
	height: 100% !important;
	object-fit: contain !important;
}

#category-two ul.products > li.product .product-content-outer {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	min-width: 0;
}

#category-two ul.products > li.product .product-content {
	padding: 8px 10px 4px;
	text-align: center;
}

#category-two ul.products > li.product .product-content h3 {
	min-height: 2.7em;
	margin: 0 0 7px;
	font-size: 16px;
	line-height: 1.35;
}

#category-two ul.products > li.product .product-content h3 a {
	display: -webkit-box;
	overflow: hidden;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow-wrap: anywhere;
}

#category-two ul.products > li.product .start-price {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	gap: 2px 4px;
	min-height: 48px;
	line-height: 1.35;
}

#category-two ul.products > li.product .product-action {
	margin-top: auto;
	margin-bottom: 0;
	padding: 8px 8px 16px;
}

#category-two ul.products > li.product .product-action .btn {
	white-space: nowrap;
}

/* ----------------------------------------------------------------
 * Featured Deals and Recommended Technology — equal carousel cards
 * ---------------------------------------------------------------- */
#flash-product .products-slider .owl-stage,
#filter-product-two .products-slider .owl-stage {
	display: flex;
	align-items: stretch;
}

#flash-product .products-slider .owl-item,
#filter-product-two .products-slider .owl-item {
	display: flex;
	height: auto;
}

#flash-product .products-slider .owl-item > li.product,
#filter-product-two .products-slider .owl-item > li.product {
	display: flex;
	width: 100%;
	height: 100%;
}

#flash-product .products-slider li.product > .product,
#filter-product-two .products-slider li.product > .product {
	width: 100%;
	height: 100%;
	margin: 6px;
}

#flash-product .products-slider li.product .product-single,
#filter-product-two .products-slider li.product .product-single {
	display: flex !important;
	flex-direction: column;
	width: 100% !important;
	height: 100%;
	min-height: 500px;
}

#flash-product .products-slider li.product .product-img,
#filter-product-two .products-slider li.product .product-img {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 300px;
	width: 100% !important;
	height: 300px !important;
	padding: 15px;
	overflow: hidden;
	border-bottom: 1px solid var(--sp-border-dark);
	background: #fff;
}

#flash-product .products-slider li.product .product-img > a:first-child,
#filter-product-two .products-slider li.product .product-img > a:first-child {
	display: flex !important;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	aspect-ratio: auto !important;
	overflow: hidden;
}

#flash-product .products-slider li.product .product-img > a:first-child > img,
#filter-product-two .products-slider li.product .product-img > a:first-child > img {
	width: 100% !important;
	height: 100% !important;
	padding: 0 !important;
	object-fit: contain !important;
}

/* Remove the mini-gallery only from homepage carousel cards. */
#flash-product .products-slider li.product .thumbnails,
#filter-product-two .products-slider li.product .thumbnails {
	display: none !important;
}

#flash-product .products-slider li.product .product-content-outer,
#filter-product-two .products-slider li.product .product-content-outer {
	display: flex !important;
	flex: 1 1 auto;
	flex-direction: column;
	min-width: 0;
}

#flash-product .products-slider li.product .product-content,
#filter-product-two .products-slider li.product .product-content {
	padding: 14px 16px 8px;
}

#flash-product .products-slider li.product .product-content h3,
#filter-product-two .products-slider li.product .product-content h3 {
	min-height: 2.7em;
	margin: 0 0 8px;
	font-size: 16px;
	line-height: 1.35;
}

#flash-product .products-slider li.product .product-content h3 a,
#filter-product-two .products-slider li.product .product-content h3 a {
	display: -webkit-box;
	overflow: hidden;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow-wrap: anywhere;
}

#flash-product .products-slider li.product .price,
#filter-product-two .products-slider li.product .price {
	min-height: 27px;
	margin: 0;
	line-height: 1.35;
}

#flash-product .products-slider li.product .product-action,
#filter-product-two .products-slider li.product .product-action {
	margin-top: auto;
	padding: 10px 16px 14px;
}

#flash-product .products-slider li.product .product-action > .yith-wcwl-add-to-wishlist,
#flash-product .products-slider li.product .product-action > .compare-btn,
#flash-product .products-slider li.product .product-action > .woo_btns,
#filter-product-two .products-slider li.product .product-action > .yith-wcwl-add-to-wishlist,
#filter-product-two .products-slider li.product .product-action > .compare-btn,
#filter-product-two .products-slider li.product .product-action > .woo_btns {
	display: none !important;
}

/* ----------------------------------------------------------------
 * Combined latest-products grid — consistent media, text and actions
 * ---------------------------------------------------------------- */
#filter-product-one .nexcart-home-products-grid .product-img {
	padding: 12px;
}

#filter-product-one .nexcart-home-products-grid .product-img > a {
	height: 245px;
	aspect-ratio: auto !important;
	overflow: hidden;
}

#filter-product-one .nexcart-home-products-grid .product-img > a > img {
	width: 100% !important;
	height: 100% !important;
	object-fit: contain !important;
}

#filter-product-one .nexcart-home-products-grid .product-content h3 {
	min-height: 2.8em;
}

#filter-product-one .nexcart-home-products-grid .product-content h3 a {
	display: -webkit-box;
	overflow: hidden;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow-wrap: anywhere;
}

#filter-product-one .nexcart-home-products-grid .price {
	min-height: 28px;
}

/* ----------------------------------------------------------------
 * Automatic promotional banners — stable image frames, no cropping
 * ---------------------------------------------------------------- */
#slider .banner-item,
#banner-one .banner-item,
#banner-two .banner-item,
#banner-three .banner-item,
#banner-four .banner-item,
#banner-five .banner-item,
#banner-full .banner-item {
	overflow: hidden;
}

#slider .banner-img,
#banner-one .banner-img,
#banner-two .banner-img,
#banner-three .banner-img,
#banner-four .banner-img,
#banner-five .banner-img,
#banner-full .banner-img {
	display: flex !important;
	align-items: center;
	justify-content: center;
	min-width: 0;
	overflow: hidden;
}

#slider .banner-img img,
#banner-one .banner-img img,
#banner-two .banner-img img,
#banner-three .banner-img img,
#banner-four .banner-img img,
#banner-five .banner-img img,
#banner-full .banner-img img {
	display: block;
	width: 100% !important;
	height: 100% !important;
	margin: 0 auto;
	padding: 8px;
	object-fit: contain !important;
	object-position: center !important;
}

#slider .main-slider .banner-img {
	flex: 0 1 46%;
	height: 330px;
}

#slider > .container > .row > .col-lg-4 .banner-item .banner-img {
	flex: 0 0 46%;
	height: 170px;
}

#slider > .container > .row > .col-12:last-child .banner-item .banner-img {
	height: 175px;
}

#banner-one .banner-item,
#banner-four .banner-item {
	min-height: 220px;
}

#banner-one .banner-img,
#banner-four .banner-img {
	flex: 0 0 44%;
	height: 190px;
}

#banner-two .banner-item,
#banner-three .banner-item {
	min-height: 255px;
}

#banner-two .banner-img,
#banner-three .banner-img {
	flex: 0 0 48%;
	height: 220px;
}

#banner-full .banner-item {
	min-height: 270px;
}

#banner-full .banner-img {
	flex: 0 0 28%;
	height: 240px;
}

#banner-five .big-banner {
	min-height: 420px;
}

#banner-five .big-banner .banner-img {
	height: 360px;
}

#banner-five .col-lg-5 .banner-item {
	min-height: 198px;
}

#banner-five .col-lg-5 .banner-img {
	flex: 0 0 43%;
	height: 170px;
}

#banner-one .banner-item .title,
#banner-two .banner-item .title,
#banner-three .banner-item .title,
#banner-four .banner-item .title,
#banner-five .banner-item .title {
	display: -webkit-box;
	overflow: hidden;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	min-height: 2.45em;
}

.home .banner-item .nexcart-product-banner-title-link,
.home #banner-five .banner-item .title a {
	color: inherit;
	text-decoration: none;
}

.home .banner-item .nexcart-product-banner-title-link:hover,
.home .banner-item .nexcart-product-banner-title-link:focus-visible,
.home #banner-five .banner-item .title a:hover,
.home #banner-five .banner-item .title a:focus-visible {
	color: var(--sp-primary);
	text-decoration: underline;
	text-underline-offset: 3px;
}

.home .banner-item .nexcart-product-banner-image-link {
	display: block;
	width: 100%;
	height: 100%;
	color: inherit;
	border-radius: inherit;
	text-decoration: none;
	cursor: pointer;
}

.home .banner-item .nexcart-product-banner-image-link img,
.home .banner-item .nexcart-product-banner-image-link picture {
	display: block;
	width: 100%;
	height: 100%;
}

.home .banner-item .nexcart-product-banner-image-link:focus-visible {
	outline: 3px solid var(--sp-primary, #f97316);
	outline-offset: 3px;
}

/* ----------------------------------------------------------------
 * Responsive dimensions
 * ---------------------------------------------------------------- */
@media (max-width: 1199px) {
	#product-slider .products-list-slider > li.product .product-single {
		grid-template-columns: 108px minmax(0, 1fr);
	}

	#product-slider .products-list-slider > li.product .product-img {
		width: 108px !important;
		min-width: 108px;
	}

	#product-slider .products-list-slider > li.product .product-content {
		padding-right: 10px;
		padding-left: 10px;
	}

	#product-slider .products-list-slider > li.product .product-action {
		padding-right: 10px;
		padding-left: 10px;
	}

	#flash-product .products-slider li.product .product-img,
	#filter-product-two .products-slider li.product .product-img {
		flex-basis: 260px;
		height: 260px !important;
	}

	#flash-product .products-slider li.product .product-single,
	#filter-product-two .products-slider li.product .product-single {
		min-height: 460px;
	}
}

@media (max-width: 991px) {
	#product-slider .products-list-slider > li.product {
		height: 156px;
	}

	#product-slider .products-list-slider > li.product .product-single {
		grid-template-columns: 112px minmax(0, 1fr);
	}

	#product-slider .products-list-slider > li.product .product-img {
		width: 112px !important;
		min-width: 112px;
	}

	#category-two ul.products > li.product > .product {
		min-height: 340px;
	}

	#category-two ul.products > li.product .product-img {
		flex-basis: 145px;
		height: 145px !important;
	}

	#filter-product-one .nexcart-home-products-grid .product-img > a {
		height: 215px;
	}

	#slider .main-slider .banner-img,
	#slider > .container > .row > .col-lg-4 .banner-item .banner-img,
	#slider > .container > .row > .col-12:last-child .banner-item .banner-img,
	#banner-one .banner-img,
	#banner-two .banner-img,
	#banner-three .banner-img,
	#banner-four .banner-img,
	#banner-five .big-banner .banner-img,
	#banner-five .col-lg-5 .banner-img,
	#banner-full .banner-img {
		height: 220px;
	}
}

@media (max-width: 767px) {
	#category-two ul.products > li.product > .product {
		min-height: 320px;
	}

	#category-two ul.products > li.product .product-img {
		flex-basis: 132px;
		height: 132px !important;
	}

	#category-two ul.products > li.product .product-content h3 {
		font-size: 14px;
	}

	#flash-product .products-slider li.product .product-img,
	#filter-product-two .products-slider li.product .product-img {
		flex-basis: 240px;
		height: 240px !important;
	}

	#flash-product .products-slider li.product .product-single,
	#filter-product-two .products-slider li.product .product-single {
		min-height: 430px;
	}

	#filter-product-one .nexcart-home-products-grid .product-img > a {
		height: 185px;
	}
}

@media (max-width: 575px) {
	#product-slider .products-list-slider > li.product {
		height: 148px;
	}

	#product-slider .products-list-slider > li.product .product-single {
		grid-template-columns: 96px minmax(0, 1fr);
	}

	#product-slider .products-list-slider > li.product .product-img {
		width: 96px !important;
		min-width: 96px;
		padding: 7px;
	}

	#product-slider .products-list-slider > li.product .product-content h3 {
		font-size: 14px;
	}

	#product-slider .products-list-slider > li.product .product-action .button,
	#product-slider .products-list-slider > li.product .product-action .added_to_cart {
		font-size: 12px;
	}

	#product-slider-two .products-list-slider > li.product {
		height: 108px;
	}

	#product-slider-two .products-list-slider > li.product .product-single {
		grid-template-columns: 92px minmax(0, 1fr);
	}

	#product-slider-two .products-list-slider > li.product .product-img {
		width: 92px !important;
		min-width: 92px;
	}

	#category-two ul.products > li.product > .product {
		min-height: 305px;
	}

	#category-two ul.products > li.product .product-img {
		flex-basis: 120px;
		height: 120px !important;
		padding: 8px;
	}

	#category-two ul.products > li.product .start-price {
		min-height: 43px;
		font-size: 13px;
	}

	#category-two ul.products > li.product .product-action .btn {
		font-size: 12px;
	}

	#flash-product .products-slider li.product .product-img,
	#filter-product-two .products-slider li.product .product-img {
		flex-basis: 220px;
		height: 220px !important;
	}

	#flash-product .products-slider li.product .product-single,
	#filter-product-two .products-slider li.product .product-single {
		min-height: 405px;
	}

	#filter-product-one .nexcart-home-products-grid .product-img > a {
		height: 160px;
	}

	#slider .banner-img,
	#banner-one .banner-img,
	#banner-two .banner-img,
	#banner-three .banner-img,
	#banner-four .banner-img,
	#banner-five .banner-img,
	#banner-full .banner-img {
		height: 180px !important;
	}
}


/* ================================================================
 * v1.9.4 — one automatic category section + universal empty states
 * ================================================================ */

/* The first repeated Best Sellers / Top Rated / Latest Products block is
 * intentionally removed. This safety rule also covers stale page caches. */
.home #product-slider {
	display: none !important;
}

.nexcart-products-empty-state,
.nexcart-generated-empty-state {
	box-sizing: border-box;
	width: 100%;
	min-height: 220px;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 18px;
	padding: 30px;
	border: 1px dashed rgb(15 24 39 / 22%);
	border-radius: 10px;
	background:
		linear-gradient(135deg, rgb(255 107 11 / 4%), transparent 55%),
		#fff;
	box-shadow: 0 8px 24px rgb(15 24 39 / 5%);
	text-align: left;
}

#product-slider-two .nexcart-products-empty-state {
	min-height: 411px;
}

.nexcart-products-empty-state__icon,
.nexcart-generated-empty-state__icon {
	width: 70px;
	height: 70px;
	flex: 0 0 70px;
	display: grid;
	place-items: center;
	border-radius: 50%;
	background: rgb(255 107 11 / 10%);
	color: #ff6b0b;
}

.nexcart-products-empty-state__svg,
.nexcart-generated-empty-state__icon svg {
	width: 34px;
	height: 34px;
}

.nexcart-products-empty-state__content,
.nexcart-generated-empty-state__content {
	min-width: 0;
	max-width: 390px;
}

.nexcart-products-empty-state__content strong,
.nexcart-generated-empty-state__content strong {
	display: block;
	margin: 0 0 7px;
	color: #101827;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.3;
}

.nexcart-products-empty-state__content p,
.nexcart-generated-empty-state__content p {
	margin: 0 0 7px;
	color: #4e5666;
	font-size: 14px;
	line-height: 1.55;
}

.nexcart-products-empty-state__content small,
.nexcart-generated-empty-state__content small {
	display: block;
	color: #737b89;
	font-size: 12px;
	line-height: 1.45;
}

/* Empty category-backed slider/banner positions are rendered with a dedicated
 * placeholder image and then marked by JavaScript for consistent styling. */
.nexcart-empty-promotion {
	box-sizing: border-box;
	border: 1px dashed rgb(15 24 39 / 22%) !important;
	background:
		linear-gradient(135deg, rgb(255 107 11 / 5%), transparent 58%),
		#fff !important;
	box-shadow: none !important;
}

.nexcart-empty-promotion .banner-content {
	position: relative;
	z-index: 2;
}

.nexcart-empty-promotion .offer-badge {
	background: rgb(255 107 11 / 10%) !important;
	color: #ff6b0b !important;
}

.nexcart-empty-promotion .title,
.nexcart-empty-promotion h1,
.nexcart-empty-promotion h2,
.nexcart-empty-promotion h4 {
	color: #101827 !important;
}

.nexcart-empty-promotion .subtitle,
.nexcart-empty-promotion .features-list,
.nexcart-empty-promotion .text,
.nexcart-empty-promotion p {
	color: #4e5666 !important;
}

.nexcart-empty-promotion .banner-img {
	display: flex !important;
	align-items: center;
	justify-content: center;
	min-width: 120px;
}

.nexcart-empty-promotion .banner-img img,
.nexcart-empty-promotion img[src*="nexcart-no-products.svg"] {
	width: 130px !important;
	height: 130px !important;
	max-width: 40vw !important;
	object-fit: contain !important;
	opacity: .92;
}

.nexcart-empty-promotion .btn,
.nexcart-empty-promotion .price,
.nexcart-empty-promotion .price-box .price,
.nexcart-empty-promotion .start-price:empty,
#banner-full .btn:empty {
	display: none !important;
}

#banner-full .nexcart-empty-promotion .price-box {
	justify-content: center;
}

#banner-full .nexcart-empty-promotion .price-box > .text {
	max-width: 340px;
	text-align: center;
}

@media (max-width: 991px) {
	#product-slider-two .nexcart-products-empty-state {
		min-height: 260px;
	}

	.nexcart-products-empty-state,
	.nexcart-generated-empty-state {
		min-height: 200px;
		padding: 24px;
	}
}

@media (max-width: 575px) {
	.nexcart-products-empty-state,
	.nexcart-generated-empty-state {
		min-height: 190px;
		align-items: center;
		flex-direction: column;
		gap: 13px;
		padding: 22px 18px;
		text-align: center;
	}

	.nexcart-products-empty-state__icon,
	.nexcart-generated-empty-state__icon {
		width: 58px;
		height: 58px;
		flex-basis: 58px;
	}

	.nexcart-products-empty-state__svg,
	.nexcart-generated-empty-state__icon svg {
		width: 29px;
		height: 29px;
	}

	.nexcart-empty-promotion .banner-img img,
	.nexcart-empty-promotion img[src*="nexcart-no-products.svg"] {
		width: 100px !important;
		height: 100px !important;
	}
}


/* ================================================================
 * v1.11.1 — balanced automatic-promotion empty states
 * ================================================================ */

/* CSS-only fallback for delayed/blocked JavaScript. Modern browsers can detect
 * the server-rendered placeholder directly, so the image can never detach from
 * its banner while the optimizer is still releasing scripts. */
.home #slider .banner-item:has(img[src*="nexcart-no-products.svg"]),
.home #banner-one .banner-item:has(img[src*="nexcart-no-products.svg"]),
.home #banner-two .banner-item:has(img[src*="nexcart-no-products.svg"]),
.home #banner-three .banner-item:has(img[src*="nexcart-no-products.svg"]),
.home #banner-four .banner-item:has(img[src*="nexcart-no-products.svg"]),
.home #banner-five .banner-item:has(img[src*="nexcart-no-products.svg"]) {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) 138px;
	align-items: center !important;
	gap: 22px;
	min-width: 0;
	padding: 24px !important;
	border: 1px dashed rgb(15 24 39 / 20%) !important;
	border-radius: 12px !important;
	background: linear-gradient(135deg, rgb(255 107 11 / 7%), transparent 62%), #fff !important;
	box-shadow: none !important;
	overflow: hidden !important;
}

.home #slider .banner-item:has(img[src*="nexcart-no-products.svg"]) .banner-content,
.home #banner-one .banner-item:has(img[src*="nexcart-no-products.svg"]) .banner-content,
.home #banner-two .banner-item:has(img[src*="nexcart-no-products.svg"]) .banner-content,
.home #banner-three .banner-item:has(img[src*="nexcart-no-products.svg"]) .banner-content,
.home #banner-four .banner-item:has(img[src*="nexcart-no-products.svg"]) .banner-content,
.home #banner-five .banner-item:has(img[src*="nexcart-no-products.svg"]) .banner-content {
	position: relative !important;
	inset: auto !important;
	order: 1;
	width: auto !important;
	min-width: 0;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
	transform: none !important;
}

.home #slider .banner-item:has(img[src*="nexcart-no-products.svg"]) .banner-img,
.home #banner-one .banner-item:has(img[src*="nexcart-no-products.svg"]) .banner-img,
.home #banner-two .banner-item:has(img[src*="nexcart-no-products.svg"]) .banner-img,
.home #banner-three .banner-item:has(img[src*="nexcart-no-products.svg"]) .banner-img,
.home #banner-four .banner-item:has(img[src*="nexcart-no-products.svg"]) .banner-img,
.home #banner-five .banner-item:has(img[src*="nexcart-no-products.svg"]) .banner-img {
	position: relative !important;
	inset: auto !important;
	order: 2;
	width: 138px !important;
	height: 138px !important;
	min-width: 138px !important;
	max-width: 138px !important;
	margin: 0 !important;
	padding: 12px !important;
	border-radius: 18px;
	background: #f6f8fb !important;
	transform: none !important;
}

.home #slider .banner-item:has(img[src*="nexcart-no-products.svg"]) .banner-img img,
.home #banner-one .banner-item:has(img[src*="nexcart-no-products.svg"]) .banner-img img,
.home #banner-two .banner-item:has(img[src*="nexcart-no-products.svg"]) .banner-img img,
.home #banner-three .banner-item:has(img[src*="nexcart-no-products.svg"]) .banner-img img,
.home #banner-four .banner-item:has(img[src*="nexcart-no-products.svg"]) .banner-img img,
.home #banner-five .banner-item:has(img[src*="nexcart-no-products.svg"]) .banner-img img {
	position: static !important;
	width: 110px !important;
	height: 110px !important;
	margin: auto !important;
	padding: 0 !important;
	object-fit: contain !important;
	transform: none !important;
}

.home #banner-full .banner-item:has(img[src*="nexcart-no-products.svg"]) {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) 170px minmax(0, 1fr);
	align-items: center !important;
	gap: 30px;
	min-height: 260px;
	padding: 30px 36px !important;
	border: 1px dashed rgb(255 255 255 / 24%) !important;
	border-radius: 12px !important;
	background: radial-gradient(circle at 50% 50%, rgb(255 107 11 / 10%), transparent 34%), #182233 !important;
	box-shadow: none !important;
	overflow: hidden !important;
}

.home #banner-full .banner-item:has(img[src*="nexcart-no-products.svg"]) .banner-content,
.home #banner-full .banner-item:has(img[src*="nexcart-no-products.svg"]) .price-box,
.home #banner-full .banner-item:has(img[src*="nexcart-no-products.svg"]) .banner-img {
	position: relative !important;
	inset: auto !important;
	margin: 0 !important;
	transform: none !important;
}

.home #banner-full .banner-item:has(img[src*="nexcart-no-products.svg"]) .banner-img {
	width: 170px !important;
	height: 170px !important;
	min-width: 170px !important;
	padding: 16px !important;
	border-radius: 22px;
	background: #f6f8fb !important;
}

/* Accessibility text must stay available to assistive technology without
 * appearing as duplicate product names, price ranges or slide announcements. */
.home .screen-reader-text:not(:focus),
.home .tns-visually-hidden:not(:focus) {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	margin: -1px !important;
	padding: 0 !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	clip-path: inset(50%) !important;
	border: 0 !important;
	white-space: nowrap !important;
}

@media (max-width: 575px) {
	.home #slider .banner-item:has(img[src*="nexcart-no-products.svg"]),
	.home #banner-one .banner-item:has(img[src*="nexcart-no-products.svg"]),
	.home #banner-two .banner-item:has(img[src*="nexcart-no-products.svg"]),
	.home #banner-three .banner-item:has(img[src*="nexcart-no-products.svg"]),
	.home #banner-four .banner-item:has(img[src*="nexcart-no-products.svg"]),
	.home #banner-five .banner-item:has(img[src*="nexcart-no-products.svg"]),
	.home #banner-full .banner-item:has(img[src*="nexcart-no-products.svg"]) {
		grid-template-columns: minmax(0, 1fr) !important;
		justify-items: center;
		gap: 16px;
		padding: 22px 18px !important;
		text-align: center;
	}

	.home .banner-item:has(img[src*="nexcart-no-products.svg"]) .banner-content,
	.home .banner-item:has(img[src*="nexcart-no-products.svg"]) .banner-img,
	.home .banner-item:has(img[src*="nexcart-no-products.svg"]) .price-box {
		grid-column: 1;
		grid-row: auto;
		text-align: center;
	}
}

/* Parent banner templates use several absolute-positioned layouts. Empty
 * promotions need a predictable two-column surface so their message and
 * placeholder remain together at every breakpoint. */
.home #slider .banner-item.nexcart-empty-promotion,
.home #banner-one .banner-item.nexcart-empty-promotion,
.home #banner-two .banner-item.nexcart-empty-promotion,
.home #banner-three .banner-item.nexcart-empty-promotion,
.home #banner-four .banner-item.nexcart-empty-promotion,
.home #banner-five .banner-item.nexcart-empty-promotion {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) 138px;
	align-items: center !important;
	gap: 22px;
	min-width: 0;
	padding: 24px !important;
	border: 1px dashed rgb(15 24 39 / 20%) !important;
	border-radius: 12px !important;
	background:
		linear-gradient(135deg, rgb(255 107 11 / 7%), transparent 62%),
		#fff !important;
	box-shadow: none !important;
	color: #101827 !important;
	overflow: hidden !important;
}

.home #slider .banner-item.nexcart-empty-promotion .banner-content,
.home #banner-one .banner-item.nexcart-empty-promotion .banner-content,
.home #banner-two .banner-item.nexcart-empty-promotion .banner-content,
.home #banner-three .banner-item.nexcart-empty-promotion .banner-content,
.home #banner-four .banner-item.nexcart-empty-promotion .banner-content,
.home #banner-five .banner-item.nexcart-empty-promotion .banner-content {
	position: relative !important;
	top: auto !important;
	right: auto !important;
	bottom: auto !important;
	left: auto !important;
	order: 1;
	width: auto !important;
	min-width: 0;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
	transform: none !important;
	text-align: left;
}

.home #slider .banner-item.nexcart-empty-promotion .banner-img,
.home #banner-one .banner-item.nexcart-empty-promotion .banner-img,
.home #banner-two .banner-item.nexcart-empty-promotion .banner-img,
.home #banner-three .banner-item.nexcart-empty-promotion .banner-img,
.home #banner-four .banner-item.nexcart-empty-promotion .banner-img,
.home #banner-five .banner-item.nexcart-empty-promotion .banner-img {
	position: relative !important;
	top: auto !important;
	right: auto !important;
	bottom: auto !important;
	left: auto !important;
	order: 2;
	width: 138px !important;
	height: 138px !important;
	min-width: 138px !important;
	max-width: 138px !important;
	margin: 0 !important;
	padding: 12px !important;
	border-radius: 18px;
	background: #f6f8fb !important;
	transform: none !important;
}

.home #slider .banner-item.nexcart-empty-promotion .banner-img img,
.home #banner-one .banner-item.nexcart-empty-promotion .banner-img img,
.home #banner-two .banner-item.nexcart-empty-promotion .banner-img img,
.home #banner-three .banner-item.nexcart-empty-promotion .banner-img img,
.home #banner-four .banner-item.nexcart-empty-promotion .banner-img img,
.home #banner-five .banner-item.nexcart-empty-promotion .banner-img img {
	position: static !important;
	width: 110px !important;
	height: 110px !important;
	max-width: 100% !important;
	margin: auto !important;
	padding: 0 !important;
	object-fit: contain !important;
	transform: none !important;
}

.home .banner-item.nexcart-empty-promotion .title,
.home .banner-item.nexcart-empty-promotion h1,
.home .banner-item.nexcart-empty-promotion h2,
.home .banner-item.nexcart-empty-promotion h4,
.home .banner-item.nexcart-empty-promotion .fw-600 {
	margin: 0 0 8px !important;
	color: #101827 !important;
	font-size: clamp(20px, 1.7vw, 28px) !important;
	font-weight: 700 !important;
	line-height: 1.15 !important;
	overflow-wrap: anywhere;
}

.home .banner-item.nexcart-empty-promotion .subtitle,
.home .banner-item.nexcart-empty-promotion .features-list,
.home .banner-item.nexcart-empty-promotion .text,
.home .banner-item.nexcart-empty-promotion p,
.home .banner-item.nexcart-empty-promotion .start-price,
.home .banner-item.nexcart-empty-promotion .coupon-code {
	margin: 0 !important;
	color: #596274 !important;
	font-size: 15px !important;
	font-weight: 500 !important;
	line-height: 1.45 !important;
	overflow-wrap: anywhere;
}

.home .banner-item.nexcart-empty-promotion .features-list {
	display: grid;
	gap: 5px;
	padding: 0 !important;
	list-style: none;
}

.home .banner-item.nexcart-empty-promotion .features-list i {
	color: var(--sp-primary, #ff6b0b) !important;
}

.home .banner-item.nexcart-empty-promotion .offer-badge {
	display: inline-flex !important;
	align-items: center;
	width: auto !important;
	max-width: 100%;
	margin: 0 0 12px !important;
	padding: 6px 10px !important;
	border-radius: 6px !important;
	background: var(--sp-primary, #ff6b0b) !important;
	color: #fff !important;
	font-size: 12px !important;
	font-weight: 700 !important;
	line-height: 1.2 !important;
	text-transform: uppercase;
}

/* The full-width banner intentionally keeps the dark Electromix palette. */
.home #banner-full .banner-item.nexcart-empty-promotion {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) 170px minmax(0, 1fr);
	align-items: center !important;
	gap: 30px;
	min-height: 260px;
	padding: 30px 36px !important;
	border: 1px dashed rgb(255 255 255 / 24%) !important;
	border-radius: 12px !important;
	background:
		radial-gradient(circle at 50% 50%, rgb(255 107 11 / 10%), transparent 34%),
		#182233 !important;
	box-shadow: none !important;
	overflow: hidden !important;
}

.home #banner-full .banner-item.nexcart-empty-promotion .banner-content,
.home #banner-full .banner-item.nexcart-empty-promotion .price-box {
	position: relative !important;
	top: auto !important;
	right: auto !important;
	bottom: auto !important;
	left: auto !important;
	width: auto !important;
	min-width: 0;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
	transform: none !important;
}

.home #banner-full .banner-item.nexcart-empty-promotion .banner-content {
	order: 1;
	text-align: left;
}

.home #banner-full .banner-item.nexcart-empty-promotion .banner-img {
	position: relative !important;
	top: auto !important;
	right: auto !important;
	bottom: auto !important;
	left: auto !important;
	order: 2;
	width: 170px !important;
	height: 170px !important;
	min-width: 170px !important;
	margin: 0 !important;
	padding: 16px !important;
	border-radius: 22px;
	background: #f6f8fb !important;
	transform: none !important;
}

.home #banner-full .banner-item.nexcart-empty-promotion .banner-img img {
	position: static !important;
	width: 132px !important;
	height: 132px !important;
	margin: auto !important;
	padding: 0 !important;
	object-fit: contain !important;
	transform: none !important;
}

.home #banner-full .banner-item.nexcart-empty-promotion .price-box {
	display: flex !important;
	align-items: flex-start;
	justify-content: center;
	order: 3;
}

.home #banner-full .banner-item.nexcart-empty-promotion .title {
	color: #fff !important;
}

.home #banner-full .banner-item.nexcart-empty-promotion .banner-content > .text {
	color: #ff8a3d !important;
}

.home #banner-full .banner-item.nexcart-empty-promotion .price-box > .text {
	max-width: 320px;
	color: #b8c2d1 !important;
	text-align: center;
}

@media (max-width: 991px) {
	.home #slider .banner-item.nexcart-empty-promotion,
	.home #banner-one .banner-item.nexcart-empty-promotion,
	.home #banner-two .banner-item.nexcart-empty-promotion,
	.home #banner-three .banner-item.nexcart-empty-promotion,
	.home #banner-four .banner-item.nexcart-empty-promotion,
	.home #banner-five .banner-item.nexcart-empty-promotion {
		grid-template-columns: minmax(0, 1fr) 118px;
		gap: 18px;
		padding: 20px !important;
	}

	.home #slider .banner-item.nexcart-empty-promotion .banner-img,
	.home #banner-one .banner-item.nexcart-empty-promotion .banner-img,
	.home #banner-two .banner-item.nexcart-empty-promotion .banner-img,
	.home #banner-three .banner-item.nexcart-empty-promotion .banner-img,
	.home #banner-four .banner-item.nexcart-empty-promotion .banner-img,
	.home #banner-five .banner-item.nexcart-empty-promotion .banner-img {
		width: 118px !important;
		height: 118px !important;
		min-width: 118px !important;
		max-width: 118px !important;
	}

	.home #banner-full .banner-item.nexcart-empty-promotion {
		grid-template-columns: minmax(0, 1fr) 140px;
		gap: 24px;
		padding: 28px !important;
	}

	.home #banner-full .banner-item.nexcart-empty-promotion .banner-img {
		grid-column: 2;
		grid-row: 1 / span 2;
		width: 140px !important;
		height: 140px !important;
		min-width: 140px !important;
	}

	.home #banner-full .banner-item.nexcart-empty-promotion .price-box {
		grid-column: 1;
		justify-content: flex-start;
	}

	.home #banner-full .banner-item.nexcart-empty-promotion .price-box > .text {
		text-align: left;
	}
}

@media (max-width: 575px) {
	.home #slider .banner-item.nexcart-empty-promotion,
	.home #banner-one .banner-item.nexcart-empty-promotion,
	.home #banner-two .banner-item.nexcart-empty-promotion,
	.home #banner-three .banner-item.nexcart-empty-promotion,
	.home #banner-four .banner-item.nexcart-empty-promotion,
	.home #banner-five .banner-item.nexcart-empty-promotion,
	.home #banner-full .banner-item.nexcart-empty-promotion {
		grid-template-columns: minmax(0, 1fr) !important;
		justify-items: center;
		gap: 16px;
		min-height: 0;
		padding: 22px 18px !important;
		text-align: center;
	}

	.home #slider .banner-item.nexcart-empty-promotion .banner-content,
	.home #banner-one .banner-item.nexcart-empty-promotion .banner-content,
	.home #banner-two .banner-item.nexcart-empty-promotion .banner-content,
	.home #banner-three .banner-item.nexcart-empty-promotion .banner-content,
	.home #banner-four .banner-item.nexcart-empty-promotion .banner-content,
	.home #banner-five .banner-item.nexcart-empty-promotion .banner-content,
	.home #banner-full .banner-item.nexcart-empty-promotion .banner-content {
		grid-column: 1;
		grid-row: auto;
		order: 1;
		text-align: center;
	}

	.home #slider .banner-item.nexcart-empty-promotion .banner-img,
	.home #banner-one .banner-item.nexcart-empty-promotion .banner-img,
	.home #banner-two .banner-item.nexcart-empty-promotion .banner-img,
	.home #banner-three .banner-item.nexcart-empty-promotion .banner-img,
	.home #banner-four .banner-item.nexcart-empty-promotion .banner-img,
	.home #banner-five .banner-item.nexcart-empty-promotion .banner-img,
	.home #banner-full .banner-item.nexcart-empty-promotion .banner-img {
		grid-column: 1;
		grid-row: auto;
		order: 2;
		width: 112px !important;
		height: 112px !important;
		min-width: 112px !important;
		max-width: 112px !important;
		padding: 10px !important;
	}

	.home #banner-full .banner-item.nexcart-empty-promotion .price-box {
		grid-column: 1;
		grid-row: auto;
		align-items: center;
		justify-content: center;
		order: 3;
	}

	.home #banner-full .banner-item.nexcart-empty-promotion .price-box > .text {
		text-align: center;
	}
}

/* ================================================================
 * v1.9.5 — reliable empty states, readable prices and product gallery
 * ================================================================ */

/* A selected category with no publishable products must still occupy its
 * column and clearly explain why it is empty. These rules intentionally use
 * direct, scoped selectors so parent slider CSS cannot collapse the message. */
#product-slider-two .nexcart-dynamic-product-column.nexcart-is-empty {
	display: flex !important;
	flex-direction: column;
	min-width: 0;
}

#product-slider-two .nexcart-dynamic-product-column.nexcart-is-empty > .nexcart-products-empty-state,
#product-slider-two .nexcart-dynamic-product-column.nexcart-is-empty > .nexcart-generated-empty-state {
	display: flex !important;
	visibility: visible !important;
	opacity: 1 !important;
	width: 100% !important;
	min-height: 411px;
	margin: 0 !important;
}

#product-slider-two .nexcart-dynamic-product-column.nexcart-is-empty > .tns-outer,
#product-slider-two .nexcart-dynamic-product-column.nexcart-is-empty > ul.products,
#product-slider-two .nexcart-dynamic-product-column.nexcart-is-empty .custom-owl-nav {
	display: none !important;
}

/* Current prices remain prominent throughout homepage product sections.
 * Only crossed-out regular prices stay muted. */
.home .product-section .price,
.home .product-section .price .woocommerce-Price-amount,
.home #category-two .price,
.home #category-two .price .woocommerce-Price-amount,
.home .nexcart-promo-price,
.home .nexcart-promo-price .woocommerce-Price-amount {
	color: var(--sp-primary, #ff6b0b) !important;
	font-weight: 700 !important;
	opacity: 1 !important;
}

.home .product-section .price ins,
.home #category-two .price ins,
.home .nexcart-promo-price ins {
	color: var(--sp-primary, #ff6b0b) !important;
	font-weight: 700 !important;
	text-decoration: none !important;
	opacity: 1 !important;
}

.home .product-section .price del,
.home .product-section .price del .woocommerce-Price-amount,
.home #category-two .price del,
.home #category-two .price del .woocommerce-Price-amount,
.home .nexcart-promo-price del,
.home .nexcart-promo-price del .woocommerce-Price-amount {
	color: #9aa1ad !important;
	font-weight: 500 !important;
	opacity: 1 !important;
}

/* The Electromix variation AJAX can replace the thumbnail markup after an
 * option is chosen. Keep the replacement rail visible and interactive. */
body.single-product .woocommerce div.product div.images .thumbnails {
	position: relative;
	overflow: hidden;
	isolation: isolate;
}

body.single-product .woocommerce div.product div.images .thumbnails ul.electromix_magnifier_gallery {
	display: flex !important;
	flex-wrap: nowrap !important;
	align-items: stretch;
	margin-top: 0 !important;
	margin-right: 0 !important;
	margin-bottom: 0 !important;
	margin-left: 0 !important;
	padding: 0 !important;
	transition: transform 220ms ease !important;
	will-change: transform;
}

body.single-product .woocommerce div.product div.images .thumbnails ul.electromix_magnifier_gallery > li {
	display: block !important;
	float: none !important;
	box-sizing: border-box;
}

body.single-product .woocommerce div.product div.images .thumbnails ul.electromix_magnifier_gallery > li > a {
	display: block;
	position: relative;
	z-index: 2;
	pointer-events: auto !important;
}

body.single-product .woocommerce div.product div.images .thumbnails .electromix_slider_arrow {
	z-index: 20 !important;
	pointer-events: auto !important;
	cursor: pointer !important;
	touch-action: manipulation;
	user-select: none;
}

body.single-product .woocommerce div.product div.images .thumbnails .electromix_slider_arrow[aria-disabled="true"] {
	cursor: default !important;
	opacity: .45 !important;
}

@media (max-width: 991px) {
	#product-slider-two .nexcart-dynamic-product-column.nexcart-is-empty > .nexcart-products-empty-state,
	#product-slider-two .nexcart-dynamic-product-column.nexcart-is-empty > .nexcart-generated-empty-state {
		min-height: 260px;
	}
}

/* ================================================================
 * v1.9.9 — standard WooCommerce single-product body markup
 * ================================================================ */

/* WooCommerce normally places its `woocommerce` class on body itself rather
 * than on a descendant wrapper. Keep the variation-safe gallery rules active
 * for that canonical markup as well. */
body.single-product.woocommerce div.product div.images .thumbnails {
	position: relative;
	z-index: 35 !important;
	overflow: hidden;
	isolation: isolate;
	pointer-events: auto !important;
}

body.single-product.woocommerce div.product div.images .thumbnails,
body.single-product.woocommerce div.product div.images .thumbnails * {
	box-sizing: border-box;
}

body.single-product.woocommerce div.product div.images .thumbnails ul.electromix_magnifier_gallery {
	display: flex !important;
	flex-wrap: nowrap !important;
	align-items: stretch;
	margin: 0 !important;
	padding: 0 !important;
	transition: transform 220ms ease !important;
	will-change: transform;
	pointer-events: auto !important;
}

body.single-product.woocommerce div.product div.images .thumbnails ul.electromix_magnifier_gallery > li {
	display: block !important;
	float: none !important;
	box-sizing: border-box;
	pointer-events: auto !important;
}

body.single-product.woocommerce div.product div.images .thumbnails ul.electromix_magnifier_gallery > li > a,
body.single-product.woocommerce div.product div.images .thumbnails ul.electromix_magnifier_gallery img {
	display: block;
	position: relative;
	z-index: 2;
	pointer-events: auto !important;
	touch-action: manipulation;
}

body.single-product.woocommerce div.product div.images .thumbnails .electromix_slider_arrow {
	z-index: 20 !important;
	pointer-events: auto !important;
	cursor: pointer !important;
	touch-action: manipulation;
	user-select: none;
}

body.single-product.woocommerce div.product div.images .thumbnails .electromix_slider_arrow::after {
	content: none !important;
}

body.single-product.woocommerce div.product div.images .thumbnails .electromix_slider_arrow > span {
	display: flex !important;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
}

body.single-product.woocommerce div.product div.images .thumbnails .electromix_slider_arrow svg {
	display: block !important;
	width: 16px;
	height: 16px;
	pointer-events: none;
}

body.single-product.woocommerce div.product div.images .thumbnails .electromix_slider_arrow svg path:not(.cls-1) {
	fill: currentColor !important;
}

body.single-product.woocommerce div.product div.images .thumbnails .electromix_slider_arrow:hover,
body.single-product.woocommerce div.product div.images .thumbnails .electromix_slider_arrow:focus-visible {
	color: #fff !important;
	background-color: var(--sp-primary, #ff6b0b) !important;
	border-color: var(--sp-primary, #ff6b0b) !important;
}

body.single-product.woocommerce div.product div.images .thumbnails .electromix_slider_arrow[aria-disabled="true"],
body.single-product.woocommerce div.product div.images .thumbnails .electromix_slider_arrow[aria-disabled="true"]:hover {
	color: #6f7784 !important;
	background-color: #fff !important;
	border-color: #d8dce2 !important;
	opacity: .65 !important;
	cursor: default !important;
}

/* ================================================================
 * v1.11.4 — corrected Banner Three, hero visibility and mobile rhythm
 * ================================================================ */

/* The child template now keeps content and media inside the same aside. These
 * rules provide one stable presentation for both live and empty products. */
.home #banner-three .banner-item {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) minmax(150px, 42%);
	align-items: center !important;
	gap: 22px;
	min-height: 250px;
	padding: 24px !important;
	overflow: hidden;
}

.home #banner-three .banner-item .banner-content,
.home #banner-three .banner-item .banner-img {
	position: relative !important;
	inset: auto !important;
	width: auto !important;
	max-width: none !important;
	margin: 0 !important;
	transform: none !important;
}

.home #banner-three .banner-item .banner-content {
	min-width: 0;
	padding: 0 !important;
}

.home #banner-three .banner-item .banner-img {
	display: flex !important;
	align-items: center;
	justify-content: center;
	height: 200px !important;
	min-width: 0 !important;
	padding: 12px !important;
	border-radius: 16px;
	background: rgb(255 255 255 / 48%);
}

.home #banner-three .banner-item .banner-img img {
	display: block !important;
	position: static !important;
	width: 100% !important;
	height: 100% !important;
	max-width: 220px !important;
	margin: auto !important;
	padding: 0 !important;
	object-fit: contain !important;
	transform: none !important;
}

.home #banner-three .banner-item .title {
	display: -webkit-box;
	min-height: 0;
	margin-bottom: 10px;
	overflow: hidden;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
}

/* Slider content must never depend on the parent animation callback. The
 * optimizer-safe recovery may own Owl when the parent bootstrap is removed. */
.home #slider .main-slider [data-animation],
.home #slider .main-slider .banner-content,
.home #slider .main-slider .banner-img,
.home #slider .main-slider .banner-img img {
	visibility: visible !important;
	opacity: 1 !important;
}

/* Filter labels remain readable at every width and never overlap neighbours. */
.home .filter-container .tab-filter-slider .owl-item,
.home .filter-container .tab-filter-slider a,
.home .filter-container .tab-filter-slider .brand-img {
	min-width: 0;
}

.home .filter-container .tab-filter-slider a {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 42px;
	padding: 0 8px;
}

.home .filter-container .tab-filter-slider .brand-img {
	display: block;
	width: 100%;
	overflow: hidden;
	text-align: center;
	text-overflow: ellipsis;
	white-space: nowrap;
}

@media (max-width: 767px) {
	.home .container {
		width: 100%;
		padding-right: 14px;
		padding-left: 14px;
	}

	.home section.st-py-default,
	.home section.st-py-default2,
	.home .st-py-default,
	.home .st-py-default2 {
		padding-top: 24px !important;
		padding-bottom: 24px !important;
	}

	.home .heading-default {
		margin-bottom: 15px;
	}

	.home .banner-section .row,
	.home .product-section .row {
		--bs-gutter-x: 12px;
		--bs-gutter-y: 12px;
	}

	.home #banner-three .banner-item {
		grid-template-columns: minmax(0, 1fr) 128px;
		gap: 16px;
		min-height: 210px;
		padding: 20px !important;
	}

	.home #banner-three .banner-item .banner-img {
		width: 128px !important;
		height: 128px !important;
		padding: 10px !important;
	}

	.home .filter-container {
		position: relative;
		padding-right: 34px !important;
		padding-left: 34px !important;
		overflow: hidden;
	}

	.home .filter-container .tab-filter-slider .owl-stage-outer {
		overflow: hidden;
	}

	.home .filter-container .tab-filter-slider .owl-nav {
		position: static !important;
		width: 0;
		height: 0;
		margin: 0 !important;
	}

	.home .filter-container .tab-filter-slider .owl-nav button {
		position: absolute !important;
		top: 50%;
		display: flex !important;
		align-items: center;
		justify-content: center;
		width: 27px !important;
		height: 27px !important;
		margin: 0 !important;
		border: 1px solid #d8dde5 !important;
		border-radius: 50% !important;
		background: #fff !important;
		color: #101827 !important;
		box-shadow: 0 4px 12px rgb(15 24 39 / 10%);
		transform: translateY(-50%);
		z-index: 5;
	}

	.home .filter-container .tab-filter-slider .owl-nav .owl-prev {
		left: 3px;
	}

	.home .filter-container .tab-filter-slider .owl-nav .owl-next {
		right: 3px;
	}

	.home .filter-container .tab-filter-slider .owl-nav button.disabled {
		display: flex !important;
		opacity: .4;
	}
}

@media (max-width: 479px) {
	.home #banner-three .banner-item,
	.home #banner-three .banner-item.nexcart-empty-promotion {
		grid-template-columns: minmax(0, 1fr) !important;
		justify-items: center;
		gap: 14px;
		min-height: 0;
		padding: 20px 16px !important;
		text-align: center;
	}

	.home #banner-three .banner-item .banner-content {
		text-align: center;
	}

	.home #banner-three .banner-item .banner-img {
		width: 112px !important;
		height: 112px !important;
	}
}

/* ================================================================
 * v1.11.5 — mobile carousel viewport and dependable edit shortcuts
 * ================================================================ */

.nexcart-has-customizer-shortcut {
	position: relative !important;
}

.nexcart-customize-promotion-shortcut {
	position: absolute !important;
	top: 8px;
	left: 8px;
	display: block !important;
	width: 32px;
	height: 32px;
	margin: 0 !important;
	z-index: 2147483000;
	pointer-events: auto;
}

.nexcart-customize-promotion-shortcut button {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: 32px !important;
	height: 32px !important;
	min-width: 32px !important;
	min-height: 32px !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 2px solid #fff !important;
	border-radius: 50% !important;
	background: #2271b1 !important;
	color: #fff !important;
	box-shadow: 0 2px 8px rgb(0 0 0 / 28%);
	cursor: pointer;
}

.nexcart-customize-promotion-shortcut button:hover,
.nexcart-customize-promotion-shortcut button:focus-visible {
	background: #135e96 !important;
	outline: 2px solid #fff;
	outline-offset: 2px;
}

.nexcart-customize-promotion-shortcut svg {
	display: block;
	width: 18px;
	height: 18px;
	fill: currentcolor;
}

/* Remove the parent's tiny negative/overflow edge so the first hero slide
 * begins exactly at the container boundary instead of looking cropped. */
.home #slider .main-slider,
.home #slider .main-slider .owl-stage-outer {
	width: 100% !important;
	margin-left: 0 !important;
	padding-left: 0 !important;
	overflow: hidden !important;
}

.home #slider .main-slider .owl-stage,
.home #slider .main-slider .owl-item,
.home #slider .main-slider .banner-item {
	box-sizing: border-box;
	margin-left: 0 !important;
}

@media (max-width: 767px) {
	/* The parent reserves 60–100px inside the tab slider and positions its
	 * arrows over that same space. Two explicit lanes keep arrows and labels
	 * separate while the centre remains a real clipped viewport. */
	.home .filter-container {
		min-width: 0;
		padding: 0 !important;
		overflow: visible !important;
	}

	.home .filter-container .tab-filter-slider {
		position: relative !important;
		width: 100% !important;
		max-width: 100% !important;
		box-sizing: border-box !important;
		padding: 0 34px !important;
		overflow: visible !important;
	}

	.home .filter-container .tab-filter-slider .owl-stage-outer {
		width: 100% !important;
		max-width: 100% !important;
		box-sizing: border-box !important;
		margin: 0 !important;
		overflow: hidden !important;
		border: 1px solid #e2e5ea;
		border-radius: 6px;
		background: #fff;
	}

	.home .filter-container .tab-filter-slider .owl-stage {
		display: flex;
		align-items: stretch;
	}

	.home .filter-container .tab-filter-slider .owl-item {
		min-width: 0 !important;
		overflow: hidden;
	}

	.home .filter-container .tab-filter-slider a {
		width: 100%;
		height: 42px;
		box-sizing: border-box;
		line-height: 1.2 !important;
	}

	.home .filter-container .tab-filter-slider .owl-nav .owl-prev {
		left: 2px !important;
		right: auto !important;
	}

	.home .filter-container .tab-filter-slider .owl-nav .owl-next {
		right: 2px !important;
		left: auto !important;
	}
}

@media (max-width: 479px) {
	.home .filter-container .tab-filter-slider .brand-img {
		padding: 0 6px;
		font-size: 12px;
	}

	/* A compact horizontal card avoids the oversized stacked empty state. */
	.home #banner-three .banner-item,
	.home #banner-three .banner-item.nexcart-empty-promotion {
		grid-template-columns: minmax(0, 1fr) 92px !important;
		justify-items: stretch;
		align-items: center !important;
		gap: 10px;
		min-height: 158px;
		padding: 14px !important;
		text-align: left;
	}

	.home #banner-three .banner-item .banner-content {
		text-align: left;
	}

	.home #banner-three .banner-item .banner-img {
		width: 92px !important;
		height: 92px !important;
		padding: 8px !important;
	}

	.home #banner-three .banner-item .title {
		font-size: clamp(16px, 5vw, 20px);
		line-height: 1.2;
	}

	.nexcart-customize-promotion-shortcut,
	.nexcart-customize-promotion-shortcut button {
		width: 28px !important;
		height: 28px !important;
		min-width: 28px !important;
		min-height: 28px !important;
	}
}

/* ================================================================
 * v1.11.6 — mobile promotion rows, complete full banner and filters
 * ================================================================ */

@media (max-width: 991px) {
	/* The parent marks these controls desktop-only and may also leave an inline
	 * display:none after initializing Owl in a hidden box. Keep navigation
	 * available above every mobile empty state. */
	.home .filter-group .heading-default {
		flex-wrap: wrap;
	}

	.home .filter-group .filter-container,
	.home .filter-group .filter-container.d-none.d-lg-block {
		display: block !important;
		visibility: visible !important;
		opacity: 1 !important;
		flex: 0 0 100% !important;
		width: 100% !important;
		max-width: 100% !important;
		margin-top: 10px !important;
		animation: none !important;
	}
}

@media (max-width: 575px) {
	/* Hero side and lower promotions use Bootstrap col-6 in the parent. On a
	 * phone each promotion now owns a complete row instead of becoming a narrow
	 * two-column tile. */
	.home #slider > .container > .row > .col-lg-4 > .row > [class*="col-"],
	.home #slider > .container > .row > .col-12:last-child > .row > [class*="col-"] {
		flex: 0 0 100% !important;
		width: 100% !important;
		max-width: 100% !important;
	}

	.home #slider > .container > .row > .col-lg-4 > .row > [class*="col-"] .banner-item,
	.home #slider > .container > .row > .col-12:last-child > .row > [class*="col-"] .banner-item {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) 108px !important;
		align-items: center !important;
		justify-items: stretch !important;
		gap: 14px !important;
		min-height: 150px !important;
		padding: 18px !important;
		text-align: left !important;
	}

	.home #slider > .container > .row > .col-lg-4 > .row > [class*="col-"] .banner-content,
	.home #slider > .container > .row > .col-12:last-child > .row > [class*="col-"] .banner-content {
		text-align: left !important;
	}

	.home #slider > .container > .row > .col-lg-4 > .row > [class*="col-"] .banner-img,
	.home #slider > .container > .row > .col-12:last-child > .row > [class*="col-"] .banner-img {
		grid-column: 2 !important;
		grid-row: 1 !important;
		width: 108px !important;
		height: 108px !important;
		min-width: 108px !important;
		max-width: 108px !important;
		margin: 0 !important;
		padding: 9px !important;
	}

	/* Electromix hides both explanatory spans on small screens. Restore them
	 * and retain a compact, complete category / message / image / follow-up
	 * reading order. */
	.home #banner-full .banner-item.nexcart-empty-promotion {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) !important;
		justify-items: center !important;
		gap: 12px !important;
		padding: 22px 18px !important;
		text-align: center !important;
	}

	.home #banner-full .banner-item.nexcart-empty-promotion .banner-content,
	.home #banner-full .banner-item.nexcart-empty-promotion .price-box {
		display: block !important;
		width: 100% !important;
		text-align: center !important;
	}

	.home #banner-full .banner-item.nexcart-empty-promotion .banner-content > .text,
	.home #banner-full .banner-item.nexcart-empty-promotion .price-box > .text {
		display: block !important;
		visibility: visible !important;
		opacity: 1 !important;
		width: 100% !important;
		max-width: 280px !important;
		margin: 7px auto 0 !important;
		line-height: 1.45 !important;
		text-align: center !important;
	}

	.home #banner-full .banner-item.nexcart-empty-promotion .banner-img {
		grid-column: 1 !important;
		grid-row: auto !important;
		order: 2 !important;
	}

	.home #banner-full .banner-item.nexcart-empty-promotion .price-box {
		grid-column: 1 !important;
		grid-row: auto !important;
		order: 3 !important;
	}
}

/* ================================================================
 * v1.11.7 — flush hero viewport and readable mobile service rows
 * ================================================================ */

/* Owl's inline stage transform may change between slides, so keep alignment
 * on the stable viewport/item boxes and let JavaScript own only the transform. */
.home #slider .main-slider,
.home #slider .main-slider .owl-stage-outer,
.home #slider .main-slider .banner-item {
	box-sizing: border-box !important;
	width: 100% !important;
	max-width: 100% !important;
	margin-right: 0 !important;
	margin-left: 0 !important;
	padding-right: 0 !important;
	padding-left: 0 !important;
}

.home #slider .main-slider .owl-item {
	box-sizing: border-box !important;
	margin-right: 0 !important;
	margin-left: 0 !important;
	padding-right: 0 !important;
	padding-left: 0 !important;
}

@media (max-width: 575px) {
	/* Parent markup uses col-6 and vertical separators, which compresses four
	 * service descriptions into two narrow columns. Give every benefit its own
	 * readable row and replace the separator with a subtle horizontal border. */
	.home #info-two .row > [class*="col-"] {
		flex: 0 0 100% !important;
		width: 100% !important;
		max-width: 100% !important;
	}

	.home #info-two .shopping-benefit-item {
		display: grid !important;
		grid-template-columns: 42px minmax(0, 1fr);
		align-items: center !important;
		justify-content: stretch !important;
		gap: 12px;
		width: 100%;
		min-height: 78px;
		padding: 13px 10px !important;
		border-bottom: 1px solid #e4e6ea;
	}

	.home #info-two .row > [class*="col-"]:last-child .shopping-benefit-item {
		border-bottom: 0;
	}

	.home #info-two .shopping-benefit-item::after {
		display: none !important;
		content: none !important;
	}

	.home #info-two .shopping-benefit-icon {
		display: inline-flex !important;
		align-items: center;
		justify-content: center;
		width: 42px;
		height: 42px;
		margin: 0 !important;
		color: var(--sp-primary, #ff6b0b);
		font-size: 26px !important;
	}

	.home #info-two .shopping-benefit-icon .nexcart-svg-icon {
		width: 27px !important;
		height: 27px !important;
	}

	.home #info-two .shopping-benefit-content {
		min-width: 0;
		text-align: left;
	}

	.home #info-two .shopping-benefit-content h6 {
		margin: 0 0 3px !important;
		font-size: 14px !important;
		font-weight: 700 !important;
		line-height: 1.25 !important;
	}

	.home #info-two .shopping-benefit-content p {
		margin: 0 !important;
		font-size: 12px !important;
		line-height: 1.4 !important;
	}
}

/* ================================================================
 * v1.11.8 — exact desktop container edge and correct mobile benefits
 * ================================================================ */

@media (max-width: 991px) {
	/* This is the custom NexCart benefits section shown in the supplied mobile
	 * screenshot (not Electromix #info-two). Customizer previews can expose a
	 * 768px CSS viewport, so switch it to one column throughout mobile/tablet. */
	.home #nexcart-benefits .nexcart-benefits-grid {
		grid-template-columns: minmax(0, 1fr) !important;
		gap: 10px !important;
	}

	.home #nexcart-benefits .nexcart-benefit-card {
		display: grid !important;
		grid-template-columns: 44px minmax(0, 1fr);
		align-items: center !important;
		gap: 12px !important;
		width: 100%;
		min-height: 82px;
		padding: 13px 14px !important;
	}

	.home #nexcart-benefits .nexcart-benefit-icon {
		width: 44px;
		height: 44px;
		flex-basis: 44px;
	}

	.home #nexcart-benefits .nexcart-benefit-card h2 {
		margin: 0 0 3px !important;
		font-size: 14px !important;
		line-height: 1.25 !important;
	}

	.home #nexcart-benefits .nexcart-benefit-card p {
		margin: 0 !important;
		font-size: 12px !important;
		line-height: 1.4 !important;
	}
}

/* ================================================================
 * v1.11.9 — stable filter tabs and clean one-column mobile utilities
 * ================================================================ */

/* A Customizer refresh or delayed parent script must never expose two filter
 * navigators inside one heading. JavaScript removes the stale instance; this
 * rule prevents even a one-frame duplicate flash before the repair runs. */
.home .filter-group .heading-default > .filter-container ~ .filter-container {
	display: none !important;
}

@media (max-width: 991px) {
	/* One measured viewport and one full-width category per mobile slide. */
	.home .filter-group .heading-default > .filter-container,
	.home .filter-group .heading-default > .filter-container.d-none.d-lg-block {
		min-width: 0 !important;
		padding: 0 !important;
		overflow: visible !important;
	}

	.home .filter-group .filter-container .tab-filter-slider {
		position: relative !important;
		display: block !important;
		width: 100% !important;
		max-width: 100% !important;
		box-sizing: border-box !important;
		padding: 0 34px !important;
		overflow: visible !important;
	}

	.home .filter-group .filter-container .tab-filter-slider .owl-stage-outer {
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 !important;
		overflow: hidden !important;
	}

	.home .filter-group .filter-container .tab-filter-slider .owl-stage {
		display: flex !important;
		align-items: stretch !important;
	}

	.home .filter-group .filter-container .tab-filter-slider .owl-item,
	.home .filter-group .filter-container .tab-filter-slider .owl-item > a {
		min-width: 0 !important;
		max-width: none !important;
		box-sizing: border-box !important;
		overflow: hidden !important;
	}

	.home .filter-group .filter-container .tab-filter-slider .owl-item > a {
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		width: 100% !important;
		height: 42px !important;
		padding: 0 10px !important;
		line-height: 1.2 !important;
		text-align: center !important;
		text-overflow: ellipsis;
		white-space: nowrap;
	}

	/* The editable #info strip now uses one complete card per row instead of
	 * four compressed two-column cards. */
	.home #info .row > [class*="col-"] {
		flex: 0 0 100% !important;
		width: 100% !important;
		max-width: 100% !important;
	}

	.home #info .infoservice-item {
		display: grid !important;
		grid-template-columns: 44px minmax(0, 1fr);
		align-items: center !important;
		gap: 12px !important;
		width: 100%;
		min-height: 80px;
		padding: 13px 14px !important;
		border: 1px solid #e7e9ed;
		border-radius: 8px;
		background: #fff !important;
		box-shadow: 0 4px 14px rgb(15 24 39 / 6%) !important;
	}

	.home #info .infoservice-icon {
		display: inline-flex !important;
		align-items: center !important;
		justify-content: center !important;
		width: 44px !important;
		height: 44px !important;
		margin: 0 !important;
		border-radius: 50% !important;
		background: rgb(255 107 11 / 10%) !important;
		color: var(--sp-primary, #ff6b0b) !important;
	}

	.home #info .infoservice-icon .nexcart-svg-icon {
		width: 25px !important;
		height: 25px !important;
	}

	.home #info .infoservice-content {
		min-width: 0;
		text-align: left;
	}

	.home #info .infoservice-content h6 {
		margin: 0 0 3px !important;
		font-size: 14px !important;
		font-weight: 700 !important;
		line-height: 1.25 !important;
	}

	.home #info .infoservice-content p {
		margin: 0 !important;
		font-size: 12px !important;
		line-height: 1.4 !important;
	}

	/* Keep all four bottom-navigation destinations equal. The parent theme's
	 * active indicator creates the oversized orange Categories block shown in
	 * the screenshot, so active state is expressed through colour only. */
	#footer-small .position-relative.d-flex {
		align-items: stretch !important;
		min-height: 54px;
	}

	#footer-small .footer-mobile-menu {
		display: flex !important;
		align-items: stretch !important;
		justify-content: center !important;
		flex: 1 1 25% !important;
		width: 25% !important;
		min-width: 0 !important;
		padding: 0 !important;
		background: #fff !important;
	}

	#footer-small .footer-mobile-menu > a,
	#footer-small .footer-mobile-menu.active > a {
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		flex-direction: column !important;
		gap: 3px;
		width: 100% !important;
		min-width: 0 !important;
		height: 54px !important;
		margin: 0 !important;
		padding: 5px 2px !important;
		background: #fff !important;
		color: var(--sp-primary, #ff6b0b) !important;
		transform: none !important;
	}

	#footer-small .footer-mobile-menu > a > .nexcart-svg-icon,
	#footer-small .footer-mobile-menu.active > a > .nexcart-svg-icon {
		display: block !important;
		width: 17px !important;
		height: 17px !important;
		margin: 0 !important;
		color: currentcolor !important;
		transform: none !important;
	}

	#footer-small .footer-mobile-menu > a > span,
	#footer-small .footer-mobile-menu.active > a > span {
		display: block !important;
		width: 100%;
		margin: 0 !important;
		overflow: hidden;
		color: #101827 !important;
		font-size: 9px !important;
		font-weight: 600 !important;
		line-height: 1.1 !important;
		text-align: center;
		text-overflow: ellipsis;
		white-space: nowrap;
		transform: none !important;
	}

	#footer-small .footer-mobile-menu.active > a > span {
		color: var(--sp-primary, #ff6b0b) !important;
	}

	#footer-small .nav-indicator {
		display: none !important;
	}
}

/* ================================================================
 * v1.11.10 — desktop hero gutter, department tabs and service bounds
 * ================================================================ */

@media (min-width: 992px) {
	/* Restore Bootstrap's intended half-gutter on the stable column wrapper.
	 * This gives the hero the small left inset demonstrated in the screenshot
	 * without padding Owl items or changing Owl's slide-width calculations. */
	.home #slider > .container > .row > .col-12.col-lg-8 {
		padding-left: calc(var(--bs-gutter-x, 1.5rem) * .5) !important;
	}

	/* Four department labels provide enough width for names such as Computers
	 * & Peripherals; any remaining departments stay accessible with the arrows. */
	.home .filter-group .filter-container .tab-filter-slider .owl-stage-outer {
		min-width: 0;
		overflow: hidden !important;
	}

	.home .filter-group .filter-container .tab-filter-slider .owl-item,
	.home .filter-group .filter-container .tab-filter-slider .owl-item > a {
		min-width: 0 !important;
		box-sizing: border-box !important;
		overflow: hidden !important;
	}

	.home .filter-group .filter-container .tab-filter-slider .owl-item > a {
		display: flex !important;
		align-items: center;
		justify-content: center;
		width: 100% !important;
		padding: 0 12px !important;
		line-height: 42px !important;
		text-align: center;
		text-overflow: ellipsis;
		white-space: nowrap;
	}

	/* Each service column owns its content box. Long descriptions wrap inside
	 * the column rather than crossing the separator into the next service. */
	.home #info .row > [class*="col-"] {
		display: flex;
		min-width: 0;
	}

	.home #info .infoservice-item {
		display: grid !important;
		grid-template-columns: 50px minmax(0, 1fr);
		align-items: center !important;
		gap: 12px;
		width: 100%;
		height: 100%;
		min-width: 0;
		padding: 14px 16px !important;
	}

	.home #info .infoservice-icon {
		width: 50px !important;
		height: 50px !important;
		margin: 0 !important;
	}

	.home #info .infoservice-content,
	.home #info .infoservice-content h6,
	.home #info .infoservice-content p {
		min-width: 0;
		max-width: 100%;
	}

	.home #info .infoservice-content h6,
	.home #info .infoservice-content p {
		overflow-wrap: anywhere;
		word-break: normal;
	}
}

/* ================================================================
 * v1.11.11 — footer link rhythm and contained service copy
 * ================================================================ */

/* Useful Links is rendered as a WordPress menu followed by a separate policy
 * list. Give both lists the same bullet column and the same vertical rhythm so
 * every label begins on one clean line, regardless of which menu supplies it. */
.nexcart-footer-links .nexcart-footer-menu li {
	display: grid;
	grid-template-columns: 5px minmax(0, 1fr);
	align-items: start;
	column-gap: 10px;
	min-width: 0;
	padding-left: 0;
}

.nexcart-footer-links .nexcart-footer-menu li::before {
	position: static;
	align-self: start;
	margin-top: 0.65em;
	transform: translateY(-50%);
}

.nexcart-footer-links .nexcart-footer-menu li > a {
	min-width: 0;
	margin: 0;
}

.nexcart-footer-links .nexcart-footer-policy-menu {
	margin-top: 11px !important;
}

@media (min-width: 992px) {
	/* Keep each desktop service card inside its own Bootstrap column. The copy
	 * track can shrink and wrap, while clipping is limited to that track so it
	 * can never paint across the neighbouring card or its separator. */
	.home #info .row {
		align-items: stretch;
	}

	.home #info .row > [class*="col-"] {
		min-width: 0 !important;
		overflow: hidden;
	}

	.home #info .infoservice-item {
		grid-template-columns: 44px minmax(0, 1fr) !important;
		gap: 10px !important;
		box-sizing: border-box;
		overflow: hidden;
		padding: 13px 14px !important;
	}

	.home #info .infoservice-icon {
		width: 44px !important;
		height: 44px !important;
		min-width: 44px !important;
	}

	.home #info .infoservice-content {
		width: 100%;
		min-width: 0 !important;
		max-width: 100% !important;
		overflow: hidden;
	}

	.home #info .infoservice-content h6,
	.home #info .infoservice-content p {
		display: block;
		width: 100%;
		max-width: 100% !important;
		white-space: normal !important;
		overflow-wrap: break-word;
		word-break: normal;
	}
}

/* ================================================================
 * v1.11.12 — single-column mobile footer and bounded #info-two cards
 * ================================================================ */

@media (max-width: 991px) {
	/* Footer menus were inheriting the generic two-column mobile grid. Keep
	 * Useful Links and Shop Categories as one predictable item per row. */
	.nexcart-footer-links .nexcart-footer-menu,
	.nexcart-footer-categories .nexcart-footer-menu {
		grid-template-columns: minmax(0, 1fr) !important;
		gap: 9px !important;
	}

	.nexcart-footer-links .nexcart-footer-policy-menu {
		margin-top: 9px !important;
	}
}

@media (min-width: 992px) {
	/* Electromix leaves #info-two as a flex row with an absolutely positioned
	 * divider. A shrinking grid copy track keeps long editable descriptions
	 * inside their own quarter, and moves the divider to the actual edge. */
	.home #info-two .row {
		align-items: stretch;
	}

	.home #info-two .row > [class*="col-"] {
		display: flex;
		min-width: 0 !important;
		overflow: hidden;
	}

	.home #info-two .shopping-benefit-item {
		display: grid !important;
		grid-template-columns: 44px minmax(0, 1fr);
		align-items: center !important;
		justify-content: stretch !important;
		gap: 12px;
		box-sizing: border-box;
		width: 100%;
		height: 100%;
		min-width: 0;
		overflow: hidden;
		padding: 14px 18px !important;
	}

	.home #info-two .shopping-benefit-item::after {
		right: 0 !important;
	}

	.home #info-two .shopping-benefit-icon {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 44px;
		height: 44px;
		min-width: 44px;
		margin: 0 !important;
		font-size: 38px;
	}

	.home #info-two .shopping-benefit-icon .nexcart-svg-icon {
		width: 36px;
		height: 36px;
	}

	.home #info-two .shopping-benefit-content {
		width: 100%;
		min-width: 0 !important;
		max-width: 100% !important;
		overflow: hidden;
	}

	.home #info-two .shopping-benefit-content h6,
	.home #info-two .shopping-benefit-content p {
		display: block;
		width: 100%;
		max-width: 100% !important;
		white-space: normal !important;
		overflow-wrap: break-word;
		word-break: normal;
	}
}

/* ================================================================
 * v1.11.13 — variation matrix feedback and partial image preview
 * ================================================================ */

body.single-product .variation-buttons-wrapper .variation-btn {
	position: relative;
}

body.single-product .variation-buttons-wrapper .variation-btn .variation-price {
	display: none !important;
}

body.single-product .variation-buttons-wrapper .variation-btn.nexcart-variation-unavailable {
	padding-right: 30px;
	border-color: #cbd1d9 !important;
	background: #f3f4f6 !important;
	color: #7b8492 !important;
	box-shadow: none !important;
}

body.single-product .variation-buttons-wrapper .variation-btn.nexcart-variation-unavailable::after {
	display: none;
	content: none;
}

body.single-product .variation-buttons-wrapper .variation-btn .nexcart-variation-x {
	position: absolute;
	top: 5px;
	right: 5px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 18px;
	height: 18px;
	color: #fff;
	font-family: Arial, sans-serif;
	font-size: 15px;
	font-weight: 700;
	line-height: 1;
	border-radius: 50%;
	background: #101827;
	pointer-events: none;
}

body.single-product .variation-buttons-wrapper .variation-btn.nexcart-variation-unavailable small {
	opacity: 0.6;
}

/* ================================================================
 * v1.11.14–1.11.16 final — variation feedback and complete category rail
 * ================================================================ */

.home #category-two .filter-container {
	position: relative !important;
	width: 100% !important;
	max-width: 100% !important;
	box-sizing: border-box !important;
	padding: 0 44px !important;
	overflow: visible !important;
}

.home #category-two .tab-filter-slider {
	position: static !important;
	display: block !important;
	width: 100% !important;
	max-width: 100% !important;
	overflow: visible !important;
}

.home #category-two .tab-filter-slider .owl-stage-outer {
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
	overflow: hidden !important;
	border: 1px solid #e2e5ea;
	border-radius: 6px;
	background: #fff;
}

.home #category-two .tab-filter-slider .owl-stage {
	display: flex !important;
	align-items: stretch !important;
}

.home #category-two .tab-filter-slider .owl-item,
.home #category-two .tab-filter-slider .owl-item > a {
	min-width: 0 !important;
	box-sizing: border-box !important;
}

.home #category-two .tab-filter-slider .owl-item > a {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 100% !important;
	height: 44px !important;
	padding: 0 12px !important;
	overflow: hidden !important;
	font-weight: 600;
	line-height: 1.2 !important;
	text-align: center;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.home #category-two .tab-filter-slider .owl-nav {
	position: static !important;
	display: block !important;
	width: 0 !important;
	height: 0 !important;
	margin: 0 !important;
}

.home #category-two .tab-filter-slider .owl-nav button {
	position: absolute !important;
	top: 50% !important;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: 34px !important;
	height: 34px !important;
	margin: 0 !important;
	border: 1px solid #d8dde5 !important;
	border-radius: 50% !important;
	background: #fff !important;
	color: #101827 !important;
	box-shadow: 0 4px 12px rgb(15 24 39 / 10%);
	transform: translateY(-50%);
	z-index: 8;
}

.home #category-two .tab-filter-slider .owl-nav .owl-prev {
	left: 3px !important;
}

.home #category-two .tab-filter-slider .owl-nav .owl-next {
	right: 3px !important;
}

.home #category-two .tab-filter-slider .owl-nav button.disabled {
	display: inline-flex !important;
	opacity: .38 !important;
}

@media (max-width: 767px) {
	.home #category-two .filter-container {
		padding-right: 38px !important;
		padding-left: 38px !important;
	}

	.home #category-two .tab-filter-slider .owl-item > a {
		height: 42px !important;
		padding: 0 8px !important;
		font-size: 13px;
	}

	.home #category-two .tab-filter-slider .owl-nav button {
		width: 30px !important;
		height: 30px !important;
	}
}

/* ================================================================
 * v1.11.16-r7/r9 — Banner Five mobile and desktop composition
 * ================================================================ */
@media (min-width: 992px) {
	body.home #banner-five > .container > .row > .col-12.col-lg-7 .banner-item.big-banner:not(.nexcart-empty-promotion) {
		position: relative !important;
		display: block !important;
		min-height: 420px !important;
		overflow: hidden !important;
	}

	body.home #banner-five > .container > .row > .col-12.col-lg-7 .banner-item.big-banner:not(.nexcart-empty-promotion) .banner-content {
		position: relative !important;
		z-index: 3 !important;
		box-sizing: border-box !important;
		width: 40% !important;
		max-width: 40% !important;
		height: 100% !important;
		padding: clamp(20px, 2.2vw, 30px) 0 clamp(20px, 2.2vw, 30px) clamp(20px, 2.2vw, 30px) !important;
	}

	body.home #banner-five > .container > .row > .col-12.col-lg-7 .banner-item.big-banner:not(.nexcart-empty-promotion) .title {
		width: 100% !important;
		max-width: 100% !important;
		min-height: 0 !important;
		margin-right: 0 !important;
		overflow-wrap: anywhere;
	}

	body.home #banner-five > .container > .row > .col-12.col-lg-7 .banner-item.big-banner:not(.nexcart-empty-promotion) .banner-bottom {
		left: clamp(20px, 2.2vw, 30px) !important;
		z-index: 3 !important;
		width: calc(100% - clamp(20px, 2.2vw, 30px)) !important;
		max-width: none !important;
	}

	body.home #banner-five > .container > .row > .col-12.col-lg-7 .banner-item.big-banner:not(.nexcart-empty-promotion) .banner-bottom .btn {
		display: inline-flex !important;
		align-items: center !important;
		justify-content: center !important;
		flex-wrap: nowrap !important;
		width: max-content !important;
		max-width: 100% !important;
		white-space: nowrap !important;
	}

	body.home #banner-five > .container > .row > .col-12.col-lg-7 .banner-item.big-banner:not(.nexcart-empty-promotion) .banner-bottom .btn i {
		flex: 0 0 auto !important;
	}

	body.home #banner-five > .container > .row > .col-12.col-lg-7 .banner-item.big-banner:not(.nexcart-empty-promotion) .banner-img {
		position: absolute !important;
		top: 50% !important;
		right: clamp(18px, 2vw, 28px) !important;
		bottom: auto !important;
		left: auto !important;
		z-index: 1 !important;
		box-sizing: border-box !important;
		width: 54% !important;
		max-width: 54% !important;
		height: calc(100% - 48px) !important;
		max-height: 350px !important;
		margin: 0 !important;
		padding: 0 !important;
		transform: translateY(-50%) !important;
	}

	body.home #banner-five > .container > .row > .col-12.col-lg-7 .banner-item.big-banner:not(.nexcart-empty-promotion) .banner-img img {
		width: 100% !important;
		height: 100% !important;
		padding: 0 !important;
		object-fit: contain !important;
		object-position: center !important;
	}
}

@media (max-width: 767px) {
	body.home #banner-five > .container > .row > .col-12.col-lg-7 .banner-item.big-banner:not(.nexcart-empty-promotion) {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) !important;
		grid-template-rows: auto minmax(170px, 58vw) !important;
		align-items: stretch !important;
		gap: 12px !important;
		box-sizing: border-box !important;
		width: 100% !important;
		height: auto !important;
		min-height: 0 !important;
		padding: 16px !important;
		overflow: hidden !important;
	}

	body.home #banner-five > .container > .row > .col-12.col-lg-7 .banner-item.big-banner:not(.nexcart-empty-promotion) .banner-content {
		position: relative !important;
		z-index: 2 !important;
		display: block !important;
		box-sizing: border-box !important;
		width: 100% !important;
		max-width: none !important;
		height: auto !important;
		min-height: 0 !important;
		padding: 0 !important;
	}

	body.home #banner-five > .container > .row > .col-12.col-lg-7 .banner-item.big-banner:not(.nexcart-empty-promotion) .offer-badge {
		margin-bottom: 7px !important;
	}

	body.home #banner-five > .container > .row > .col-12.col-lg-7 .banner-item.big-banner:not(.nexcart-empty-promotion) .title {
		min-height: 0 !important;
		margin-bottom: 8px !important;
		font-size: clamp(17px, 5vw, 21px) !important;
		line-height: 1.2 !important;
	}

	body.home #banner-five > .container > .row > .col-12.col-lg-7 .banner-item.big-banner:not(.nexcart-empty-promotion) .banner-bottom {
		position: static !important;
		display: flex !important;
		align-items: center !important;
		justify-content: space-between !important;
		flex-wrap: wrap !important;
		gap: 8px 12px !important;
		margin: 0 !important;
	}

	body.home #banner-five > .container > .row > .col-12.col-lg-7 .banner-item.big-banner:not(.nexcart-empty-promotion) .start-price {
		margin: 0 !important;
	}

	body.home #banner-five > .container > .row > .col-12.col-lg-7 .banner-item.big-banner:not(.nexcart-empty-promotion) .banner-img {
		position: relative !important;
		top: auto !important;
		right: auto !important;
		bottom: auto !important;
		left: auto !important;
		z-index: 1 !important;
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		box-sizing: border-box !important;
		width: 100% !important;
		max-width: 100% !important;
		height: 100% !important;
		min-height: 170px !important;
		margin: 0 !important;
		padding: 0 !important;
		overflow: hidden !important;
		flex: none !important;
	}

	body.home #banner-five > .container > .row > .col-12.col-lg-7 .banner-item.big-banner:not(.nexcart-empty-promotion) .banner-img img {
		display: block !important;
		width: 100% !important;
		height: 100% !important;
		max-width: 100% !important;
		max-height: 100% !important;
		margin: 0 !important;
		padding: 0 !important;
		object-fit: contain !important;
		object-position: center !important;
	}
}

@media (max-width: 420px) {
	body.home #banner-five > .container > .row > .col-12.col-lg-7 .banner-item.big-banner:not(.nexcart-empty-promotion) {
		grid-template-rows: auto minmax(160px, 62vw) !important;
		padding: 13px !important;
	}

	body.home #banner-five > .container > .row > .col-12.col-lg-7 .banner-item.big-banner:not(.nexcart-empty-promotion) .banner-bottom {
		align-items: flex-start !important;
		justify-content: flex-start !important;
		flex-direction: column !important;
	}
}

/* ================================================================
 * Category images removed site-wide (v1.11.20)
 *
 * Titles and counts remain the whole card. These rules also cover any
 * cached HTML that still carries the old image markup.
 * ================================================================ */
#category-popup .nexcart-desktop-category-card__image,
#category-popup-mobile .nexcart-desktop-category-card__image,
#category-popup .docker-category img,
#category-popup-mobile .docker-category img,
.nexcart-product-category-menus .nexcart-browse-category-image,
#category-one .categories-img,
.nexcart-category-slider .categories-img {
	display: none !important;
}

#category-one .categories-item,
.nexcart-category-slider .categories-item {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 86px;
	padding: 14px 10px;
}

#category-one .categories-content,
.nexcart-category-slider .categories-content {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	gap: 6px;
	width: 100%;
	margin: 0 !important;
	padding: 0 !important;
	text-align: center;
}

/* ================================================================
 * v1.11.27 — first-paint carousel and product-gallery media
 * ================================================================ */
.home .main-slider img,
.home .popular-product-slider img,
.home .nexcart-continuous-product-marquee img,
.home .products-list-slider img,
.home .products-slider img,
.home .electromix_magnifier_gallery_front img,
body.single-product .woocommerce-product-gallery img,
body.single-product div.product div.images img,
.nexcart-first-paint-image {
	visibility: visible !important;
	opacity: 1 !important;
}

body.single-product div.product div.images .woocommerce-product-gallery__image,
body.single-product div.product div.images .woocommerce-main-image,
body.single-product div.product div.images .woocommerce-main-image img {
	display: block !important;
	visibility: visible !important;
	opacity: 1 !important;
}

body.single-product div.product div.images .woocommerce-main-image img {
	max-width: 100% !important;
	height: auto !important;
	object-fit: contain !important;
}

/* ================================================================
 * v1.11.28 — deterministic mobile paging for compact product rails
 *
 * Tiny Slider still owns desktop. On phones the dependency-free head
 * bootstrap pages three list products at a time, so delayed JavaScript and
 * cached generated wrappers cannot leave the arrows inert.
 * ================================================================ */
@media (max-width: 991px) {
	.nexcart-mobile-product-pagination > .tns-outer,
	.nexcart-mobile-product-pagination > .tns-outer > .tns-ovh,
	.nexcart-mobile-product-pagination > .tns-outer > .tns-ovh > .tns-inner,
	.nexcart-mobile-product-pagination .tns-mw,
	.nexcart-mobile-product-pagination .tns-ovh,
	.nexcart-mobile-product-pagination .tns-inner {
		height: auto !important;
		min-height: 0 !important;
		overflow: hidden !important;
	}

	#product-slider .products-list-slider[data-nexcart-mobile-pager="true"],
	#product-slider-two .products-list-slider[data-nexcart-mobile-pager="true"],
	#product-slider-three .products-list-slider[data-nexcart-mobile-pager="true"] {
		display: block !important;
		width: 100% !important;
		height: auto !important;
		margin: 0 !important;
		transform: none !important;
		transition: none !important;
	}

	#product-slider .products-list-slider[data-nexcart-mobile-pager="true"] > li.product,
	#product-slider-two .products-list-slider[data-nexcart-mobile-pager="true"] > li.product,
	#product-slider-three .products-list-slider[data-nexcart-mobile-pager="true"] > li.product {
		display: none !important;
		width: 100% !important;
		transform: none !important;
	}

	#product-slider .products-list-slider[data-nexcart-mobile-pager="true"] > li.product.nexcart-mobile-visible,
	#product-slider-two .products-list-slider[data-nexcart-mobile-pager="true"] > li.product.nexcart-mobile-visible,
	#product-slider-three .products-list-slider[data-nexcart-mobile-pager="true"] > li.product.nexcart-mobile-visible {
		display: block !important;
	}
}
