/**
 * Sober Addons - Elementor Widgets Custom Styles
 * Products Tabs, Tabs Button Styles, Auto Scroll & Cart Card Styles
 */

/* ==========================================================================
   Products Tabs - Base & Container Layout
   ========================================================================== */
.sober-products-tabs.sober-products-tabs-wrapper,
.elementor-widget-sober-products-tabs .sober-products-tabs,
.elementor-widget-sober-products-tabs .sober-product-tabs {
	position: relative;
}

.elementor-widget-sober-products-tabs .product-filter,
.sober-products-tabs .product-filter {
	position: relative;
	max-width: 100%;
	margin: 0 0 45px 0;
	padding: 6px 4px 10px 4px;
	transition: margin-bottom 0.3s ease;
	text-align: center;
	box-sizing: border-box;
	overflow: visible;
}

.elementor-widget-sober-products-tabs .product-filter .filter,
.sober-products-tabs .product-filter .filter {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	list-style: none;
	margin: 0;
	padding: 0;
	gap: var(--sober-tab-gap, 14px);
	transition: all 0.3s ease;
	box-sizing: border-box;
}

.elementor-widget-sober-products-tabs .product-filter .filter li,
.sober-products-tabs .product-filter .filter li {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	margin: 0;
	user-select: none;
	-webkit-user-select: none;
	box-sizing: border-box;
	text-decoration: none;
	line-height: 1.4;
	font-size: 15px;
	transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
	white-space: nowrap;
	flex: 0 0 auto;
	max-width: none;
	overflow: visible;
}

/* Fixed Tabs Per View Mode */
.sober-tabs-width-fixed_per_view .product-filter,
.elementor-widget-sober-products-tabs.sober-tabs-width-fixed_per_view .product-filter {
	overflow-x: auto !important;
	-webkit-overflow-scrolling: touch;
	scroll-behavior: smooth;
	padding-bottom: 12px;
}

.sober-tabs-width-fixed_per_view .product-filter .filter,
.elementor-widget-sober-products-tabs.sober-tabs-width-fixed_per_view .product-filter .filter {
	display: inline-flex !important;
	flex-wrap: nowrap !important;
	white-space: nowrap !important;
	min-width: 100%;
}

/* ==========================================================================
   Products Tabs - Button Style Presets
   ========================================================================== */

/* 1. Classic Line / Underline (Theme Default) */
.sober-tab-style-line .product-filter .filter li,
.elementor-widget-sober-products-tabs.sober-tab-style-line .product-filter .filter li,
.sober-products-tabs.sober-tab-style-line .product-filter .filter li {
	padding: 6px 14px;
	font-weight: 500;
	color: #7c7c80;
	background-color: transparent;
	border: none;
	border-radius: 0;
}

.sober-tab-style-line .product-filter .filter li:after,
.elementor-widget-sober-products-tabs.sober-tab-style-line .product-filter .filter li:after,
.sober-products-tabs.sober-tab-style-line .product-filter .filter li:after {
	content: "" !important;
	display: block !important;
	position: absolute;
	left: 0;
	bottom: -4px;
	width: 0;
	height: 2px;
	background-color: #23232c;
	transition: width 0.3s cubic-bezier(0.4, 0, 0.2, 1), background-color 0.3s ease;
}

.sober-tab-style-line .product-filter .filter li.active,
.sober-tab-style-line .product-filter .filter li:hover,
.elementor-widget-sober-products-tabs.sober-tab-style-line .product-filter .filter li.active,
.elementor-widget-sober-products-tabs.sober-tab-style-line .product-filter .filter li:hover,
.sober-products-tabs.sober-tab-style-line .product-filter .filter li.active,
.sober-products-tabs.sober-tab-style-line .product-filter .filter li:hover {
	color: #23232c;
}

.sober-tab-style-line .product-filter .filter li.active:after,
.sober-tab-style-line .product-filter .filter li:hover:after,
.elementor-widget-sober-products-tabs.sober-tab-style-line .product-filter .filter li.active:after,
.elementor-widget-sober-products-tabs.sober-tab-style-line .product-filter .filter li:hover:after,
.sober-products-tabs.sober-tab-style-line .product-filter .filter li.active:after,
.sober-products-tabs.sober-tab-style-line .product-filter .filter li:hover:after {
	width: 100% !important;
}

/* 2. Button (Rounded Rectangular) */
.sober-tab-style-button .product-filter .filter li,
.elementor-widget-sober-products-tabs.sober-tab-style-button .product-filter .filter li,
.sober-products-tabs.sober-tab-style-button .product-filter .filter li {
	padding: 10px 24px;
	font-size: 14px;
	font-weight: 500;
	color: #23232c;
	background-color: #f4f4f6;
	border-radius: 6px;
	border: 1px solid transparent;
}

.sober-tab-style-button .product-filter .filter li:hover,
.elementor-widget-sober-products-tabs.sober-tab-style-button .product-filter .filter li:hover,
.sober-products-tabs.sober-tab-style-button .product-filter .filter li:hover {
	background-color: #e8e8ec;
	color: #23232c;
}

.sober-tab-style-button .product-filter .filter li.active,
.elementor-widget-sober-products-tabs.sober-tab-style-button .product-filter .filter li.active,
.sober-products-tabs.sober-tab-style-button .product-filter .filter li.active {
	background-color: #23232c;
	color: #ffffff;
	border-color: #23232c;
}

/* 3. Pill (Fully Rounded) */
.sober-tab-style-pill .product-filter .filter li,
.elementor-widget-sober-products-tabs.sober-tab-style-pill .product-filter .filter li,
.sober-products-tabs.sober-tab-style-pill .product-filter .filter li {
	padding: 10px 26px;
	font-size: 14px;
	font-weight: 500;
	color: #23232c;
	background-color: #f4f4f6;
	border-radius: 50px;
	border: 1px solid transparent;
}

.sober-tab-style-pill .product-filter .filter li:hover,
.elementor-widget-sober-products-tabs.sober-tab-style-pill .product-filter .filter li:hover,
.sober-products-tabs.sober-tab-style-pill .product-filter .filter li:hover {
	background-color: #e8e8ec;
	color: #23232c;
}

.sober-tab-style-pill .product-filter .filter li.active,
.elementor-widget-sober-products-tabs.sober-tab-style-pill .product-filter .filter li.active,
.sober-products-tabs.sober-tab-style-pill .product-filter .filter li.active {
	background-color: #23232c;
	color: #ffffff;
	border-color: #23232c;
}

