/* Shared footer: each link stays in its own place in normal flow. */
body.responsive-site .footer-v21 .footer-v21-bottom {
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto auto!important;
  align-items:center!important;
  gap:20px 32px!important;
  padding:24px 0!important;
  min-height:80px!important;
  line-height:1.5;
}
body.responsive-site .footer-v21-bottom a {
  position:static!important;
  inset:auto!important;
  transform:none!important;
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:32px;
  padding:4px 0;
  line-height:1.5;
}
body.responsive-site .footer-v21-bottom .footer-v92-legal {
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:center;
  gap:8px 24px!important;
}
body.responsive-site .footer-v21-bottom .footer-v92-legal a { font-size:12px!important; }
body.responsive-site .footer-v21-bottom>a { justify-self:end; white-space:nowrap; }
body.responsive-site .footer-contact-links>div {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  width:100%;
}
body.responsive-site .footer-v21-social.footer-contact-links a {
  display:flex;
  justify-content:center;
  align-items:center;
  width:100%!important;
  min-width:0;
  height:auto;
  min-height:46px;
  padding:12px 16px;
  border-radius:999px;
  font-size:12px;
  font-weight:600;
  line-height:1.4;
  text-align:center;
}
body.responsive-site .footer-contact-links a[href^="mailto:"] {
  background:#c2272e;
  border-color:#c2272e!important;
  color:#fff;
}
body.responsive-site .footer-contact-links a[href^="mailto:"]:hover { background:#a91e25; }
body.responsive-site .footer-contact-links a:focus-visible,
body.responsive-site .footer-v21-bottom a:focus-visible { outline:2px solid #c2272e; outline-offset:4px; }
@media(max-width:980px) {
  body.responsive-site .footer-v21 .footer-v21-bottom {
    grid-template-columns:minmax(0,1fr) auto!important;
    gap:12px 20px!important;
    padding:24px var(--mobile-gutter,16px)!important;
  }
  body.responsive-site .footer-v21-bottom>span { grid-column:1/-1; }
}
@media(max-width:560px) {
  body.responsive-site .footer-v21 .footer-v21-bottom { grid-template-columns:minmax(0,1fr)!important; }
  body.responsive-site .footer-v21-bottom>a { justify-self:start; }
  body.responsive-site .footer-v21-bottom .footer-v92-legal { gap:6px 18px!important; }
}
