/**
 * Mobile performance layer — CLS, paint, CPU
 * Loaded deferred (non-critical) after first paint.
 */

/* Below-the-fold sections: skip layout/paint until near viewport */
.bmn-programs,
.bmn-tn-campaign,
.bmn-impact-section,
.bmn-news,
.bmn-community,
.bmn-partners-section,
.bmn-newsletter,
.bmn-related,
.bmn-footer {
	content-visibility: auto;
	contain-intrinsic-size: auto 360px;
}

/* Hero is LCP — never content-visibility hidden */
.bmn-hero {
	content-visibility: visible;
	contain: layout style;
}

/* Mobile: lighter paint (shadows / blur cost GPU) */
@media (max-width: 767px) {
	.bmn-header.is-scrolled {
		backdrop-filter: none !important;
		-webkit-backdrop-filter: none !important;
	}

	.bmn-card,
	.bmn-tn-campaign__card,
	.bmn-impact,
	.bmn-community__card {
		box-shadow: 0 2px 10px rgba(20, 38, 28, 0.06) !important;
	}

	.bmn-card:hover,
	.bmn-related .bmn-card:hover {
		transform: none;
	}

	/* Smaller hero on phones = less image decode / paint */
	.bmn-front .bmn-hero__frame {
		min-height: clamp(220px, 52vw, 320px) !important;
		border-radius: 12px;
	}

	.bmn-hero__media img {
		object-fit: cover;
		object-position: center;
	}

	/* Partners: stop infinite marquee (CPU + half the logo requests) */
	.bmn-partners-marquee__dup {
		display: none !important;
	}

	.bmn-partners-marquee__viewport {
		mask-image: none !important;
		-webkit-mask-image: none !important;
		overflow: visible;
	}

	.bmn-partners-marquee__track {
		animation: none !important;
		display: flex !important;
		flex-wrap: wrap !important;
		justify-content: center;
		align-items: center;
		gap: 0.65rem 0.75rem;
		width: 100% !important;
		max-width: 100% !important;
		margin-inline: auto;
		padding: 0.5rem var(--bmn-gutter, 1rem) !important;
		transform: none !important;
		will-change: auto !important;
	}

	.bmn-partners__item {
		min-width: 0;
		height: 72px;
		padding: 0.5rem 0.85rem;
	}

	.bmn-partners__item {
		flex: 0 0 auto;
	}

	.bmn-partners__item img {
		max-height: 40px;
		width: auto;
	}

	/* Flip cards: avoid 3D transform cost until hover/tap not needed on small */
	.bmn-flip__inner {
		transition-duration: 0.2s;
	}

	/* Sticky CTA: simpler surface */
	.bmn-sticky-cta {
		backdrop-filter: none;
		-webkit-backdrop-filter: none;
		background: #fffaf5;
	}
}

/* Prefer reduced data / save-data (when browser exposes via CSS? use motion only) */
@media (prefers-reduced-motion: reduce) {
	.bmn-partners-marquee__track,
	.bmn-hero__slide,
	.bmn-progress__bar {
		animation: none !important;
		transition: none !important;
	}
}

/* Fonts: prevent invisible text swap flash handled by display=swap */
body.bupmangnon-theme {
	font-display: swap;
}

/* Images default contain layout */
.bmn-card__media img,
.bmn-tn-campaign__media img,
.bmn-hero__media img {
	max-width: 100%;
	height: auto;
}
