/* All nine styles share the compact footer's vertical rhythm. Content can grow
   beyond the common desktop baseline, including expanded menus and text zoom. */
.site-footer { --footer-content-height:240px; --footer-line:color-mix(in srgb,currentColor 15%,transparent); }
.site-footer,.site-footer.footer-modern { border-top-width:1px; }
.site-footer .footer-content { padding-block:26px 20px; }
.site-footer .footer-inner,.site-footer .footer-modern-inner { padding:0; min-block-size:var(--footer-content-height); }
.site-footer .footer-inner { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(0,.8fr) minmax(0,1.15fr); align-items:start; gap:clamp(24px,4vw,64px); }
.site-footer .footer-inner>*,.site-footer .footer-modern-inner :is(section,[class$="-grid"]>div) { min-width:0; }
.site-footer .footer-inner>.footer-contact { grid-column:auto; grid-row:auto; }
.site-footer .footer-inner>.footer-menu-area { grid-column:auto; align-self:start; }
.site-footer.footer-centered .footer-inner { text-align:center; }
.site-footer.footer-contact .footer-inner>.footer-contact { padding:16px 20px; }
.site-footer.footer-minimal .footer-inner ul { display:block; text-align:left; }
.site-footer .footer-brand h2 { margin:0 0 14px; line-height:1.7; }
.site-footer .footer-brand p { line-height:1.85; }
.site-footer .footer-inner h3,.site-footer.footer-modern h3 { margin:0 0 16px; line-height:1.6; }
.site-footer .footer-inner>.footer-contact p+p { margin-top:9px; }
.site-footer .footer-inner>.footer-contact p { line-height:1.75; }
.site-footer .footer-identity { gap:14px; }
.site-footer .footer-identity img { width:58px; height:68px; }
.site-footer .footer-identity h2 { line-height:1.7; }
.site-footer .footer-identity p { margin-top:4px; line-height:1.65; }
.site-footer .footer-lead { margin:14px 0 0; line-height:1.85; }
.site-footer .footer-contact-lines { gap:9px; }
.site-footer .footer-contact-lines>p { margin:0; line-height:1.75; }
.site-footer .footer-contact-lines svg { width:17px; height:17px; margin-top:4px; }
.site-footer .footer-social { margin:12px 0 0; gap:8px; }
.site-footer .footer-social a { width:32px; height:32px; }
.site-footer .footer-social .social-facebook { font-size:18px; }
.site-footer .footer-social .social-instagram { font-size:20px; }
.site-footer .footer-modern-top { margin:0 0 14px; }
.site-footer .footer-directory-grid { grid-template-columns:minmax(0,1.2fr) minmax(0,.85fr) minmax(0,.85fr) minmax(0,1.5fr); gap:24px; }
.site-footer .footer-signature-grid { grid-template-columns:minmax(0,1.35fr) minmax(0,1.15fr) minmax(0,.8fr); gap:clamp(24px,4vw,64px); }
.site-footer .footer-signature-links { margin:0; padding:0; border:0; }
.site-footer .footer-signature-links :is(nav>ul,.managed-menu .menu-root) { display:block; }
.site-footer .footer-contrast-grid { grid-template-columns:minmax(0,.8fr) minmax(0,1.35fr) minmax(0,1.15fr); gap:clamp(24px,4vw,64px); }
.site-footer .footer-contrast-links { margin-top:14px; padding-top:12px; }
.site-footer .footer-location-links { margin-top:12px; }
.site-footer .footer-location-contact { padding-left:24px; }
.site-footer .footer-map-card { min-height:170px; }

/* One shared statistics row and credit row, independent of the chosen style. */
.site-footer .footer-statistics .site-visitors { display:flex; flex-wrap:wrap; align-items:center; gap:10px 28px; margin:18px 0 0; padding:12px 0 0; border:0; border-top:1px solid var(--footer-line); border-radius:0; background:none; }
.site-footer .footer-statistics .site-visitors::before { display:none; }
.site-footer .footer-statistics .site-visitors-heading { gap:8px; margin:0; }
.site-footer .footer-statistics .site-visitors-heading h2 { font-size:inherit; margin:0; line-height:1.7; }
.site-footer .footer-statistics .site-visitors-icon { display:grid; width:20px; height:20px; border:0; border-radius:0; }
.site-footer .footer-statistics .site-visitors-icon svg { width:20px; height:20px; margin:0; }
.site-footer .footer-statistics .site-visitors-numbers { display:flex; flex-wrap:wrap; flex:1; gap:8px 22px; }
.site-footer .footer-statistics .site-visitors-metric { display:flex; justify-content:flex-start; align-items:baseline; gap:9px; padding:0; border:0; order:0; }
.site-footer .footer-statistics .site-visitors-metric dt { margin:0; }
.site-footer .footer-statistics .site-visitors-metric dd { justify-content:flex-start; gap:5px; padding:0; border:0; border-radius:0; background:none; }
.site-footer .footer-statistics :is(.site-visitors-heading p,.site-visitors-note) { position:absolute; width:1px; height:1px; padding:0!important; margin:-1px!important; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0!important; }
.site-footer .site-copyright { gap:6px 22px; padding-block:12px; line-height:1.7; }
.site-footer .site-credit { flex-direction:row; flex-wrap:wrap; align-items:baseline; justify-content:flex-end; gap:0 8px; line-height:inherit; }
.site-footer .footer-policies { padding-block:0 10px; }

@media(max-width:1100px) {
    .site-footer .footer-directory-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px 30px; }
    .site-footer .footer-directory-contact { grid-column:auto; }
    .site-footer .footer-contrast-grid>div:last-child { grid-column:auto; }
}
@media(max-width:900px) {
    .site-footer { --footer-content-height:0px; }
    .site-footer .footer-inner,.site-footer .footer-signature-grid,.site-footer .footer-contrast-grid { grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); gap:22px 30px; }
    .site-footer .footer-inner>.footer-menu-area { grid-column:1/-1; grid-row:2; }
    .site-footer .footer-signature-links,.site-footer .footer-contrast-grid>div:last-child { grid-column:1/-1; }
    .site-footer .footer-inner :is(nav>ul,.managed-menu .menu-root),.site-footer .footer-signature-links :is(nav>ul,.managed-menu .menu-root) { display:flex; flex-wrap:wrap; gap:8px 22px; }
    .site-footer .footer-location-contact { padding:16px 0 0; }
    .site-footer .site-credit { justify-content:flex-start; margin-left:0; text-align:left; }
}
@media(max-width:640px) {
    .site-footer .footer-content { padding-block:22px 16px; }
    .site-footer .footer-inner,.site-footer .footer-directory-grid,.site-footer .footer-signature-grid,.site-footer .footer-contrast-grid { grid-template-columns:minmax(0,1fr); gap:22px; }
    .site-footer .footer-inner>.footer-menu-area { grid-column:auto; grid-row:auto; }
    .site-footer .footer-signature-links,.site-footer .footer-contrast-grid>div:last-child { grid-column:auto; }
    .site-footer .footer-identity img { width:48px; height:58px; }
    .site-footer .footer-lead { margin-top:10px; }
    .site-footer .footer-inner h3,.site-footer.footer-modern h3 { margin-bottom:12px; }
    .site-footer .footer-map-card { min-height:145px; }
    .site-footer .footer-statistics .site-visitors { gap:10px; margin-top:16px; }
    .site-footer .footer-statistics .site-visitors-numbers { flex-basis:100%; column-gap:16px; }
    .site-footer .site-copyright { display:block; }
    .site-footer .site-credit { margin-top:6px; }
}