/* 4. Outline / Boxed */
.sober-tab-style-outline .product-filter .filter li,
.elementor-widget-sober-products-tabs.sober-tab-style-outline .product-filter .filter li,
.sober-products-tabs.sober-tab-style-outline .product-filter .filter li {
	padding: 9px 22px;
	font-size: 14px;
	font-weight: 500;
	color: #23232c;
	background-color: transparent;
	border: 1.5px solid #e0e2e6;
	border-radius: 6px;
}

.sober-tab-style-outline .product-filter .filter li:hover,
.elementor-widget-sober-products-tabs.sober-tab-style-outline .product-filter .filter li:hover,
.sober-products-tabs.sober-tab-style-outline .product-filter .filter li:hover {
	border-color: #23232c;
	color: #23232c;
	background-color: rgba(35, 35, 44, 0.04);
}

.sober-tab-style-outline .product-filter .filter li.active,
.elementor-widget-sober-products-tabs.sober-tab-style-outline .product-filter .filter li.active,
.sober-products-tabs.sober-tab-style-outline .product-filter .filter li.active {
	border-color: #23232c;
	background-color: #23232c;
	color: #ffffff;
}

/* 5. Flat / Soft Background */
.sober-tab-style-flat .product-filter .filter li,
.elementor-widget-sober-products-tabs.sober-tab-style-flat .product-filter .filter li,
.sober-products-tabs.sober-tab-style-flat .product-filter .filter li {
	padding: 8px 18px;
	font-size: 14px;
	font-weight: 500;
	color: #7c7c80;
	background-color: transparent;
	border-radius: 6px;
	border: none;
}

.sober-tab-style-flat .product-filter .filter li:hover,
.elementor-widget-sober-products-tabs.sober-tab-style-flat .product-filter .filter li:hover,
.sober-products-tabs.sober-tab-style-flat .product-filter .filter li:hover {
	background-color: rgba(35, 35, 44, 0.05);
	color: #23232c;
}

.sober-tab-style-flat .product-filter .filter li.active,
.elementor-widget-sober-products-tabs.sober-tab-style-flat .product-filter .filter li.active,
.sober-products-tabs.sober-tab-style-flat .product-filter .filter li.active {
	background-color: rgba(35, 35, 44, 0.1);
	color: #23232c;
}

/* 6. Minimal (Clean Text) */
.sober-tab-style-minimal .product-filter .filter li,
.elementor-widget-sober-products-tabs.sober-tab-style-minimal .product-filter .filter li,
.sober-products-tabs.sober-tab-style-minimal .product-filter .filter li {
	padding: 6px 14px;
	font-size: 14px;
	font-weight: 500;
	color: #909097;
	background-color: transparent;
	border: none;
}

.sober-tab-style-minimal .product-filter .filter li:hover,
.sober-tab-style-minimal .product-filter .filter li.active,
.elementor-widget-sober-products-tabs.sober-tab-style-minimal .product-filter .filter li:hover,
.elementor-widget-sober-products-tabs.sober-tab-style-minimal .product-filter .filter li.active,
.sober-products-tabs.sober-tab-style-minimal .product-filter .filter li:hover,
.sober-products-tabs.sober-tab-style-minimal .product-filter .filter li.active {
	color: #23232c;
}

/* Suppress line hover underline for all non-line presets */
.sober-tab-style-button .product-filter .filter li:after,
.sober-tab-style-pill .product-filter .filter li:after,
.sober-tab-style-outline .product-filter .filter li:after,
.sober-tab-style-flat .product-filter .filter li:after,
.sober-tab-style-minimal .product-filter .filter li:after,
.elementor-widget-sober-products-tabs.sober-tab-style-button .product-filter .filter li:after,
.elementor-widget-sober-products-tabs.sober-tab-style-pill .product-filter .filter li:after,
.elementor-widget-sober-products-tabs.sober-tab-style-outline .product-filter .filter li:after,
.elementor-widget-sober-products-tabs.sober-tab-style-flat .product-filter .filter li:after,
.elementor-widget-sober-products-tabs.sober-tab-style-minimal .product-filter .filter li:after,
.sober-products-tabs.sober-tab-style-button .product-filter .filter li:after,
.sober-products-tabs.sober-tab-style-pill .product-filter .filter li:after,
.sober-products-tabs.sober-tab-style-outline .product-filter .filter li:after,
.sober-products-tabs.sober-tab-style-flat .product-filter .filter li:after,
.sober-products-tabs.sober-tab-style-minimal .product-filter .filter li:after {
	display: none !important;
	content: none !important;
}

/* ==========================================================================
   Button Style on Active Tab Only
   ========================================================================== */
.sober-btn-active-only-yes .product-filter .filter li:not(.active),
.elementor-widget-sober-products-tabs.sober-btn-active-only-yes .product-filter .filter li:not(.active),
.sober-products-tabs.sober-btn-active-only-yes .product-filter .filter li:not(.active) {
	background-color: transparent !important;
	border-color: transparent !important;
	box-shadow: none !important;
	color: #7c7c80;
}

.sober-btn-active-only-yes .product-filter .filter li:not(.active):hover,
.elementor-widget-sober-products-tabs.sober-btn-active-only-yes .product-filter .filter li:not(.active):hover,
.sober-products-tabs.sober-btn-active-only-yes .product-filter .filter li:not(.active):hover {
	background-color: rgba(35, 35, 44, 0.06) !important;
	border-color: transparent !important;
	box-shadow: none !important;
	color: #23232c;
}

/* ==========================================================================
   Products Tabs - Auto Scroll & Horizontal Scrollable Bar
   ========================================================================== */

.sober-tabs-scrollable .product-filter,
.sober-scrollable-yes .product-filter,
.elementor-widget-sober-products-tabs.sober-scrollable-yes .product-filter,
.sober-products-tabs.sober-tabs-scrollable .product-filter {
	overflow-x: auto !important;
	overflow-y: hidden !important;
	-webkit-overflow-scrolling: touch;
	scroll-behavior: smooth;
	padding-bottom: 8px;
	margin-bottom: 30px;
	cursor: grab;
}

.sober-tabs-scrollable .product-filter:active,
.sober-tabs-scrollable .product-filter.is-dragging,
.sober-scrollable-yes .product-filter:active,
.sober-scrollable-yes .product-filter.is-dragging,
.elementor-widget-sober-products-tabs.sober-scrollable-yes .product-filter:active,
.elementor-widget-sober-products-tabs.sober-scrollable-yes .product-filter.is-dragging,
.sober-products-tabs.sober-tabs-scrollable .product-filter:active,
.sober-products-tabs.sober-tabs-scrollable .product-filter.is-dragging {
	cursor: grabbing;
	scroll-behavior: auto;
}

