.villa-word-carousel {
	--villa-word-carousel-duration: 24s;
	--villa-word-carousel-gap: clamp(1.5rem, 5vw, 5rem);
	overflow: hidden;
	width: 100%;
}

.villa-word-carousel__track {
	display: flex;
	width: max-content;
	will-change: transform;
	animation-duration: var(--villa-word-carousel-duration);
	animation-iteration-count: infinite;
	animation-timing-function: linear;
}

.villa-word-carousel__track--left {
	animation-name: villa-word-carousel-left;
}

.villa-word-carousel__track--right {
	animation-name: villa-word-carousel-right;
}

.villa-word-carousel__group {
	display: flex;
	flex: 0 0 auto;
	align-items: center;
	gap: var(--villa-word-carousel-gap);
	padding-inline-end: var(--villa-word-carousel-gap);
}

.villa-word-carousel__word {
	margin: 0;
	white-space: nowrap;
	font-family: var(--villa-word-carousel-font-family, inherit);
	font-size: var(--villa-word-carousel-font-size, clamp(2rem, 7vw, 7rem));
	font-weight: var(--villa-word-carousel-font-weight, 600);
	font-style: var(--villa-word-carousel-font-style, normal);
	line-height: var(--villa-word-carousel-line-height, 1);
	letter-spacing: var(--villa-word-carousel-letter-spacing, 0);
	text-decoration: var(--villa-word-carousel-text-decoration, none);
	text-transform: var(--villa-word-carousel-text-transform, none);
	word-spacing: var(--villa-word-carousel-word-spacing, normal);
}

@keyframes villa-word-carousel-left {
	from {
		transform: translate3d(0, 0, 0);
	}

	to {
		transform: translate3d(-50%, 0, 0);
	}
}

@keyframes villa-word-carousel-right {
	from {
		transform: translate3d(-50%, 0, 0);
	}

	to {
		transform: translate3d(0, 0, 0);
	}
}

@media (prefers-reduced-motion: reduce) {
	.villa-word-carousel {
		overflow: visible;
	}

	.villa-word-carousel__track {
		width: auto;
		animation: none;
	}

	.villa-word-carousel__group {
		flex-wrap: wrap;
	}

	.villa-word-carousel__group[aria-hidden="true"] {
		display: none;
	}
}
