/**
 * JMAA Sponsors - the "Proudly Sponsored by" strip.
 * A quiet white band between the newsletter bar and the footer: the logos
 * readable at a modest size, never louder than the page. Uses the Brand Kit
 * tokens where present, with plain fallbacks.
 */
.jmaa-sponsors { background: #fff; color: var(--jmaa-ink, #121212); font-family: var(--jmaa-font, system-ui, sans-serif); padding: 26px 16px 30px; border-top: 1px solid var(--jmaa-grey-light, #E4E5E7); }
.jmaa-sponsors--page { border: 1px solid var(--jmaa-grey-light, #E4E5E7); border-radius: 8px; }
.jmaa-sponsors__inner { max-width: 1100px; margin: 0 auto; }
.jmaa-sponsors .jmaa-sponsors__title {
	margin: 0 0 16px; text-align: center; font-family: var(--jmaa-font, system-ui, sans-serif);
	font-size: .78rem; line-height: 1.3; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--jmaa-grey, #6b6d70);
}
.jmaa-sponsors__stage { position: relative; display: flex; align-items: center; gap: 8px; }
.jmaa-sponsors__viewport { flex: 1 1 auto; min-width: 0; }
.jmaa-sponsors__list { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 12px 48px; }
.jmaa-sponsors__item { margin: 0; padding: 0; display: flex; align-items: center; justify-content: center; min-height: 72px; }
.jmaa-sponsors__link { display: inline-flex; align-items: center; justify-content: center; max-width: 100%; box-sizing: border-box; padding: 6px 10px; border-radius: 6px; }
.jmaa-sponsors .jmaa-sponsors__logo {
	display: block; width: auto; height: auto; max-width: min(180px, 100%); max-height: 60px; object-fit: contain;
	opacity: .88; transition: opacity .2s ease;
}
.jmaa-sponsors a.jmaa-sponsors__link:hover .jmaa-sponsors__logo,
.jmaa-sponsors a.jmaa-sponsors__link:focus-visible .jmaa-sponsors__logo { opacity: 1; }
.jmaa-sponsors a.jmaa-sponsors__link:focus-visible { outline: 3px solid var(--jmaa-gold, #FFC20E); outline-offset: 2px; }

/* Four or more: a carousel, three at a time (two on phones). */
.jmaa-sponsors.is-carousel .jmaa-sponsors__viewport {
	overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; -ms-overflow-style: none; overscroll-behavior-x: contain;
}
.jmaa-sponsors.is-carousel .jmaa-sponsors__viewport::-webkit-scrollbar { display: none; }
.jmaa-sponsors.is-carousel .jmaa-sponsors__list { flex-wrap: nowrap; justify-content: flex-start; gap: 0; }
.jmaa-sponsors.is-carousel .jmaa-sponsors__item { flex: 0 0 33.3333%; min-width: 0; scroll-snap-align: start; }
.jmaa-sponsors .jmaa-sponsors__nav {
	flex: 0 0 auto; width: 34px; height: 34px; padding: 0; border: 1px solid var(--jmaa-grey-light, #E4E5E7); border-radius: 50%;
	background: #fff; color: var(--jmaa-grey, #6b6d70); font-size: 22px; line-height: 1; cursor: pointer;
}
.jmaa-sponsors .jmaa-sponsors__nav:hover, .jmaa-sponsors .jmaa-sponsors__nav:focus-visible { border-color: var(--jmaa-gold, #FFC20E); background: var(--jmaa-gold, #FFC20E); color: #111; }

@media (max-width: 600px) {
	.jmaa-sponsors { padding: 22px 12px 24px; }
	.jmaa-sponsors__list { gap: 10px 28px; }
	.jmaa-sponsors .jmaa-sponsors__logo { max-width: min(130px, 100%); max-height: 44px; }
	.jmaa-sponsors__item { min-height: 56px; }
	.jmaa-sponsors.is-carousel .jmaa-sponsors__item { flex-basis: 50%; }
	.jmaa-sponsors .jmaa-sponsors__nav { width: 30px; height: 30px; font-size: 20px; }
}
@media (prefers-reduced-motion: reduce) {
	.jmaa-sponsors .jmaa-sponsors__logo { transition: none; }
}
