.logo-slider-container {
	position: relative;
	width: 100%;
	overflow: hidden;
	background: transparent;
	padding: 20px 0;
	--fade-width: 15%;
	--logo-gap: 60px;
}

/* Edge Fades */
.logo-slider-container::before,
.logo-slider-container::after {
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	width: var(--fade-width);
	z-index: 2;
	pointer-events: none;
}

.logo-slider-container::before {
	left: 0;
	background: linear-gradient(to right, var(--logo-slider-bg-color, rgba(255, 255, 255, 1)), rgba(255, 255, 255, 0));
}

.logo-slider-container::after {
	right: 0;
	background: linear-gradient(to left, var(--logo-slider-bg-color, rgba(255, 255, 255, 1)), rgba(255, 255, 255, 0));
}

/* Track styling */
.logo-slider-track {
	display: flex;
	align-items: center;
	width: max-content;
	gap: var(--logo-gap);
	animation: logo-slider-marquee 35s linear infinite;
}

/* Pause on Track Hover */
.logo-slider-track:hover {
	animation-play-state: paused;
}

/* Item Styling */
.logo-slider-item {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	transition: filter 275ms ease, opacity 275ms ease, transform 275ms ease;
	filter: grayscale(100%);
	outline: none;
	text-decoration: none;
}

.logo-slider-item-img {
	display: block;
	width: auto;
	object-fit: contain;
	pointer-events: none;
	user-select: none;
}

/* Hover & Focus state on individual logo */
.logo-slider-item:hover,
.logo-slider-item:focus-visible {
	filter: grayscale(0%);
	opacity: 1 !important;
	transform: scale(1.05);
}

.logo-slider-item:focus-visible {
	outline: 2px solid var(--e-global-color-primary, #0073aa);
	outline-offset: 6px;
	border-radius: 4px;
}

/* Smooth continuous marquee animation */
@keyframes logo-slider-marquee {
	0% {
		transform: translateX(0);
	}
	100% {
		/* Translate exactly by 1/3 of the track width to perfectly offset duplicated sets */
		transform: translateX(calc(-100% / 3));
	}
}
