/* Fourtwentystreet V275 visual corrections.
   Scope: visual-only fixes from V274 feedback: unified footer, no currency clutter in header, basket footer coherence. */

/* Header: keep it clean. Basket + theme stay; wallet/currency counters are removed from the public header. */
.top-wallet,
.header-wallet{
  display:none!important;
}
.site-header .nav-wrap{
  grid-template-columns:auto minmax(0,1fr) auto!important;
}
.header-utility{
  gap:12px!important;
  min-width:auto!important;
}
.site-cart-shortcut,
.theme-toggle{
  flex:0 0 auto!important;
}

/* Canonical footer across every public page. */
.fts-footer-clean{
  margin-top:clamp(34px,5vw,74px)!important;
  padding:0!important;
  border-top:1px solid var(--line)!important;
  background:linear-gradient(180deg,rgba(0,0,0,.10),rgba(0,0,0,.30))!important;
  width:100%!important;
  overflow:hidden!important;
}
html[data-theme="light"] .fts-footer-clean{
  background:linear-gradient(180deg,rgba(17,16,14,.03),rgba(17,16,14,.06))!important;
}
.fts-footer-clean .footer-clean-wrap{
  width:min(1320px,calc(100vw - 44px))!important;
  margin:0 auto!important;
  padding:clamp(34px,4vw,58px) 0 clamp(30px,3.6vw,52px)!important;
  display:grid!important;
  grid-template-columns:minmax(520px,.72fr) minmax(0,1.28fr)!important;
  gap:clamp(26px,4vw,64px)!important;
  align-items:start!important;
}
.fts-footer-clean .footer-main{
  min-width:0!important;
}
.fts-footer-clean .footer-brand{
  display:inline-block!important;
  width:auto!important;
  max-width:100%!important;
  white-space:nowrap!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  color:var(--ink)!important;
  font-family:var(--display)!important;
  font-weight:900!important;
  text-transform:uppercase!important;
  text-decoration:none!important;
  font-size:clamp(30px,2.45vw,42px)!important;
  line-height:.9!important;
  letter-spacing:.12em!important;
}
.fts-footer-clean .footer-main .small,
.fts-footer-clean .footer-main p{
  margin:14px 0 0!important;
  max-width:100%!important;
  color:var(--muted)!important;
  font-family:var(--mono)!important;
  font-size:clamp(10px,.8vw,13px)!important;
  line-height:1.4!important;
  letter-spacing:.18em!important;
  text-transform:uppercase!important;
}
.fts-footer-clean .footer-clean-nav{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(118px,1fr))!important;
  gap:clamp(18px,2.4vw,38px)!important;
  width:100%!important;
  min-width:0!important;
}
.fts-footer-clean .footer-clean-nav div{
  display:grid!important;
  gap:8px!important;
  align-content:start!important;
  min-width:0!important;
}
.fts-footer-clean .footer-clean-nav span{
  margin:0 0 5px!important;
  color:var(--accent)!important;
  font-family:var(--mono)!important;
  font-size:10px!important;
  line-height:1.2!important;
  letter-spacing:.18em!important;
  text-transform:uppercase!important;
}
.fts-footer-clean .footer-clean-nav a,
.fts-footer-clean .footer-legal-line a{
  color:var(--muted)!important;
  border:0!important;
  font-family:var(--mono)!important;
  font-size:10px!important;
  line-height:1.45!important;
  letter-spacing:.12em!important;
  text-transform:uppercase!important;
  text-decoration:none!important;
  white-space:nowrap!important;
}
.fts-footer-clean .footer-clean-nav a:hover,
.fts-footer-clean .footer-legal-line a:hover{
  color:var(--ink)!important;
}
.fts-footer-clean .footer-legal-line{
  width:min(1320px,calc(100vw - 44px))!important;
  margin:0 auto!important;
  padding:14px 0 18px!important;
  border-top:1px solid var(--line)!important;
  display:flex!important;
  justify-content:flex-end!important;
  gap:18px!important;
  flex-wrap:wrap!important;
}

