.ianexo-infinite-carousel {
	--ianexo-carousel-item-width: 260px;
	--ianexo-carousel-item-height: 180px;
	--ianexo-carousel-gap: 24px;
	--ianexo-carousel-fade-size: 80px;
	position: relative;
	width: 100%;
	max-width: 100%;
	margin-inline: auto;
}

.ianexo-infinite-carousel__viewport {
	position: relative;
	width: 100%;
	overflow: hidden;
}

.ianexo-infinite-carousel.has-edge-fade .ianexo-infinite-carousel__viewport {
	-webkit-mask-image: linear-gradient(
		to right,
		transparent 0,
		#000 var(--ianexo-carousel-fade-size),
		#000 calc(100% - var(--ianexo-carousel-fade-size)),
		transparent 100%
	);
	mask-image: linear-gradient(
		to right,
		transparent 0,
		#000 var(--ianexo-carousel-fade-size),
		#000 calc(100% - var(--ianexo-carousel-fade-size)),
		transparent 100%
	);
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-size: 100% 100%;
	mask-size: 100% 100%;
}

.ianexo-infinite-carousel__track {
	display: flex;
	align-items: stretch;
	width: max-content;
	will-change: transform;
	transform: translate3d(0, 0, 0);
}

.ianexo-infinite-carousel__sequence {
	display: flex;
	flex: 0 0 auto;
	align-items: stretch;
	gap: var(--ianexo-carousel-gap);
	padding-right: var(--ianexo-carousel-gap);
}

.ianexo-infinite-carousel__slide {
	position: relative;
	flex: 0 0 var(--ianexo-carousel-item-width);
	width: var(--ianexo-carousel-item-width);
	height: var(--ianexo-carousel-item-height);
	overflow: hidden;
	box-sizing: border-box;
}

.ianexo-infinite-carousel__image,
.ianexo-infinite-carousel__slide img {
	display: block;
	width: 100%;
	height: 100%;
	max-width: none;
	object-fit: cover;
	user-select: none;
	-webkit-user-drag: none;
}

.ianexo-infinite-carousel.is-paused .ianexo-infinite-carousel__track {
	will-change: auto;
}

.ianexo-infinite-carousel__placeholder {
	padding: 24px;
	border: 1px dashed #b7b7b7;
	text-align: center;
	font-size: 13px;
	line-height: 1.5;
}