.sober-tabs-scrollable .product-filter .filter,
.sober-scrollable-yes .product-filter .filter,
.elementor-widget-sober-products-tabs.sober-scrollable-yes .product-filter .filter,
.sober-products-tabs.sober-tabs-scrollable .product-filter .filter {
	display: inline-flex !important;
	flex-wrap: nowrap !important;
	white-space: nowrap !important;
	min-width: 100%;
}

/* Hidden Scrollbar (Clean Modern Look) */
.sober-scrollbar-hidden .product-filter::-webkit-scrollbar,
.elementor-widget-sober-products-tabs.sober-scrollbar-hidden .product-filter::-webkit-scrollbar,
.sober-products-tabs.sober-tabs-scrollable-hidden .product-filter::-webkit-scrollbar {
	display: none !important;
	width: 0 !important;
	height: 0 !important;
}
.sober-scrollbar-hidden .product-filter,
.elementor-widget-sober-products-tabs.sober-scrollbar-hidden .product-filter,
.sober-products-tabs.sober-tabs-scrollable-hidden .product-filter {
	-ms-overflow-style: none;
	scrollbar-width: none;
}

/* Styled Scrollbar */
.sober-scrollbar-styled .product-filter::-webkit-scrollbar,
.elementor-widget-sober-products-tabs.sober-scrollbar-styled .product-filter::-webkit-scrollbar,
.sober-products-tabs.sober-tabs-scrollable-styled .product-filter::-webkit-scrollbar {
	height: 4px;
}
.sober-scrollbar-styled .product-filter::-webkit-scrollbar-track,
.elementor-widget-sober-products-tabs.sober-scrollbar-styled .product-filter::-webkit-scrollbar-track,
.sober-products-tabs.sober-tabs-scrollable-styled .product-filter::-webkit-scrollbar-track {
	background-color: #f1f2f4;
	border-radius: 4px;
}
.sober-scrollbar-styled .product-filter::-webkit-scrollbar-thumb,
.elementor-widget-sober-products-tabs.sober-scrollbar-styled .product-filter::-webkit-scrollbar-thumb,
.sober-products-tabs.sober-tabs-scrollable-styled .product-filter::-webkit-scrollbar-thumb {
	background-color: #23232c;
	border-radius: 4px;
}

/* Gradient Edge Fade Indicators */
.sober-edge-fade-yes,
.elementor-widget-sober-products-tabs.sober-edge-fade-yes,
.sober-products-tabs.has-edge-fade {
	position: relative;
}

.sober-tabs-fade-left,
.sober-tabs-fade-right {
	position: absolute;
	top: 0;
	height: 100%;
	width: 45px;
	pointer-events: none;
	z-index: 3;
	opacity: 0;
	transition: opacity 0.3s ease;
}

