/**
 * WooCommerce Category Product Carousel Styles
 */

.wc-carousel-products-container {
	--wc-tabs-primary: #4f46e5;
	--wc-tabs-primary-light: rgba(79, 70, 229, 0.08);
	--wc-tabs-text: #1f2937;
	--wc-tabs-text-muted: #6b7280;
	--wc-tabs-border: #e5e7eb;
	--wc-tabs-bg: #ffffff;
	--wc-tabs-bg-hover: #f9fafb;
	--wc-tabs-transition-speed: 0.35s;

	/* Card Settings */
	--wc-tabs-card-bg: #ffffff;
	--wc-tabs-card-bg-hover: #ffffff;
	--wc-tabs-card-padding: 18px;
	--wc-tabs-card-border-radius: 16px;
	--wc-tabs-card-border-width: 1px;
	--wc-tabs-card-border-style: solid;
	--wc-tabs-card-border-color: #eaf0f6;
	--wc-tabs-card-border-hover-color: #4f46e5;
	--wc-tabs-card-shadow: 0 10px 30px -10px rgba(0, 0, 0, 0.04), 0 1px 3px rgba(0, 0, 0, 0.02);
	--wc-tabs-card-shadow-hover: 0 20px 40px -15px rgba(79, 70, 229, 0.15), 0 1px 5px rgba(0, 0, 0, 0.02);
	--wc-tabs-card-lift: -6px;

	/* Image Settings */
	--wc-tabs-image-border-radius: 12px;
	--wc-tabs-image-hover-scale: 1.05;

	/* Title Settings */
	--wc-tabs-title-color: #1f2937;
	--wc-tabs-title-color-hover: #4f46e5;
	--wc-tabs-title-spacing: 8px;

	/* Price Settings */
	--wc-tabs-price-color: #4f46e5;
	--wc-tabs-price-spacing: 16px;

	/* Button Settings */
	--wc-tabs-btn-bg: #1f2937;
	--wc-tabs-btn-bg-hover: #4f46e5;
	--wc-tabs-btn-color: #ffffff;
	--wc-tabs-btn-color-hover: #ffffff;
	--wc-tabs-btn-padding: 10px 16px;
	--wc-tabs-btn-border-radius: 10px;
	--wc-tabs-btn-shadow: 0 4px 12px rgba(31, 41, 55, 0.08);
	--wc-tabs-btn-shadow-hover: 0 6px 16px rgba(79, 70, 229, 0.25);
	--wc-tabs-btn-border-width: 0px;
	--wc-tabs-btn-border-style: none;
	--wc-tabs-btn-border-color: transparent;

	/* Badge Settings */
	--wc-tabs-badge-bg: linear-gradient(135deg, #ff416c, #ff4b2b);
	--wc-tabs-badge-color: #ffffff;
	--wc-tabs-badge-border-radius: 30px;
	--wc-tabs-badge-padding: 6px 12px;

	/* Carousel Specific Settings */
	--wc-carousel-arrow-size: 20px;
	--wc-carousel-arrow-color: #6b7280;
	--wc-carousel-arrow-color-hover: #4f46e5;
	--wc-carousel-arrow-bg: #ffffff;
	--wc-carousel-arrow-bg-hover: #ffffff;
	--wc-carousel-arrow-border-color: #e5e7eb;
	--wc-carousel-arrow-border-hover-color: #4f46e5;
	--wc-carousel-arrow-border-radius: 50%;
	--wc-carousel-arrow-padding: 12px;
	--wc-carousel-arrow-shadow: 0 4px 12px rgba(0,0,0,0.05);
	--wc-carousel-arrow-shadow-hover: 0 6px 16px rgba(79, 70, 229, 0.15);

	--wc-carousel-dot-color: #e5e7eb;
	--wc-carousel-dot-color-active: #4f46e5;

	margin: 2rem 0;
	position: relative;
}

/* Swiper Container Layout Defaults */
.wc-carousel-products-container .swiper {
	width: 100%;
	height: auto !important;
	position: relative;
	overflow: hidden;
	list-style: none;
	padding: 30px 0 55px 0 !important; /* padding for top hover lift and bottom pagination dots/shadows */
	margin: 0;
}

.wc-carousel-products-container .swiper-wrapper {
	position: relative !important;
	width: 100% !important;
	height: auto !important;
	z-index: 1 !important;
	display: flex !important;
	align-items: stretch !important; /* equal height cards */
	flex-wrap: nowrap !important;
	flex-direction: row !important;
	box-sizing: content-box !important;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

.wc-carousel-products-container .swiper-slide {
	flex-shrink: 0 !important;
	height: auto !important;
	position: relative !important;
	box-sizing: border-box !important;
}

/* Premium Card Layout on slides */
.wc-carousel-products-container .swiper-slide.product {
	margin-top: 0 !important;
	margin-left: 0 !important;
	margin-bottom: 0 !important;
	background: var(--wc-tabs-card-bg) !important;
	border-width: var(--wc-tabs-card-border-width) !important;
	border-style: var(--wc-tabs-card-border-style) !important;
	border-color: var(--wc-tabs-card-border-color) !important;
	border-radius: var(--wc-tabs-card-border-radius) !important;
	padding: var(--wc-tabs-card-padding) !important;
	box-shadow: var(--wc-tabs-card-shadow);
	transition: transform var(--wc-tabs-transition-speed) ease, box-shadow var(--wc-tabs-transition-speed) ease, border-color var(--wc-tabs-transition-speed) ease, background-color var(--wc-tabs-transition-speed) ease !important;
	position: relative !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: stretch !important;
	height: auto !important;
	align-self: stretch !important;
	float: none !important;
	clear: none !important;
	box-sizing: border-box !important;
}

/* Card Hover Lift & Glow */
.wc-carousel-products-container .swiper-slide.product:hover {
	transform: translateY(var(--wc-tabs-card-lift)) !important;
	border-color: var(--wc-tabs-card-border-hover-color) !important;
	background: var(--wc-tabs-card-bg-hover) !important;
	box-shadow: var(--wc-tabs-card-shadow-hover);
}

/* Swiper navigation buttons */
.wc-carousel-products-container .wc-carousel-arrow {
	position: absolute !important;
	top: var(--wc-carousel-arrow-top, 50%) !important;
	transform: translateY(-50%) !important;
	z-index: 10 !important;
	cursor: pointer !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	background: var(--wc-carousel-arrow-bg, #ffffff) !important;
	border-style: solid !important;
	border-color: var(--wc-carousel-arrow-border-color, #e5e7eb) !important;
	color: var(--wc-carousel-arrow-color, #6b7280) !important;
	width: calc(var(--wc-carousel-arrow-size, 20px) + var(--wc-carousel-arrow-padding, 12px) * 2) !important;
	height: calc(var(--wc-carousel-arrow-size, 20px) + var(--wc-carousel-arrow-padding, 12px) * 2) !important;
	border-radius: var(--wc-carousel-arrow-border-radius, 50%) !important;
	box-shadow: var(--wc-carousel-arrow-shadow) !important;
	transition: all var(--wc-tabs-transition-speed) ease !important;
	outline: none !important;
	padding: 0 !important;
	min-width: 0 !important;
	min-height: 0 !important;
	line-height: 1 !important;
}

.wc-carousel-products-container .wc-carousel-arrow svg {
	width: var(--wc-carousel-arrow-size, 20px) !important;
	height: var(--wc-carousel-arrow-size, 20px) !important;
	stroke: currentColor !important;
	stroke-width: 2 !important;
	fill: none !important;
}

.wc-carousel-products-container .wc-carousel-arrow:hover {
	color: var(--wc-carousel-arrow-color-hover, #4f46e5) !important;
	background: var(--wc-carousel-arrow-bg-hover, #ffffff) !important;
	border-color: var(--wc-carousel-arrow-border-hover-color, #4f46e5) !important;
	box-shadow: var(--wc-carousel-arrow-shadow-hover) !important;
}

.wc-carousel-products-container .wc-carousel-arrow-prev {
	left: var(--wc-carousel-arrow-prev-left, -20px) !important;
}

.wc-carousel-products-container .wc-carousel-arrow-next {
	right: var(--wc-carousel-arrow-next-right, -20px) !important;
}

.wc-carousel-products-container .wc-carousel-arrow.swiper-button-disabled {
	opacity: 0.35 !important;
	cursor: not-allowed !important;
	pointer-events: none !important;
}

/* Swiper pagination dots */
.wc-carousel-products-container .swiper-pagination {
	position: absolute !important;
	bottom: var(--wc-carousel-dot-bottom, 0px) !important;
	left: 0 !important;
	width: 100% !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: var(--wc-carousel-dot-gap, 6px) !important;
	z-index: 10 !important;
}

.wc-carousel-products-container .swiper-pagination-bullet {
	width: var(--wc-carousel-dot-size, 8px) !important;
	height: var(--wc-carousel-dot-size, 8px) !important;
	display: inline-block !important;
	border-radius: 50% !important;
	background: var(--wc-carousel-dot-color, #e5e7eb) !important;
	opacity: 1 !important;
	cursor: pointer !important;
	transition: all var(--wc-tabs-transition-speed) ease !important;
	margin: 0 !important;
}

.wc-carousel-products-container .swiper-pagination-bullet-active {
	background: var(--wc-carousel-dot-color-active, #4f46e5) !important;
	width: calc(var(--wc-carousel-dot-size, 8px) * 2.5) !important;
	border-radius: 4px !important;
}

/* Card components matching tabs styling */
.wc-carousel-products-container .product a.woocommerce-LoopProduct-link,
.wc-carousel-products-container .product a.woocommerce-loop-product__link {
	display: flex !important;
	flex-direction: column !important;
	flex-grow: 1 !important;
	text-decoration: none !important;
	color: var(--wc-tabs-title-color) !important;
	margin: 0 0 var(--wc-tabs-title-spacing) 0 !important;
	padding: 0 !important;
	background: transparent !important;
}

.wc-carousel-products-container .product a img,
.wc-carousel-products-container .product .woocommerce-loop-product__link img {
	width: 100% !important;
	height: auto !important;
	aspect-ratio: 1 / 1 !important;
	object-fit: cover !important;
	border-radius: var(--wc-tabs-image-border-radius) !important;
	margin: 0 0 14px 0 !important;
	padding: 0 !important;
	transition: transform var(--wc-tabs-transition-speed) cubic-bezier(0.165, 0.84, 0.44, 1) !important;
}

.wc-carousel-products-container .product:hover a img,
.wc-carousel-products-container .product:hover .woocommerce-loop-product__link img {
	transform: scale(var(--wc-tabs-image-hover-scale)) !important;
}

.wc-carousel-products-container .product .onsale {
	position: absolute !important;
	top: 14px !important;
	left: 14px !important;
	right: auto !important;
	margin: 0 !important;
	min-width: auto !important;
	min-height: auto !important;
	line-height: 1;
	background: var(--wc-tabs-badge-bg) !important;
	color: var(--wc-tabs-badge-color) !important;
	padding: var(--wc-tabs-badge-padding) !important;
	border-radius: var(--wc-tabs-badge-border-radius) !important;
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	box-shadow: 0 4px 10px rgba(0, 0, 0, 0.05);
	z-index: 10 !important;
}

.wc-carousel-products-container .product .woocommerce-loop-product__title {
	font-size: 16px;
	font-weight: 600;
	color: var(--wc-tabs-title-color);
	line-height: 1.4;
	margin: 0 0 var(--wc-tabs-title-spacing) 0 !important;
	padding: 0 !important;
	transition: color var(--wc-tabs-transition-speed) ease !important;
	text-align: center;
}

.wc-carousel-products-container .product:hover .woocommerce-loop-product__title {
	color: var(--wc-tabs-title-color-hover) !important;
}

.wc-carousel-products-container .product .price {
	font-size: 15px;
	font-weight: 700;
	color: var(--wc-tabs-price-color);
	margin: auto 0 var(--wc-tabs-price-spacing) 0 !important;
	text-align: center;
	display: block;
}

.wc-carousel-products-container .product .price del {
	font-size: 13px;
	color: var(--wc-tabs-text-muted);
	font-weight: 400;
	margin-right: 6px !important;
	display: inline-block;
}

.wc-carousel-products-container .product .price ins {
	background: transparent;
	text-decoration: none;
	color: var(--wc-tabs-price-color);
	display: inline-block;
}

.wc-carousel-products-container .product .button.add_to_cart_button,
.wc-carousel-products-container .product .button {
	display: block !important;
	width: 100% !important;
	text-align: center !important;
	background-color: var(--wc-tabs-btn-bg) !important;
	color: var(--wc-tabs-btn-color) !important;
	padding: var(--wc-tabs-btn-padding) !important;
	font-size: 13px;
	font-weight: 600;
	border-radius: var(--wc-tabs-btn-border-radius) !important;
	border-width: var(--wc-tabs-btn-border-width) !important;
	border-style: var(--wc-tabs-btn-border-style) !important;
	border-color: var(--wc-tabs-btn-border-color) !important;
	box-shadow: var(--wc-tabs-btn-shadow);
	transition: all var(--wc-tabs-transition-speed) ease !important;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	line-height: 1.5;
	text-decoration: none !important;
	position: relative !important;
	clear: both !important;
	float: none !important;
	margin: auto 0 0 0 !important;
	bottom: auto !important;
	right: auto !important;
	left: auto !important;
	top: auto !important;
}

.wc-carousel-products-container .product .button.add_to_cart_button:hover,
.wc-carousel-products-container .product .button:hover {
	background-color: var(--wc-tabs-btn-bg-hover) !important;
	color: var(--wc-tabs-btn-color-hover) !important;
	box-shadow: var(--wc-tabs-btn-shadow-hover);
	transform: translateY(-1px) !important;
}

.wc-carousel-products-container .product .button.loading {
	padding-right: 40px !important;
}

.wc-carousel-products-container .product .button.added::after {
	margin-left: 8px !important;
	content: "✓" !important;
	display: inline-block !important;
}
