/* Shared foundation for code-managed Smartstuff product-detail pages.
 * The ss-d1mc-* class names remain as a compatibility layer for existing templates.
 */

body.smartstuff-product-detail-page .page-header { display:none; }
body.smartstuff-product-detail-page .site-content { margin:0; padding:0; background:#fff; }
.ss-d1mc-main { --navy:#09111d; --navy-2:#111d2b; --orange:#ff8218; --blue:#173f69; --ink:#17202c; --muted:#64717f; --line:#dfe5ea; --mist:#f2f6f9; color:var(--ink); background:#fff; font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; font-size:16px; line-height:1.65; }
.ss-d1mc-main *, .ss-d1mc-main *::before, .ss-d1mc-main *::after { box-sizing:border-box; }
.ss-d1mc-main :is(h1,h2,h3,p,ul,dl) { margin-top:0; }
.ss-d1mc-main :is(h1,h2,h3) { color:inherit; font-family:inherit; letter-spacing:-.035em; }
.ss-d1mc-wrap { width:min(1180px,calc(100% - 48px)); margin-inline:auto; }
.ss-d1mc-eyebrow { margin-bottom:18px; color:var(--orange); font-size:12px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }

.ss-d1mc-hero { min-height:720px; display:flex; align-items:center; overflow:hidden; padding:154px 0 92px; color:#fff; background:var(--ss-hero-background); }
.ss-d1mc-hero__grid { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(460px,.95fr); align-items:center; gap:55px; }
.ss-d1mc-hero h1 { max-width:690px; margin-bottom:24px; color:#fff; font-size:clamp(48px,5.3vw,74px); font-weight:750; line-height:1.01; }
.ss-d1mc-hero__lead { max-width:680px; margin-bottom:32px; color:#c7d2dd; font-size:19px; line-height:1.72; }
.ss-d1mc-actions { display:flex; flex-wrap:wrap; gap:12px; }
.ss-d1mc-button { min-height:52px; display:inline-flex; align-items:center; justify-content:center; padding:0 22px; border:1px solid rgba(255,255,255,.34); border-radius:8px; color:#fff; font-size:14px; font-weight:780; }
.ss-d1mc-button:hover,.ss-d1mc-button:focus-visible { color:#fff; transform:translateY(-1px); }
.ss-d1mc-button--orange { border-color:var(--orange); color:#111923; background:var(--orange); }
.ss-d1mc-button--orange:hover,.ss-d1mc-button--orange:focus-visible { color:#111923; background:#ff963d; }
.ss-d1mc-button--ghost { background:rgba(255,255,255,.04); }
.ss-d1mc-hero__visual { position:relative; min-height:440px; display:grid; place-items:center; }
.ss-d1mc-hero__visual img { position:relative; z-index:2; width:112%; max-width:none; height:auto; filter:drop-shadow(0 30px 25px rgba(0,0,0,.45)); }

.ss-d1mc-quickbar { position:relative; z-index:4; margin-top:-42px; }
.ss-d1mc-quickbar__grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); overflow:hidden; border:1px solid rgba(23,32,44,.12); border-radius:15px; background:#fff; box-shadow:0 22px 50px rgba(0,0,0,.2); }
.ss-d1mc-quickbar a { min-height:130px; display:flex; flex-direction:column; justify-content:flex-start; padding:30px 26px 26px; border-right:1px solid var(--line); color:#223448; }
.ss-d1mc-quickbar a:last-child { border-right:0; }
.ss-d1mc-quickbar a:first-child { color:#fff; background:var(--navy-2); }
.ss-d1mc-quickbar small { margin-bottom:8px; color:var(--orange); font-size:12px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.ss-d1mc-quickbar a:first-child small { color:var(--orange); }
.ss-d1mc-quickbar strong { font-size:18px; font-weight:700; line-height:1.25; }
.ss-d1mc-quickbar strong::after { margin-left:7px; color:var(--orange); content:"↓"; }

.ss-d1mc-section { padding:112px 0; scroll-margin-top:24px; }
.ss-d1mc-section--white { background:#fff; }
.ss-d1mc-section--mist { background:var(--mist); }
.ss-d1mc-section-head { display:grid; grid-template-columns:minmax(0,1.08fr) minmax(360px,.7fr); align-items:end; gap:80px; margin-bottom:50px; }
.ss-d1mc-section-head--title-align { align-items:start; }
.ss-d1mc-section-head--title-align>p { margin-top:38px; }
.ss-d1mc-section-head h2,.ss-d1mc-copy h2,.ss-d1mc-specs h2,.ss-d1mc-roadmap h2,.ss-d1mc-cta h2 { margin-bottom:0; font-size:clamp(35px,4vw,53px); font-weight:730; line-height:1.08; }
.ss-d1mc-section-head>p { max-width:530px; margin-bottom:3px; color:var(--muted); font-size:17px; }
.ss-d1mc-card-grid { display:grid; gap:20px; }
.ss-d1mc-card-grid--three { grid-template-columns:repeat(3,minmax(0,1fr)); }
.ss-d1mc-card { min-height:250px; padding:32px; border:1px solid var(--line); border-radius:16px; background:#fff; box-shadow:0 10px 28px rgba(16,33,50,.04); }
.ss-d1mc-card>span { display:block; margin-bottom:30px; color:var(--orange); font-size:12px; font-weight:850; letter-spacing:.1em; }
.ss-d1mc-card h3 { margin-bottom:13px; font-size:24px; }
.ss-d1mc-card p { margin-bottom:0; color:var(--muted); font-size:15px; }

.ss-d1mc-split { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); align-items:center; gap:85px; }
.ss-d1mc-product-stage { min-height:470px; display:grid; place-items:center; overflow:visible; }
.ss-d1mc-product-stage img { width:145%; max-width:none; height:auto; mix-blend-mode:multiply; }
.ss-d1mc-copy>p:not(.ss-d1mc-eyebrow) { color:var(--muted); font-size:17px; }
.ss-d1mc-checklist { margin:28px 0 30px; padding:0; list-style:none; }
.ss-d1mc-checklist li { position:relative; margin:17px 0; padding-left:25px; }
.ss-d1mc-checklist li::before { position:absolute; top:9px; left:0; width:8px; height:8px; border-radius:50%; background:var(--orange); content:""; }
.ss-d1mc-checklist strong,.ss-d1mc-checklist span { display:block; }
.ss-d1mc-checklist span { color:var(--muted); font-size:14px; }
.ss-d1mc-textlink { color:#18334d; font-size:14px; font-weight:800; }
.ss-d1mc-textlink::after { margin-left:8px; color:var(--orange); content:"→"; }

.ss-d1mc-manager { color:#fff; background:var(--navy); }
.ss-d1mc-section-head--dark h2 { color:#fff; }
.ss-d1mc-section-head--dark>p { color:#aebbc8; }
.ss-d1mc-manager__window { max-height:565px; overflow:hidden; border:1px solid rgba(255,255,255,.13); border-radius:16px; background:#070b12; box-shadow:0 30px 60px rgba(0,0,0,.3); }
.ss-d1mc-manager__window img { display:block; width:100%; height:auto; }
.ss-d1mc-manager__features { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; margin-top:28px; overflow:hidden; border:1px solid rgba(255,255,255,.11); border-radius:12px; background:rgba(255,255,255,.11); }
.ss-d1mc-manager__features div { padding:25px; background:var(--navy-2); }
.ss-d1mc-manager__features strong,.ss-d1mc-manager__features span { display:block; }
.ss-d1mc-manager__features strong { margin-bottom:6px; color:#fff; }
.ss-d1mc-manager__features span { color:#aebbc8; font-size:14px; }

.ss-d1mc-mappings { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); align-items:center; gap:90px; }
.ss-d1mc-mappings .ss-d1mc-copy h2 { margin-bottom:24px; }
.ss-d1mc-mapping-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.ss-d1mc-mapping-list span { min-height:66px; display:flex; align-items:center; padding:0 20px; border:1px solid var(--line); border-radius:10px; color:#314457; background:var(--mist); font-size:14px; font-weight:730; }

.ss-d1mc-compare { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.ss-d1mc-compare article { padding:36px; border:1px solid var(--line); border-radius:16px; background:#fff; }
.ss-d1mc-card-label { margin-bottom:12px; color:var(--blue); font-size:11px; font-weight:850; letter-spacing:.1em; text-transform:uppercase; }
.ss-d1mc-compare h3 { margin-bottom:22px; font-size:27px; }
.ss-d1mc-compare h3 small { margin-left:7px; color:#6a7a89; font-size:11px; letter-spacing:.08em; }
.ss-d1mc-compare ul { margin:0; padding-left:20px; color:var(--muted); }
.ss-d1mc-compare li { margin:8px 0; }

.ss-d1mc-specs { display:grid; grid-template-columns:1fr; gap:54px; }
.ss-d1mc-specs__data h2 { max-width:820px; }
.ss-d1mc-specs dl { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); margin:38px 0 0; overflow:hidden; border-top:1px solid var(--line); border-left:1px solid var(--line); border-radius:12px; }
.ss-d1mc-specs dl div { display:grid; grid-template-columns:155px 1fr; align-items:start; gap:22px; padding:20px 22px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); }
.ss-d1mc-specs dt { color:#314457; font-weight:750; }
.ss-d1mc-specs dd { margin:0; color:var(--muted); }
.ss-d1mc-docs { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.ss-d1mc-docs .ss-d1mc-eyebrow { grid-column:1/-1; margin-bottom:6px; }
.ss-d1mc-docs a { position:relative; min-height:112px; display:flex; align-items:flex-start; justify-content:center; flex-direction:column; gap:5px; padding:22px 42px 22px 22px; border:1px solid var(--line); border-radius:10px; color:#26394c; background:var(--mist); }
.ss-d1mc-docs a::after { position:absolute; right:20px; bottom:22px; color:var(--orange); content:"→"; }
.ss-d1mc-docs a span { color:#74818d; font-size:11px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.ss-d1mc-docs a strong { text-align:left; }

.ss-d1mc-roadmap { padding:70px 0; color:#dce5ed; background:var(--navy-2); }
.ss-d1mc-roadmap__inner { max-width:none; display:grid; grid-template-columns:minmax(0,1.08fr) minmax(360px,.7fr); align-items:start; gap:80px; }
.ss-d1mc-roadmap h2 { color:#fff; font-size:38px; }
.ss-d1mc-roadmap p:last-child { margin:0; color:#aebbc8; }
.ss-d1mc-roadmap .ss-d1mc-card-label { color:var(--orange); }
.ss-d1mc-cta { padding:85px 0; color:#fff; background:linear-gradient(115deg,#173f69,#0b1c2e); }
.ss-d1mc-cta__inner { display:flex; align-items:center; justify-content:space-between; gap:65px; }
.ss-d1mc-cta h2 { max-width:680px; color:#fff; font-size:clamp(34px,4vw,48px); }
.ss-d1mc-cta p:not(.ss-d1mc-eyebrow) { max-width:720px; margin:20px 0 0; color:#bdc9d5; }
.ss-d1mc-cta .ss-d1mc-actions { flex:0 0 auto; }

@media (max-width:980px) {
  .ss-d1mc-hero__grid { grid-template-columns:1fr; }
  .ss-d1mc-hero__visual { min-height:350px; max-width:650px; width:100%; margin:auto; }
  .ss-d1mc-quickbar__grid { grid-template-columns:repeat(2,1fr); }
  .ss-d1mc-quickbar a:nth-child(2) { border-right:0; }
  .ss-d1mc-quickbar a:nth-child(-n+2) { border-bottom:1px solid var(--line); }
  .ss-d1mc-section-head,.ss-d1mc-split,.ss-d1mc-mappings,.ss-d1mc-roadmap__inner { grid-template-columns:1fr; gap:35px; }
  .ss-d1mc-docs { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .ss-d1mc-section-head--title-align>p { margin-top:0; }
  .ss-d1mc-card-grid--three { grid-template-columns:1fr; }
  .ss-d1mc-product-stage { min-height:380px; }
  .ss-d1mc-cta__inner { align-items:flex-start; flex-direction:column; gap:34px; }
}

@media (max-width:620px) {
  .ss-d1mc-wrap { width:min(100% - 32px,1180px); }
  .ss-d1mc-hero { min-height:0; padding:142px 0 56px; }
  .ss-d1mc-hero h1 { font-size:43px; }
  .ss-d1mc-hero__lead { font-size:17px; }
  .ss-d1mc-hero__visual { min-height:250px; }
  .ss-d1mc-hero__visual img { width:114%; }
  .ss-d1mc-button { width:100%; }
  .ss-d1mc-quickbar { margin-top:0; }
  .ss-d1mc-quickbar__grid { width:100%; grid-template-columns:1fr; border-radius:0; }
  .ss-d1mc-quickbar a { min-height:100px; border-right:0; border-bottom:1px solid var(--line); }
  .ss-d1mc-quickbar a:last-child { border-bottom:0; }
  .ss-d1mc-section { padding:70px 0; }
  .ss-d1mc-section-head { margin-bottom:34px; }
  .ss-d1mc-section-head h2,.ss-d1mc-copy h2,.ss-d1mc-specs h2 { font-size:36px; }
  .ss-d1mc-card { min-height:0; padding:26px 23px; }
  .ss-d1mc-product-stage { min-height:260px; }
  .ss-d1mc-product-stage img { width:124%; }
  .ss-d1mc-manager__window { max-height:320px; }
  .ss-d1mc-manager__window img { width:145%; max-width:none; }
  .ss-d1mc-manager__features,.ss-d1mc-mapping-list,.ss-d1mc-compare { grid-template-columns:1fr; }
  .ss-d1mc-specs dl { grid-template-columns:1fr; }
  .ss-d1mc-specs dl div { grid-template-columns:1fr; gap:4px; }
  .ss-d1mc-docs { grid-template-columns:1fr; }
  .ss-d1mc-roadmap { padding:55px 0; }
  .ss-d1mc-cta { padding:68px 0; }
  .ss-d1mc-cta .ss-d1mc-actions { width:100%; }
}

@media (prefers-reduced-motion:reduce) { .ss-d1mc-main *, .ss-d1mc-main *::before, .ss-d1mc-main *::after { transition:none!important; } }
