/* Stage 43: one shared horizontal grid for header, Freebies filters, footer and promo. */
:root{--px-global-max:1320px;--px-global-pad:22px}
/* Stage 42 constrained header/footer to 1200px while Stage 38 expands Freebies to 1320px. */
.px-header-band > .header.container,
.px-footer-band > .footer.container,
.promo .promo-inner.container{
  width:100%!important;
  max-width:var(--px-global-max)!important;
  padding-left:var(--px-global-pad)!important;
  padding-right:var(--px-global-pad)!important;
  margin-left:auto!important;
  margin-right:auto!important;
  box-sizing:border-box!important;
}
.px-header-band > .header.container{display:flex!important;align-items:center!important;justify-content:space-between!important}
.px-header-band > .header.container > nav{margin-left:auto!important;justify-content:flex-end!important;min-width:0!important}
.px-footer-band > .footer.container{display:flex!important;align-items:center!important;justify-content:space-between!important}
.px-footer-band > .footer.container > .px-footer-links{margin-left:auto!important;justify-content:flex-end!important}
.promo .promo-inner.container{display:flex!important;align-items:center!important;justify-content:space-between!important}
/* Match the Freebies filter strip's inner edges without changing its filtering or layout. */
body:has(#app > .px-stage38-hero) #app.container{max-width:var(--px-global-max)!important}
@media(max-width:750px){
 .px-header-band > .header.container{flex-wrap:wrap!important;gap:14px!important}
 .px-header-band > .header.container > nav{width:100%!important;flex:1 1 100%!important;justify-content:flex-start!important;margin-left:0!important}
 .px-footer-band > .footer.container{gap:16px!important}
 .px-footer-band > .footer.container > .px-footer-links{margin-left:0!important;justify-content:flex-start!important}
}
@media(max-width:430px){:root{--px-global-pad:16px}}
