/* Sponsor banner */
.sponsor-section {
	overflow: hidden;
}

.sponsor-marquee {
	position: relative;
	overflow: hidden;
	width: 100%;
	margin-top: 2rem;
	padding: 0.75rem 0;
}

	.sponsor-marquee:before,
	.sponsor-marquee:after {
		content: '';
		position: absolute;
		top: 0;
		width: 6rem;
		height: 100%;
		z-index: 2;
		pointer-events: none;
	}

	.sponsor-marquee:before {
		left: 0;
		background: linear-gradient(to right, #1c1d26 0%, rgba(28, 29, 38, 0) 100%);
	}

	.sponsor-marquee:after {
		right: 0;
		background: linear-gradient(to left, #1c1d26 0%, rgba(28, 29, 38, 0) 100%);
	}

.sponsor-track {
	display: flex;
	align-items: center;
	width: max-content;
	animation: sponsor-scroll 28s linear infinite;
}

.sponsor-marquee:hover .sponsor-track {
	animation-play-state: paused;
}

.sponsor-group {
	display: flex;
	align-items: center;
	gap: 1rem;
	padding-right: 1rem;
	flex-shrink: 0;
}

.sponsor-card {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0.9rem 1.25rem;
	border: solid 1px rgba(255, 255, 255, 0.16);
	border-radius: 1rem;
	background: rgba(255, 255, 255, 0.06);
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
	border-bottom: 0;
	color: inherit;
	text-decoration: none;
	cursor: inherit;
	flex: 0 0 auto;
}

	.sponsor-card:hover {
		transform: translateY(-3px);
		background: rgba(255, 255, 255, 0.1);
		border-color: rgba(228, 76, 101, 0.55);
	}

	.sponsor-card img {
		display: block;
		height: 72px;
		width: auto;
		max-width: none;
		object-fit: contain;
	}

.sponsor-logo-fallback {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 72px;
	white-space: nowrap;
	font-size: 0.9rem;
	font-weight: 400;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: #ffffff;
}

.sponsor-note {
	margin: 1rem 0 0 0;
	opacity: 0.85;
	font-size: 0.95rem;
}

@keyframes sponsor-scroll {
	from {
		transform: translateX(0);
	}
	to {
		transform: translateX(-50%);
	}
}

@media (max-width: 736px) {
	.sponsor-track {
		animation-duration: 22s;
	}

	.sponsor-card {
		padding: 0.7rem 0.95rem;
	}

	.sponsor-card img,
	.sponsor-logo-fallback {
		height: 56px;
		min-height: 56px;
	}
}
