/* Infinite-loop logo marquee. The widget renders the logo list 4 times back
   to back (see class-riseit-marquee-section-widget.php render()); the track
   animates from translateX(0) to translateX(-25%), which always lands
   exactly on the seam between two of the identical copies no matter how many
   logos there are or how wide they render. 4 copies rather than 2: this
   technique is only gapless while a single copy's own width covers the
   visible container width — with a modest logo count and a wide viewport, 2
   copies (a -50% translate) could run out of content before one full
   translate cycle finished, showing a blank gap right as it "reached the
   end" instead of looping. 4 copies needs each one to cover only 1/4 of the
   translate range, which is gapless for realistic logo counts without any
   runtime width measurement. */
.riseit-marquee-section {
	overflow: hidden;
	padding: 32px 0;
}

.riseit-marquee {
	overflow: hidden;
	width: 100%;
	-webkit-mask-image: linear-gradient(90deg, transparent, #000 5%, #000 95%, transparent);
	mask-image: linear-gradient(90deg, transparent, #000 5%, #000 95%, transparent);
}

.riseit-marquee__track {
	display: flex;
	align-items: center;
	width: max-content;
	gap: var(--riseit-marquee-gap, 48px);
	animation: riseit-marquee-scroll var(--riseit-marquee-duration, 30s) linear infinite;
}

.riseit-marquee[data-direction="right"] .riseit-marquee__track {
	animation-direction: reverse;
}

.riseit-marquee--pause-on-hover:hover .riseit-marquee__track {
	animation-play-state: paused;
}

.riseit-marquee__item {
	flex: none;
	display: flex;
	align-items: center;
	justify-content: center;
}

.riseit-marquee__link {
	display: flex;
	align-items: center;
}

.riseit-marquee__logo {
	display: block;
	height: var(--riseit-marquee-logo-height, 64px);
	width: auto;
	max-width: none;
	object-fit: contain;
	transition: filter 0.2s ease-out, opacity 0.2s ease-out;
}

.riseit-marquee--grayscale .riseit-marquee__logo {
	filter: grayscale(1);
	opacity: 0.7;
}

.riseit-marquee--grayscale .riseit-marquee__item:hover .riseit-marquee__logo {
	filter: grayscale(0);
	opacity: 1;
}

@keyframes riseit-marquee-scroll {
	from {
		transform: translateX(0);
	}
	to {
		transform: translateX(-25%);
	}
}

@media (prefers-reduced-motion: reduce) {
	.riseit-marquee__track {
		animation: none;
	}
}
