/**
 * MSA Sponsors — carousel (moved from MSA Page Header), grid, list and compact sidebar layouts.
 * Colours come from the theme's custom properties, with neutral fallbacks for other themes.
 */

/* Carousel --------------------------------------------------------------- */
.msa-logos { --msa-logos-gap: clamp(2rem, 5vw, 4rem); margin-block: clamp(1.5rem, 4vw, 2.5rem); text-align: left; }
/* Small label; doubled class beats the theme's `.msa-prose h2` when the strip sits inside article content. */
.msa-logos .msa-logos__title,
.msa-prose .wp-block-heading:has(+ .msa-logos),
.wp-block-heading:has(+ .msa-logos) {
	margin: 0 0 1rem;
	font: 800 1rem/1.2 var(--msa-font-heading, inherit);
	letter-spacing: -.02em;
	text-align: left;
	color: var(--msa-navy-900, #031225);
}
.wp-block-heading + .msa-logos .msa-logos__title { display: none; }
.msa-logos__viewport { display: flex; overflow: hidden; }
.msa-logos__track {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-start;
	gap: var(--msa-logos-gap);
	margin: 0;
	padding: .5rem 0;
	list-style: none;
}
.msa-logos__item { flex: none; margin: 0; }
.msa-logos__img {
	display: block;
	width: auto;
	max-width: 260px;
	height: clamp(72px, 10vw, 110px);
	object-fit: contain;
	transition: filter .3s ease, opacity .3s ease, transform .3s ease;
}
.msa-logos__item a:hover .msa-logos__img,
.msa-logos__item a:focus-visible .msa-logos__img { transform: scale(1.05); }
.msa-logos--gray .msa-logos__img { filter: grayscale(1); opacity: .7; }
.msa-logos--gray .msa-logos__item:hover .msa-logos__img,
.msa-logos--gray .msa-logos__item a:focus-visible .msa-logos__img { filter: none; opacity: 1; }

/* Marquee: two identical tracks slide left together for a seamless loop. */
.msa-logos--scroll .msa-logos__viewport {
	mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
	-webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
}
.msa-logos--scroll .msa-logos__track {
	flex-wrap: nowrap;
	margin: 0;
	padding-right: var(--msa-logos-gap);
	animation: msa-logos-scroll calc(var(--msa-logos-count) * 4s) linear infinite;
}
.msa-logos--scroll .msa-logos__viewport:hover .msa-logos__track,
.msa-logos--scroll .msa-logos__viewport:focus-within .msa-logos__track { animation-play-state: paused; }
@keyframes msa-logos-scroll { to { transform: translate3d(-100%, 0, 0); } }
@media (prefers-reduced-motion: reduce) {
	.msa-logos--scroll .msa-logos__track { animation: none; flex-wrap: wrap; justify-content: flex-start; }
	.msa-logos--scroll .msa-logos__track[aria-hidden="true"] { display: none; }
}

/* Grid, list, sidebar ---------------------------------------------------- */
.msa-sponsors--grid,
.msa-sponsors--list,
.msa-sponsors--sidebar { margin-block: clamp(1.5rem, 4vw, 2.5rem); }
.msa-sponsors__title {
	margin: 0 0 1rem;
	font: 800 1rem/1.2 var(--msa-font-heading, inherit);
	letter-spacing: -.02em;
	color: var(--msa-navy-900, #031225);
}
.msa-sponsors__list { display: grid; gap: 1rem; margin: 0; padding: 0; list-style: none; }
.msa-sponsors__item { margin: 0; }
.msa-sponsors__item > a {
	display: flex;
	align-items: center;
	gap: 1rem;
	height: 100%;
	color: inherit;
	text-decoration: none;
}
.msa-sponsors__logo {
	display: grid;
	place-items: center;
	padding: .75rem;
	background: #fff;
	border: 1px solid var(--msa-border-soft, #e3e8ee);
	border-radius: var(--msa-radius, 12px);
	transition: border-color .2s ease, box-shadow .2s ease;
}
.msa-sponsors__logo .msa-logos__img { max-width: 100%; height: 64px; }
.msa-sponsors__item a:hover .msa-sponsors__logo,
.msa-sponsors__item a:focus-visible .msa-sponsors__logo {
	border-color: var(--msa-teal, #0a8a8a);
	box-shadow: 0 4px 16px rgb(3 18 37 / .08);
}
.msa-sponsors--gray .msa-logos__img { filter: grayscale(1); opacity: .7; transition: filter .3s ease, opacity .3s ease; }
.msa-sponsors--gray .msa-sponsors__item:hover .msa-logos__img,
.msa-sponsors--gray .msa-sponsors__item a:focus-visible .msa-logos__img { filter: none; opacity: 1; }

.msa-sponsors--grid .msa-sponsors__list { grid-template-columns: repeat(auto-fill, minmax(min(100%, 160px), 1fr)); }
.msa-sponsors--grid .msa-sponsors__item > a,
.msa-sponsors--grid .msa-sponsors__logo { width: 100%; }
.msa-sponsors--grid .msa-sponsors__logo { aspect-ratio: 3 / 2; }

.msa-sponsors--list .msa-sponsors__logo { flex: none; width: 120px; aspect-ratio: 3 / 2; }
.msa-sponsors__text { display: grid; gap: .15rem; }
.msa-sponsors__name { color: var(--msa-navy-900, #031225); }
.msa-sponsors__tagline { font-size: .875rem; color: var(--msa-muted, #5b6b7d); }

/* Compact box for the article sidebar. */
.msa-sponsors--sidebar {
	padding: 1.25rem;
	background: var(--msa-pearl, #f6f8fa);
	border: 1px solid var(--msa-border-soft, #e3e8ee);
	border-radius: var(--msa-radius-lg, 16px);
}
.msa-sponsors--sidebar .msa-sponsors__list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; }
.msa-sponsors--sidebar .msa-sponsors__item > a,
.msa-sponsors--sidebar .msa-sponsors__logo { width: 100%; }
.msa-sponsors--sidebar .msa-sponsors__logo { aspect-ratio: 3 / 2; padding: .5rem; }
.msa-sponsors--sidebar .msa-logos__img { height: 48px; }
