/* Site footer: brand, links, contact and help in one grid. The roots above it keep the footer's verb (garden.css). */
.footer-top {
	display: grid;
	grid-template-columns: minmax(0, 1.25fr) repeat(3, minmax(0, 1fr));
	gap: 2rem 2.5rem;
	align-items: start;
}
.footer-top > * {
	min-inline-size: 0;
}
.footer-brand > p {
	margin: 0 0 0.5rem;
}
.footer-location {
	display: flex;
	align-items: center;
	gap: 0.5rem;
}
.footer-heading {
	margin: 0 0 0.6rem;
	font-weight: 700;
	font-size: 1.05rem;
}
.footer-contact__list {
	display: grid;
	gap: 0.25rem;
	margin: 0;
	padding: 0;
	list-style: none;
}
.footer-contact__list li,
.footer-contact__list a {
	display: flex;
	align-items: center;
	gap: 0.6rem;
	min-block-size: 44px;
	color: inherit;
	text-decoration: none;
}
.footer-contact__list a:hover .footer-contact__text {
	text-decoration: underline;
	text-underline-offset: 4px;
}
.footer-contact__text {
	display: flex;
	flex-wrap: wrap;
	gap: 0.2rem 0.5rem;
	align-items: baseline;
}
.footer-help {
	display: grid;
	gap: 0.25rem;
	justify-items: start;
}
.footer-help .text-link {
	gap: 0.5rem;
}
.site-footer .zf-ui-icon {
	inline-size: 1.5rem;
	block-size: 1.5rem;
	--zf-icon-sage: var(--leaf-soft);
}
@media (width < 60rem) {
	.footer-top {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}
@media (width < 42rem) {
	.footer-top {
		grid-template-columns: minmax(0, 1fr);
		gap: 1.75rem;
	}
	.footer-top > nav {
		grid-template-columns: 1fr 1fr;
	}
}
