/* Site footer — mirrors the live footer: violet band, centred wordmark, link groups either side of a
   centred blurb with social links, copyright line. One centred column on phones. */

.wv-footer {
	background: var(--wp--preset--color--violet-ground);
	color: var(--wp--preset--color--surface);
	padding: clamp(2.5rem, 1.5rem + 3vw, 3.5rem) clamp(1rem, 0.5rem + 2vw, 2rem) 2rem !important;
	margin-top: 0 !important;
}
.wp-site-blocks > footer { margin-block-start: 0 !important; }

.wv-footer a { color: var(--wp--preset--color--surface); text-decoration: none; }
.wv-footer a:hover { text-decoration: underline; text-underline-offset: 4px; }
.wv-footer :focus-visible { outline: 3px solid var(--wp--preset--color--lavender-on-ground); outline-offset: 3px; border-radius: 6px; }

/* The wordmark heads the centre column, level with the link-group titles either side. */
.wv-footer__logo { margin: 0 auto 4px !important; }
.wv-footer__logo img { display: block; height: auto; }

.wv-footer__grid {
	display: grid;
	grid-template-columns: 1fr minmax(260px, 320px) 1fr;
	gap: clamp(1.5rem, 1rem + 3vw, 4rem);
	max-width: 1100px;
	margin: 0 auto !important;
}
.wv-footer__grid > * { margin: 0 !important; }
/* Desktop: the copyright line sits in the centre column under the social links, filling the gap
   beside the longer link lists. Phones stack everything and keep it last. */
.wv-footer__grid { grid-template-areas: "left about right" "left copy right"; grid-template-rows: auto 1fr; row-gap: 0; }
.wv-footer-links.is-left { grid-area: left; }
.wv-footer__about { grid-area: about; }
.wv-footer-links.is-right { grid-area: right; }
.wv-footer__grid > .wv-footer__copy { grid-area: copy; align-self: start; margin-top: 28px !important; }

/* Link groups */
.wv-footer-links { display: grid; align-content: start; gap: 28px; }
.wv-footer-links.is-left { text-align: right; justify-items: end; }
.wv-footer-links.is-right { text-align: left; justify-items: start; }
.wv-footer-links__title {
	margin: 0 0 10px !important;
	color: var(--wp--preset--color--surface) !important;
	font-family: var(--wp--preset--font-family--heading);
	font-size: clamp(1.375rem, 1.1rem + 1vw, 1.875rem) !important;
	font-weight: 700;
	line-height: 1.2;
}
.wv-footer-links ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }
.wv-footer-links li a {
	display: inline-block;
	padding-block: 3px;
	font-size: 1.0625rem;
	line-height: 1.5;
	color: var(--wp--preset--color--surface);
}

/* Blurb and social links */
.wv-footer__about { display: grid; align-content: start; gap: 24px; }
.wv-footer__about p { margin: 0; color: var(--wp--preset--color--surface); font-size: 1.0625rem; line-height: 1.75; }
.wv-footer .wp-block-social-links { gap: 12px !important; margin: 0 !important; }
.wv-footer .wp-block-social-links .wp-social-link a { padding: 10px; border-radius: 50%; }
.wv-footer .wp-block-social-links .wp-social-link a:hover { background: rgba(255, 255, 255, 0.14); text-decoration: none; }
.wv-footer .wp-block-social-links .wp-social-link svg { width: 20px; height: 20px; }

.wv-footer__copy {
	margin: clamp(2rem, 1.5rem + 2vw, 3rem) 0 0 !important;
	color: var(--wp--preset--color--lavender-on-ground);
	font-size: var(--wp--preset--font-size--small);
}

@media (max-width: 781px) {
	.wv-footer__grid { grid-template-columns: 1fr; grid-template-areas: none; grid-template-rows: none; row-gap: clamp(1.5rem, 1rem + 3vw, 4rem); text-align: center; }
	.wv-footer__grid > * { grid-area: auto !important; }
	.wv-footer__about { order: -1; }
	.wv-footer-links, .wv-footer-links.is-left, .wv-footer-links.is-right { text-align: center; justify-items: center; }
	.wv-footer-links ul { gap: 0; }
	.wv-footer-links li a { padding-block: 4px; font-size: 1rem; }
	.wv-footer-links { gap: 22px; }
}
