.fragrome-product-carousel {
	--fragrome-carousel-gap: 16px;
	--fragrome-carousel-columns: var(--fragrome-carousel-phone, 2);
	position: relative;
	width: 100%;
	min-width: 0;
	font-family: var(--body-font-family, inherit);
}

.fragrome-product-carousel__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	margin-bottom: 1.15rem;
}

.fragrome-product-carousel__heading {
	margin: 0;
	color: var(--dark);
	font-family: var(--h2-font-family, var(--body-font-family, inherit));
}

.fragrome-product-carousel__navigation {
	display: flex;
	flex: 0 0 auto;
	align-items: center;
	gap: 0.5rem;
}

.fragrome-product-carousel__navigation--standalone {
	justify-content: flex-end;
	margin-bottom: 0.8rem;
}

.fragrome-product-carousel__previous,
.fragrome-product-carousel__next {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	margin: 0;
	padding: 0;
	border: 1px solid color-mix(in srgb, var(--dark) 14%, transparent);
	border-radius: 50%;
	background: var(--light);
	box-shadow: none;
	color: var(--dark);
	cursor: pointer;
	transition: border-color 180ms ease, color 180ms ease, opacity 180ms ease;
}

.fragrome-product-carousel__previous::before,
.fragrome-product-carousel__next::before {
	width: 8px;
	height: 8px;
	border-top: 2px solid currentColor;
	border-right: 2px solid currentColor;
	content: "";
}

.fragrome-product-carousel__previous::before {
	transform: translateX(2px) rotate(-135deg);
}

.fragrome-product-carousel__next::before {
	transform: translateX(-2px) rotate(45deg);
}

.fragrome-product-carousel__previous:hover,
.fragrome-product-carousel__previous:focus-visible,
.fragrome-product-carousel__next:hover,
.fragrome-product-carousel__next:focus-visible {
	border-color: var(--accentPrimary);
	color: var(--accentPrimary);
	outline: none;
}

.fragrome-product-carousel__previous.swiper-button-disabled,
.fragrome-product-carousel__next.swiper-button-disabled {
	opacity: 0.35;
	cursor: default;
	pointer-events: none;
}

.fragrome-product-carousel__viewport {
	width: 100%;
	min-width: 0;
	overflow: hidden;
}

body .fragrome-product-carousel ul.products.swiper-wrapper {
	display: flex;
	flex-wrap: nowrap !important;
	gap: var(--fragrome-carousel-gap) !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: visible;
	list-style: none;
}

body .fragrome-product-carousel ul.products.swiper-wrapper > li.product.swiper-slide {
	flex: 0 0 calc(
		(100% - (var(--fragrome-carousel-columns) - 1) * var(--fragrome-carousel-gap))
		/ var(--fragrome-carousel-columns)
	) !important;
	width: calc(
		(100% - (var(--fragrome-carousel-columns) - 1) * var(--fragrome-carousel-gap))
		/ var(--fragrome-carousel-columns)
	) !important;
	max-width: none !important;
	height: auto;
	margin: 0 !important;
	padding: 0 !important;
	clear: none !important;
	float: none !important;
}

.fragrome-product-carousel__pagination {
	display: flex;
	justify-content: center;
	min-height: 12px;
	margin-top: 1rem;
}

.fragrome-product-carousel__pagination .swiper-pagination-bullet {
	width: 7px;
	height: 7px;
	margin: 0 4px;
	border-radius: 50%;
	background: color-mix(in srgb, var(--dark) 25%, transparent);
	opacity: 1;
}

.fragrome-product-carousel__pagination .swiper-pagination-bullet-active {
	background: var(--accentPrimary);
}

.fragrome-product-carousel__pagination .swiper-pagination-bullet::before,
.fragrome-product-carousel__pagination .swiper-pagination-bullet::after {
	display: none !important;
	width: 0 !important;
	height: 0 !important;
	content: none !important;
}

.fragrome-product-carousel__empty {
	margin: 0;
	padding: 1rem;
	border: 1px dashed color-mix(in srgb, var(--dark) 18%, transparent);
	border-radius: var(--nectar-border-radius, 8px);
	background: color-mix(in srgb, var(--accentLight) 40%, var(--light));
	color: color-mix(in srgb, var(--dark) 65%, var(--light));
	text-align: center;
}

@media (min-width: 691px) {
	.fragrome-product-carousel {
		--fragrome-carousel-columns: var(--fragrome-carousel-tablet, 3);
	}
}

@media (min-width: 1025px) {
	.fragrome-product-carousel {
		--fragrome-carousel-columns: var(--fragrome-carousel-desktop-small, 4);
	}
}

@media (min-width: 1600px) {
	.fragrome-product-carousel {
		--fragrome-carousel-columns: var(--fragrome-carousel-desktop, 4);
	}
}

@media (max-width: 690px) {
	.fragrome-product-carousel__previous,
	.fragrome-product-carousel__next {
		width: 36px;
		height: 36px;
	}
}
