/* Footer: social icons, footer nav, legal links. Renders in every template
   via parts/footer.html, so splitting this out doesn't reduce per-page
   bytes — it exists purely to keep theme.css under the spec §8 cap. Always
   enqueued alongside theme.css (see ghn_enqueue_assets() in functions.php).
   Slice 4. */

.utility-social-icons {
	gap: 12px;
	align-items: center;
}

.footer-social-icons {
	gap: 16px;
}

.social-icon,
.footer-social-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 44px;
	min-height: 44px;
	transition: opacity 0.15s ease;
}

.social-icon { opacity: 0.9; }

.footer-social-icon { opacity: 0.85; }

.social-icon:hover,
.footer-social-icon:hover {
	opacity: 1;
}

.social-icon img,
.footer-social-icon img {
	aspect-ratio: 1 / 1;
	object-fit: contain;
	max-height: none;
}

.social-icon img { width: 20px; height: 20px; }

.footer-social-icon img { width: 24px; height: 24px; }

.site-footer,
.site-footer p,
.site-footer a {
	color: var(--wp--preset--color--surface);
}

.site-footer a:hover {
	color: var(--wp--preset--color--accent-1);
}

.footer-address,
.footer-phone,
.footer-copyright {
	font-family: var(--wp--preset--font-family--sans);
}

.footer-copyright {
	opacity: 0.8;
}

/* stylelint-disable selector-class-pattern */
.footer-nav .wp-block-navigation-item.current-menu-item > a,
.footer-nav .wp-block-navigation-item.current-page-item > a,
.footer-nav .wp-block-navigation-link.current-menu-item > a {
	color: var(--wp--preset--color--accent-1);
	font-weight: 700;
}
/* stylelint-enable selector-class-pattern */

.footer-nav .wp-block-navigation a {
	text-decoration: none;
	font-family: var(--wp--preset--font-family--sans);
	font-size: var(--wp--preset--font-size--small);
}

.footer-nav .wp-block-navigation a:hover {
	color: var(--wp--preset--color--accent-1);
}

/* Footer navigation: suppress any list-style bullets from unresolved nav blocks */
.site-footer .wp-block-navigation ul,
.site-footer .wp-block-navigation li,
.site-footer .wp-block-page-list ul,
.site-footer .wp-block-page-list li {
	list-style: none;
	padding-left: 0;
	margin-left: 0;
}

@media (max-width: 767px) {

	.site-footer .wp-block-columns { flex-direction: column; }

	.site-footer .wp-block-columns > .wp-block-column {
		width: 100%;
		margin-bottom: 32px;
	}

	.site-footer .wp-block-column:last-child { margin-bottom: 0; }

	/* CTA band: remove gap between stacked donate + newsletter columns */
	.site-cta-band { gap: 0; }

	.site-cta-band .wp-block-column { margin-bottom: 0; }
}

/* Footer legal links — WCAG 2.2 AA 2.5.8 44px touch target */
.footer-legal-link a {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	padding: 10px 0;
}
