/* Classic Carousel layout for Elementor widget */

.cpc-products-carousel.cpc-classic {
	position: relative;
	display: flex;
	flex-wrap: nowrap;
	overflow-x: auto;
	overflow-y: visible;
	gap: 16px;
	padding: 8px 12px 16px;
	-webkit-overflow-scrolling: touch;
	overscroll-behavior-x: contain;
	align-items: flex-start;
	touch-action: pan-y pan-x;
}

.cpc-products-carousel.cpc-classic::-webkit-scrollbar {
	display: none;
}
.cpc-products-carousel.cpc-classic {
	scrollbar-width: none;
}

.cpc-products-carousel.cpc-classic > .cpc-card,
.cpc-products-carousel.cpc-classic > .cpc-product-card,
.elementor-widget .cpc-products-carousel.cpc-classic > .cpc-card,
.elementor-widget .cpc-products-carousel.cpc-classic > .cpc-product-card,
.elementor-element .cpc-products-carousel.cpc-classic > .cpc-card,
.elementor-element .cpc-products-carousel.cpc-classic > .cpc-product-card {
	flex: 0 0 auto;
	border-radius: 12px !important;
	overflow: visible;
	margin: 0;
	box-shadow: 0 1px 6px rgba(0,0,0,0.06);
	background-clip: padding-box;
	height: auto !important;
	max-height: none !important;
}

/* Prevent image crop/stretch in classic carousel */
.cpc-products-carousel.cpc-classic .cpc-card-image,
.cpc-products-carousel.cpc-classic .cpc-thumb-wrapper {
	height: auto !important;
	max-height: none !important;
	flex-shrink: 0;
	overflow: visible !important;
}

.cpc-products-carousel.cpc-classic .cpc-card-image img,
.cpc-products-carousel.cpc-classic .cpc-thumb-wrapper img,
.cpc-products-carousel.cpc-classic .cpc-product-image {
	width: 100% !important;
	height: auto !important;
	max-height: none !important;
	object-fit: contain !important;
	aspect-ratio: auto !important;
}

/* Mobile: ~1.2 cards visible */
.cpc-products-carousel.cpc-classic > .cpc-card,
.cpc-products-carousel.cpc-classic > .cpc-product-card {
	flex-basis: calc(80% - 16px) !important;
	min-width: calc(80% - 16px);
}

/* Desktop widths based on columns setting */
@media (min-width: 768px) {
	.cpc-products-carousel.cpc-classic.cpc-columns-2 > .cpc-card,
	.cpc-products-carousel.cpc-classic.cpc-columns-2 > .cpc-product-card { flex-basis: calc(50% - 16px) !important; min-width: calc(50% - 16px); }
	.cpc-products-carousel.cpc-classic.cpc-columns-3 > .cpc-card,
	.cpc-products-carousel.cpc-classic.cpc-columns-3 > .cpc-product-card { flex-basis: calc(33.333% - 16px) !important; min-width: calc(33.333% - 16px); }
	.cpc-products-carousel.cpc-classic.cpc-columns-4 > .cpc-card,
	.cpc-products-carousel.cpc-classic.cpc-columns-4 > .cpc-product-card { flex-basis: calc(25% - 16px) !important; min-width: calc(25% - 16px); }
	.cpc-products-carousel.cpc-classic.cpc-columns-5 > .cpc-card,
	.cpc-products-carousel.cpc-classic.cpc-columns-5 > .cpc-product-card { flex-basis: calc(20% - 16px) !important; min-width: calc(20% - 16px); }
	.cpc-products-carousel.cpc-classic.cpc-columns-6 > .cpc-card,
	.cpc-products-carousel.cpc-classic.cpc-columns-6 > .cpc-product-card { flex-basis: calc(16.666% - 16px) !important; min-width: calc(16.666% - 16px); }
}

.cpc-products-carousel.cpc-classic {
	grid-auto-flow: initial !important;
	grid-template-columns: none !important;
}

/* RTL */
[dir='rtl'] .cpc-products-carousel.cpc-classic {
	direction: rtl;
}

/* WooCommerce archive UL */
.products.cpc-products-carousel.cpc-classic {
	display: flex !important;
	flex-wrap: nowrap !important;
	overflow-x: auto;
	overflow-y: visible;
	gap: 16px;
	padding: 8px 12px 16px;
	list-style: none;
	margin-left: 0;
	margin-right: 0;
	-webkit-overflow-scrolling: touch;
	align-items: flex-start;
	touch-action: pan-y pan-x;
}

.products.cpc-products-carousel.cpc-classic > li.product {
	flex: 0 0 auto;
	margin: 0 !important;
}

.products.cpc-products-carousel.cpc-classic > li.product { flex-basis: calc(80% - 16px) !important; min-width: calc(80% - 16px); }

@media (min-width: 768px) {
	.products.cpc-products-carousel.cpc-classic.cpc-columns-2 > li.product { flex-basis: calc(50% - 16px) !important; min-width: calc(50% - 16px); }
	.products.cpc-products-carousel.cpc-classic.cpc-columns-3 > li.product { flex-basis: calc(33.333% - 16px) !important; min-width: calc(33.333% - 16px); }
	.products.cpc-products-carousel.cpc-classic.cpc-columns-4 > li.product { flex-basis: calc(25% - 16px) !important; min-width: calc(25% - 16px); }
	.products.cpc-products-carousel.cpc-classic.cpc-columns-5 > li.product { flex-basis: calc(20% - 16px) !important; min-width: calc(20% - 16px); }
	.products.cpc-products-carousel.cpc-classic.cpc-columns-6 > li.product { flex-basis: calc(16.666% - 16px) !important; min-width: calc(16.666% - 16px); }
}

[dir='rtl'] .products.cpc-products-carousel.cpc-classic {
	direction: rtl;
}

.products.cpc-products-carousel.cpc-classic > li.product .cpc-product-card,
.products.cpc-products-carousel.cpc-classic > li.product .cpc-card {
	border-radius: 12px !important;
	overflow: visible;
	height: auto !important;
	max-height: none !important;
}

.products.cpc-products-carousel.cpc-classic > li.product .cpc-card-image,
.products.cpc-products-carousel.cpc-classic > li.product .cpc-thumb-wrapper {
	height: auto !important;
	max-height: none !important;
	flex-shrink: 0;
	overflow: visible !important;
}

.products.cpc-products-carousel.cpc-classic > li.product .cpc-card-image img,
.products.cpc-products-carousel.cpc-classic > li.product .cpc-thumb-wrapper img,
.products.cpc-products-carousel.cpc-classic > li.product .cpc-product-image {
	width: 100% !important;
	height: auto !important;
	max-height: none !important;
	object-fit: contain !important;
	aspect-ratio: auto !important;
}
