/* Springs 3D Supply — site-wide customer layout normalization v2.6.0 */
:root{
  --s3d-orange:#ff681f;
  --s3d-orange-bright:#ff8a2b;
  --s3d-bg:#07090b;
  --s3d-panel:#11161a;
  --s3d-panel-2:#0b0f12;
  --s3d-line:#2c3339;
  --s3d-copy:#edf1f3;
  --s3d-muted:#aab2b8;
  --s3d-shell:1180px;
  --s3d-header-height:78px;
}
html{scroll-padding-top:calc(var(--s3d-header-height) + 18px)}
body.s3d-sitewide{margin:0;min-width:320px;background:var(--s3d-bg);color:var(--s3d-copy);overflow-x:hidden}
body.s3d-sitewide img{max-width:100%}
body.s3d-sitewide .shell,
body.s3d-sitewide .svc-shell,
body.s3d-sitewide .dashboard-shell{width:min(var(--s3d-shell),calc(100% - 40px));margin-inline:auto}
body.s3d-sitewide main{position:relative;isolation:isolate}
body.s3d-sitewide [hidden]{display:none!important}

/* Consistent customer header. Admin and driver pages are intentionally excluded. */
body.s3d-sitewide .topbar.s3d-global-header{
  position:fixed!important;
  inset:0 0 auto 0!important;
  z-index:5000!important;
  height:var(--s3d-header-height)!important;
  min-height:var(--s3d-header-height)!important;
  display:flex!important;
  align-items:center!important;
  gap:24px!important;
  padding:0 max(20px,calc((100vw - var(--s3d-shell))/2))!important;
  border-bottom:1px solid rgba(255,255,255,.1)!important;
  background:rgba(6,8,10,.97)!important;
  backdrop-filter:blur(18px)!important;
  box-shadow:0 12px 40px rgba(0,0,0,.25)!important;
  transform:none!important;
}
body.s3d-sitewide .s3d-global-header .brandmark{display:flex!important;align-items:center!important;margin-right:auto!important;min-width:0}
body.s3d-sitewide .s3d-global-header .site-logo{display:block!important;width:185px!important;height:50px!important;max-width:32vw!important;object-fit:contain!important;object-position:left center!important}
body.s3d-sitewide .s3d-global-header .navlinks{display:flex!important;align-items:center!important;gap:20px!important;min-width:0}
body.s3d-sitewide .s3d-global-header .navlinks a{position:relative!important;color:#d9dfe3!important;text-decoration:none!important;text-transform:uppercase!important;letter-spacing:.08em!important;font:800 11px ui-monospace,SFMono-Regular,Menlo,monospace!important;white-space:nowrap!important;padding:28px 0 26px!important}
body.s3d-sitewide .s3d-global-header .navlinks a:hover,
body.s3d-sitewide .s3d-global-header .navlinks a.active,
body.s3d-sitewide .s3d-global-header .navlinks a[aria-current="page"]{color:#fff!important}
body.s3d-sitewide .s3d-global-header .navlinks a.active:after,
body.s3d-sitewide .s3d-global-header .navlinks a[aria-current="page"]:after{content:"";position:absolute;left:0;right:0;bottom:14px;height:2px;background:var(--s3d-orange)}
body.s3d-sitewide .s3d-global-header .nav-icon{min-height:44px!important;padding:0 16px!important;border:1px solid rgba(255,104,31,.72)!important;background:#11161a!important;color:#fff!important;text-decoration:none!important;text-transform:uppercase!important;letter-spacing:.08em!important;font:900 10px ui-monospace,monospace!important;white-space:nowrap!important}
body.s3d-sitewide .s3d-global-header .cart-count{display:inline-grid!important;place-items:center!important;min-width:20px!important;height:20px!important;margin-left:7px!important;border-radius:50%!important;background:var(--s3d-orange)!important;color:#111!important}

/* Unified page hero system. The homepage keeps its isolated s3d-* layout. */
body.s3d-sitewide:not(.s3d-page-index) :is(.page-hero,.repair-hero,.class-hero,.loop-hero,.svc-hero){
  position:relative!important;
  padding-top:calc(var(--s3d-header-height) + 64px)!important;
  padding-bottom:64px!important;
  min-height:0!important;
  border-bottom:1px solid var(--s3d-line)!important;
  background:
    radial-gradient(circle at 82% 25%,rgba(255,104,31,.13),transparent 34%),
    linear-gradient(180deg,#0a0d10,#080a0c)!important;
  overflow:hidden!important;
}
body.s3d-sitewide:not(.s3d-page-index) :is(.page-hero,.repair-hero,.class-hero,.loop-hero,.svc-hero):before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:38px 38px;pointer-events:none}
body.s3d-sitewide:not(.s3d-page-index) :is(.page-hero,.repair-hero,.class-hero,.loop-hero,.svc-hero)>*{position:relative;z-index:1}
body.s3d-sitewide:not(.s3d-page-index) :is(.page-hero,.repair-hero,.class-hero,.loop-hero,.svc-hero) h1{
  margin:14px 0 22px!important;
  max-width:950px!important;
  font-size:clamp(54px,7vw,96px)!important;
  line-height:.92!important;
  letter-spacing:-.055em!important;
  text-transform:uppercase!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
}
body.s3d-sitewide:not(.s3d-page-index) :is(.page-hero,.repair-hero,.class-hero,.loop-hero,.svc-hero) p{max-width:780px!important;color:var(--s3d-muted)!important;font-size:clamp(17px,1.7vw,20px)!important;line-height:1.68!important}
body.s3d-sitewide:not(.s3d-page-index) :is(.kicker,.eyebrow,.v17-kicker){color:var(--s3d-orange)!important}

/* Shared surfaces, typography and forms. */
body.s3d-sitewide:not(.s3d-page-index) :is(.service-card,.public-card,.product-card,.repair-card,.checkout-card,.success-card,.status-invoice,.quick-card,.stat-card,.dashboard-card,.auth-shell,.loop-panel,.loop-aside-card,.loop-mark,.svc-card,.svc-form-card,.svc-summary-sticky,.offer-card,.class-panel){border-color:var(--s3d-line)!important;background:linear-gradient(145deg,var(--s3d-panel),var(--s3d-panel-2))!important;box-shadow:none!important}
body.s3d-sitewide:not(.s3d-page-index) :is(input,select,textarea){max-width:100%}
body.s3d-sitewide:not(.s3d-page-index) :is(input,select,textarea):focus{outline:2px solid var(--s3d-orange)!important;outline-offset:1px!important}
body.s3d-sitewide:not(.s3d-page-index) :is(.btn.primary,.v17-btn.primary,.svc-checkout-button,.class-submit,.loop-submit){background:var(--s3d-orange)!important;border-color:var(--s3d-orange)!important;color:#111!important}
body.s3d-sitewide:not(.s3d-page-index) :is(.btn,.v17-btn,.svc-card button,.class-time,.loop-window){min-height:46px}

/* Shop */
body.s3d-page-shop .shop-shell{padding:38px 0 92px!important}
body.s3d-page-shop .shop-layout{grid-template-columns:250px minmax(0,1fr)!important;gap:28px!important;align-items:start!important}
body.s3d-page-shop .filters{top:calc(var(--s3d-header-height) + 20px)!important}
body.s3d-page-shop .product-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:18px!important}
body.s3d-page-shop .product-card{min-width:0!important;min-height:430px!important}

/* Services */
body.s3d-page-services .svc-page{padding-top:0!important}
body.s3d-page-services .svc-hero-grid{grid-template-columns:minmax(0,1.15fr) minmax(310px,.62fr)!important;gap:42px!important;align-items:end!important}
body.s3d-page-services .svc-section{padding:72px 0!important}
body.s3d-page-services .svc-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:18px!important}
body.s3d-page-services .svc-card{min-width:0!important}
body.s3d-page-services .svc-checkout-layout{grid-template-columns:minmax(0,1.55fr) 350px!important;gap:22px!important}
body.s3d-page-services .svc-summary-sticky{top:calc(var(--s3d-header-height) + 18px)!important}

/* Repair */
body.s3d-page-repair .repair-layout{grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr)!important;gap:28px!important;padding:38px 0 92px!important}
body.s3d-page-repair .repair-pricing{align-self:start!important}
body.s3d-page-repair .repair-card{min-width:0!important}

/* Private classes */
body.s3d-page-classes .class-page{padding-top:0!important}
body.s3d-page-classes .class-hero-grid{grid-template-columns:minmax(0,1.22fr) minmax(300px,.55fr)!important;gap:42px!important;align-items:end!important}
body.s3d-page-classes .offer-card{padding:28px!important}
body.s3d-page-classes :is(.class-layout,.class-checkout-layout){width:min(var(--s3d-shell),calc(100% - 40px))!important;margin-inline:auto!important;grid-template-columns:minmax(0,1.45fr) minmax(300px,.55fr)!important;gap:22px!important}

/* Springs Loop */
body.s3d-page-loop .loop-page{padding-bottom:88px!important}
body.s3d-page-loop .loop-hero-grid{grid-template-columns:minmax(0,1.25fr) minmax(300px,.55fr)!important;gap:42px!important;align-items:end!important}
body.s3d-page-loop .loop-layout{grid-template-columns:minmax(0,1.45fr) minmax(290px,.55fr)!important;gap:22px!important;padding-top:38px!important}
body.s3d-page-loop .loop-aside-card:first-child{top:calc(var(--s3d-header-height) + 18px)!important}

/* Account and customer dashboard */
body.s3d-page-account .account-auth-page{width:min(var(--s3d-shell),calc(100% - 40px))!important;min-height:100vh!important;padding:calc(var(--s3d-header-height) + 64px) 0 80px!important;grid-template-columns:minmax(0,1fr) minmax(380px,.64fr)!important;gap:58px!important;align-items:center!important}
body.s3d-page-account .account-auth-intro h1{font-size:clamp(54px,7vw,96px)!important;line-height:.92!important;margin:12px 0 22px!important}
body.s3d-page-account .auth-panel{padding:30px!important}
body.s3d-page-dashboard .customer-dashboard{padding:calc(var(--s3d-header-height) + 44px) 0 88px!important}
body.s3d-page-dashboard .dashboard-shell{width:min(1280px,calc(100% - 40px))!important}
body.s3d-page-dashboard .dashboard-profile-card{grid-template-columns:auto minmax(0,1fr) auto!important;gap:26px!important}
body.s3d-page-dashboard .dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:18px!important}
body.s3d-page-dashboard .printer-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}