.sober-tabs-fade-left {
	left: 0;
	background: linear-gradient(to right, var(--sober-edge-fade-color, #ffffff) 0%, rgba(255, 255, 255, 0) 100%);
}

.sober-tabs-fade-right {
	right: 0;
	background: linear-gradient(to left, var(--sober-edge-fade-color, #ffffff) 0%, rgba(255, 255, 255, 0) 100%);
}

.fade-left-visible .sober-tabs-fade-left,
.elementor-widget-sober-products-tabs.fade-left-visible .sober-tabs-fade-left,
.sober-products-tabs.fade-left-visible .sober-tabs-fade-left {
	opacity: 1;
}

.fade-right-visible .sober-tabs-fade-right,
.elementor-widget-sober-products-tabs.fade-right-visible .sober-tabs-fade-right,
.sober-products-tabs.fade-right-visible .sober-tabs-fade-right {
	opacity: 1;
}

/* ==========================================================================
   Dots Scroll / Tab Indicators
   ========================================================================== */
.sober-tabs-dots {
	display: flex;
	align-items: center;
	justify-content: center;
	list-style: none;
	margin: 25px 0 35px 0;
	padding: 0;
	gap: 10px;
	width: 100%;
}

.sober-tabs-dots .sober-tab-dot {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background-color: #e0e0e0;
	cursor: pointer;
	transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
	box-sizing: border-box;
	vertical-align: middle;
}

.sober-tabs-dots .sober-tab-dot:hover {
	background-color: #bbbbbb;
	transform: scale(1.15);
}

.sober-tabs-dots .sober-tab-dot.active {
	width: 12px;
	height: 12px;
	background-color: #f39c12;
	box-shadow: 0 0 0 3px rgba(243, 156, 18, 0.25);
	transform: scale(1.1);
}

/* Custom Image Dot Icons */
.sober-tabs-dots.is-image-dots .sober-tab-dot {
	background-color: transparent !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
	width: 16px;
	height: 16px;
}

.sober-tabs-dots.is-image-dots .sober-tab-dot:hover {
	transform: scale(1.15);
}

.sober-tabs-dots.is-image-dots .sober-tab-dot.active {
	transform: scale(1.25);
}

/* ==========================================================================
   Products Tabs - Autoplay Progress Indicator Bar
   ========================================================================== */
.sober-tab-progress-wrap {
	position: relative;
	width: 100%;
	height: 3px;
	background-color: rgba(35, 35, 44, 0.08);
	border-radius: 3px;
	overflow: hidden;
	margin-top: 14px;
	opacity: 0;
	transition: opacity 0.3s ease;
}

.sober-tabs-autoplay .sober-tab-progress-wrap,
.elementor-widget-sober-products-tabs.sober-autoplay-yes .sober-tab-progress-wrap,
.sober-products-tabs.sober-tabs-autoplay .sober-tab-progress-wrap {
	opacity: 1;
}

.sober-tab-progress-bar {
	position: absolute;
	left: 0;
	top: 0;
	height: 100%;
	width: 0%;
	background-color: #23232c;
	border-radius: 3px;
	transition: width linear;
}

/* ==========================================================================
   Product Grid & Gap Layout
   ========================================================================== */
.elementor-widget-sober-products-tabs .products-grid ul.products:not(.isotope),
.sober-products-tabs:not(.filter-type-isotope) .products-grid ul.products:not(.isotope) {
	display: flex !important;
	flex-wrap: wrap !important;
	column-gap: var(--sober-col-gap, 30px);
	row-gap: var(--sober-row-gap, 35px);
	margin-left: 0 !important;
	margin-right: 0 !important;
	padding: 0 !important;
	list-style: none;
}

/* Horizontal Scroll & Drag Scroll Layout */
.sober-products-layout-scroll .products-grid,
.elementor-widget-sober-products-tabs.sober-products-layout-scroll .products-grid {
	overflow-x: auto !important;
	overflow-y: hidden !important;
	-webkit-overflow-scrolling: touch;
	cursor: grab;
	user-select: none;
	-webkit-user-select: none;
	padding-bottom: 20px;
	padding-top: 5px;
	padding-left: 2px;
	padding-right: 2px;
	scrollbar-width: none;
	container-type: inline-size;
	width: 100%;
	box-sizing: border-box;
}

.sober-products-layout-scroll .products-grid .woocommerce,
.elementor-widget-sober-products-tabs.sober-products-layout-scroll .products-grid .woocommerce {
	display: contents !important;
}

.sober-products-layout-scroll .products-grid::-webkit-scrollbar {
	display: none;
}

.sober-products-layout-scroll .products-grid ul.products,
.elementor-widget-sober-products-tabs.sober-products-layout-scroll .products-grid ul.products {
	display: flex !important;
	flex-wrap: nowrap !important;
	width: max-content !important;
	min-width: 100%;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none;
}

@media (max-width: 1024px) {
	.sober-products-layout-mobile_scroll .products-grid,
	.elementor-widget-sober-products-tabs.sober-products-layout-mobile_scroll .products-grid {
		overflow-x: auto !important;
		overflow-y: hidden !important;
		-webkit-overflow-scrolling: touch;
		cursor: grab;
		user-select: none;
		-webkit-user-select: none;
		padding-bottom: 20px;
		padding-top: 5px;
		padding-left: 2px;
		padding-right: 2px;
		scrollbar-width: none;
		container-type: inline-size;
		width: 100%;
		box-sizing: border-box;
	}

	.sober-products-layout-mobile_scroll .products-grid .woocommerce,
	.elementor-widget-sober-products-tabs.sober-products-layout-mobile_scroll .products-grid .woocommerce {
		display: contents !important;
	}

	.sober-products-layout-mobile_scroll .products-grid::-webkit-scrollbar {
		display: none;
	}

	.sober-products-layout-mobile_scroll .products-grid ul.products,
	.elementor-widget-sober-products-tabs.sober-products-layout-mobile_scroll .products-grid ul.products {
		display: flex !important;
		flex-wrap: nowrap !important;
		width: max-content !important;
		min-width: 100%;
		margin: 0 !important;
		padding: 0 !important;
		list-style: none;
	}
}

.products-grid.is-dragging {
	cursor: grabbing !important;
	scroll-behavior: auto !important;
}

.products-grid.is-dragging a {
	pointer-events: none !important;
}

/* Isotope Grid Compatibility */
.sober-product-grid.filter-type-isotope .products-grid ul.products,
.elementor-widget-sober-products-tabs.filter-type-isotope .products-grid ul.products {
	display: block !important;
	position: relative !important;
	list-style: none;
	margin: 0 !important;
	padding: 0 !important;
}

.sober-product-grid.filter-type-isotope .products-grid ul.products.isotope li.product {
	position: absolute !important;
}

.elementor-widget-sober-products-tabs .products-grid ul.products:not(.isotope).columns-1 li.product,
.sober-products-tabs:not(.filter-type-isotope) .products-grid ul.products:not(.isotope).columns-1 li.product {
	flex: 0 0 100% !important;
	max-width: 100% !important;
}

.elementor-widget-sober-products-tabs .products-grid ul.products:not(.isotope).columns-2 li.product,
.sober-products-tabs:not(.filter-type-isotope) .products-grid ul.products:not(.isotope).columns-2 li.product {
	flex: 0 0 calc((100% - var(--sober-col-gap, 30px)) / 2) !important;
	max-width: calc((100% - var(--sober-col-gap, 30px)) / 2) !important;
}

.elementor-widget-sober-products-tabs .products-grid ul.products:not(.isotope).columns-3 li.product,
.sober-products-tabs:not(.filter-type-isotope) .products-grid ul.products:not(.isotope).columns-3 li.product {
	flex: 0 0 calc((100% - (var(--sober-col-gap, 30px) * 2)) / 3) !important;
	max-width: calc((100% - (var(--sober-col-gap, 30px) * 2)) / 3) !important;
}

.elementor-widget-sober-products-tabs .products-grid ul.products:not(.isotope).columns-4 li.product,
.sober-products-tabs:not(.filter-type-isotope) .products-grid ul.products:not(.isotope).columns-4 li.product {
	flex: 0 0 calc((100% - (var(--sober-col-gap, 30px) * 3)) / 4) !important;
	max-width: calc((100% - (var(--sober-col-gap, 30px) * 3)) / 4) !important;
}

.elementor-widget-sober-products-tabs .products-grid ul.products:not(.isotope).columns-5 li.product,
.sober-products-tabs:not(.filter-type-isotope) .products-grid ul.products:not(.isotope).columns-5 li.product {
	flex: 0 0 calc((100% - (var(--sober-col-gap, 30px) * 4)) / 5) !important;
	max-width: calc((100% - (var(--sober-col-gap, 30px) * 4)) / 5) !important;
}

.elementor-widget-sober-products-tabs .products-grid ul.products:not(.isotope).columns-6 li.product,
.sober-products-tabs:not(.filter-type-isotope) .products-grid ul.products:not(.isotope).columns-6 li.product {
	flex: 0 0 calc((100% - (var(--sober-col-gap, 30px) * 5)) / 6) !important;
	max-width: calc((100% - (var(--sober-col-gap, 30px) * 5)) / 6) !important;
}

/* ==========================================================================
   Product Card Base & Hover Effects (No Cutoff)
   ========================================================================== */
.elementor-widget-sober-products-tabs ul.products li.product,
.sober-products-tabs ul.products li.product {
	position: relative;
	transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.35s cubic-bezier(0.4, 0, 0.2, 1), background-color 0.3s ease, border-color 0.3s ease;
	box-sizing: border-box;
	overflow: visible;
	margin: 0 !important;
}

.elementor-widget-sober-products-tabs ul.products li.product .product-header,
.sober-products-tabs ul.products li.product .product-header {
	position: relative;
	overflow: hidden;
	width: 100%;
	display: block;
	text-align: center;
	transition: border-radius 0.3s ease;
}

.elementor-widget-sober-products-tabs ul.products li.product .product-header img,
.sober-products-tabs ul.products li.product .product-header img {
	transition: transform 0.45s cubic-bezier(0.4, 0, 0.2, 1);
	width: 100%;
	height: auto !important;
	max-width: 100%;
	object-fit: contain;
	display: block;
	margin: 0 auto;
}

.elementor-widget-sober-products-tabs ul.products li.product:hover .product-header img,
.sober-products-tabs ul.products li.product:hover .product-header img {
	transform: scale(1.04);
}

/* Card Hover Animation Classes */
.sober-card-anim-lift ul.products li.product:hover,
.elementor-widget-sober-products-tabs.sober-card-anim-lift ul.products li.product:hover {
	transform: translateY(-8px);
}

.sober-card-anim-zoom ul.products li.product:hover,
.elementor-widget-sober-products-tabs.sober-card-anim-zoom ul.products li.product:hover {
	transform: scale(1.025);
}

.sober-card-anim-glow ul.products li.product:hover,
.elementor-widget-sober-products-tabs.sober-card-anim-glow ul.products li.product:hover {
	box-shadow: 0 16px 36px rgba(0, 0, 0, 0.12) !important;
}

/* ==========================================================================
   Cart Card Style Presets
   ========================================================================== */

/* 1. Floating Center Pill */
.sober-cart-style-pill_center ul.products li.product .product-header .buttons,
.elementor-widget-sober-products-tabs.sober-cart-style-pill_center ul.products li.product .product-header .buttons {
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -35%);
	width: auto;
	opacity: 0;
	visibility: hidden;
	transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
	z-index: 6;
	display: flex;
	justify-content: center;
	gap: 8px;
}

.sober-cart-style-pill_center ul.products li.product:hover .product-header .buttons,
.elementor-widget-sober-products-tabs.sober-cart-style-pill_center ul.products li.product:hover .product-header .buttons {
	opacity: 1;
	visibility: visible;
	transform: translate(-50%, -50%);
}

.sober-cart-style-pill_center ul.products li.product .product-header .buttons .button,
.elementor-widget-sober-products-tabs.sober-cart-style-pill_center ul.products li.product .product-header .buttons .button {
	border-radius: 50px;
	padding: 10px 24px;
	font-size: 13px;
	font-weight: 500;
	background-color: #23232c;
	color: #ffffff;
	box-shadow: 0 6px 20px rgba(0, 0, 0, 0.22);
	white-space: nowrap;
}

.sober-cart-style-pill_center ul.products li.product .product-header .buttons .button:hover,
.elementor-widget-sober-products-tabs.sober-cart-style-pill_center ul.products li.product .product-header .buttons .button:hover {
	background-color: #000000;
	transform: scale(1.04);
}

/* 2. Bottom Full-Width Bar */
.sober-cart-style-bottom_full ul.products li.product .product-header .buttons,
.elementor-widget-sober-products-tabs.sober-cart-style-bottom_full ul.products li.product .product-header .buttons {
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	opacity: 0;
	transform: translateY(100%);
	transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
	z-index: 6;
}

.sober-cart-style-bottom_full ul.products li.product:hover .product-header .buttons,
.elementor-widget-sober-products-tabs.sober-cart-style-bottom_full ul.products li.product:hover .product-header .buttons {
	opacity: 1;
	transform: translateY(0);
}

.sober-cart-style-bottom_full ul.products li.product .product-header .buttons .button,
.elementor-widget-sober-products-tabs.sober-cart-style-bottom_full ul.products li.product .product-header .buttons .button {
	width: 100%;
	display: block;
	text-align: center;
	padding: 12px 18px;
	background-color: #23232c;
	color: #ffffff;
	border-radius: 0;
}

/* 3. Floating Top-Right Circle Icon */
.sober-cart-style-floating_top_right ul.products li.product .product-header .buttons,
.elementor-widget-sober-products-tabs.sober-cart-style-floating_top_right ul.products li.product .product-header .buttons {
	position: absolute;
	top: 15px;
	right: 15px;
	opacity: 0;
	transform: scale(0.8);
	transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
	z-index: 6;
}

.sober-cart-style-floating_top_right ul.products li.product:hover .product-header .buttons,
.elementor-widget-sober-products-tabs.sober-cart-style-floating_top_right ul.products li.product:hover .product-header .buttons {
	opacity: 1;
	transform: scale(1);
}

.sober-cart-style-floating_top_right ul.products li.product .product-header .buttons .button,
.elementor-widget-sober-products-tabs.sober-cart-style-floating_top_right ul.products li.product .product-header .buttons .button {
	width: 44px;
	height: 44px;
	border-radius: 50%;
	padding: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background-color: #ffffff;
	color: #23232c;
	box-shadow: 0 4px 14px rgba(0, 0, 0, 0.14);
}

.sober-cart-style-floating_top_right ul.products li.product .product-header .buttons .button:hover,
.elementor-widget-sober-products-tabs.sober-cart-style-floating_top_right ul.products li.product .product-header .buttons .button:hover {
	background-color: #23232c;
	color: #ffffff;
}

/* 4. Always Visible Modern Button */
.sober-cart-style-always_visible ul.products li.product .product-header .buttons,
.elementor-widget-sober-products-tabs.sober-cart-style-always_visible ul.products li.product .product-header .buttons {
	position: relative;
	opacity: 1;
	visibility: visible;
	transform: none;
	margin-top: 12px;
}

.sober-cart-style-always_visible ul.products li.product .product-header .buttons .button,
.elementor-widget-sober-products-tabs.sober-cart-style-always_visible ul.products li.product .product-header .buttons .button {
	width: 100%;
	display: block;
	text-align: center;
	padding: 10px 18px;
	border-radius: 6px;
	background-color: #23232c;
	color: #ffffff;
}

/* Action Icons (Wishlist, Quick View, Compare) */
.elementor-widget-sober-products-tabs ul.products li.product .buttons-icon a,
.sober-products-tabs ul.products li.product .buttons-icon a,
.elementor-widget-sober-products-tabs ul.products li.product .buttons-icon .button,
.sober-products-tabs ul.products li.product .buttons-icon .button {
	transition: all 0.25s ease;
}

/* ==========================================================================
   Mobile & Tablet Responsiveness
   ========================================================================== */

/* Tablet Viewports (max-width: 1024px) */
@media (max-width: 1024px) {
	.elementor-widget-sober-products-tabs .product-filter .filter,
	.sober-products-tabs .product-filter .filter {
		gap: 10px 14px;
	}

	.sober-tab-style-button .product-filter .filter li,
	.sober-tab-style-pill .product-filter .filter li,
	.sober-tab-style-outline .product-filter .filter li,
	.elementor-widget-sober-products-tabs.sober-tab-style-button .product-filter .filter li,
	.elementor-widget-sober-products-tabs.sober-tab-style-pill .product-filter .filter li,
	.elementor-widget-sober-products-tabs.sober-tab-style-outline .product-filter .filter li {
		padding: 9px 20px;
		font-size: 14px;
	}
}

/* Mobile Viewports (max-width: 767px) */
@media (max-width: 767px) {
	.elementor-widget-sober-products-tabs .product-filter,
	.sober-products-tabs .product-filter {
		margin-bottom: 20px;
	}

	.elementor-widget-sober-products-tabs .product-filter .filter,
	.sober-products-tabs .product-filter .filter {
		gap: 8px 10px;
	}

	.sober-tab-style-line .product-filter .filter li,
	.elementor-widget-sober-products-tabs.sober-tab-style-line .product-filter .filter li,
	.sober-products-tabs.sober-tab-style-line .product-filter .filter li {
		padding: 6px 12px;
		font-size: 14px;
	}

	.sober-tab-style-button .product-filter .filter li,
	.sober-tab-style-pill .product-filter .filter li,
	.sober-tab-style-outline .product-filter .filter li,
	.elementor-widget-sober-products-tabs.sober-tab-style-button .product-filter .filter li,
	.elementor-widget-sober-products-tabs.sober-tab-style-pill .product-filter .filter li,
	.elementor-widget-sober-products-tabs.sober-tab-style-outline .product-filter .filter li {
		padding: 8px 16px;
		font-size: 13px;
	}

	.sober-tabs-dots {
		margin: 12px 0 25px 0;
	}

	/* Mobile Layout: Full-Width Stacked */
	.elementor-widget-sober-products-tabs.sober-mobile-layout-fullwidth .product-filter .filter,
	.sober-products-tabs.sober-mobile-layout-fullwidth .product-filter .filter {
		flex-direction: column !important;
		width: 100% !important;
	}
	.elementor-widget-sober-products-tabs.sober-mobile-layout-fullwidth .product-filter .filter li,
	.sober-products-tabs.sober-mobile-layout-fullwidth .product-filter .filter li {
		width: 100% !important;
		text-align: center !important;
	}

	/* Mobile Layout: Scroll */
	.elementor-widget-sober-products-tabs.sober-mobile-layout-scroll .product-filter,
	.sober-products-tabs.sober-mobile-layout-scroll .product-filter {
		overflow-x: auto !important;
		-webkit-overflow-scrolling: touch;
		scroll-behavior: smooth;
		padding-bottom: 6px;
	}
	.elementor-widget-sober-products-tabs.sober-mobile-layout-scroll .product-filter .filter,
	.sober-products-tabs.sober-mobile-layout-scroll .product-filter .filter {
		display: inline-flex !important;
		flex-wrap: nowrap !important;
		white-space: nowrap !important;
		min-width: 100%;
	}
}

/* ==========================================================================
   Banner Pop-up Card Widget (.sober-banner-popup)
   ========================================================================== */
/* ==========================================================================
   Banner Pop-up Card Widget (.sober-banner-popup)
   ========================================================================== */
.sober-banner-popup {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	min-height: 380px;
	border-radius: 24px;
	overflow: hidden;
	box-sizing: border-box;
	text-align: center;
	isolation: isolate;
	cursor: pointer;
	transform: translateZ(0);
	transition: transform 0.25s cubic-bezier(0.2, 0.8, 0.2, 1), box-shadow 0.3s ease;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}

.sober-banner-popup:active {
	transform: scale(0.985);
}

/* Background Layer */
.sober-banner-popup__bg {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	width: 100% !important;
	height: 100% !important;
	z-index: 1;
	overflow: hidden;
	pointer-events: none;
	border-radius: inherit;
}

.sober-banner-popup__bg-img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100% !important;
	height: 100% !important;
	min-width: 100% !important;
	min-height: 100% !important;
	max-width: none !important;
	max-height: none !important;
	object-fit: cover;
	object-position: center center;
	display: block;
	margin: 0 !important;
	padding: 0 !important;
	border: none !important;
	border-radius: inherit !important;
	transform: scale(1);
	transition: transform 0.75s cubic-bezier(0.25, 1, 0.5, 1);
	will-change: transform;
}

/* Ease-in Zoom on Hover */
.sober-banner-popup.sober-banner-popup--zoom-yes:hover .sober-banner-popup__bg-img {
	transform: scale(1.08);
}

/* Background Overlay */
.sober-banner-popup__overlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 2;
	background-color: rgba(0, 0, 0, 0.15);
	pointer-events: none;
	transition: background-color 0.4s ease;
}

.sober-banner-popup:hover .sober-banner-popup__overlay {
	background-color: rgba(0, 0, 0, 0.25);
}

/* Card Link Overlay */
.sober-banner-popup__card-link {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 5;
	text-decoration: none;
	outline: none;
	cursor: pointer;
}

/* Content Container */
.sober-banner-popup__content {
	position: relative;
	z-index: 3;
	width: 100%;
	height: 100%;
	padding: 32px;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
	pointer-events: none;
}

/* Inner Container: Holds Header + Button in Stacked Flow */
.sober-banner-popup__inner {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: 100%;
	/* Offset down slightly in normal state so title+subtitle is centered in the card */
	transform: translateY(28px);
	transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
	will-change: transform;
}

/* On Card Hover: Shift Entire Group Up smoothly */
.sober-banner-popup:hover .sober-banner-popup__inner {
	transform: translateY(0);
}

/* Header: Title & Subtitle */
.sober-banner-popup__header {
	width: 100%;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
}

/* Title */
.sober-banner-popup__title {
	margin: 0 0 6px 0;
	font-size: 38px;
	font-weight: 800;
	line-height: 1.2;
	color: #ffffff;
	letter-spacing: -0.02em;
	text-shadow: 0 2px 10px rgba(0, 0, 0, 0.35);
	transition: color 0.3s ease;
}

/* Subtitle */
.sober-banner-popup__subtitle {
	margin: 0;
	font-size: 17px;
	font-weight: 600;
	line-height: 1.4;
	color: #ffffff;
	opacity: 0.95;
	text-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
	transition: color 0.3s ease;
}

/* Button Wrapper: Stacked Below Subtitle with Clean Spacing (Never Overlaps) */
.sober-banner-popup__button-wrapper {
	position: relative;
	margin-top: 20px;
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	opacity: 0;
	visibility: hidden;
	transform: translateY(24px);
	transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.5s cubic-bezier(0.16, 1, 0.3, 1), visibility 0.5s;
	will-change: transform, opacity;
	pointer-events: none;
}

/* On Card Hover: Reveal Button and Animate into place */
.sober-banner-popup:hover .sober-banner-popup__button-wrapper {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
	pointer-events: auto;
}

/* ==========================================================================
   Animation Styles on Hover
   ========================================================================== */

/* 1. Slow Smooth Slide Up (Default) */
.sober-banner-popup.sober-banner-popup--anim-smooth_slide .sober-banner-popup__inner {
	transform: translateY(28px);
	transition: transform 0.65s cubic-bezier(0.16, 1, 0.3, 1);
}
.sober-banner-popup.sober-banner-popup--anim-smooth_slide:hover .sober-banner-popup__inner {
	transform: translateY(0);
}
.sober-banner-popup.sober-banner-popup--anim-smooth_slide .sober-banner-popup__button-wrapper {
	transform: translateY(28px);
	transition: transform 0.65s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.55s ease, visibility 0.55s;
}
.sober-banner-popup.sober-banner-popup--anim-smooth_slide:hover .sober-banner-popup__button-wrapper {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
	pointer-events: auto;
}

/* 2. Elastic Spring Pop-Up */
.sober-banner-popup.sober-banner-popup--anim-pop_spring .sober-banner-popup__inner {
	transform: translateY(28px);
	transition: transform 0.6s cubic-bezier(0.34, 1.4, 0.64, 1);
}
.sober-banner-popup.sober-banner-popup--anim-pop_spring:hover .sober-banner-popup__inner {
	transform: translateY(0);
}
.sober-banner-popup.sober-banner-popup--anim-pop_spring .sober-banner-popup__button-wrapper {
	transform: translateY(30px) scale(0.85);
	transition: transform 0.6s cubic-bezier(0.34, 1.45, 0.64, 1), opacity 0.45s ease, visibility 0.45s;
}
.sober-banner-popup.sober-banner-popup--anim-pop_spring:hover .sober-banner-popup__button-wrapper {
	opacity: 1;
	visibility: visible;
	transform: translateY(0) scale(1);
	pointer-events: auto;
}

/* 3. Gentle Fade & Rise */
.sober-banner-popup.sober-banner-popup--anim-fade_up .sober-banner-popup__inner {
	transform: translateY(24px);
	transition: transform 0.7s cubic-bezier(0.25, 1, 0.5, 1);
}
.sober-banner-popup.sober-banner-popup--anim-fade_up:hover .sober-banner-popup__inner {
	transform: translateY(0);
}
.sober-banner-popup.sober-banner-popup--anim-fade_up .sober-banner-popup__button-wrapper {
	transform: translateY(18px);
	transition: transform 0.7s cubic-bezier(0.25, 1, 0.5, 1), opacity 0.6s ease, visibility 0.6s;
}
.sober-banner-popup.sober-banner-popup--anim-fade_up:hover .sober-banner-popup__button-wrapper {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
	pointer-events: auto;
}

/* 4. Zoom / Pop In */
.sober-banner-popup.sober-banner-popup--anim-zoom_in .sober-banner-popup__inner {
	transform: translateY(28px);
	transition: transform 0.55s cubic-bezier(0.175, 0.885, 0.32, 1.25);
}
.sober-banner-popup.sober-banner-popup--anim-zoom_in:hover .sober-banner-popup__inner {
	transform: translateY(0);
}
.sober-banner-popup.sober-banner-popup--anim-zoom_in .sober-banner-popup__button-wrapper {
	transform: scale(0.7) translateY(10px);
	transition: transform 0.55s cubic-bezier(0.175, 0.885, 0.32, 1.25), opacity 0.45s ease, visibility 0.45s;
}
.sober-banner-popup.sober-banner-popup--anim-zoom_in:hover .sober-banner-popup__button-wrapper {
	opacity: 1;
	visibility: visible;
	transform: scale(1) translateY(0);
	pointer-events: auto;
}

/* 5. Bottom Frame Reveal */
.sober-banner-popup.sober-banner-popup--anim-reveal_slide .sober-banner-popup__inner {
	transform: translateY(32px);
	transition: transform 0.7s cubic-bezier(0.16, 1, 0.3, 1);
}
.sober-banner-popup.sober-banner-popup--anim-reveal_slide:hover .sober-banner-popup__inner {
	transform: translateY(0);
}
.sober-banner-popup.sober-banner-popup--anim-reveal_slide .sober-banner-popup__button-wrapper {
	transform: translateY(40px);
	transition: transform 0.7s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.45s ease, visibility 0.45s;
}
.sober-banner-popup.sober-banner-popup--anim-reveal_slide:hover .sober-banner-popup__button-wrapper {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
	pointer-events: auto;
}

/* Button Element */
.sober-banner-popup__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background-color: #9d5cef;
	color: #ffffff;
	padding: 14px 32px;
	border-radius: 9999px;
	font-size: 14px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 1px;
	text-decoration: none;
	cursor: pointer;
	border: none;
	outline: none;
	box-shadow: 0 8px 24px rgba(157, 92, 239, 0.35);
	transition: all 0.25s cubic-bezier(0.2, 0.8, 0.2, 1);
	pointer-events: auto;
	box-sizing: border-box;
	user-select: none;
}

