.efe-sponsors-container {
	width: 100%;
	max-width: none;
	overflow: hidden;
}

.efe-sponsors-heading {
	text-align: center;
	font-size: 22px;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: #f9fafb;
	margin: 0 0 20px;
}

.efe-sponsors-carousel-wrapper {
	position: relative;
	overflow: hidden;
}

.efe-sponsors-carousel {
	display: flex;
	flex-direction: row;
}

.efe-sponsors-track {
	display: flex;
	flex-direction: row;
	align-items: center;
	gap: 32px;
	padding: 0 40px;
	animation: efe-sponsors-scroll 40s linear infinite;
}

.efe-sponsors-track--clone {
	margin-left: 32px;
}

.efe-sponsor-logo-wrapper {
	flex: 0 0 auto;
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 140px;
	max-width: 220px;
	padding: 68px 12px;
	background: rgba(222, 224, 230, 0.85);
}

.efe-sponsor-logo-wrapper a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.efe-sponsor-logo {
	max-width: 160px;
	max-height: 60px;
	width: auto;
	height: auto;
	object-fit: contain;
	filter: grayscale(100%);
	opacity: 0.9;
	transition: filter 0.2s ease, opacity 0.2s ease, transform 0.2s ease;
}

.efe-sponsor-logo-wrapper:hover .efe-sponsor-logo {
	filter: grayscale(0%);
	opacity: 1;
	transform: translateY(-2px);
}

@keyframes efe-sponsors-scroll {
	0% {
		transform: translateX(0);
	}
	100% {
		transform: translateX(-50%);
	}
}

@media (max-width: 900px) {
	.efe-sponsors-container {
		margin: 24px 0;
	}
	.efe-sponsors-heading {
		font-size: 18px;
	}
	.efe-sponsors-track {
		gap: 20px;
	}
	.efe-sponsor-logo-wrapper {
		min-width: 120px;
		max-width: 180px;
		padding: 68px 12px;
	}
	.efe-sponsor-logo {
		max-width: 130px;
		max-height: 50px;
	}
}