/* Checkout, success, invoices, order and repair status, legal pages. */
body.s3d-page-checkout .checkout-wrap,
body.s3d-page-success .success-page,
body.s3d-page-demo-pay .success-page,
body.s3d-page-invoice .invoice-page,
body.s3d-page-repair-status .status-page,
body.s3d-page-privacy .status-page,
body.s3d-page-terms .status-page,
body.s3d-page-service-success .v17-page,
body.s3d-page-class-success .v17-page,
body.s3d-page-founder-success main,
body.s3d-page-membership-success main,
body.s3d-page-membership-checkout main{
  padding-top:calc(var(--s3d-header-height) + 54px)!important;
  padding-bottom:84px!important;
  min-height:100vh!important;
}
body.s3d-page-checkout .checkout-grid{grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr)!important;gap:22px!important}
body.s3d-sitewide :is(.status-page,.success-page,.invoice-page,.v17-page) h1{font-size:clamp(52px,7vw,92px)!important;line-height:.92!important;margin:12px 0 24px!important}
body.s3d-sitewide :is(.status-invoice,.success-card,.invoice-card){max-width:960px}
body.s3d-page-founder-success .founder-success-card{max-width:900px!important;margin-inline:auto!important}

/* Common footer added to every customer page. */
.s3d-global-footer{border-top:1px solid var(--s3d-line);background:#050709;padding:28px 0;color:#939ca3;font-size:.86rem}
.s3d-global-footer .s3d-footer-inner{width:min(var(--s3d-shell),calc(100% - 40px));margin-inline:auto;display:flex;align-items:center;justify-content:space-between;gap:22px;flex-wrap:wrap}
.s3d-global-footer strong{display:block;color:#fff;margin-bottom:4px}
.s3d-global-footer nav{display:flex;gap:18px;flex-wrap:wrap}
.s3d-global-footer a{color:#d9dfe3;text-decoration:none}
.s3d-global-footer a:hover{color:var(--s3d-orange)}

@media(max-width:1050px){
  body.s3d-sitewide .s3d-global-header .navlinks{gap:14px!important}
  body.s3d-sitewide .s3d-global-header .navlinks a{font-size:10px!important}
  body.s3d-page-shop .product-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  body.s3d-page-services .svc-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  body.s3d-page-services .svc-checkout-layout,
  body.s3d-page-repair .repair-layout,
  body.s3d-page-classes :is(.class-layout,.class-checkout-layout),
  body.s3d-page-loop .loop-layout{grid-template-columns:1fr!important}
  body.s3d-page-dashboard .printer-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:860px){
  :root{--s3d-header-height:112px}
  body.s3d-sitewide .topbar.s3d-global-header{height:auto!important;min-height:112px!important;padding:10px 18px!important;flex-wrap:wrap!important;gap:8px 16px!important}
  body.s3d-sitewide .s3d-global-header .site-logo{width:160px!important;height:42px!important}
  body.s3d-sitewide .s3d-global-header .navlinks{order:3!important;width:100%!important;overflow-x:auto!important;padding:0 0 2px!important;scrollbar-width:thin}
  body.s3d-sitewide .s3d-global-header .navlinks a{padding:10px 0 12px!important}
  body.s3d-sitewide .s3d-global-header .navlinks a.active:after,
  body.s3d-sitewide .s3d-global-header .navlinks a[aria-current="page"]:after{bottom:4px}
  body.s3d-page-services .svc-hero-grid,
  body.s3d-page-classes .class-hero-grid,
  body.s3d-page-loop .loop-hero-grid,
  body.s3d-page-account .account-auth-page{grid-template-columns:1fr!important}
  body.s3d-page-account .account-auth-intro{text-align:left!important}
  body.s3d-page-checkout .checkout-grid{grid-template-columns:1fr!important}
  body.s3d-page-dashboard .dashboard-profile-card{grid-template-columns:auto minmax(0,1fr)!important}
  body.s3d-page-dashboard .dashboard-logout{grid-column:1/-1!important;width:100%!important}
}
@media(max-width:680px){
  body.s3d-sitewide .shell,
  body.s3d-sitewide .svc-shell,
  body.s3d-sitewide .dashboard-shell{width:min(100% - 24px,var(--s3d-shell))!important}
  body.s3d-sitewide:not(.s3d-page-index) :is(.page-hero,.repair-hero,.class-hero,.loop-hero,.svc-hero) h1{font-size:clamp(46px,15vw,68px)!important}
  body.s3d-page-shop .shop-layout{grid-template-columns:1fr!important}
  body.s3d-page-shop .filters{position:static!important}
  body.s3d-page-shop .product-grid,
  body.s3d-page-services .svc-grid,
  body.s3d-page-dashboard .dashboard-grid,
  body.s3d-page-dashboard .printer-grid{grid-template-columns:1fr!important}
  body.s3d-page-dashboard .dashboard-profile-card{grid-template-columns:1fr!important;text-align:center!important}
  body.s3d-page-dashboard .avatar-button{margin-inline:auto!important}
  body.s3d-page-dashboard .dashboard-stats{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .s3d-global-footer .s3d-footer-inner{width:min(100% - 24px,var(--s3d-shell));align-items:flex-start;flex-direction:column}
}