.sober-banner-popup__btn svg {
	width: 14px;
	height: 14px;
	fill: currentColor;
	transition: transform 0.25s ease;
}

.sober-banner-popup__btn i {
	font-size: 14px;
	transition: transform 0.25s ease;
}

/* Button Hover State */
.sober-banner-popup__btn:hover,
.sober-banner-popup.sober-banner-popup--link-card:hover .sober-banner-popup__btn {
	background-color: #883fe0;
	color: #ffffff;
	box-shadow: 0 12px 28px rgba(157, 92, 239, 0.45);
	transform: translateY(-2px);
}

.sober-banner-popup__btn:active {
	transform: translateY(0) scale(0.97);
}

/* Button Icon Spacing & Animation */
.sober-banner-popup__btn-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	line-height: 1;
	transition: transform 0.25s ease;
}

.sober-banner-popup__btn--icon-right .sober-banner-popup__btn-icon {
	margin-left: 10px;
}

.sober-banner-popup__btn--icon-left .sober-banner-popup__btn-icon {
	margin-right: 10px;
}

/* Icon Micro-Shift on Hover */
.sober-banner-popup:hover .sober-banner-popup__btn--icon-right .sober-banner-popup__btn-icon,
.sober-banner-popup__btn:hover.sober-banner-popup__btn--icon-right .sober-banner-popup__btn-icon {
	transform: translateX(4px);
}

