/* Shared footer: the logo, contact details and locations remain native blocks. */
.fs-footer {
    background: var(--site-color-surface);
    color: var(--site-color-navy);
    border-top: 4px solid var(--site-color-accent);
    padding: 56px 0;
}
.fs-footer-inner {
    width: var(--fs-shell);
    margin-inline: auto;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.65fr);
    gap: 64px;
}
.fs-footer .wp-block-site-logo { width: 240px; max-width: 100%; margin: 0 0 28px; }
.fs-footer h2 { color: inherit; font-size: 26px; margin: 0 0 20px; padding: 0; }
.fs-footer h3 { color: inherit; font-size: 20px; margin: 0 0 12px; padding: 0; line-height: 1.2; }
.fs-footer p { margin: 0 0 18px; line-height: 1.7; overflow-wrap: anywhere; }
.fs-footer p:last-child { margin-bottom: 0; }
.fs-footer a { color: inherit; text-decoration: none; }
.fs-footer a:hover { text-decoration: underline; text-underline-offset: 3px; }
.fs-footer-locations { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 36px; }
.fs-footer-location { border-top: 1px solid #0b1a5226; padding-top: 18px; }
.fs-footer-bottom { background: var(--site-color-navy); color: var(--site-color-paper); padding: 18px 0; font-size: 13px; }
.fs-footer-bottom-inner { width: var(--fs-shell); margin-inline: auto; gap: 20px; }
.fs-footer-bottom p { margin: 0; }
.fs-footer-bottom .wp-block-social-links { gap: 8px; margin: 0; }
.fs-footer-bottom .wp-block-social-links .wp-social-link .wp-block-social-link-anchor { padding: 10px; min-width: 44px; min-height: 44px; border: 1px solid #ffffff66; border-radius: 50%; }
.fs-footer-bottom .wp-block-social-links .wp-social-link:hover { transform: none; }
.fs-footer-bottom .wp-block-social-links .wp-social-link .wp-block-social-link-anchor:hover { background: #ffffff22; }
.fs-footer-bottom .wp-block-social-link-anchor:focus-visible { outline: 2px solid white; outline-offset: 4px; }
@media (max-width: 980px) {
    .fs-footer-inner { gap: 36px; grid-template-columns: minmax(0, 1fr) minmax(0, 1.3fr); }
    .fs-footer-locations { grid-template-columns: minmax(0, 1fr); gap: 24px; }
}
@media (max-width: 767px) {
    .fs-footer { padding: 40px 0; }
    .fs-footer-inner { grid-template-columns: minmax(0, 1fr); gap: 36px; }
    .fs-footer-bottom-inner { flex-direction: column; align-items: flex-start; }
}
