/* Springs 3D Supply Business Theme v2.7.0
   Direction: 70% professional local business / 20% modern ecommerce / 10% technical-industrial */

:root,
html[data-theme="light"]{
  color-scheme: light;
  --bg:#f5f8fc;
  --bg-2:#eef3f9;
  --panel:#ffffff;
  --panel-2:#f8fbff;
  --text:#102746;
  --text-2:#18355f;
  --muted:#5c6d86;
  --line:rgba(18,39,70,.12);
  --line-strong:rgba(18,39,70,.18);
  --accent:#f26a21;
  --accent-2:#103a7c;
  --good:#11845b;
  --danger:#c33a4a;
  --shadow:0 16px 40px rgba(17,38,68,.10);
  --shadow-soft:0 10px 24px rgba(17,38,68,.06);
  --radius:18px;
  --shell:min(1220px,92vw);

  /* service specific vars */
  --svc-bg:var(--bg);
  --svc-panel:var(--panel);
  --svc-panel2:var(--panel-2);
  --svc-line:var(--line);
  --svc-muted:var(--muted);
  --svc-white:var(--text);
  --svc-orange:var(--accent);
  --svc-green:var(--good);

  /* commerce/class pages */
  --v17-panel:var(--panel);
  --v17-panel2:var(--panel-2);
  --v17-line:var(--line);
  --v17-text:var(--text);
  --v17-muted:var(--muted);
  --v17-accent:var(--accent);
  --v17-good:var(--good);

  /* founder / home */
  --orange:var(--accent);
  --orange-light:#ff8a3b;
  --paper:var(--panel);
  --max:1220px;
}

html,body{background:var(--bg)!important;color:var(--text)!important}
body{
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  line-height:1.55;
}
body:before,body:after,.noise,.theme-toggle{display:none!important}
img{max-width:100%;display:block}
a{color:inherit}

/* Shared shell */
.shell,.svc-shell,.v17-shell,.dashboard-shell,.s3d-shell{width:min(1220px,92vw);margin-inline:auto}