.sober-banner-popup:hover .sober-banner-popup__btn--icon-left .sober-banner-popup__btn-icon,
.sober-banner-popup__btn:hover.sober-banner-popup__btn--icon-left .sober-banner-popup__btn-icon {
	transform: translateX(-4px);
}

/* Always Visible Mode */
.sober-banner-popup.sober-banner-popup--always-visible .sober-banner-popup__inner {
	transform: translateY(0) !important;
}

.sober-banner-popup.sober-banner-popup--always-visible .sober-banner-popup__button-wrapper {
	opacity: 1 !important;
	visibility: visible !important;
	transform: translateY(0) !important;
	pointer-events: auto !important;
}

/* Mobile Touchscreen Behavior (Always visible if configured) */
@media (max-width: 767px) {
	.sober-banner-popup.sober-banner-popup--always-visible-mobile .sober-banner-popup__inner {
		transform: translateY(0) !important;
	}
	.sober-banner-popup.sober-banner-popup--always-visible-mobile .sober-banner-popup__button-wrapper {
		opacity: 1 !important;
		visibility: visible !important;
		transform: translateY(0) !important;
		pointer-events: auto !important;
	}
	.sober-banner-popup {
		min-height: 300px;
	}
	.sober-banner-popup__title {
		font-size: 28px;
	}
	.sober-banner-popup__subtitle {
		font-size: 15px;
	}
	.sober-banner-popup__btn {
		padding: 12px 24px;
		font-size: 13px;
	}
}

