/*
 * Promo Banner: full-bleed black band, content + optional team-badge grid
 * (dashed gold tiles, per the design reference), with a hover lift on
 * each badge.
 */

.promo-banner {
	position: relative;
	overflow: hidden;
	background-color: var(--color-black);
	color: var(--color-white);
}

.promo-banner__bg {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	opacity: 0.5;
}

.promo-banner__inner {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--space-2xl);
	align-items: center;
}

@media (min-width: 960px) {
	.promo-banner__inner {
		grid-template-columns: minmax(280px, 1fr) 2fr;
	}
}

.promo-banner__eyebrow {
	max-height: 32px;
	width: auto;
	margin-bottom: var(--space-md);
}

.promo-banner__heading {
	margin: 0 0 var(--space-md);
	color: var(--color-white);
}

.promo-banner__body {
	margin: 0 0 var(--space-lg);
	max-width: 38em;
	color: rgba(255, 255, 255, 0.8);
	line-height: 1.6;
}

.promo-banner__badges {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: var(--space-md);
}

/*
 * Mobile: horizontal scroll row instead of wrapping to many rows, per
 * PROJECT_PLAN.md Section 1 ("badge grid becomes a horizontal scroll row
 * rather than wrapping to many rows"). Reverts to the static 3-col grid
 * at tablet+.
 */
@media (max-width: 599px) {
	.promo-banner__badges {
		display: flex;
		grid-template-columns: none;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		-webkit-overflow-scrolling: touch;
		padding-bottom: var(--space-sm);
		scrollbar-width: none;
	}

	.promo-banner__badges::-webkit-scrollbar {
		display: none;
	}

	.promo-banner__badges .promo-badge {
		flex: 0 0 30%;
		scroll-snap-align: start;
	}
}

.promo-badge {
	display: flex;
	align-items: center;
	justify-content: center;
	aspect-ratio: 1;
	padding: var(--space-md);
	border: 3px dashed var(--color-gold);
	border-radius: var(--radius-lg);
	transition: transform 0.3s ease, border-style 0.3s ease, background-color 0.3s ease;
}

.promo-badge:hover,
.promo-badge:focus-visible {
	transform: scale(1.05);
	border-style: solid;
	background-color: rgba(255, 217, 56, 0.08);
}

.promo-badge img {
	max-width: 100%;
	max-height: 100%;
	object-fit: contain;
}
