/* yoursmoothmove.com — shared layout, header, footer, forms, tools. Page-specific styles are scoped under .pg in each page. */
:root{--primary-dark:#2d83ac;--primary-light:#19587d;--primary-background:#d9e3e7;--border-gray:#e1e4e8;--text-secondary:#333;--muted:#6b7280;--white:#fff;
--sm-blue:#2d83ac;--sm-navy:#19587d;--sm-ink:#0f172a;--sm-soft:#eef4f7;--sm-line:#dbe4ea;--sm-amber:#f59e0b;--sm-h:72px}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--sm-h) + 12px)}
body{margin:0;font-family:Inter,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;line-height:1.6;color:var(--sm-ink);background:#fff;overflow-x:hidden}
img{max-width:100%;height:auto}
a{color:var(--sm-navy)}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}
.skip{position:absolute;left:-999px;top:8px;background:#fff;padding:8px 14px;z-index:1000;border-radius:6px}
.skip:focus{left:8px}
:focus-visible{outline:3px solid #f59e0b;outline-offset:2px}

/* buttons */
.sm-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:10px;padding:12px 20px;font-weight:600;font-size:16px;line-height:1.2;font-family:inherit;text-decoration:none;cursor:pointer;transition:filter .15s,transform .05s;white-space:nowrap}
.sm-btn:active{transform:translateY(1px)}
.sm-btn-primary{background:var(--sm-navy);color:#fff}
.sm-btn-primary:hover{background:#134866;color:#fff}
.sm-btn-accent{background:var(--sm-amber);color:#111827}
.sm-btn-accent:hover{filter:brightness(.95)}
.sm-link{background:none;border:0;color:var(--sm-navy);font-weight:600;font-size:15px;line-height:1.2;font-family:inherit;cursor:pointer;padding:10px 4px;text-decoration:underline;text-underline-offset:3px}

/* header */
.smh{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.97);border-bottom:1px solid var(--sm-line);backdrop-filter:saturate(140%) blur(6px)}
.smh-in{max-width:1240px;margin:0 auto;height:var(--sm-h);padding:0 20px;display:flex;align-items:center;gap:24px}
.smh-logo{display:flex;align-items:center;flex:0 0 auto}
.smh-logo img{height:48px;width:auto;display:block}
.smh-nav{display:flex;gap:4px;margin:0 auto}
.smh-nav a{color:#1e3a4c;text-decoration:none;font-weight:500;padding:8px 14px;border-radius:8px;font-size:16px}
.smh-nav a:hover,.smh-nav a[aria-current=page]{color:var(--sm-blue);background:var(--sm-soft)}
.smh-cta{display:flex;align-items:center;gap:14px;flex:0 0 auto}
.smh-phone{display:inline-flex;align-items:center;gap:6px;color:var(--sm-navy);font-weight:700;text-decoration:none;font-size:16px;white-space:nowrap}
.smh-burger{display:none;width:44px;height:44px;border:1px solid var(--sm-line);border-radius:10px;background:#fff;cursor:pointer;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:0}
.smh-burger span{display:block;width:20px;height:2px;background:var(--sm-navy);border-radius:2px;transition:transform .2s,opacity .2s}
.smh-burger[aria-expanded=true] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.smh-burger[aria-expanded=true] span:nth-child(2){opacity:0}
.smh-burger[aria-expanded=true] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.smh-menu{border-top:1px solid var(--sm-line);background:#fff;padding:8px 20px 20px;max-height:calc(100dvh - var(--sm-h));overflow-y:auto;box-shadow:0 18px 30px rgba(15,23,42,.08)}
.smh-menu nav{display:flex;flex-direction:column}
.smh-menu a{color:var(--sm-ink);text-decoration:none;font-weight:600;font-size:17px;padding:12px 4px;border-bottom:1px solid #eef2f5}
.smh-menu a.sub{font-weight:500;font-size:16px;padding:10px 4px 10px 14px;color:#334155}
.smh-menu-sub{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:16px 0 2px}
.smh-menu .smh-menu-call{margin-top:16px;width:100%;color:#fff;border:0;padding:14px}
@media (max-width:1060px){.smh-phone{display:none}}
@media (max-width:900px){
  :root{--sm-h:64px}
  .smh-in{gap:10px;padding:0 14px}
  .smh-nav{display:none}
  .smh-logo{margin-right:auto}
  .smh-logo img{height:38px}
  .smh-cta{gap:8px}
  .smh-quote{padding:10px 14px;font-size:15px}
  .smh-burger{display:flex}
}
@media (max-width:360px){.smh-logo img{height:32px}.smh-quote{padding:9px 11px;font-size:14px}}

/* footer */
.smf-foot{background:#f4f8fa;border-top:1px solid var(--sm-line);color:#334155;font-size:15px}
.smf-foot-in{max-width:1240px;margin:0 auto;padding:56px 20px 36px;display:grid;grid-template-columns:1.4fr 1.2fr 1fr 1fr;gap:36px}
.ft-logo{height:52px;width:auto;display:block;margin-bottom:14px}
.ft-brand p{margin:0 0 16px;max-width:38ch}
.ft-badge img{width:150px;height:auto;display:block}
.ft-h{font-size:14px;letter-spacing:.08em;text-transform:uppercase;color:var(--sm-navy);margin:6px 0 14px}
.ft-list{list-style:none;margin:0;padding:0}
.ft-list li{margin:0 0 9px}
.ft-list a{color:#1e3a4c;text-decoration:none}
.ft-list a:hover{color:var(--sm-blue);text-decoration:underline}
.ft-list .muted,.muted{color:#64748b;font-size:14px}
.ft-bottom{border-top:1px solid var(--sm-line);background:#eef4f7}
.ft-bottom-in{max-width:1240px;margin:0 auto;padding:16px 20px calc(16px + env(safe-area-inset-bottom));display:flex;flex-wrap:wrap;gap:10px 24px;justify-content:space-between;font-size:14px;color:#475569}
.ft-bottom a{color:#1e3a4c}
.ft-legal{display:flex;gap:18px}
@media (max-width:900px){.smf-foot-in{grid-template-columns:1fr 1fr}.ft-brand{grid-column:1/-1}}
@media (max-width:520px){.smf-foot-in{grid-template-columns:1fr;gap:26px;padding-top:40px}.ft-bottom-in{flex-direction:column}}

/* forms */
.smf{width:100%;text-align:left}
.smf-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.smf-f{grid-column:1/-1;display:flex;flex-direction:column;gap:6px;min-width:0}
.smf-f.smf-half{grid-column:span 1}
.smf-f label{font-size:14px;font-weight:600;color:#111827}
.smf-f .req{color:#b91c1c}
.smf input[type=text],.smf input[type=email],.smf input[type=tel],.smf input[type=date],.smf input[type=file],.smf select,.smf textarea,
.trk-form input,.adm input,.adm select,.adm textarea,.calc input{width:100%;border:2px solid #e5e7eb;border-radius:10px;padding:13px 14px;font-size:16px;line-height:1.3;font-family:inherit;background:#fff;color:#0f172a;transition:border-color .2s,box-shadow .2s;min-height:50px}
.smf input[type=file]{padding:10px;min-height:0;font-size:14px}
.smf textarea{min-height:110px;resize:vertical}
.smf input:focus,.smf select:focus,.smf textarea:focus,.trk-form input:focus,.calc input:focus{border-color:var(--sm-blue);box-shadow:0 0 0 3px rgba(45,131,172,.18);outline:none}
.smf .invalid{border-color:#dc2626!important}
.smf-check{flex-direction:row}
.smf-check label{display:flex;gap:10px;align-items:flex-start;font-weight:500;font-size:14px;color:#334155}
.smf-check input{width:20px;height:20px;margin-top:2px;flex:0 0 auto;accent-color:var(--sm-navy)}
.smf-hp{position:absolute!important;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}
.smf-submit{width:100%;margin-top:16px;padding:16px 18px;font-size:18px;font-weight:700}
.smf-note{margin:10px 0 0;font-size:13px;color:#64748b;text-align:center}
.smf-status{margin-top:14px;padding:12px 14px;border-radius:10px;background:#fef2f2;border:1px solid #fecaca;color:#991b1b;font-size:15px}
.smf-status.info{background:#eff6ff;border-color:#bfdbfe;color:#1e3a8a}
.smf-thanks{text-align:center;padding:26px 12px}
.smf-thanks-ic{width:56px;height:56px;border-radius:50%;background:#dcfce7;color:#15803d;font-size:30px;line-height:56px;margin:0 auto 12px;font-weight:700}
.smf-thanks p{margin:0;font-size:17px;color:#0f172a}
.smf.sending .smf-submit{opacity:.7;pointer-events:none}
.smf-nav{display:none}
.smf-steps.js .smf-nav{display:flex;justify-content:space-between;align-items:center;flex-direction:row-reverse;margin-top:14px}
.smf-steps.js[data-step="1"] [data-step="2"],.smf-steps.js[data-step="2"] [data-step="1"]{display:none}
.smf-steps.js[data-step="1"] .smf-submit,.smf-steps.js[data-step="1"] .smf-note,.smf-steps.js[data-step="1"] .smf-back,.smf-steps.js[data-step="2"] .smf-next{display:none}
.smf-steps.js[data-step="2"] .smf-nav{margin-top:4px}
@media (max-width:560px){.smf-grid{grid-template-columns:1fr}.smf-f.smf-half{grid-column:1/-1}}

/* tracker */
.trk-h1{font-size:clamp(28px,4vw,40px);line-height:1.15;margin:0 0 8px;color:var(--sm-navy)}
.trk-sub{margin:0 0 18px;color:#475569}
.trk-form{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 16px}
.trk-form input{flex:1 1 220px}
.trk-msg{padding:12px 14px;border-radius:10px;background:#fff7ed;border:1px solid #fed7aa;color:#9a3412;margin:8px 0}
.trk-res{margin-top:18px;border:1px solid var(--sm-line);border-radius:14px;padding:20px;background:#fbfdfe}
.trk-top{display:flex;flex-wrap:wrap;gap:16px 36px;margin-bottom:18px}
.trk-k{font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:#64748b}
.trk-v{font-weight:700;font-size:18px}
.trk-badge{display:inline-block;margin-top:2px;padding:5px 12px;border-radius:999px;background:#e0f2fe;color:#075985;font-weight:700;font-size:15px}
.trk-badge.s-completed,.trk-badge.s-claim_completed{background:#dcfce7;color:#166534}
.trk-badge.s-job_cancelled{background:#fee2e2;color:#991b1b}
.trk-tl{list-style:none;margin:0;padding:0 0 0 22px;border-left:3px solid var(--sm-line)}
.trk-tl li{position:relative;padding:0 0 18px 6px}
.trk-tl li::before{content:"";position:absolute;left:-31px;top:4px;width:15px;height:15px;border-radius:50%;background:#fff;border:3px solid #94a3b8}
.trk-tl li.now::before{border-color:var(--sm-blue);background:var(--sm-blue)}
.trk-tl li.note::before{border-color:#f59e0b}
.trk-when{font-size:13px;color:#64748b}
.trk-what{font-weight:600}
.trk-note{color:#334155;font-size:15px}
.trk-help{margin:6px 0 0;font-size:14px;color:#475569}

/* calculator + inventory */
.calc-steps{display:flex;gap:6px;list-style:none;padding:0;margin:0 0 20px;counter-reset:s;flex-wrap:wrap}
.calc-steps li{flex:1 1 0;min-width:70px;font-size:12px;font-weight:600;color:#94a3b8;border-top:4px solid #e2e8f0;padding-top:6px}
.calc-steps li.on{color:var(--sm-navy);border-color:var(--sm-blue)}
.calc-h{font-size:22px;margin:0 0 14px;color:#0f172a}
.calc-nav{display:flex;justify-content:space-between;align-items:center;margin-top:18px;gap:12px;flex-wrap:wrap}
.calc-err{margin-top:12px;padding:10px 12px;border-radius:10px;background:#fef2f2;border:1px solid #fecaca;color:#991b1b}
.calc-tabs{display:flex;gap:8px;overflow-x:auto;padding-bottom:6px;margin-bottom:12px;scrollbar-width:thin}
.calc-tab{flex:0 0 auto;border:2px solid var(--sm-line);background:#fff;border-radius:999px;padding:8px 16px;font-weight:600;font-size:15px;font-family:inherit;color:#1e3a4c;cursor:pointer}
.calc-tab[aria-selected=true]{background:var(--sm-navy);border-color:var(--sm-navy);color:#fff}
.calc-tab .ct{display:inline-block;min-width:20px;margin-left:6px;padding:0 6px;border-radius:999px;background:#f59e0b;color:#111827;font-size:12px}
.calc-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid #eef2f5}
.calc-item .nm{font-weight:500}
.calc-item .cf{font-size:13px;color:#64748b}
.qty{display:flex;align-items:center;gap:6px;flex:0 0 auto}
.qty button{width:40px;height:40px;border-radius:10px;border:2px solid var(--sm-line);background:#fff;font-size:20px;line-height:1;cursor:pointer;color:var(--sm-navy)}
.qty input{width:52px!important;min-height:40px!important;padding:6px!important;text-align:center}
.calc-vol,.inv-sum{margin-top:14px;padding:12px 14px;border-radius:10px;background:var(--sm-soft)}
.inv-sum ul{margin:8px 0 0;padding-left:18px;font-size:14px}
.inv-h{margin:24px 0 10px}
.calc-svc{display:flex;gap:12px;align-items:flex-start;padding:12px;border:2px solid var(--sm-line);border-radius:12px;margin-bottom:10px;cursor:pointer}
.calc-svc input{width:20px;height:20px;margin-top:3px;accent-color:var(--sm-navy)}
.calc-svc small{display:block;color:#64748b}
.calc-break{margin:0;border:1px solid var(--sm-line);border-radius:12px;overflow:hidden}
.calc-break div{display:flex;justify-content:space-between;padding:11px 16px;border-bottom:1px solid #eef2f5}
.calc-break dt{color:#475569}.calc-break dd{margin:0;font-weight:600}
.calc-break .tot{background:var(--sm-soft);font-size:20px}
.calc-break .tot dd{color:var(--sm-navy);font-weight:800}
.calc-fine{font-size:13px;color:#64748b}
.calc-sent{margin:14px 0 0}
.calc .smf-submit{margin-top:14px}

/* admin + 404 */
.adm{max-width:1100px;margin:0 auto;padding:36px 20px 60px}
.adm-login{max-width:380px;margin:40px auto;text-align:center}
.adm-login form{display:flex;flex-direction:column;gap:12px}
.adm-login input{text-align:center;font-size:22px;letter-spacing:.3em}
.adm-bar{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:16px}
.adm-bar h1{font-size:26px;margin:0}
.adm-flash{padding:10px 14px;border-radius:10px;background:#ecfdf5;border:1px solid #a7f3d0;margin-bottom:14px}
.adm-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:20px}
.adm-card{border:1px solid var(--sm-line);border-radius:14px;padding:20px;background:#fff}
.adm-card h2{margin-top:0;font-size:20px}
.adm-card .smf-f{margin-bottom:10px}
.adm-card label{font-size:13px;font-weight:600}
.adm-table-wrap{overflow-x:auto}
.adm-table{width:100%;border-collapse:collapse}
.adm-table th,.adm-table td{text-align:left;padding:10px;border-bottom:1px solid #eef2f5}
@media (max-width:800px){.adm-grid{grid-template-columns:1fr}}
.nf{max-width:720px;margin:0 auto;padding:80px 20px;text-align:center}
.nf h1{color:var(--sm-navy)}
@media (max-width:520px){.calc-steps{flex-wrap:nowrap;gap:4px}.calc-steps li{min-width:0;font-size:10.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}
