/* Shared footer: intentional rows, no absolute-positioned link groups. */
.page-footer:is(.footer,.legal-footer,.site-footer){
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  grid-template-areas:"copyright links contact";
  align-items:center;
  column-gap:32px;
  row-gap:24px;
  padding:28px 30px 36px;
  min-height:0;
  font-size:12px;
  line-height:20px;
  text-align:left;
}
.page-footer > p{grid-area:copyright;margin:0;width:auto;white-space:nowrap}
.page-footer .footer-links{
  grid-area:links;
  display:flex;
  justify-content:center;
  align-items:center;
  gap:28px;
  min-width:0;
}
.page-footer .footer-links nav{
  display:flex;
  position:static;
  transform:none;
  align-items:center;
  justify-content:center;
  flex-wrap:nowrap;
  gap:20px;
  margin:0;
}
.page-footer .footer-links a,.page-footer .footer-links button{
  display:inline-flex;
  align-items:center;
  white-space:nowrap;
  flex:0 0 auto;
}
.page-footer > .footer-email{
  grid-area:contact;
  justify-self:end;
  display:inline-flex;
  align-items:center;
  width:auto;
  margin:0;
  gap:9px;
  white-space:nowrap;
}
.page-footer .roll-label{flex:0 0 auto;max-width:none}
.page-footer .roll-cell{flex:0 0 auto}
@media(max-width:1100px){
  .page-footer:is(.footer,.legal-footer,.site-footer){
    grid-template-columns:minmax(0,1fr) auto;
    grid-template-areas:"copyright contact" "links links";
    padding-inline:10px;
  }
}
@media(max-width:560px){
  .page-footer:is(.footer,.legal-footer,.site-footer){
    grid-template-columns:minmax(0,1fr);
    grid-template-areas:"links" "contact" "copyright";
    justify-items:center;
    text-align:center;
    row-gap:24px;
    padding:24px 0 32px;
  }
  .page-footer .footer-links{flex-direction:column;gap:18px}
  .page-footer .footer-links nav{flex-wrap:wrap;gap:12px 18px}
  .page-footer > .footer-email{justify-self:center}
}

/* Terms and privacy pages: remove the decorative header corner marks. */
body:has(.legal-main) .legal-header::before,
body:has(.legal-main) .legal-header::after{display:none}
