/* Footer navigation and contact panel. */
.site-footer {
	padding: 4rem 0 1.25rem;
	background: radial-gradient(ellipse at top left, #203c2b 0, transparent 60%), #101b15;
	border-top: 3px solid #bad16e;
}
.site-footer .footer-grid {
	grid-template-columns: 1.2fr 0.65fr 0.9fr 1.15fr;
	gap: clamp(1.5rem, 3vw, 3rem);
	align-items: start;
}
.footer-grid > div { min-width: 0; }
.site-footer .footer-brand p {
	margin: 1.25rem 0;
	font-size: 0.9rem;
	line-height: 1.8;
	color: #becbbf;
}
.site-footer h2 {
	margin: 0 0 1.25rem;
	color: #d9e7af;
	font-size: 0.72rem;
	letter-spacing: 0.14em;
}
.site-footer h2::after {
	content: '';
	display: block;
	width: 1.5rem;
	height: 2px;
	margin-top: 0.75rem;
	background: #7f9d58;
}
.site-footer .footer-links ul { display: block; }
.site-footer .footer-links li { margin: 0; border: 0; }
.site-footer .footer-links a {
	display: inline-block;
	padding: 0.4rem 0;
	font-size: 0.88rem;
	font-weight: 400;
	color: #d0dbd1;
	line-height: 1.5;
}
.site-footer a:focus-visible {
	outline: 2px solid #d9e7af;
	outline-offset: 5px;
	border-radius: 2px;
}
.site-footer .footer-links a:hover {
	color: #e2efae;
	text-decoration: underline;
	text-underline-offset: 4px;
}
.footer-contact {
	padding: 1.5rem;
	border: 1px solid #ffffff1f;
	border-radius: 12px;
	background: #ffffff05;
}
.site-footer .footer-contact address,
.site-footer .contact-list {
	font-size: 0.85rem;
	line-height: 1.7;
	color: #d0dbd1;
	overflow-wrap: anywhere;
}
.site-footer .footer-catalog-link,
.site-footer .footer-contact-link {
	display: inline-flex;
	align-items: center;
	gap: 0.75rem;
	font-size: 0.8rem;
	font-weight: 600;
	color: #e2efae;
}
.footer-contact-link {
	margin-top: 0.75rem;
	padding-top: 1rem;
	border-top: 1px solid #ffffff1f;
}
.site-footer .footer-bottom {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	margin-top: 2.5rem;
	padding-top: 1.25rem;
	border-color: #ffffff1f;
	color: #aab9ad;
}
.site-footer .footer-bottom p { margin: 0; font-size: 0.72rem; }
@media (max-width: 1100px) {
	.site-footer .footer-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 2rem;
	}
}
@media (max-width: 600px) {
	.site-footer { padding-top: 2.5rem; }
	.site-footer .footer-grid { gap: 2rem 1rem; }
	.footer-brand, .footer-contact { grid-column: 1 / -1; }
	.site-footer .footer-bottom { margin-top: 2rem; }
}
