/**
 * Site footer — dark background. Built with native Gutenberg blocks
 * (wp:image, wp:heading, wp:paragraph, wp:navigation).
 */
.site-footer {
	background-color: var(--wp--preset--color--mine-shaft, #292929);
	color: var(--wp--preset--color--parchment, #f2e3d6);
	padding: 80px clamp(20px, 4vw, 60px) 60px;
}

/* Kill the default 24px blockGap that WP puts between main and footer */
footer.wp-block-template-part,
footer.site-footer,
.wp-site-blocks > footer {
	margin-top: 0 !important;
}

/* Hide all white (base-color) separators left over from prod content — they
   render as a thin "streck" that's either invisible noise on cream/white bg
   or a glaring line at full-bleed. The brand's persimmon separators stay. */
hr.wp-block-separator.has-base-color,
hr.wp-block-separator.has-base-background-color {
	display: none !important;
}

.site-footer__partners {
	max-width: 1200px;
	margin: 0 auto 80px;
	display: flex;
	flex-direction: column;
	gap: 32px;
	align-items: center;
}

.site-footer__partners-heading {
	font-family: var(--wp--preset--font-family--ivymode, "ivymode", serif);
	font-weight: 300;
	font-size: 24px;
	text-align: center;
	margin: 0;
}

.site-footer__partners-image {
	margin: 0;
	width: 100%;
	max-width: 1200px;
}
.site-footer__partners-image img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 8px;
}

.site-footer__brand {
	max-width: 1200px;
	margin: 0 auto;
	display: flex;
	flex-wrap: wrap;
	gap: 40px;
	align-items: center;
	justify-content: center;
	border-top: 1px solid rgba(242, 227, 214, 0.2);
	padding-top: 48px;
	text-align: center;
}

.site-footer__impact-logo {
	margin: 0;
}
.site-footer__impact-logo img {
	height: 63px;
	width: auto;
	aspect-ratio: 286 / 83;
	max-width: 100%;
	display: block;
	object-fit: contain;
}

.site-footer__powered-by {
	font-size: 16px;
	opacity: 0.85;
	margin: 0;
}

.site-footer__coompanion-logo {
	margin: 0;
}
.site-footer__coompanion-logo img {
	height: 51px;
	width: auto;
	max-width: 100%;
	display: block;
	object-fit: contain;
}

.site-footer__nav {
	max-width: 1200px;
	margin: 40px auto 0;
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 24px;
	font-family: var(--wp--preset--font-family--dm-sans);
	font-size: 16px;
}

.site-footer__nav .wp-block-navigation {
	justify-content: center;
}

.site-footer__nav .wp-block-navigation a {
	color: var(--wp--preset--color--parchment, #f2e3d6);
	text-decoration: none;
}
.site-footer__nav .wp-block-navigation a:hover,
.site-footer__nav .wp-block-navigation a:focus {
	text-decoration: underline;
}

@media (max-width: 820px) {
	.site-footer__brand {
		gap: 24px;
	}
}