/* Basket: remove the old one-screen compact footer treatment so the same footer can appear everywhere. */
html:has(body.basket-v199){
  height:auto!important;
  overflow:auto!important;
}
body.basket-v199{
  --basket-footer-h:auto!important;
  min-height:100svh!important;
  height:auto!important;
  max-height:none!important;
  overflow:auto!important;
  display:block!important;
}
body.basket-v199 main{
  min-height:0!important;
  height:auto!important;
  overflow:visible!important;
  display:block!important;
}
body.basket-v199 #basket-shell-v199,
body.basket-v199 .basket-page-shell{
  width:min(1280px,calc(100vw - 44px))!important;
  min-height:calc(100svh - 310px)!important;
  height:auto!important;
  max-height:none!important;
  margin:0 auto!important;
  padding:clamp(22px,3vw,46px) 0!important;
  overflow:visible!important;
}
body.basket-v199 #basket-footer-v199,
body.basket-v199 .site-footer,
body.basket-v199 .site-footer.fts-footer-clean{
  position:relative!important;
  left:auto!important;
  right:auto!important;
  bottom:auto!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  width:100%!important;
  overflow:hidden!important;
  padding:0!important;
}
body.basket-v199 #basket-footer-v199 .footer-clean-wrap,
body.basket-v199 .site-footer.fts-footer-clean .footer-clean-wrap{
  width:min(1320px,calc(100vw - 44px))!important;
  padding:clamp(34px,4vw,58px) 0 clamp(30px,3.6vw,52px)!important;
  display:grid!important;
  grid-template-columns:minmax(520px,.72fr) minmax(0,1.28fr)!important;
  gap:clamp(26px,4vw,64px)!important;
  align-items:start!important;
}
body.basket-v199 #basket-footer-v199 .footer-main,
body.basket-v199 .site-footer.fts-footer-clean .footer-main{
  display:block!important;
  align-content:unset!important;
  min-width:0!important;
}
body.basket-v199 #basket-footer-v199 .footer-brand,
body.basket-v199 .site-footer.fts-footer-clean .footer-brand{
  font-size:clamp(30px,2.45vw,42px)!important;
  line-height:.9!important;
  letter-spacing:.12em!important;
  white-space:nowrap!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
}
body.basket-v199 #basket-footer-v199 .footer-main p,
body.basket-v199 .site-footer.fts-footer-clean .footer-main p{
  display:block!important;
  margin:14px 0 0!important;
  font-size:clamp(10px,.8vw,13px)!important;
  line-height:1.4!important;
}
body.basket-v199 #basket-footer-v199 .footer-clean-nav,
body.basket-v199 .site-footer.fts-footer-clean .footer-clean-nav{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(118px,1fr))!important;
  gap:clamp(18px,2.4vw,38px)!important;
}
body.basket-v199 #basket-footer-v199 .footer-clean-nav div{
  display:grid!important;
  gap:8px!important;
  align-content:start!important;
}
body.basket-v199 #basket-footer-v199 .footer-clean-nav span,
body.basket-v199 .site-footer.fts-footer-clean .footer-clean-nav span{
  font-size:10px!important;
  line-height:1.2!important;
  margin:0 0 5px!important;
}
body.basket-v199 #basket-footer-v199 .footer-clean-nav a,
body.basket-v199 .site-footer.fts-footer-clean .footer-clean-nav a{
  font-size:10px!important;
  line-height:1.45!important;
  white-space:nowrap!important;
  overflow:visible!important;
  text-overflow:clip!important;
}
body.basket-v199 #basket-footer-v199 .footer-legal-line,
body.basket-v199 .site-footer.fts-footer-clean .footer-legal-line{
  display:flex!important;
  width:min(1320px,calc(100vw - 44px))!important;
  margin:0 auto!important;
  padding:14px 0 18px!important;
}
body.basket-v199 #basket-footer-v199 .footer-legal-line a,
body.basket-v199 .site-footer.fts-footer-clean .footer-legal-line a{
  display:inline-block!important;
  font-size:10px!important;
}

@media(max-width:1180px){
  .fts-footer-clean .footer-clean-wrap,
  body.basket-v199 #basket-footer-v199 .footer-clean-wrap,
  body.basket-v199 .site-footer.fts-footer-clean .footer-clean-wrap{
    grid-template-columns:1fr!important;
    gap:26px!important;
  }
  .fts-footer-clean .footer-brand,
  body.basket-v199 #basket-footer-v199 .footer-brand,
  body.basket-v199 .site-footer.fts-footer-clean .footer-brand{
    font-size:clamp(30px,5vw,44px)!important;
  }
}
@media(max-width:760px){
  .site-header .nav-wrap,
  .fts-footer-clean .footer-clean-wrap,
  .fts-footer-clean .footer-legal-line,
  body.basket-v199 #basket-shell-v199,
  body.basket-v199 .basket-page-shell,
  body.basket-v199 #basket-footer-v199 .footer-clean-wrap,
  body.basket-v199 .site-footer.fts-footer-clean .footer-clean-wrap,
  body.basket-v199 #basket-footer-v199 .footer-legal-line,
  body.basket-v199 .site-footer.fts-footer-clean .footer-legal-line{
    width:min(100vw - 24px,1280px)!important;
  }
  .fts-footer-clean .footer-clean-nav,
  body.basket-v199 #basket-footer-v199 .footer-clean-nav,
  body.basket-v199 .site-footer.fts-footer-clean .footer-clean-nav{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:22px 18px!important;
  }
  .fts-footer-clean .footer-brand,
  body.basket-v199 #basket-footer-v199 .footer-brand,
  body.basket-v199 .site-footer.fts-footer-clean .footer-brand{
    font-size:clamp(24px,7vw,36px)!important;
    letter-spacing:.09em!important;
  }
  .fts-footer-clean .footer-legal-line{
    justify-content:flex-start!important;
  }
}
@media(max-width:420px){
  .fts-footer-clean .footer-brand,
  body.basket-v199 #basket-footer-v199 .footer-brand,
  body.basket-v199 .site-footer.fts-footer-clean .footer-brand{
    font-size:clamp(20px,6.4vw,28px)!important;
    letter-spacing:.075em!important;
  }
  .fts-footer-clean .footer-clean-nav,
  body.basket-v199 #basket-footer-v199 .footer-clean-nav,
  body.basket-v199 .site-footer.fts-footer-clean .footer-clean-nav{
    grid-template-columns:1fr!important;
  }
}
