/* V278 — Footer/nav clarity pass. Finished-product front-end only. */
.fts-footer-clean.fts-footer-v278{
  margin-top:clamp(34px,5vw,70px)!important;
  border-top:1px solid var(--line)!important;
  background:linear-gradient(180deg,rgba(255,252,242,.025),rgba(255,252,242,.055))!important;
}
html[data-theme="light"] .fts-footer-clean.fts-footer-v278{
  background:linear-gradient(180deg,rgba(17,16,14,.025),rgba(17,16,14,.055))!important;
}
.fts-footer-v278 .footer-clean-wrap{
  width:min(1280px,calc(100vw - 44px))!important;
  margin:0 auto!important;
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr)!important;
  column-gap:clamp(54px,6vw,96px)!important;
  row-gap:24px!important;
  align-items:start!important;
  padding:clamp(30px,4vw,48px) 0 22px!important;
  overflow:visible!important;
}
.fts-footer-v278 .footer-main{min-width:0!important;max-width:100%!important;position:relative!important;z-index:1!important;}
.fts-footer-v278 .footer-brand{
  display:block!important;
  width:auto!important;
  max-width:calc(100vw - 44px)!important;
  white-space:nowrap!important;
  overflow:visible!important;
  text-wrap:nowrap!important;
  font-size:clamp(32px,2.75vw,44px)!important;
  line-height:.9!important;
  letter-spacing:.055em!important;
  transform:none!important;
}
.fts-footer-v278 .footer-main .small{
  margin-top:14px!important;
  font-size:11px!important;
  letter-spacing:.18em!important;
  text-transform:uppercase!important;
  color:var(--muted)!important;
}
.fts-footer-v278 .footer-nav-v278{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(112px,1fr))!important;
  gap:clamp(18px,2.2vw,32px)!important;
  align-items:start!important;
  min-width:0!important;
  width:100%!important;
  position:relative!important;
  z-index:0!important;
}
.fts-footer-v278 .footer-nav-v278 div{
  min-width:0!important;
  display:grid!important;
  gap:8px!important;
  align-content:start!important;
}
.fts-footer-v278 .footer-nav-v278 span{
  margin-bottom:3px!important;
  font-size:10px!important;
  letter-spacing:.2em!important;
  text-transform:uppercase!important;
  color:var(--ink)!important;
  opacity:.92!important;
}
.fts-footer-v278 .footer-nav-v278 a,
.fts-footer-v278 .footer-legal-v278 a{
  min-height:0!important;
  padding:0!important;
  border:0!important;
  display:inline!important;
  width:max-content!important;
  max-width:100%!important;
  white-space:normal!important;
  font-size:11px!important;
  line-height:1.35!important;
  letter-spacing:.12em!important;
  text-transform:uppercase!important;
  color:var(--muted)!important;
  text-decoration:none!important;
}
.fts-footer-v278 .footer-nav-v278 a:hover,
.fts-footer-v278 .footer-nav-v278 a:focus,
.fts-footer-v278 .footer-legal-v278 a:hover,
.fts-footer-v278 .footer-legal-v278 a:focus{
  color:var(--ink)!important;
  text-decoration:underline!important;
  text-underline-offset:4px!important;
}
.fts-footer-v278 .footer-legal-v278{
  width:min(1280px,calc(100vw - 44px))!important;
  margin:0 auto!important;
  padding:16px 0 28px!important;
  border-top:1px solid var(--line)!important;
  display:flex!important;
  flex-wrap:wrap!important;
  gap:10px 18px!important;
  justify-content:flex-start!important;
  align-items:center!important;
}
body[data-section="basket"] .fts-footer-v278 .footer-nav-v278,
body.basket-page .fts-footer-v278 .footer-nav-v278,
body.basket-v199 .fts-footer-v278 .footer-nav-v278{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
}
@media (max-width:1180px){
  .fts-footer-v278 .footer-clean-wrap{grid-template-columns:1fr!important;gap:24px!important;}
  .fts-footer-v278 .footer-nav-v278{grid-template-columns:repeat(4,minmax(0,1fr))!important;}
  body[data-section="basket"] .fts-footer-v278 .footer-nav-v278,
  body.basket-page .fts-footer-v278 .footer-nav-v278,
  body.basket-v199 .fts-footer-v278 .footer-nav-v278{grid-template-columns:repeat(4,minmax(0,1fr))!important;}
}
@media (max-width:760px){
  .fts-footer-v278 .footer-clean-wrap,
  .fts-footer-v278 .footer-legal-v278{width:min(100%,calc(100vw - 26px))!important;}
  .fts-footer-v278 .footer-nav-v278{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:18px!important;}
  body[data-section="basket"] .fts-footer-v278 .footer-nav-v278,
  body.basket-page .fts-footer-v278 .footer-nav-v278,
  body.basket-v199 .fts-footer-v278 .footer-nav-v278{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .fts-footer-v278 .footer-legal-v278{gap:9px 13px!important;}
}
@media (max-width:560px){
  .fts-footer-v278 .footer-brand{font-size:clamp(26px,8.1vw,35px)!important;letter-spacing:.045em!important;white-space:normal!important;line-height:.92!important;}
  .fts-footer-v278 .footer-nav-v278{grid-template-columns:1fr!important;}
  body[data-section="basket"] .fts-footer-v278 .footer-nav-v278,
  body.basket-page .fts-footer-v278 .footer-nav-v278,
  body.basket-v199 .fts-footer-v278 .footer-nav-v278{grid-template-columns:1fr!important;}
}
@media (max-width:380px){
  .fts-footer-v278 .footer-brand{font-size:24px!important;letter-spacing:.035em!important;}
}

/* V283 merged corrections — no extra stylesheet layer.
   Keeps footer black and landing locked while Home is reverted to the stable original layout. */
.site-footer,
.site-footer.fts-footer-clean,
.fts-footer-clean,
.fts-footer-v278{
  background:#050505!important;
  color:#f2efe8!important;
  border-top:1px solid rgba(242,239,232,.14)!important;
  box-shadow:none!important;
}
.site-footer .footer-clean-wrap,
.site-footer .footer-legal-line,
.footer-clean-wrap,
.footer-legal-line{background:transparent!important;}
.site-footer .footer-brand,
.site-footer .footer-clean-nav span,
.site-footer .footer-main .small,
.site-footer .footer-clean-nav a,
.site-footer .footer-legal-line a{color:#f2efe8!important;}
.site-footer .footer-main .small,
.site-footer .footer-clean-nav a,
.site-footer .footer-legal-line a{opacity:.72;}
.site-footer .footer-clean-nav a:hover,
.site-footer .footer-clean-nav a:focus,
.site-footer .footer-legal-line a:hover,
.site-footer .footer-legal-line a:focus{opacity:1;color:#f2efe8!important;border-color:rgba(242,239,232,.34)!important;}
html[data-theme="light"] .site-footer,
html[data-theme="light"] .site-footer.fts-footer-clean,
html[data-theme="light"] .fts-footer-clean,
html[data-theme="light"] .fts-footer-v278{background:#050505!important;color:#f2efe8!important;border-top-color:rgba(242,239,232,.14)!important;}
html[data-theme="light"] .site-footer .footer-brand,
html[data-theme="light"] .site-footer .footer-clean-nav span,
html[data-theme="light"] .site-footer .footer-main .small,
html[data-theme="light"] .site-footer .footer-clean-nav a,
html[data-theme="light"] .site-footer .footer-legal-line a{color:#f2efe8!important;}

/* Locked landing page: no public route navigation before password entry. */
body.landing .site-header .main-nav,
body.landing .site-header .theme-toggle,
body.landing .site-header .site-cart-shortcut,
body.landing .site-header .header-utility,
body.landing .site-footer{display:none!important;}
body.landing .site-header .nav-wrap{grid-template-columns:1fr!important;}
body.landing .landing-footer-locked{
  position:fixed;
  left:clamp(18px,4vw,64px);
  right:clamp(18px,4vw,64px);
  bottom:clamp(14px,3vw,32px);
  z-index:2;
  display:flex;
  justify-content:space-between;
  gap:18px;
  padding-top:16px;
  border-top:1px solid rgba(244,240,232,.14);
  color:rgba(244,240,232,.58);
  pointer-events:none;
}
body.landing .landing-footer-mark{
  font-family:var(--display);
  font-size:clamp(22px,2.2vw,38px);
  line-height:.85;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:#f4f0e8;
}
body.landing .landing-footer-meta{
  align-self:end;
  font-family:var(--mono);
  font-size:11px;
  letter-spacing:.18em;
  text-transform:uppercase;
}
@media(max-width:640px){body.landing .landing-footer-locked{position:static;margin:20px;padding:14px 0 24px;}}


/* V309 GLOBAL REFINEMENT SYSTEM PASS
   - readable display typography across large titles
   - cream/stone accent system instead of green/gold tech tone
   - less dead spacing and slightly softer editorial surfaces
   - footer consistency guardrails
   This is merged into existing source files, not added as a new stylesheet layer. */
:root{
  --accent:#e9e2d4;
  --accent2:#fff8ed;
  --rust:#8c705a;
  --warn:#d8c6aa;
  --cream-signal:rgba(247,244,238,.82);
  --cream-signal-soft:rgba(247,244,238,.12);
}
html[data-theme="light"]{
  --accent:#6f665c;
  --accent2:#11100e;
  --rust:#6b5c50;
  --warn:#8a7a68;
}
body{
  letter-spacing:normal;
}
h1,h2,h3,.display,
[class*="title"],
[class*="hero"] h1,
[class*="hero"] h2{
  text-rendering:geometricPrecision;
  text-wrap:balance;
}
h1,
.landing-title,
.home-v299-hero-copy h1,
.arcade-feature h1,
.stash-feature h1,
.crate-v211-copy h1,
body[data-section="profile"] h1,
body[data-section="checkout"] .checkout-launch-hero h1,
body[data-section="checkout"] .checkout-hero h1{
  line-height:.90!important;
  letter-spacing:-.006em!important;
  word-spacing:.02em!important;
}
h1 span,
.home-v299-hero-copy h1 span,
.arcade-feature h1 span{
  letter-spacing:0!important;
}
h2,
.home-v299-section-copy h2,
.home-v299-store-copy h2,
.home-v299-community-copy h2,
.home-v299-post-copy h2,
body[data-section="shop"] #storefront .section-head h2,
body[data-section="basket"] .checkout-upsell h2{
  line-height:.94!important;
  letter-spacing:.002em!important;
}
h3,
.card-link b,
.home-v299-route-deck b,
.home-v299-shelf-list b,
.home-v299-community-links b,
.arcade-nav-tile b,
.cabinet-card h3,
.product-card h3,
.store-category summary{
  line-height:.98!important;
  letter-spacing:.006em!important;
}
.kicker,.tag,.small,
.main-nav a,
.btn,.submit,
.form-line button,
.status-pill,
.footer-nav-v278 a,
.footer-legal-v278 a{
  letter-spacing:.13em!important;
}
.kicker:before{color:var(--accent)!important;}
.tag,.card-link span,.form-msg,.box-msg,
.store-category summary:after,.filter-row button.active,
.home-v299-kicker,
.home-v299-start-routes span,
.home-v299-route-deck span,
.home-v299-shelf-list span,
.home-v299-community-links span,
.home-v299-post-strip span{
  color:var(--cream-signal)!important;
}
html[data-theme="light"] .tag,
html[data-theme="light"] .card-link span,
html[data-theme="light"] .form-msg,
html[data-theme="light"] .box-msg,
html[data-theme="light"] .store-category summary:after,
html[data-theme="light"] .filter-row button.active{
  color:#6f665c!important;
}
.btn:hover,.btn:focus,.submit:hover,.submit:focus,
.card:hover,.panel:hover,.card-link:hover,
.site-cart-shortcut:hover,.site-cart-shortcut:focus,
.theme-toggle:hover,.theme-toggle:focus{
  border-color:rgba(247,244,238,.46)!important;
  background:rgba(247,244,238,.075)!important;
}
.btn.primary:hover,.btn.primary:focus,.submit:hover,.submit:focus{
  background:#f7f4ee!important;
  color:#080807!important;
}
html[data-theme="light"] .btn:hover,
html[data-theme="light"] .btn:focus,
html[data-theme="light"] .submit:hover,
html[data-theme="light"] .submit:focus,
html[data-theme="light"] .card:hover,
html[data-theme="light"] .panel:hover{
  border-color:rgba(17,16,14,.44)!important;
  background:rgba(17,16,14,.055)!important;
}
.page{padding-top:clamp(22px,2.6vw,32px)!important;padding-bottom:clamp(38px,4vw,56px)!important;}
.section{margin-top:clamp(18px,2.4vw,30px)!important;}
.hero-card,.panel,.card,.card-link,
.store-category,.product-card,
.commerce-confidence-strip a,.checkout-commercial-strip a{
  box-shadow:none!important;
}
.hero-card,.panel,.card,.card-link,
.store-category,.product-card{
  border-color:rgba(247,244,238,.12)!important;
}
html[data-theme="light"] .hero-card,
html[data-theme="light"] .panel,
html[data-theme="light"] .card,
html[data-theme="light"] .card-link,
html[data-theme="light"] .store-category,
html[data-theme="light"] .product-card{
  border-color:rgba(17,16,14,.14)!important;
}
/* Home spacing/readability refinements */
.home-v299-hero{margin-top:18px!important;}
.home-v299-hero-grid{min-height:min(650px,calc(100svh - 122px))!important;}
.home-v299-hero-copy h1{font-size:clamp(72px,7.35vw,116px)!important;}
.home-v299-start h2{font-size:clamp(42px,3.55vw,62px)!important;line-height:.92!important;letter-spacing:.002em!important;}
.home-v299-route-deck a{min-height:78px!important;padding:14px 15px 12px!important;}
.home-v299-layers{margin-top:48px!important;}
.home-v299-section-copy{padding-top:26px!important;margin-bottom:20px!important;}
.home-v299-layer{min-height:330px!important;}
.home-v299-store,.home-v299-community{margin-top:54px!important;}
.home-v299-community-copy{min-height:340px!important;}
.home-v299-community-links a{min-height:166px!important;}
.home-v299-post{margin-top:56px!important;margin-bottom:42px!important;padding:clamp(26px,3.2vw,48px) 0!important;}
/* Store global refinement: less hero framing, calmer commercial signals */
body[data-section="shop"] .shop-hero{
  border-color:transparent!important;
  background:linear-gradient(135deg,rgba(247,244,238,.030),rgba(247,244,238,.006))!important;
  box-shadow:none!important;
}
body[data-section="shop"] .shop-hero h1{line-height:.92!important;letter-spacing:-.002em!important;}
.commerce-confidence-strip,.checkout-commercial-strip{
  background:transparent!important;
  border-color:rgba(247,244,238,.10)!important;
  gap:8px!important;
}
.commerce-confidence-strip a,.checkout-commercial-strip a{
  min-height:86px!important;
  border:1px solid rgba(247,244,238,.105)!important;
  background:rgba(247,244,238,.018)!important;
}
.commerce-confidence-strip b,.checkout-commercial-strip b{font-size:clamp(22px,2.05vw,31px)!important;letter-spacing:.004em!important;}
body[data-section="shop"] .store-reality-note-v269{
  display:none!important;
}
/* Basket/checkout readability guardrails */
body[data-section="basket"] .basket-hero,
body[data-section="basket"] .cart-shell,
body[data-section="checkout"] .checkout-shell,
body[data-section="checkout"] .launch-checkout-shell{
  gap:14px!important;
}
body[data-section="basket"] .basket-title h1,
body[data-section="basket"] .basket-hero h1{letter-spacing:.002em!important;line-height:.96!important;}
/* Arcade/public game language and dashboard readability */
body[data-section="arcade"]{--arcade-green:#e9e2d4!important;--arcade-gold:#d8c6aa!important;--arcade-blue:#d8d2c7!important;--arcade-pink:#f2efe8!important;--arcade-glow:rgba(247,244,238,.18)!important;}
body[data-section="arcade"] .arcade-feature h1{font-size:clamp(62px,7.5vw,118px)!important;line-height:.90!important;}
body[data-section="arcade"] .arcade-feature .lead{font-size:clamp(16px,1.3vw,22px)!important;line-height:1.55!important;}
body[data-section="arcade"] .arcade-nav-tile span,
body[data-section="arcade"] .score-tile span,
body[data-section="arcade"] .arcade-feature .kicker{color:rgba(247,244,238,.76)!important;}
body[data-section="arcade"] .arcade-feature:after{filter:grayscale(.18) saturate(.65)!important;}
/* Street ID dashboard title guardrails */
body[data-section="profile"] h1{font-size:clamp(64px,7.2vw,118px)!important;}
body[data-section="profile"] .lead{max-width:780px;}
/* Footer consistency: one footer language everywhere, including basket. */
.site-footer,.fts-footer-v278,.site-footer.fts-footer-clean{
  background:#050505!important;
  border-top:1px solid rgba(247,244,238,.12)!important;
  color:#f7f4ee!important;
}
.site-footer *{box-sizing:border-box;}
.fts-footer-v278 .footer-brand{letter-spacing:.075em!important;line-height:.96!important;white-space:normal!important;}
.fts-footer-v278 .footer-nav-v278 a,.fts-footer-v278 .footer-legal-v278 a{border:0!important;}
@media(max-width:900px){
  h1,.home-v299-hero-copy h1,.arcade-feature h1,body[data-section="profile"] h1{line-height:.92!important;letter-spacing:0!important;}
  .home-v299-route-deck{position:relative!important;top:auto!important;}
  .home-v299-layer-grid,.home-v299-community-links{gap:10px!important;}
  .commerce-confidence-strip,.checkout-commercial-strip{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}
@media(max-width:640px){
  h1,.home-v299-hero-copy h1,.arcade-feature h1,body[data-section="profile"] h1{font-size:clamp(46px,13.4vw,78px)!important;line-height:.94!important;}
  h2,.home-v299-section-copy h2,.home-v299-store-copy h2,.home-v299-community-copy h2,.home-v299-post-copy h2{font-size:clamp(34px,10vw,58px)!important;line-height:.96!important;}
  .home-v299-hero-copy{min-height:370px!important;}
  .home-v299-layer{min-height:300px!important;}
  .home-v299-community-copy{min-height:auto!important;}
  .commerce-confidence-strip,.checkout-commercial-strip{grid-template-columns:1fr!important;}
}

/* V327 shell consistency lock */
.site-header{width:100%!important;left:0!important;right:0!important;}
.site-header .nav-wrap{
  width:min(1280px,calc(100vw - 44px))!important;
  max-width:min(1280px,calc(100vw - 44px))!important;
  margin-left:auto!important;
  margin-right:auto!important;
  min-height:68px!important;
  padding:0!important;
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr) auto!important;
  align-items:center!important;
  justify-content:normal!important;
  gap:18px!important;
}
.site-header .wordmark{justify-self:start!important;align-self:center!important;margin:0!important;transform:none!important;}
.site-header .main-nav{justify-self:end!important;display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:18px!important;flex-wrap:wrap!important;width:auto!important;margin:0!important;transform:none!important;}
.site-header .main-nav a{padding:24px 0 20px!important;white-space:nowrap!important;}
.site-header .theme-toggle{justify-self:end!important;align-self:center!important;margin:0!important;transform:none!important;}
.site-footer,.site-footer.fts-footer-clean,.fts-footer-v278{width:100%!important;margin-left:0!important;margin-right:0!important;}
.fts-footer-clean .footer-clean-wrap,
.site-footer .footer-clean-wrap{
  width:min(1280px,calc(100vw - 44px))!important;
  max-width:min(1280px,calc(100vw - 44px))!important;
  margin-left:auto!important;
  margin-right:auto!important;
  display:grid!important;
  grid-template-columns:minmax(220px,300px) minmax(0,1fr)!important;
  gap:28px!important;
  align-items:start!important;
}
.fts-footer-clean .footer-clean-nav,
.site-footer .footer-clean-nav{justify-self:stretch!important;display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:18px!important;margin:0!important;}
.fts-footer-clean .footer-legal-line,
.site-footer .footer-legal-line{width:min(1280px,calc(100vw - 44px))!important;max-width:min(1280px,calc(100vw - 44px))!important;margin-left:auto!important;margin-right:auto!important;}
@media(max-width:920px){
  .site-header .nav-wrap{width:min(100vw - 28px,1280px)!important;max-width:min(100vw - 28px,1280px)!important;grid-template-columns:1fr auto!important;gap:10px 14px!important;padding:12px 0 8px!important;}
  .site-header .main-nav{grid-column:1 / -1!important;justify-self:start!important;justify-content:flex-start!important;width:100%!important;overflow-x:auto!important;flex-wrap:nowrap!important;gap:14px!important;padding-bottom:2px!important;}
  .site-header .main-nav a{padding:8px 0 10px!important;flex:0 0 auto!important;}
  .site-header .theme-toggle{grid-column:2!important;grid-row:1!important;}
  .fts-footer-clean .footer-clean-wrap,.site-footer .footer-clean-wrap{width:min(100vw - 28px,1280px)!important;max-width:min(100vw - 28px,1280px)!important;grid-template-columns:1fr!important;gap:22px!important;}
  .fts-footer-clean .footer-clean-nav,.site-footer .footer-clean-nav{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:18px 22px!important;}
  .fts-footer-clean .footer-legal-line,.site-footer .footer-legal-line{width:min(100vw - 28px,1280px)!important;max-width:min(100vw - 28px,1280px)!important;}
}
@media(max-width:560px){
  .site-header .nav-wrap{width:min(100vw - 20px,1280px)!important;max-width:min(100vw - 20px,1280px)!important;}
  .site-header .wordmark{font-size:clamp(20px,7vw,26px)!important;letter-spacing:.12em!important;}
  .site-header .wordmark span{display:none!important;}
  .site-header .main-nav{gap:13px!important;}
  .site-header .main-nav a{font-size:9px!important;letter-spacing:.13em!important;}
  .fts-footer-clean .footer-clean-wrap,.site-footer .footer-clean-wrap,.fts-footer-clean .footer-legal-line,.site-footer .footer-legal-line{width:min(100vw - 20px,1280px)!important;max-width:min(100vw - 20px,1280px)!important;}
  .fts-footer-clean .footer-clean-nav,.site-footer .footer-clean-nav{grid-template-columns:1fr 1fr!important;}
}

/* V328 hard header alignment lock
   Fix: the V327 header lock lived in the footer stylesheet, so core-only pages
   like Street ID/Arcade could still use older header placement. This lock is
   repeated in core and the footer stylesheet so every page resolves to the same shell.
   No logo/button/nav item redesign. */
.site-header{width:100%!important;left:0!important;right:0!important;top:0!important;}
.site-header .nav-wrap{
  width:min(1280px,calc(100% - 44px))!important;
  max-width:1280px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  min-height:68px!important;
  padding:0!important;
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr) auto auto!important;
  align-items:center!important;
  justify-content:normal!important;
  gap:18px!important;
}
.site-header .wordmark{
  grid-column:1!important;
  justify-self:start!important;
  align-self:center!important;
  margin:0!important;
  transform:none!important;
}
.site-header .main-nav{
  grid-column:2!important;
  justify-self:end!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:18px!important;
  flex-wrap:wrap!important;
  width:auto!important;
  max-width:100%!important;
  margin:0!important;
  transform:none!important;
  min-width:0!important;
}
.site-header .main-nav a{padding:24px 0 20px!important;white-space:nowrap!important;}
.site-header .site-cart-shortcut{
  grid-column:3!important;
  justify-self:end!important;
  align-self:center!important;
  margin:0!important;
  transform:none!important;
  flex:0 0 auto!important;
}
.site-header .theme-toggle{
  grid-column:4!important;
  justify-self:end!important;
  align-self:center!important;
  margin:0!important;
  transform:none!important;
  flex:0 0 auto!important;
}
@media(min-width:921px){
  .site-header .main-nav{margin-left:0!important;}
  .site-header .header-utility{margin-left:0!important;}
}
@media(max-width:920px){
  .site-header .nav-wrap{
    width:min(100% - 28px,1280px)!important;
    max-width:1280px!important;
    min-height:auto!important;
    grid-template-columns:1fr auto auto!important;
    gap:10px 12px!important;
    padding:12px 0 8px!important;
  }
  .site-header .wordmark{grid-column:1!important;grid-row:1!important;}
  .site-header .site-cart-shortcut{grid-column:2!important;grid-row:1!important;}
  .site-header .theme-toggle{grid-column:3!important;grid-row:1!important;}
  .site-header .main-nav{
    grid-column:1 / -1!important;
    grid-row:2!important;
    justify-self:start!important;
    justify-content:flex-start!important;
    width:100%!important;
    overflow-x:auto!important;
    flex-wrap:nowrap!important;
    gap:14px!important;
    padding:0 0 2px!important;
    scrollbar-width:none!important;
    -webkit-overflow-scrolling:touch!important;
  }
  .site-header .main-nav::-webkit-scrollbar{display:none!important;}
  .site-header .main-nav a{padding:8px 0 10px!important;flex:0 0 auto!important;}
}
@media(max-width:560px){
  .site-header .nav-wrap{width:min(100% - 20px,1280px)!important;gap:8px 10px!important;}
  .site-header .wordmark{font-size:clamp(20px,7vw,26px)!important;letter-spacing:.12em!important;white-space:nowrap!important;}
  .site-header .wordmark span{display:none!important;}
  .site-header .main-nav{gap:13px!important;}
  .site-header .main-nav a{font-size:9px!important;letter-spacing:.13em!important;}
}

/* V329 exact top-nav alignment lock
   Based on user video 2026-06-14 11:15: header was still jumping because
   core-only pages and footer-loaded pages could resolve different old header rules/cached CSS.
   Keep logo, nav labels, basket and theme button design untouched; lock only placement. */
:root{--fts-header-max:1280px;--fts-header-gutter:44px;--fts-header-brand-col:clamp(260px,23vw,292px);}
.site-header{position:sticky!important;top:0!important;left:0!important;right:0!important;width:100%!important;z-index:1000!important;}
.site-header .nav-wrap{
  width:min(var(--fts-header-max),calc(100vw - var(--fts-header-gutter)))!important;
  max-width:min(var(--fts-header-max),calc(100vw - var(--fts-header-gutter)))!important;
  margin-left:auto!important;
  margin-right:auto!important;
  min-height:68px!important;
  padding:0!important;
  display:grid!important;
  grid-template-columns:var(--fts-header-brand-col) minmax(0,1fr) auto!important;
  grid-auto-flow:column!important;
  align-items:center!important;
  justify-content:normal!important;
  gap:16px!important;
}
.site-header .wordmark{
  grid-column:1!important;
  justify-self:start!important;
  align-self:center!important;
  margin:0!important;
  transform:none!important;
  white-space:nowrap!important;
}
.site-header .main-nav{
  grid-column:2!important;
  justify-self:start!important;
  align-self:center!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  flex-wrap:nowrap!important;
  gap:18px!important;
  width:auto!important;
  max-width:100%!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  transform:none!important;
  overflow:visible!important;
}
.site-header .main-nav a{
  flex:0 0 auto!important;
  padding:24px 0 20px!important;
  white-space:nowrap!important;
}
.site-header .header-utility{
  grid-column:3!important;
  justify-self:end!important;
  align-self:center!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:8px!important;
  width:auto!important;
  margin:0!important;
  padding:0!important;
  transform:none!important;
}
.site-header .site-cart-shortcut,
.site-header .theme-toggle{
  flex:0 0 auto!important;
  align-self:center!important;
  justify-self:end!important;
  margin:0!important;
  transform:none!important;
}
/* Before JS moves the basket/theme into .header-utility, keep the same right-edge placement. */
.site-header .nav-wrap > .site-cart-shortcut{grid-column:3!important;justify-self:end!important;}
.site-header .nav-wrap > .theme-toggle{grid-column:3!important;justify-self:end!important;}
@media(max-width:1120px){
  .site-header .nav-wrap{
    width:min(100vw - 28px,var(--fts-header-max))!important;
    max-width:min(100vw - 28px,var(--fts-header-max))!important;
    min-height:auto!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    grid-template-rows:auto auto!important;
    gap:10px 12px!important;
    padding:12px 0 8px!important;
  }
  .site-header .wordmark{grid-column:1!important;grid-row:1!important;}
  .site-header .header-utility,
  .site-header .nav-wrap > .site-cart-shortcut,
  .site-header .nav-wrap > .theme-toggle{grid-column:2!important;grid-row:1!important;}
  .site-header .main-nav{
    grid-column:1 / -1!important;
    grid-row:2!important;
    justify-self:start!important;
    justify-content:flex-start!important;
    width:100%!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    flex-wrap:nowrap!important;
    gap:14px!important;
    padding:0 0 2px!important;
    scrollbar-width:none!important;
    -webkit-overflow-scrolling:touch!important;
  }
  .site-header .main-nav::-webkit-scrollbar{display:none!important;}
  .site-header .main-nav a{padding:8px 0 10px!important;}
}
@media(max-width:560px){
  .site-header .nav-wrap{width:min(100vw - 20px,var(--fts-header-max))!important;max-width:min(100vw - 20px,var(--fts-header-max))!important;gap:8px 10px!important;}
  .site-header .wordmark{font-size:clamp(20px,7vw,26px)!important;letter-spacing:.12em!important;}
  .site-header .wordmark span{display:none!important;}
  .site-header .main-nav{gap:13px!important;}
  .site-header .main-nav a{font-size:9px!important;letter-spacing:.13em!important;}
}

/* V330 nav balance nudge
   User-approved tiny alignment pass: keep the stable V329 header, keep logo/buttons/nav labels untouched,
   and move the desktop nav group a little further right so it has more breathing room from the FTS wordmark. */
@media(min-width:1121px){
  .site-header .main-nav{
    padding-left:clamp(26px,2.6vw,44px)!important;
  }
}


/* V331 centred desktop top-nav balance
   User request: header is stable, but nav still sits too close to the FTS wordmark.
   Keep logo, buttons, nav labels and mobile layout untouched. On desktop, centre the
   six-link nav group within the full header, with brand locked left and utilities locked right. */
@media(min-width:1121px){
  .site-header .nav-wrap{
    grid-template-columns:minmax(260px,1fr) auto minmax(96px,1fr)!important;
    gap:16px!important;
  }
  .site-header .wordmark{grid-column:1!important;justify-self:start!important;}
  .site-header .main-nav{
    grid-column:2!important;
    justify-self:center!important;
    justify-content:center!important;
    padding-left:0!important;
    margin-left:0!important;
    margin-right:0!important;
  }
  .site-header .header-utility{grid-column:3!important;justify-self:end!important;}
  .site-header .nav-wrap > .site-cart-shortcut,
  .site-header .nav-wrap > .theme-toggle{grid-column:3!important;justify-self:end!important;}
}


/* V337 Street ID secondary nav consistency patch
   Keeps the Street ID ecosystem navigation as one consistent horizontal bar across dashboard,
   rewards, achievements, wallet, activities, collection, locker, stash, trading post and settings.
   This intentionally avoids a left rail because the V326/V331 baseline was cleaner without it. */
.profile-quick-nav-v252.street-id-secondary-nav-v337,
.street-id-secondary-nav-v337{
  position:sticky!important;
  top:68px!important;
  z-index:875!important;
  width:100%!important;
  min-height:48px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  padding:8px max(14px,calc((100vw - 1280px)/2 + 22px))!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  scrollbar-width:none!important;
  background:rgba(8,8,7,.965)!important;
  border-top:1px solid rgba(242,239,232,.08)!important;
  border-bottom:1px solid rgba(242,239,232,.15)!important;
  box-shadow:0 10px 30px rgba(0,0,0,.16)!important;
}
.profile-quick-nav-v252.street-id-secondary-nav-v337::-webkit-scrollbar,
.street-id-secondary-nav-v337::-webkit-scrollbar{display:none!important;}
.profile-quick-nav-v252.street-id-secondary-nav-v337 a,
.street-id-secondary-nav-v337 a{
  flex:0 0 auto!important;
  min-height:32px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  border:1px solid rgba(242,239,232,.14)!important;
  background:rgba(242,239,232,.035)!important;
  color:rgba(242,239,232,.70)!important;
  padding:8px 11px!important;
  font-family:var(--mono)!important;
  font-size:9px!important;
  line-height:1!important;
  letter-spacing:.12em!important;
  text-transform:uppercase!important;
  text-decoration:none!important;
  white-space:nowrap!important;
  border-radius:0!important;
  transform:none!important;
}
.profile-quick-nav-v252.street-id-secondary-nav-v337 a:hover,
.profile-quick-nav-v252.street-id-secondary-nav-v337 a:focus-visible,
.profile-quick-nav-v252.street-id-secondary-nav-v337 a.active,
.street-id-secondary-nav-v337 a:hover,
.street-id-secondary-nav-v337 a:focus-visible,
.street-id-secondary-nav-v337 a.active{
  color:#080807!important;
  border-color:#f2efe8!important;
  background:#f2efe8!important;
  outline:0!important;
}
html[data-theme="light"] .profile-quick-nav-v252.street-id-secondary-nav-v337,
html[data-theme="light"] .street-id-secondary-nav-v337{
  background:rgba(242,239,232,.965)!important;
  border-top-color:rgba(17,16,14,.08)!important;
  border-bottom-color:rgba(17,16,14,.16)!important;
  box-shadow:0 10px 26px rgba(17,16,14,.08)!important;
}
html[data-theme="light"] .profile-quick-nav-v252.street-id-secondary-nav-v337 a,
html[data-theme="light"] .street-id-secondary-nav-v337 a{
  border-color:rgba(17,16,14,.16)!important;
  background:rgba(17,16,14,.035)!important;
  color:rgba(17,16,14,.70)!important;
}
html[data-theme="light"] .profile-quick-nav-v252.street-id-secondary-nav-v337 a:hover,
html[data-theme="light"] .profile-quick-nav-v252.street-id-secondary-nav-v337 a:focus-visible,
html[data-theme="light"] .profile-quick-nav-v252.street-id-secondary-nav-v337 a.active,
html[data-theme="light"] .street-id-secondary-nav-v337 a:hover,
html[data-theme="light"] .street-id-secondary-nav-v337 a:focus-visible,
html[data-theme="light"] .street-id-secondary-nav-v337 a.active{
  background:#11100e!important;
  color:#f2efe8!important;
  border-color:#11100e!important;
}
@media(max-width:1080px){
  .profile-quick-nav-v252.street-id-secondary-nav-v337,
  .street-id-secondary-nav-v337{top:101px!important;justify-content:flex-start!important;padding:8px 22px!important;}
}
@media(max-width:640px){
  .profile-quick-nav-v252.street-id-secondary-nav-v337,
  .street-id-secondary-nav-v337{top:126px!important;padding:8px 14px!important;min-height:46px!important;}
  .profile-quick-nav-v252.street-id-secondary-nav-v337 a,
  .street-id-secondary-nav-v337 a{font-size:8px!important;padding:8px 9px!important;}
}

/* V352 footer consistency guard */
.fts-footer-clean,.fts-footer-clean *{box-sizing:border-box}.footer-clean-nav a{overflow-wrap:anywhere;}


/* V353 footer lane restore — keep brand and link columns in separate lanes on every page. */
@media (min-width:1181px){
  .site-footer.fts-footer-v278 .footer-clean-wrap{
    width:min(1280px,calc(100vw - 44px))!important;
    grid-template-columns:auto minmax(0,1fr)!important;
    column-gap:clamp(54px,6vw,96px)!important;
    align-items:start!important;
    overflow:visible!important;
  }
  .site-footer.fts-footer-v278 .footer-brand{
    white-space:nowrap!important;
    max-width:calc(100vw - 44px)!important;
    font-size:clamp(32px,2.75vw,44px)!important;
    letter-spacing:.055em!important;
    transform:none!important;
  }
  .site-footer.fts-footer-v278 .footer-nav-v278{
    grid-template-columns:repeat(4,minmax(112px,1fr))!important;
    min-width:0!important;
  }
}
@media (max-width:1180px){
  .site-footer.fts-footer-v278 .footer-clean-wrap{grid-template-columns:1fr!important;}
}