/* Header / navigation */
.topbar,
.s3d-header{
  background:rgba(255,255,255,.96)!important;
  backdrop-filter:saturate(1.2) blur(10px);
  border-bottom:1px solid var(--line)!important;
  box-shadow:0 8px 24px rgba(14,32,61,.05);
}
.topbar{padding:14px clamp(16px,3vw,42px)!important;gap:20px!important}
.s3d-header{height:auto!important;min-height:78px!important}
.s3d-header-inner{min-height:78px}
.brandmark,.s3d-logo{display:flex;align-items:center}
.site-logo{width:min(240px,42vw)!important;height:50px!important;object-fit:contain!important;object-position:left center!important}
.s3d-logo img{width:min(220px,42vw)!important;max-height:54px!important}
.navlinks,.s3d-nav{display:flex;align-items:center;gap:22px!important;flex-wrap:wrap}
.navlinks a,
.s3d-nav a{
  color:var(--text)!important;
  font:700 15px/1.2 Inter,ui-sans-serif,system-ui,sans-serif!important;
  letter-spacing:0!important;
  text-transform:none!important;
  text-decoration:none!important;
  position:relative;
  padding:8px 0;
}
.navlinks a.active,
.navlinks a:hover,
.s3d-nav a:hover{color:var(--accent-2)!important}
.navlinks a.active::after,
.navlinks a:hover::after,
.s3d-nav a:hover::after{
  content:"";position:absolute;left:0;right:0;bottom:-6px;height:3px;border-radius:999px;background:var(--accent);
}
.nav-icon,
.s3d-header-cta{
  display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 18px!important;
  background:var(--panel)!important;color:var(--accent-2)!important;border:1px solid var(--line-strong)!important;
  border-radius:14px!important;box-shadow:var(--shadow-soft);font:700 14px Inter,ui-sans-serif,sans-serif!important;
  letter-spacing:0!important;text-transform:none!important;text-decoration:none!important;
}
.nav-icon:hover,
.s3d-header-cta:hover{border-color:var(--accent)!important;color:var(--accent)!important}
.cart-count{background:var(--accent)!important;color:#fff!important}

/* Common typography */
h1,h2,h3,h4{color:var(--text);letter-spacing:-.04em}
p,li,small,span,label{color:inherit}
.kicker,.eyebrow,.svc-kicker,.v17-kicker,.s3d-kicker{
  color:var(--accent)!important;
  font:800 12px/1.2 Inter,ui-sans-serif,sans-serif!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
}
.helper,.muted,.svc-smallprint,.svc-help{color:var(--muted)!important}

/* Buttons */
button,.btn,.s3d-button,.svc-card button,.svc-back,.svc-checkout-button,.time-button,.auth-tab,.v17-page .btn,.checkout-actions .btn{
  border-radius:14px!important;
}
.btn,.s3d-button,.svc-card button,.svc-back,.svc-checkout-button,.v17-page .btn,.checkout-wrap .btn,.booking-panel button[type="submit"],.booking-aside .btn{
  min-height:50px;
  border:1px solid var(--line-strong)!important;
  background:#fff!important;
  color:var(--accent-2)!important;
  font-weight:700!important;
  text-transform:none!important;
  letter-spacing:0!important;
  box-shadow:var(--shadow-soft);
}
.btn.primary,.s3d-button-primary,.svc-card button,.svc-checkout-button,.booking-panel button[type="submit"],.v17-page .btn.primary,
button.primary{
  background:linear-gradient(180deg,#ff8e45,#f26a21)!important;
  color:#fff!important;
  border-color:#f26a21!important;
}
.btn:hover,.s3d-button:hover,.svc-card button:hover,.svc-back:hover,.svc-checkout-button:hover,.v17-page .btn:hover{
  transform:translateY(-1px);
  filter:none!important;
}

/* Forms */
input,select,textarea{
  border-radius:14px!important;
  border:1px solid #cfd9e7!important;
  background:#fff!important;
  color:var(--text)!important;
  box-shadow:none!important;
}
input::placeholder,textarea::placeholder{color:#8292aa!important}
input:focus,select:focus,textarea:focus{outline:2px solid rgba(242,106,33,.18)!important;border-color:var(--accent)!important}
label{color:var(--text-2)!important}

/* Generic cards */
.auth-shell,.dashboard-profile-card,.dashboard-card,.dashboard-stats,
.class-card,.v17-panel,.svc-card,.svc-summary-sticky,.svc-form-card,.svc-hero-card,
.offer-card,.booking-panel,.aside-card,.repair-booking-card,.problem-card-v20,
.s3d-pack-card,.s3d-benefit-grid article,.s3d-fieldset,.s3d-review,
.loop-card,.loop-step,.status-card,.shop-card,.product-card,.cart-panel,.filters,
.checkout-panel,.summary-card,.summary-panel,.s3d-campaign-status>div:not(.s3d-progress){
  background:var(--panel)!important;
  color:var(--text)!important;
  border:1px solid var(--line)!important;
  border-radius:20px!important;
  box-shadow:var(--shadow-soft)!important;
}

/* Home page */
.s3d-hero{
  min-height:660px!important;
  background:
    linear-gradient(90deg,rgba(255,255,255,.96) 0%,rgba(255,255,255,.92) 38%,rgba(255,255,255,.56) 63%,rgba(255,255,255,.18) 84%),
    linear-gradient(180deg,rgba(11,45,97,.03),rgba(11,45,97,.03)),
    url('/assets/springs3d/founders-hero-printers.webp?v=252') center right / cover no-repeat !important;
  border-bottom:1px solid var(--line);
}
.s3d-hero:after{display:none!important}
.s3d-hero-inner{padding:56px 0!important}
.s3d-hero-copy{width:min(590px,100%)!important}
.s3d-hero h1{
  margin:12px 0 18px!important;
  max-width:560px!important;
  color:var(--accent-2)!important;
  font-size:clamp(3rem,6vw,5.4rem)!important;
  line-height:.95!important;
  text-transform:none!important;
}
.s3d-lead{max-width:600px!important;color:var(--muted)!important;font-size:1.12rem!important;line-height:1.7!important}
.s3d-proof{gap:14px!important}
.s3d-proof span{background:rgba(16,58,124,.05);padding:10px 14px;border-radius:999px;color:var(--accent-2)!important}
.s3d-proof span:before{box-shadow:none!important;border-color:var(--accent)!important}
.s3d-campaign-status{max-width:700px!important;gap:12px!important}
.s3d-campaign-status span{color:var(--muted)!important;font-size:.76rem!important}
.s3d-campaign-status strong{color:var(--text)!important;font-size:1rem!important}
.s3d-progress{height:10px!important;border-radius:999px;background:#d9e5f2!important;overflow:hidden;border:1px solid rgba(16,58,124,.06)!important}
.s3d-progress i{background:linear-gradient(90deg,#f26a21,#ffb15a)!important}

.s3d-offers,.s3d-benefits,.s3d-checkout-section,.s3d-service-cta{background:transparent!important;padding-top:72px!important}
.s3d-section-heading{align-items:end!important;gap:28px!important}
.s3d-section-heading h2,.s3d-service-cta h2{color:var(--accent-2)!important;font-size:clamp(2.3rem,4.2vw,4rem)!important;line-height:1.02!important;text-transform:none!important}
.s3d-section-heading>p,.s3d-service-cta p:not(.s3d-kicker){color:var(--muted)!important}
.s3d-offer-layout{grid-template-columns:minmax(360px,.92fr) minmax(0,1.08fr)!important;gap:24px!important}
.s3d-filament-image{
  min-height:500px!important;
  border-radius:24px!important;
  border:1px solid var(--line)!important;
  background:
    linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.05)),
    url('/assets/springs3d/founders-filament-spools.webp?v=252') center / cover no-repeat !important;
}
.s3d-pack-grid{gap:18px!important}
.s3d-pack-card{padding:28px!important;min-height:100%!important}
.s3d-pack-featured{border-color:rgba(242,106,33,.35)!important}
.s3d-best-value{background:rgba(242,106,33,.12)!important;color:var(--accent)!important;border-bottom-left-radius:14px}
.s3d-pack-top,.s3d-price span{color:var(--muted)!important}
.s3d-pack-top b{color:var(--accent)!important}
.s3d-pack-card h3{color:var(--text)!important;font-size:clamp(1.65rem,2.4vw,2.5rem)!important;text-transform:none!important;margin:14px 0 10px!important}
.s3d-pack-card>p{color:var(--muted)!important}
.s3d-price{border-color:var(--line)!important}
.s3d-price strong{color:var(--accent-2)!important;font-size:clamp(2rem,3.6vw,3rem)!important}
.s3d-pack-card ul{color:var(--text)!important}
.s3d-benefit-grid article{border-top:1px solid var(--line)!important;min-height:100%}
.s3d-benefit-grid h3{color:var(--accent-2)!important}
.s3d-benefit-grid p{color:var(--muted)!important}
.s3d-fieldset legend{color:var(--accent-2)!important}
.s3d-choice{background:var(--panel-2)!important;border-radius:14px!important;border-color:var(--line)!important}
.s3d-choice:has(input:checked){border-color:var(--accent)!important;box-shadow:0 0 0 2px rgba(242,106,33,.12)!important}
.s3d-review{border-top:6px solid var(--accent)!important;position:sticky;top:96px}
.s3d-review h3,.s3d-review-row strong,.s3d-review-total strong{color:var(--accent-2)!important;text-transform:none!important}
.s3d-review-row{border-bottom:1px solid var(--line)!important}
.s3d-message{color:var(--danger)!important}.s3d-message.good{color:var(--good)!important}
.s3d-footer{background:#0f2d5d!important;color:#eaf1fb!important;border-top:0!important}.s3d-footer a{color:#fff!important}

/* Services page */
.svc-page{background:var(--bg)!important;color:var(--text)!important}
.svc-hero{
  padding:124px 0 52px!important;
  background:linear-gradient(180deg,#f8fbff 0%,#eef4fb 100%)!important;
  border-bottom:1px solid var(--line)!important;
}
.svc-hero-grid,.class-hero-grid{align-items:center!important}
.svc-hero h1{font-size:clamp(2.9rem,5.4vw,4.9rem)!important;line-height:.96!important;color:var(--accent-2)!important;text-transform:none!important;max-width:760px}
.svc-hero p{color:var(--muted)!important;font-size:1.06rem!important}
.svc-hero-card strong,.svc-section-heading h2,.svc-summary h3,.svc-step strong{color:var(--accent-2)!important}
.svc-hero-card span,.svc-card p,.svc-section-heading p,.svc-smallprint{color:var(--muted)!important}
.svc-grid{gap:18px!important}
.svc-card{min-height:320px!important}
.svc-card h3{color:var(--accent-2)!important;font-size:1.6rem!important}
.svc-pill{background:#f3f7fc!important;color:var(--accent-2)!important;border-color:#d6e1ef!important;border-radius:999px!important}
.svc-price,.svc-summaryPrice{color:var(--accent)!important}
.svc-booking{padding-bottom:80px!important}
.svc-form,.svc-summary-sticky{padding:0!important;background:transparent!important;border:none!important;box-shadow:none!important}
.svc-form-card{padding:24px!important;margin-bottom:16px!important}
.svc-step span{border:1px solid rgba(242,106,33,.3)!important;background:rgba(242,106,33,.08)!important;color:var(--accent)!important;border-radius:999px!important}
.svc-summary-sticky{padding:24px!important}
.svc-summary-row{border-bottom:1px solid var(--line)!important;color:var(--muted)!important}
.svc-summary-row strong,.svc-total strong{color:var(--accent-2)!important}
.svc-loading,.loading-block,.v17-empty{color:var(--muted)!important;background:var(--panel)!important;border:1px dashed #d3ddeb!important;border-radius:18px!important}
.svc-alert{border-radius:14px!important;border-color:rgba(242,106,33,.26)!important;background:rgba(242,106,33,.08)!important;color:var(--text)!important}

/* Repair */
.repair-hero,.repair-booking-grid,.repair-home,.repair-process,.repair-request-section{
  background:transparent!important;color:var(--text)!important
}
.repair-hero{padding:124px 0 40px!important;border-bottom:1px solid var(--line)!important;background:linear-gradient(180deg,#f8fbff 0%,#eef4fb 100%)!important}
.repair-hero h1{color:var(--accent-2)!important;font-size:clamp(3rem,5vw,4.7rem)!important;text-transform:none!important}
.problem-intro-v20,.repair-hero p,.repair-flow p,.repair-booking-card p{color:var(--muted)!important}
.problem-card-v20{padding:22px!important}
.problem-card-v20 h3,.repair-booking-card h2,.repair-booking-card h3{color:var(--accent-2)!important}
.problem-card-v20 svg,.repair-booking-card b{color:var(--accent)!important;stroke:currentColor!important}

/* Classes */
.class-page{background:var(--bg)!important;color:var(--text)!important}
.class-hero{
  padding:124px 0 48px!important;
  background:linear-gradient(180deg,#f8fbff 0%,#eef4fb 100%)!important;
  border-bottom:1px solid var(--line)!important;
}
.class-hero h1{font-size:clamp(3rem,5.8vw,5rem)!important;line-height:.96!important;color:var(--accent-2)!important;text-transform:none!important}
.class-hero p,.offer-card p,.account-status,.review-line span,.booking-aside li,.booking-panel .help-text{color:var(--muted)!important}
.class-pills span{border-color:rgba(16,58,124,.12)!important;background:#f3f8ff!important;color:var(--accent-2)!important;border-radius:999px!important}
.offer-price{color:var(--accent)!important}
.booking-panel{padding:28px!important}
.section-title{border-top:1px solid var(--line)!important}
.section-title>span{border-radius:999px!important;border-color:rgba(242,106,33,.3)!important;background:rgba(242,106,33,.08)!important;color:var(--accent)!important}
.section-title h2{color:var(--accent-2)!important;font-size:clamp(2rem,4vw,3rem)!important}
.time-button{background:#fff!important;color:var(--accent-2)!important;border:1px solid #cfdae8!important;font:700 14px Inter,ui-sans-serif,sans-serif!important}
.time-button:hover:not(:disabled),.time-button.active{background:#fff7f2!important;border-color:var(--accent)!important;color:var(--accent)!important}
.time-button:disabled{background:#eef2f6!important;color:#8ea0ba!important;text-decoration:none!important;opacity:.7}
.review-box,.aside-card{padding:24px!important}
.review-line{border-bottom:1px solid var(--line)!important}
.review-line strong,.aside-card h3{color:var(--accent-2)!important}

/* Shop / checkout / account / dashboard / success */
.shop-shell,.checkout-wrap,.success-page,.status-page,.invoice-page,.v17-page,.account-auth-page,.customer-dashboard,.loop-page,.loop-status-page{background:var(--bg)!important;color:var(--text)!important}
.account-auth-page,.customer-dashboard{padding-top:124px!important}
.account-auth-intro h1,.dashboard-identity h1,.success-page h1,.status-page h1,.checkout-wrap h1,.v17-hero h1{color:var(--accent-2)!important;text-transform:none!important}
.account-auth-intro p,.dashboard-identity p,.dashboard-card p,.dashboard-card li,.dashboard-stats span,.dashboard-card small,.v17-hero p,.v17-message,.success-page p,.status-page p{color:var(--muted)!important}
.auth-tab{background:#f6f9fd!important;color:var(--accent-2)!important;border-color:var(--line)!important}
.auth-tab.active{background:var(--accent)!important;color:#fff!important}
.auth-panel h2,.dashboard-card h2,.dashboard-card h3,.dashboard-card h4,.dashboard-profile-card h2,.class-card h2,.v17-panel h2,.checkout-panel h2{color:var(--accent-2)!important}
.auth-text-button{color:var(--accent-2)!important}
.dashboard-stats{background:var(--panel)!important;border-radius:0 0 20px 20px!important}
.dashboard-stats strong,.dashboard-card strong{color:var(--accent)!important}
.avatar-button{background:#fff!important;border-color:#d6e1ef!important}
.avatar-button>span#avatarInitials{color:var(--accent)!important}
.avatar-edit{background:rgba(16,58,124,.84)!important;color:#fff!important}
.v17-page{padding-top:110px!important}
.v17-hero{border-bottom:1px solid var(--line)!important;background:linear-gradient(180deg,#f8fbff 0%,#eef4fb 100%)!important}
.v17-hero h1{font-size:clamp(2.9rem,5.3vw,4.6rem)!important;line-height:.98!important}
.class-card,.v17-panel,.checkout-panel,.summary-card,.cart-panel,.filters{border-radius:20px!important}
.class-card-image{background:linear-gradient(135deg,#eef4fb,#dde8f6)!important}
.class-meta span,.v17-summary-row,.checkout-summary-row,.cart-row{border-top-color:var(--line)!important;border-bottom-color:var(--line)!important}
.v17-summary-total,.review-total,.summary-total{color:var(--accent)!important}
.newsletter-v17{background:#0f2d5d!important;color:#fff!important}
.newsletter-v17 *{color:inherit!important}

/* Utility elements */
hr{border:none;border-top:1px solid var(--line)!important}
.badge,.tag,.chip{background:#f2f7fd!important;color:var(--accent-2)!important;border:1px solid #d7e2ef!important;border-radius:999px!important}
.success,.good{color:var(--good)!important}.error,.danger{color:var(--danger)!important}

/* Responsive */
@media (max-width:1100px){
  .s3d-offer-layout,.svc-hero-grid,.class-hero-grid,.booking-grid,.account-auth-page,.dashboard-grid,.v17-form-layout{grid-template-columns:1fr!important}
  .s3d-review{position:static!important}
}
@media (max-width:860px){
  .topbar{padding:12px 16px!important}
  .navlinks,.s3d-nav{gap:14px!important;overflow-x:auto}
  .site-logo,.s3d-logo img{width:min(180px,46vw)!important}
  .svc-hero,.class-hero,.repair-hero,.v17-page,.customer-dashboard,.account-auth-page{padding-top:110px!important}
  .s3d-hero{min-height:auto!important;background-position:center right!important}
  .s3d-hero h1,.svc-hero h1,.class-hero h1,.repair-hero h1,.v17-hero h1{font-size:clamp(2.4rem,10vw,4rem)!important}
  .s3d-campaign-status{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .s3d-pack-grid,.s3d-benefit-grid,.dashboard-stats,.time-grid,.v17-grid{grid-template-columns:1fr!important}
}
@media (max-width:600px){
  .navlinks a,.s3d-nav a{font-size:14px!important}
  .nav-icon,.s3d-header-cta,.btn,.s3d-button,.svc-card button,.svc-checkout-button{width:100%}
  .s3d-campaign-status{grid-template-columns:1fr!important}
  .s3d-hero-copy,.svc-shell,.shell,.dashboard-shell,.v17-shell,.s3d-shell{width:min(1220px,94vw)!important}
}
