/* R80 TABLET FOOTER BALANCE V10
   Loaded after V8 + V9. Tablet only: 761-1000px.
   Scope: footer readability, breathing room and a single-line legal row.
   Desktop >=1001px and phone <=760px are untouched. */
@media (min-width:761px) and (max-width:1000px){
  body[class]>.site-footer{
    grid-template-columns:minmax(245px,1.45fr) minmax(95px,.54fr) minmax(95px,.54fr) minmax(175px,.92fr)!important;
    grid-template-rows:auto auto!important;
    column-gap:clamp(18px,2.5vw,30px)!important;
    row-gap:0!important;
    align-items:start!important;
    padding-top:42px!important;
    padding-bottom:30px!important;
  }

  body[class]>.site-footer>.footer-brand-block{
    gap:5px!important;
    align-self:start!important;
    min-width:0!important;
  }
  body[class]>.site-footer .footer-brand{
    font-size:24px!important;
    line-height:1.15!important;
  }
  body[class]>.site-footer>.footer-brand-block p{
    max-width:320px!important;
    margin:6px 0 0!important;
    font-size:11.5px!important;
    line-height:1.52!important;
  }
  body[class]>.site-footer .footer-location{
    margin-top:14px!important;
    font-size:11px!important;
    line-height:1.35!important;
  }

  body[class]>.site-footer .footer-menu-group{
    align-items:flex-start!important;
    min-width:0!important;
  }
  body[class]>.site-footer .footer-menu-group h3{
    height:auto!important;
    min-height:0!important;
    margin:0 0 12px!important;
    font-size:11px!important;
    line-height:1.2!important;
    letter-spacing:.14em!important;
  }
  body[class]>.site-footer .footer-menu-group a{
    display:block!important;
    height:auto!important;
    min-height:0!important;
    margin:0 0 13px!important;
    padding:0!important;
    font-size:13.5px!important;
    line-height:1.3!important;
  }
  body[class]>.site-footer .footer-menu-group a:last-child{margin-bottom:0!important}

  body[class]>.site-footer>.footer-contact{
    align-self:center!important;
    justify-self:end!important;
    align-items:flex-end!important;
    width:auto!important;
    margin:0!important;
    padding-top:0!important;
    gap:4px!important;
    text-align:right!important;
  }
  body[class]>.site-footer>.footer-contact a{
    font-size:18.5px!important;
    line-height:1.15!important;
    white-space:nowrap!important;
  }
  body[class]>.site-footer>.footer-contact span{
    font-size:10px!important;
    line-height:1.3!important;
    white-space:nowrap!important;
  }

  /* Full-width legal line: one readable row, left aligned, never artificially justified. */
  body[class]>.site-footer>.footer-legal{
    grid-column:1/-1!important;
    grid-row:2!important;
    width:100%!important;
    min-width:0!important;
    margin-top:30px!important;
    padding-top:14px!important;
    padding-bottom:0!important;
    overflow:visible!important;
  }
  body[class]>.site-footer>.footer-legal .footer-legal-line{
    display:block!important;
    width:100%!important;
    margin:0!important;
    text-align:left!important;
    white-space:nowrap!important;
    overflow:visible!important;
    font-size:11.5px!important;
    line-height:1.35!important;
    letter-spacing:-.018em!important;
  }
  body[class]>.site-footer>.footer-legal .footer-legal-copy,
  body[class]>.site-footer>.footer-legal .footer-legal-item,
  body[class]>.site-footer>.footer-legal .footer-legal-separator,
  body[class]>.site-footer>.footer-legal .footer-legal-line a{
    display:inline!important;
    width:auto!important;
    max-width:none!important;
    margin:0!important;
    padding:0!important;
    white-space:nowrap!important;
    font-size:inherit!important;
    line-height:inherit!important;
  }
  body[class]>.site-footer>.footer-legal .footer-legal-item + .footer-legal-item::before{
    content:" · "!important;
    margin:0!important;
  }
  body[class]>.site-footer>.footer-legal .footer-legal-line a{font-weight:600!important}
}

/* 761-799: keep four columns and one legal row without shrinking the whole footer. */
@media (min-width:761px) and (max-width:799px){
  body[class]>.site-footer{
    grid-template-columns:minmax(210px,1.35fr) minmax(80px,.5fr) minmax(80px,.5fr) minmax(148px,.88fr)!important;
    column-gap:12px!important;
    padding-top:34px!important;
    padding-bottom:24px!important;
  }
  body[class]>.site-footer .footer-brand{font-size:21.5px!important}
  body[class]>.site-footer>.footer-brand-block p{font-size:10.5px!important;line-height:1.48!important}
  body[class]>.site-footer .footer-location{font-size:10px!important;margin-top:12px!important}
  body[class]>.site-footer .footer-menu-group h3{font-size:9.8px!important;margin-bottom:10px!important}
  body[class]>.site-footer .footer-menu-group a{font-size:11.7px!important;margin-bottom:10px!important}
  body[class]>.site-footer>.footer-contact a{font-size:15.8px!important}
  body[class]>.site-footer>.footer-contact span{font-size:8.6px!important}
  body[class]>.site-footer>.footer-legal{margin-top:24px!important;padding-top:12px!important}
  body[class]>.site-footer>.footer-legal .footer-legal-line{font-size:9.7px!important;letter-spacing:-.035em!important}
}

/* 800-859: slightly larger than the narrow-tablet fallback. */
@media (min-width:800px) and (max-width:859px){
  body[class]>.site-footer{
    grid-template-columns:minmax(225px,1.38fr) minmax(84px,.5fr) minmax(84px,.5fr) minmax(155px,.9fr)!important;
    column-gap:14px!important;
    padding-top:36px!important;
    padding-bottom:26px!important;
  }
  body[class]>.site-footer .footer-brand{font-size:22px!important}
  body[class]>.site-footer>.footer-brand-block p{font-size:10.8px!important}
  body[class]>.site-footer .footer-location{font-size:10.3px!important;margin-top:12px!important}
  body[class]>.site-footer .footer-menu-group h3{font-size:10.2px!important;margin-bottom:11px!important}
  body[class]>.site-footer .footer-menu-group a{font-size:12.2px!important;margin-bottom:11px!important}
  body[class]>.site-footer>.footer-contact a{font-size:16.5px!important}
  body[class]>.site-footer>.footer-contact span{font-size:9px!important}
  body[class]>.site-footer>.footer-legal{margin-top:26px!important;padding-top:12px!important}
  body[class]>.site-footer>.footer-legal .footer-legal-line{font-size:10.5px!important;letter-spacing:-.028em!important}
}

@media (min-width:860px) and (max-width:919px){
  body[class]>.site-footer>.footer-legal .footer-legal-line{font-size:11.5px!important}
}
@media (min-width:920px) and (max-width:1000px){
  body[class]>.site-footer>.footer-legal .footer-legal-line{font-size:12px!important;letter-spacing:-.012em!important}
}