/* ==========================================================================
   Product Cards & Product Grid - Style Presets & Animations
   ========================================================================== */

/* Base Transitions & Default Flat Normal State */
.sober-products-grid-wrapper ul.products li.product,
.sober-products-tabs-wrapper ul.products li.product,
.sober-products ul.products li.product {
	transition: transform 0.35s cubic-bezier(0.2, 0.8, 0.2, 1), box-shadow 0.35s ease, background-color 0.3s ease, border-color 0.3s ease !important;
	box-sizing: border-box !important;
	box-shadow: none !important;
}

.sober-card-anim-none ul.products li.product,
.sober-card-anim-none ul.products li.product:hover {
	box-shadow: none !important;
	transform: none !important;
}

/* Card Hover Animation Presets (Optional via Elementor controls) */
.sober-card-anim-lift ul.products li.product:hover {
	transform: translateY(-6px) !important;
	box-shadow: 0 14px 32px rgba(0, 0, 0, 0.12) !important;
}

.sober-card-anim-zoom ul.products li.product:hover {
	transform: scale(1.025) !important;
}

.sober-card-anim-glow ul.products li.product:hover {
	box-shadow: 0 0 28px rgba(247, 147, 30, 0.32) !important;
}

/* Product Layout Mode: Horizontal Scroll / Carousel */
.sober-products-layout-scroll ul.products {
	display: flex !important;
	flex-wrap: nowrap !important;
	overflow-x: auto !important;
	-webkit-overflow-scrolling: touch !important;
	scroll-behavior: smooth !important;
	padding-bottom: 16px !important;
}

