/* HAI Marquee */
.hai-marquee {
	--hai-marquee-gap: 40px;
	--hai-marquee-align: stretch;
	--hai-marquee-item-height: auto;
	--hai-marquee-fade: 60px;
	overflow: hidden;
	width: 100%;
}
/* Optional fade-out at both edges. */
.hai-marquee[data-fade="1"] {
	-webkit-mask-image: linear-gradient(90deg, transparent 0, #000 var(--hai-marquee-fade), #000 calc(100% - var(--hai-marquee-fade)), transparent 100%);
	        mask-image: linear-gradient(90deg, transparent 0, #000 var(--hai-marquee-fade), #000 calc(100% - var(--hai-marquee-fade)), transparent 100%);
}
.hai-marquee__track {
	display: flex;
	width: max-content;
	align-items: var(--hai-marquee-align);
	gap: var(--hai-marquee-gap);
}
/* Each item is a native Elementor container mounted directly in the track.
   Override the container defaults so items keep their natural width and
   the flex row controls equal height. */
.hai-marquee__track > .e-con {
	flex: 0 0 auto;
	width: auto;
	max-width: none;
	min-height: 0;
}
/* Fixed height: force each item to the configured height. */
.hai-marquee[data-height="fixed"] .hai-marquee__track > .e-con {
	height: var(--hai-marquee-item-height);
}

/* Marquee animation */
@keyframes hai-marquee-scroll {
	from { transform: translateX(0); }
	to   { transform: translateX(calc(var(--hai-marquee-distance) * -1)); }
}
.hai-marquee__track.is-animating {
	animation: hai-marquee-scroll var(--hai-marquee-duration) linear infinite;
	will-change: transform;
}
.hai-marquee__track.is-animating.to-right {
	animation-direction: reverse;
}
.hai-marquee[data-pause-hover="1"]:hover .hai-marquee__track.is-animating {
	animation-play-state: paused;
}
@media (prefers-reduced-motion: reduce) {
	.hai-marquee__track.is-animating { animation: none; }
}
