/* Keep the brand/location row separate from social links at every text size. */
body footer.site-footer, body footer.r3-footer {
 display:grid!important; grid-template-columns:minmax(0,180px) minmax(0,1fr) minmax(0,max-content)!important;
 align-items:center; gap:24px 32px!important; height:auto!important;
 padding-bottom:max(80px,env(safe-area-inset-bottom))!important;
}
body footer.site-footer > *, body footer.r3-footer > * { min-width:0; max-width:100%; }
body footer.site-footer > img, body footer.r3-footer > img { width:180px; max-width:100%; height:auto; }
body footer.site-footer > span, body footer.site-footer > p,
body footer.r3-footer > span, body footer.r3-footer > p { margin:0; line-height:1.6; white-space:normal; overflow-wrap:anywhere; }
body footer.site-footer > a, body footer.r3-footer > a { justify-self:end; white-space:normal; overflow-wrap:anywhere; }
body footer.site-footer > .nook-social, body footer.r3-footer > .nook-social {
 grid-column:1 / -1!important; width:100%!important; min-width:0!important;
 display:flex!important; flex-wrap:wrap!important; align-items:flex-start!important;
 gap:20px 32px!important; margin:0!important; padding-top:24px!important;
}
body footer .nook-social-intro { flex:0 1 260px; min-width:0; max-width:100%; }
body footer .nook-social-intro p { white-space:normal; overflow-wrap:anywhere; line-height:1.6; }
body footer .nook-social-links { flex:1 1 500px; min-width:0; max-width:100%; flex-wrap:wrap!important; gap:12px 20px!important; }
body footer .nook-social-links a { max-width:100%; white-space:normal; overflow-wrap:anywhere; }
@media screen and (max-width:700px) {
 body footer.site-footer, body footer.r3-footer { grid-template-columns:minmax(0,1fr)!important; gap:20px!important; }
 body footer.site-footer > a, body footer.r3-footer > a { justify-self:start; }
 body footer .nook-social-intro, body footer .nook-social-links { flex-basis:100%; }
}