.sober-products-layout-scroll ul.products li.product {
	flex-shrink: 0 !important;
}

/* Product Layout Mode: Mobile/Tablet Scroll Only */
@media (max-width: 767px) {
	.sober-products-layout-mobile_scroll ul.products {
		display: flex !important;
		flex-wrap: nowrap !important;
		overflow-x: auto !important;
		-webkit-overflow-scrolling: touch !important;
		scroll-behavior: smooth !important;
		padding-bottom: 16px !important;
	}
	.sober-products-layout-mobile_scroll ul.products li.product {
		flex-shrink: 0 !important;
	}
}

/* Cart Button Style Presets */
.sober-cart-style-pill_center ul.products li.product .product-header .button.add_to_cart_button,
.sober-cart-style-pill_center ul.products li.product .product-header .button.product_type_simple,
.sober-cart-style-pill_center ul.products li.product .product-header .button.product_type_variable {
	border-radius: 9999px !important;
	padding: 10px 24px !important;
	font-weight: 700 !important;
	box-shadow: 0 8px 20px rgba(0,0,0,0.18) !important;
}

.sober-cart-style-bottom_full ul.products li.product .product-header .button.add_to_cart_button,
.sober-cart-style-bottom_full ul.products li.product .product-header .button.product_type_simple,
.sober-cart-style-bottom_full ul.products li.product .product-header .button.product_type_variable {
	width: 100% !important;
	border-radius: 0 0 8px 8px !important;
	padding: 12px 16px !important;
}

.sober-cart-style-always_visible ul.products li.product .product-header .button {
	opacity: 1 !important;
	visibility: visible !important;
	transform: none !important;
}

/* ==========================================================================
   Product Grid & Tabs Container Normalization
   ========================================================================== */
.sober-products-grid-wrapper,
.elementor-widget-sober-products-grid .sober-products,
.elementor-widget-sober-products-grid .sober-product-grid {
	position: relative;
	width: 100%;
	display: block;
	clear: both;
}

.sober-products-grid-wrapper ul.products,
.elementor-widget-sober-products-grid ul.products,
.elementor-widget-sober-products-tabs ul.products {
	display: flex !important;
	flex-wrap: wrap !important;
	list-style: none !important;
	padding: 0 !important;
	margin: 0 !important;
	width: 100% !important;
	box-sizing: border-box !important;
	justify-content: flex-start !important;
	align-items: stretch !important;
	gap: var(--sober-row-gap, 35px) var(--sober-col-gap, 30px) !important;
}

.sober-products-grid-wrapper ul.products::before,
.sober-products-grid-wrapper ul.products::after,
.elementor-widget-sober-products-grid ul.products::before,
.elementor-widget-sober-products-grid ul.products::after {
	display: none !important;
}

.sober-products-grid-wrapper ul.products li.product,
.elementor-widget-sober-products-grid ul.products li.product,
.elementor-widget-sober-products-tabs ul.products li.product {
	float: none !important;
	margin: 0 !important;
	clear: none !important;
	box-sizing: border-box !important;
	display: flex !important;
	flex-direction: column !important;
	position: relative !important;
	height: auto !important;
}

.sober-products-grid-wrapper ul.products li.product .product-header,
.elementor-widget-sober-products-grid ul.products li.product .product-header {
	position: relative !important;
	width: 100% !important;
	overflow: hidden !important;
}

.sober-products-grid-wrapper ul.products li.product .product-header img,
.elementor-widget-sober-products-grid ul.products li.product .product-header img {
	width: 100% !important;
	height: auto !important;
	display: block !important;
	object-fit: cover !important;
}

.sober-products-grid-wrapper ul.products li.product .product-summary,
.elementor-widget-sober-products-grid ul.products li.product .product-summary {
	width: 100% !important;
	box-sizing: border-box !important;
	margin-top: 14px !important;
	display: flex !important;
	flex-direction: column !important;
	flex: 1 1 auto !important;
}




