/* Carrusel global de todos los patrocinadores, antes del footer. */
.fsf-sponsor-carousel {
	overflow: hidden;
	padding: 48px 0 42px;
	background: #fff;
	color: #090909;
	border-top: 1px solid #deded9;
}

.fsf-sponsor-carousel__heading {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 25px;
	margin-bottom: 28px;
}

.fsf-sponsor-carousel__heading p {
	margin: 0;
	color: #9a6c08;
	font-size: .62rem;
	font-weight: 950;
	letter-spacing: .17em;
}

.fsf-sponsor-carousel__heading h2 {
	margin: 0;
	font-size: clamp(1.65rem, 3.5vw, 3rem);
	letter-spacing: -.045em;
	text-transform: uppercase;
}

.fsf-sponsor-carousel__viewport {
	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);
}

.fsf-sponsor-carousel__track {
	display: flex;
	width: max-content;
	animation: fsf-sponsors-scroll 42s linear infinite;
}

.fsf-sponsor-carousel__viewport:hover .fsf-sponsor-carousel__track {
	animation-play-state: paused;
}

.fsf-sponsor-carousel__group,
.fsf-sponsor-carousel__group .fsf-sponsors {
	display: flex;
	align-items: center;
	flex-wrap: nowrap;
	gap: 22px;
}

.fsf-sponsor-carousel__group { padding-right: 22px; }

.fsf-sponsor-carousel .fsf-sponsor {
	flex: 0 0 180px;
	width: 180px;
	height: 105px;
	min-width: 180px;
	min-height: 105px;
	padding: 14px;
	background: #fff;
	border: 1px solid #e2e2dd;
	clip-path: none;
	box-shadow: none;
}

.fsf-sponsor-carousel .fsf-sponsor:hover {
	transform: none;
	border-color: #c59a37;
	box-shadow: 0 8px 25px rgba(0,0,0,.08);
}

.fsf-sponsor-carousel .fsf-sponsor img {
	width: auto;
	height: auto;
	max-width: 150px;
	max-height: 72px;
	filter: none;
	object-fit: contain;
}

@keyframes fsf-sponsors-scroll {
	to { transform: translateX(-50%); }
}

@media (max-width: 760px) {
	.fsf-sponsor-carousel { padding: 36px 0; }
	.fsf-sponsor-carousel__heading { display: block; }
	.fsf-sponsor-carousel__heading p { margin-bottom: 7px; }
	.fsf-sponsor-carousel .fsf-sponsor { flex-basis: 145px; width: 145px; min-width: 145px; height: 90px; min-height: 90px; }
	.fsf-sponsor-carousel .fsf-sponsor img { max-width: 120px; max-height: 60px; }
}

@media (prefers-reduced-motion: reduce) {
	.fsf-sponsor-carousel__track { animation: none; }
	.fsf-sponsor-carousel__viewport { overflow-x: auto; }
}
