.mm-products-carousel {
	--mm-products-carousel-gap: 28px;
	--mm-products-carousel-columns: 4;
	--mm-products-carousel-gap-total: 84px;
	position: relative;
}

.mm-products-carousel-track {
	overflow: hidden;
}

.mm-products-carousel .woocommerce ul.products,
.mm-products-carousel ul.products {
	display: flex !important;
	flex-wrap: nowrap !important;
	gap: var(--mm-products-carousel-gap);
	margin-bottom: 0;
	overflow-x: auto;
	padding-bottom: 10px;
	scroll-behavior: smooth;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
	-webkit-overflow-scrolling: touch;
}

.mm-products-carousel .woocommerce ul.products::-webkit-scrollbar,
.mm-products-carousel ul.products::-webkit-scrollbar {
	display: none;
}

.mm-products-carousel .woocommerce ul.products::before,
.mm-products-carousel .woocommerce ul.products::after,
.mm-products-carousel ul.products::before,
.mm-products-carousel ul.products::after {
	content: none !important;
	display: none !important;
}

.mm-products-carousel .woocommerce ul.products li.product,
.mm-products-carousel ul.products li.product {
	clear: none !important;
	flex: 0 0 calc((100% - var(--mm-products-carousel-gap-total)) / var(--mm-products-carousel-columns)) !important;
	float: none !important;
	margin: 0 !important;
	max-width: none !important;
	scroll-snap-align: start;
	width: auto !important;
}

.mm-carousel-arrow {
	align-items: center;
	background: #fff;
	border: 0;
	border-radius: 50%;
	box-shadow: 0 4px 18px rgba(0, 0, 0, .15);
	color: #111;
	cursor: pointer;
	display: none;
	height: 42px;
	justify-content: center;
	padding: 0;
	position: absolute;
	top: 38%;
	width: 42px;
	z-index: 5;
}

.mm-products-carousel--is-scrollable .mm-carousel-arrow {
	display: flex;
}

.mm-carousel-arrow::before {
	border-right: 2px solid currentColor;
	border-top: 2px solid currentColor;
	content: "";
	display: block;
	height: 11px;
	width: 11px;
}

.mm-carousel-prev {
	left: -21px;
}

.mm-carousel-prev::before {
	margin-left: 4px;
	transform: rotate(-135deg);
}

.mm-carousel-next {
	right: -21px;
}

.mm-carousel-next::before {
	margin-right: 4px;
	transform: rotate(45deg);
}

.mm-carousel-arrow:focus-visible {
	outline: 2px solid currentColor;
	outline-offset: 3px;
}

.mm-carousel-arrow:disabled {
	cursor: default;
	opacity: .35;
	pointer-events: none;
}

@media (max-width: 1024px) {
	.mm-products-carousel .woocommerce ul.products li.product,
	.mm-products-carousel ul.products li.product {
		flex-basis: calc((100% - 56px) / 3) !important;
	}
}

@media (max-width: 768px) {
	.mm-products-carousel .woocommerce ul.products li.product,
	.mm-products-carousel ul.products li.product {
		flex-basis: calc((100% - 28px) / 2) !important;
	}

	.mm-carousel-arrow {
		height: 38px;
		width: 38px;
	}

	.mm-carousel-prev {
		left: 0;
	}

	.mm-carousel-next {
		right: 0;
	}
}

@media (max-width: 480px) {
	.mm-products-carousel .woocommerce ul.products li.product,
	.mm-products-carousel ul.products li.product {
		flex-basis: 82% !important;
	}
}

@media (prefers-reduced-motion: reduce) {
	.mm-products-carousel .woocommerce ul.products,
	.mm-products-carousel ul.products {
		scroll-behavior: auto;
	}
}
