/*
 * RRPS Logo Marquee — [rrps_logo_marquee] shortcode.
 *
 * Two identical tracks sit side by side; the animation moves the wrapper by
 * exactly one track width, so when it resets the second track is where the
 * first began. Pauses on hover; static and wrapped under reduced motion.
 */

.rrps-marquee {
	display: flex;
	width: 100%;
	overflow: hidden;
	-webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
	mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
}

.rrps-marquee__track {
	display: flex;
	flex: 0 0 auto;
	align-items: center;
	gap: var(--rrps-mq-gap, 90px);
	margin: 0;
	padding: 0 calc(var(--rrps-mq-gap, 90px) / 2);
	list-style: none;
	animation: rrps-marquee var(--rrps-mq-speed, 60s) linear infinite;
}

.rrps-marquee:hover .rrps-marquee__track {
	animation-play-state: paused;
}

.rrps-marquee__item {
	flex: 0 0 auto;
	margin: 0;
}

 /* Doubled selector: Elementor's frontend CSS sets `.elementor img { height: auto;
   max-width: 100% }` at higher specificity than a single class. */
.rrps-marquee .rrps-marquee__logo,
.elementor .rrps-marquee .rrps-marquee__logo {
	display: block;
	height: var(--rrps-mq-h, 50px);
	width: auto;
	max-width: none;
	max-height: var(--rrps-mq-h, 50px);
	object-fit: contain;
}

.rrps-marquee .rrps-marquee__item,
.rrps-marquee .rrps-marquee__track {
	min-width: 0;
}

@keyframes rrps-marquee {
	from { transform: translate3d(0, 0, 0); }
	to   { transform: translate3d(-100%, 0, 0); }
}

@media (prefers-reduced-motion: reduce) {
	.rrps-marquee {
		flex-wrap: wrap;
		justify-content: center;
		-webkit-mask-image: none;
		mask-image: none;
	}

	.rrps-marquee__track {
		flex-wrap: wrap;
		justify-content: center;
		gap: 24px 48px;
		animation: none;
	}

	.rrps-marquee__track[aria-hidden="true"] {
		display: none;
	}
}
