/* v8: extracted from analyze.php (static wizard styles, same cascade position). */
:root{ --blue:#006AFF; --blue-d:#0052cc; --ink:#0b1220; --muted:#64748b; --line:#e6ecf5; }
  .wz-page{ font-family:'Inter',sans-serif; color:var(--ink); -webkit-font-smoothing:antialiased; background:#f4f8ff; }
  .wz-page *{ box-sizing:border-box; }
  body{ display:flex; flex-direction:column; min-height:100vh; min-height:100dvh; margin:0; }
  .wz-page{ flex:1 1 auto; display:flex; flex-direction:column; }
  .wz-page > .wz-shell{ flex:1; }
  .wz-shell{ display:grid; grid-template-columns:360px 1fr; }

  /* ── BRANDED GRADIENT RAIL ── */
  .wz-aside{ position:relative; color:#fff; padding:26px 32px; display:flex; flex-direction:column;
    background:radial-gradient(120% 60% at 0% 0%, rgba(91,156,255,.35), transparent 60%), linear-gradient(165deg,#06122a 0%, #0b2a72 52%, #0a57d6 120%); overflow:hidden; }
  .wz-aside::after{ content:''; position:absolute; right:-80px; bottom:-80px; width:280px; height:280px; border-radius:50%; background:radial-gradient(circle, rgba(255,255,255,.10), transparent 70%); }
  .wz-tag{ margin-top:14px; font-size:1.3rem; font-weight:900; line-height:1.12; letter-spacing:-.02em; }
  .wz-tag em{ font-style:normal; color:#8ec0ff; }
  .wz-tagsub{ margin-top:10px; color:#bcd4ff; font-size:.95rem; line-height:1.5; max-width:240px; }
  .wz-rail{ list-style:none; margin:20px 0 0; padding:0; position:relative; z-index:1; }
  .rail-step{ display:flex; gap:13px; position:relative; padding-bottom:18px; }
  .rail-step:last-child{ padding-bottom:0; }
  .rail-step:not(:last-child)::before{ content:''; position:absolute; left:17px; top:38px; bottom:3px; width:2px; background:rgba(255,255,255,.18); }
  .rail-step.done:not(:last-child)::before{ background:linear-gradient(#5eead4,#5b9cff); }
  .rs-num{ width:36px;height:36px;flex:0 0 36px; border-radius:50%; display:flex;align-items:center;justify-content:center; font-weight:900; font-size:15px; color:rgba(255,255,255,.7); background:rgba(255,255,255,.08); border:2px solid rgba(255,255,255,.28); transition:.25s; }
  .rail-step.active .rs-num{ background:#fff; color:#0a2a6e; border-color:#fff; box-shadow:0 0 0 6px rgba(255,255,255,.16); transform:scale(1.05); }
  .rail-step.done .rs-num{ background:#5eead4; color:#06324a; border-color:#5eead4; }
  .rs-tx b{ display:block; font-size:1rem; font-weight:800; color:#fff; line-height:1.2; }
  .rs-tx span{ font-size:.82rem; color:#aecbff; }
  .rail-step:not(.active):not(.done) .rs-tx b{ color:rgba(255,255,255,.6); }

  /* ── MAIN CONTENT ── */
  .wz-main{ padding:14px 22px 16px; max-width:1560px; margin:0 auto; width:100%; display:flex; flex-direction:column; justify-content:flex-start; }
  .wz-phone-top{ display:none; }
  .wz-mb{ display:none; }
  .wz-step{ display:none; animation:wzfade .3s ease; } .wz-step.is-active{ display:flex; flex-direction:column; flex:1 1 auto; }
  @keyframes wzfade{ from{opacity:0;transform:translateY(10px);} to{opacity:1;transform:translateY(0);} }
  .wz-head{ margin-bottom:14px; }
  .wz-head h1,.wz-head h2{ font-size:clamp(1.7rem,2.4vw,2.3rem); font-weight:900; letter-spacing:-.04em; margin:0 0 8px; color:#0f172a; line-height:1.04; }
  .wz-head h1 em,.wz-head h2 em{ font-style:normal; color:var(--blue); }
  .wz-head p{ color:var(--muted); font-size:.98rem; margin:0; max-width:760px; line-height:1.45; }

  /* step 1 — signup card + static analyze image card (sell-page style) */
  .wz-choices{ display:grid; grid-template-columns:1fr 1.5fr; gap:20px; align-items:stretch; flex:1 1 auto; }
  .wz-pick{ position:relative; display:flex; flex-direction:column; justify-content:flex-end; min-height:220px; width:100%; padding:22px; text-align:left; font-family:inherit; overflow:hidden; color:#fff; border:0; border-radius:22px;
    background-size:cover; background-position:center; box-shadow:0 14px 34px rgba(2,32,71,.16); }
  .wz-pick.anlz{ background-image:url('pick-listhome.jpg'); --tint:#7c3aed; }
  .wz-pick.static{ cursor:default; height:100%; min-height:280px; }
  .wz-pick::before{ content:''; position:absolute; inset:0; background:linear-gradient(to top, rgba(5,10,28,.92) 6%, rgba(5,10,28,.5) 42%, rgba(5,10,28,.06) 78%); }
  .wz-pick > *{ position:relative; z-index:1; }
  .wz-pick-tag{ position:absolute; top:22px; left:22px; display:inline-flex; align-items:center; gap:7px; padding:7px 14px; border-radius:99px; background:rgba(255,255,255,.18); -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px); border:1px solid rgba(255,255,255,.45); font-size:.68rem; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }
  .wz-pick-main{ display:flex; flex-direction:column; gap:6px; padding-right:58px; }
  .wz-pick-title{ font-size:1.55rem; font-weight:900; letter-spacing:-.03em; line-height:1.1; text-shadow:0 2px 16px rgba(0,0,0,.45); }
  .wz-pick-sub{ font-size:.95rem; font-weight:500; color:rgba(255,255,255,.92); line-height:1.45; text-shadow:0 1px 10px rgba(0,0,0,.5); }

  /* the site's normal auth/signup card design (matches the homepage auth box) */
  .lp-auth { background:#fff; border:1px solid #e2e8f0; border-radius:16px; padding:26px 26px 20px; box-shadow:0 18px 44px rgba(2,32,71,.10); text-align:left; }
  .wz-choices > .lp-auth{ align-self:stretch; width:100%; display:flex; flex-direction:column; justify-content:center; }
  .lp-auth .auth-title { font-size:1.5rem; font-weight:800; color:#0f172a; margin:0 0 4px; }
  .lp-auth .logo-sub { color:#64748b; margin:0 0 14px; font-size:.95rem; }
  .lp-auth .form-group { margin-bottom:12px; }
  .lp-auth .form-group label { display:block; margin-bottom:7px; font-weight:600; color:#334155; font-size:.9rem; }
  .lp-auth .form-group input { width:100%; padding:12px 15px; border:1px solid #e2e8f0; border-radius:8px; font-size:1rem; outline:none; transition:border .2s; font-family:inherit; }
  .lp-auth .form-group input:focus { border-color:#006AFF; box-shadow:0 0 0 3px rgba(0,106,255,.1); }
  .lp-auth .btn-auth { width:100%; padding:12px; background:#006AFF; color:#fff; border:none; border-radius:8px; font-weight:700; font-size:1rem; cursor:pointer; transition:background .2s; margin-top:4px; display:flex; align-items:center; justify-content:center; gap:8px; font-family:inherit; }
  .lp-auth .btn-auth:hover { background:#0056cf; }
  .lp-auth .auth-footer { margin-top:12px; text-align:center; font-size:.88rem; color:#64748b; }
  .lp-auth .fg2 { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
  .lp-auth .auth-err { background:#fef2f2; border:1px solid #fecaca; color:#b91c1c; font-size:.88rem; font-weight:600; border-radius:8px; padding:10px 12px; margin-bottom:14px; }

  /* trust strip under the choices */
  .wz-methods{ margin-top:14px; padding-top:10px; border-top:1px solid var(--line); }
  .wz-methods-head{ display:block; font-size:.72rem; font-weight:800; letter-spacing:.18em; text-transform:uppercase; color:#64748b; margin-bottom:10px; }
  .wz-methods-tags{ display:flex; flex-wrap:nowrap; gap:7px; }
  .wz-method-tag{ flex:0 1 auto; white-space:nowrap; display:inline-flex; align-items:center; justify-content:center; padding:7px 12px; border-radius:99px; background:#fff; border:1px solid var(--line); font-size:.78rem; font-weight:700; color:#334155; box-shadow:0 1px 2px rgba(2,32,71,.04); }

  /* ── Unified step navigation (matches the main valuation module) ── */
  .wz-back{ display:inline-flex; align-items:center; gap:6px; background:#fff; border:1.5px solid #e2e8f0; color:#475569; font-weight:600; font-size:.88rem; cursor:pointer; margin-bottom:16px; font-family:inherit; padding:9px 18px; border-radius:8px; transition:background .15s, border-color .15s, color .15s; }
  .wz-back:hover{ background:#f8fafc; border-color:#cbd5e1; color:#1e293b; }
  /* Primary "continue" buttons → blue→indigo gradient like the valuation footer nav. */
  .wz-page .bx-submit{ background:linear-gradient(135deg,#2563eb,#4f46e5) !important; box-shadow:0 6px 16px rgba(37,99,235,.30); }
  .wz-page .bx-submit:hover{ filter:brightness(1.06); }

  /* ── Fixed bottom navigation bar (same pattern as modules/valuation/footer_nav.php) ── */
  .wz-foot{ position:fixed; bottom:0; left:0; right:0; z-index:60; background:#fff; border-top:1px solid #e2e8f0; box-shadow:0 -4px 24px rgba(0,0,0,.08); padding:12px 24px; display:flex; align-items:center; justify-content:space-between; gap:12px; }
  .wz-foot[hidden]{ display:none !important; }   /* the bar's display:flex would otherwise defeat the hidden attribute on steps 1–2 */
  .wz-foot-status{ display:flex; align-items:center; gap:10px; min-width:0; }
  .wz-foot-ic{ width:34px; height:34px; border-radius:50%; background:#f0fdf4; color:#16a34a; display:flex; align-items:center; justify-content:center; flex-shrink:0; font-size:13px; }
  .wz-foot-title{ font-size:.8rem; font-weight:700; color:#1e293b; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
  .wz-foot-sub{ font-size:.7rem; color:#64748b; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:280px; }
  .wz-foot-actions{ display:flex; gap:10px; flex-shrink:0; }
  .wz-foot-back{ display:inline-flex; align-items:center; gap:6px; padding:9px 20px; border-radius:8px; border:1.5px solid #e2e8f0; background:#fff; color:#475569; font-size:.85rem; font-weight:600; cursor:pointer; font-family:inherit; transition:background .15s; }
  .wz-foot-back:hover{ background:#f8fafc; }
  .wz-foot-next{ display:inline-flex; align-items:center; gap:8px; padding:9px 24px; border-radius:8px; border:0; background:linear-gradient(135deg,#2563eb,#4f46e5); color:#fff; font-size:.85rem; font-weight:700; cursor:pointer; font-family:inherit; box-shadow:0 4px 12px rgba(37,99,235,.3); transition:transform .15s, filter .15s; }
  .wz-foot-next:hover{ transform:translateY(-1px); filter:brightness(1.05); }
  .wz-foot-next:disabled{ opacity:.6; cursor:default; transform:none; }
  .wz-main{ padding-bottom:92px !important; }   /* clear the fixed bar */
  @media (max-width:600px){ .wz-foot{ padding:10px 14px; } .wz-foot-sub{ display:none; } .wz-foot-next,.wz-foot-back{ padding:9px 15px; } }

  /* The bottom bar now owns step navigation — hide the in-step Back + Continue buttons. */
  .wz-back{ display:none !important; }
  #wzAddr .bx-submit, #wzDetails .bx-submit, #wzReview .bx-submit,
  #wzFin .bx-submit, #wzCond .bx-submit, #wzReport .bx-submit{ display:none !important; }
  .auth-msg{ font-size:.98rem; color:#334155; line-height:1.5; margin:0 0 16px; }
  .auth-msg b{ color:#0f172a; }
  .auth-alt{ margin:14px 0 0; font-size:.88rem; color:var(--muted); text-align:center; }
  .auth-alt a{ color:var(--blue); font-weight:700; text-decoration:none; cursor:pointer; }
  .auth-alt a:hover{ text-decoration:underline; }
  .wz-card{ background:#fff; border:1px solid var(--line); border-radius:20px; padding:30px; box-shadow:0 20px 48px rgba(2,32,71,.08); max-width:560px; }
  .m-loading{ color:var(--muted); font-size:.95rem; padding:18px 0; display:flex; align-items:center; gap:10px; }
  .bx-grid-3{ display:grid; grid-template-columns:1fr 1fr 1fr; gap:10px; }
  @media (max-width:600px){ .bx-grid-3{ grid-template-columns:minmax(0,1fr); } }

  /* ── Theme the buybox cards to MLS9 blue ──
     buybox.css wraps each .bx form in a green gradient halo (.bx::before) and a
     green intro pill, which clash with this blue funnel. Drop the halo, give the
     card the same soft blue shadow as the rest of the wizard, and recolor the
     pill blue so the form reads as part of the page — not a stray green block. */
  .wz-step .bx{ border:1px solid var(--line); box-shadow:0 20px 48px rgba(2,32,71,.08); }
  .wz-step .bx::before{ display:none !important; }
  .wz-step .bx-pill{ color:#0a57d6; background:#e8f0ff; }
  .wz-step .bx-pill-dot{ background:#0a57d6; box-shadow:0 0 0 4px rgba(10,87,214,.18); animation:none; }
  /* Data-heavy steps use wide multi-column layouts — let their card fill the
     content column instead of being capped at 760px, which wasted the side
     space and squeezed the form tall. (Address stays narrow — single field.) */
  #wzDetails .bx--page, #wzReview .bx--page,
  #wzFin .bx--page, #wzCond .bx--page{ max-width:1100px; }

  /* property snapshot box (after lookup) */
  .ax-snap{ display:none; margin:0 0 16px; padding:14px 16px; background:#eff6ff; border:1px solid #bfdbfe; border-radius:12px; }
  .ax-snap.show{ display:block; }
  .ax-snap b{ display:block; color:#0f172a; font-size:.95rem; margin-bottom:3px; }
  .ax-snap span{ font-size:.82rem; color:#1d4ed8; font-weight:600; }

  /* ── Condition step ── */
  .ax-cond-grid{ display:grid; grid-template-columns:1fr 1fr; gap:12px; }
  @media (max-width:900px){ .ax-cond-grid{ grid-template-columns:minmax(0,1fr); } }
  .ax-cat{ background:#fff; border:1px solid var(--line); border-radius:14px; padding:14px 16px; }
  .ax-cat-head{ display:flex; align-items:center; gap:9px; font-weight:800; font-size:.92rem; color:#0f172a; margin-bottom:10px; }
  .ax-cat-head i{ width:30px;height:30px;border-radius:8px;background:#eff6ff;color:#1d4ed8;display:flex;align-items:center;justify-content:center;font-size:.85rem; }
  .ax-rates{ display:flex; gap:5px; }
  .ax-rate{ flex:1; text-align:center; padding:7px 2px; border:1.5px solid var(--line); border-radius:9px; background:#fff; font-family:inherit; font-size:.7rem; font-weight:700; color:#64748b; cursor:pointer; transition:all .12s; }
  .ax-rate:hover{ border-color:var(--blue); color:#0f172a; }
  .ax-rate.on{ border-color:var(--blue); background:#eff6ff; color:#1d4ed8; }
  .ax-rate.on.r1,.ax-rate.on.r2{ border-color:#ef4444; background:#fef2f2; color:#b91c1c; }
  .ax-rate.on.r3{ border-color:#f59e0b; background:#fffbeb; color:#b45309; }
  /* sticky live repair estimate */
  .ax-repbar{ position:sticky; bottom:12px; z-index:5; margin-top:16px; display:flex; align-items:center; justify-content:space-between; gap:14px; background:#0f172a; color:#fff; border-radius:14px; padding:13px 18px; box-shadow:0 14px 34px rgba(2,32,71,.35); }
  .ax-repbar small{ display:block; font-size:.7rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; color:#94a3b8; }
  .ax-repbar b{ font-size:1.25rem; font-weight:900; letter-spacing:-.02em; }

  /* ── Report step ── */
  .ax-rep-hero{ background:linear-gradient(150deg,#06122a 0%, #0b2a72 60%, #0a57d6 130%); color:#fff; border-radius:20px; padding:28px 30px; margin-bottom:18px; position:relative; overflow:hidden; }
  .ax-rep-hero::after{ content:''; position:absolute; right:-60px; top:-60px; width:200px; height:200px; border-radius:50%; background:radial-gradient(circle, rgba(255,255,255,.14), transparent 70%); }
  .ax-rep-hero small{ display:block; font-size:.72rem; font-weight:800; letter-spacing:.16em; text-transform:uppercase; color:#aecbff; margin-bottom:6px; }
  .ax-rep-hero .v{ font-size:clamp(2rem,4vw,3rem); font-weight:900; letter-spacing:-.03em; line-height:1; }
  .ax-rep-hero .addr{ margin-top:8px; color:#bcd4ff; font-size:.92rem; font-weight:600; }
  .ax-rep-range{ margin-top:14px; }
  .ax-rep-range .bar{ height:8px; border-radius:99px; background:rgba(255,255,255,.18); position:relative; }
  .ax-rep-range .bar i{ position:absolute; left:18%; right:18%; top:0; bottom:0; border-radius:99px; background:linear-gradient(90deg,#5eead4,#5b9cff); }
  .ax-rep-range .lbls{ display:flex; justify-content:space-between; font-size:.78rem; color:#aecbff; font-weight:700; margin-top:6px; }
  .ax-rep-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:12px; }
  @media (max-width:1000px){ .ax-rep-grid{ grid-template-columns:1fr 1fr; } }
  .ax-stat{ background:#fff; border:1px solid var(--line); border-radius:14px; padding:16px 18px; }
  .ax-stat small{ display:block; font-size:.7rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; color:#94a3b8; margin-bottom:5px; }
  .ax-stat b{ font-size:1.35rem; font-weight:900; color:#0f172a; letter-spacing:-.02em; }
  .ax-stat span{ display:block; font-size:.78rem; color:var(--muted); margin-top:3px; }

  /* ── Valuation report (step 8): constrain the width + add depth so it reads
     as a polished report instead of sprawling edge-to-edge ── */
  #wzReport{ width:100%; }
  #wzReport .ax-stat{ box-shadow:0 8px 24px rgba(2,32,71,.05); transition:transform .18s, box-shadow .18s; }
  #wzReport .ax-stat:hover{ transform:translateY(-2px); box-shadow:0 16px 34px rgba(2,32,71,.10); }
  #wzReport .ax-strat{ transition:transform .18s, box-shadow .18s; }
  #wzReport .ax-strat:hover{ transform:translateY(-2px); box-shadow:0 16px 34px rgba(2,32,71,.10); }
  .ax-rep-head{ text-align:center; margin-bottom:14px; }
  .wz-rep-title{ font-size:clamp(1.5rem,2.4vw,2rem); font-weight:900; letter-spacing:-.03em; color:#0f172a; margin:8px 0 0; }
  .ax-rep-foot{ display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap;
    background:#f8fafc; border:1px solid var(--line); border-radius:14px; padding:16px 20px; margin-top:18px; }
  .ax-rep-foot .conf small{ display:block; font-size:.72rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase; color:#16a34a; margin-bottom:2px; }
  .ax-rep-foot .conf span{ font-size:.85rem; color:var(--muted); }
  /* "Request an Offer" CTA in the fixed bottom bar — shown only on the report */
  .wz-foot-offer{ display:inline-flex; align-items:center; gap:8px; padding:9px 22px; border-radius:8px; border:0;
    background:linear-gradient(135deg,#f97316,#ea580c); color:#fff; font-size:.85rem; font-weight:800; cursor:pointer; font-family:inherit;
    box-shadow:0 4px 12px rgba(234,88,12,.32); transition:transform .15s, filter .15s; }
  .wz-foot-offer:hover{ transform:translateY(-1px); filter:brightness(1.06); }
  .wz-foot-offer[hidden]{ display:none; }
  /* "List Property" CTA (self-list / third-party path) — marketplace purple */
  .wz-foot-list{ display:inline-flex; align-items:center; gap:8px; padding:9px 22px; border-radius:8px; border:0;
    background:linear-gradient(135deg,#7c3aed,#6d28d9); color:#fff; font-size:.85rem; font-weight:800; cursor:pointer; font-family:inherit;
    box-shadow:0 4px 12px rgba(109,40,217,.32); transition:transform .15s, filter .15s; }
  .wz-foot-list:hover{ transform:translateY(-1px); filter:brightness(1.06); }
  .wz-foot-list[hidden]{ display:none; }
  @media (max-width:600px){ .wz-foot-offer{ padding:9px 14px; } .wz-foot-list{ padding:9px 14px; } }

  /* ── Direct-seller gate modal (Request an Offer) ── */
  .ax-modal{ position:fixed; inset:0; z-index:120; display:none; align-items:center; justify-content:center; padding:20px;
    background:rgba(6,18,42,.55); -webkit-backdrop-filter:blur(3px); backdrop-filter:blur(3px); }
  .ax-modal.show{ display:flex; }
  .ax-modal-card{ position:relative; background:#fff; border-radius:20px; max-width:480px; width:100%; padding:32px 30px 24px; text-align:center;
    box-shadow:0 30px 70px rgba(2,32,71,.38); animation:wzfade .25s ease; }
  .ax-modal-ic{ width:62px; height:62px; border-radius:50%; background:#eff6ff; color:#0a57d6; display:flex; align-items:center; justify-content:center; font-size:1.5rem; margin:0 auto 14px; }
  .ax-modal-card h3{ font-size:1.4rem; font-weight:900; color:#0f172a; margin:0 0 8px; letter-spacing:-.02em; }
  .ax-modal-card > p{ color:var(--muted); font-size:.96rem; line-height:1.5; margin:0 auto 20px; max-width:380px; }
  .ax-modal-card > p b{ color:#0f172a; }
  .ax-modal-actions{ display:flex; flex-direction:column; gap:10px; }
  .ax-modal-btn{ display:inline-flex; align-items:center; justify-content:center; gap:9px; width:100%; padding:13px 18px; border-radius:10px; font-family:inherit; font-weight:800; font-size:.98rem; cursor:pointer; border:0; transition:filter .15s, background .15s; }
  .ax-modal-btn.primary{ background:linear-gradient(135deg,#0a57d6,#2563eb); color:#fff; box-shadow:0 8px 20px rgba(10,87,214,.3); }
  .ax-modal-btn.primary:hover{ filter:brightness(1.06); }
  .ax-modal-btn.ghost{ background:#fff; border:1.5px solid var(--line); color:#475569; }
  .ax-modal-btn.ghost:hover{ background:#f8fafc; }
  .ax-modal-foot{ margin:16px 0 0; font-size:.84rem; color:var(--muted); line-height:1.5; }
  .ax-modal-foot a{ color:var(--blue); font-weight:700; text-decoration:none; }
  .ax-modal-foot a:hover{ text-decoration:underline; }
  .ax-modal-x{ position:absolute; top:12px; right:14px; width:32px; height:32px; border-radius:50%; border:0; background:#f1f5f9; color:#64748b; font-size:1.2rem; line-height:1; cursor:pointer; }
  .ax-modal-x:hover{ background:#e2e8f0; color:#0f172a; }


  /* ── AUTO-FIT ── */
  .wz-pick{ min-height:clamp(140px, 24vh, 230px); }
  .wz-main{ padding:clamp(8px,1.2vh,14px) 22px clamp(8px,1.4vh,16px); }
  .wz-aside{ padding:clamp(14px,2.2vh,26px) 32px; }
  .wz-rail{ margin-top:clamp(10px,2vh,20px); }
  .rail-step{ padding-bottom:clamp(10px,1.8vh,18px); }
  @media (max-height:850px){
    .wz-tag{ margin-top:10px; font-size:1.15rem; }
    .rail-step:not(:last-child)::before{ top:34px; left:15px; }
    .rs-num{ width:32px;height:32px;flex:0 0 32px; font-size:13px; }
    .rs-tx b{ font-size:.92rem; } .rs-tx span{ font-size:.76rem; }
    .wz-head{ margin-bottom:10px; }
    .wz-head h1,.wz-head h2{ font-size:clamp(1.3rem,2vw,1.6rem); }
    .wz-head p{ font-size:.9rem; }
    .wz-methods{ margin-top:12px; padding-top:10px; } .wz-methods-head{ margin-bottom:8px; }
    .wz-method-tag{ padding:5px 10px; font-size:.72rem; }
    .lp-auth{ padding:20px 20px 16px; }
    .lp-auth .auth-title{ font-size:1.35rem; }
    .lp-auth .logo-sub{ margin-bottom:12px; font-size:.9rem; }
    .lp-auth .form-group{ margin-bottom:11px; }
    .lp-auth .form-group label{ margin-bottom:5px; font-size:.86rem; }
    .lp-auth .form-group input{ padding:11px 13px; font-size:.98rem; }
    .lp-auth .btn-auth{ padding:12px; }
  }
  @media (max-height:720px){
    .wz-methods{ display:none; }
    .wz-tagsub{ display:none; }
    .wz-pick-sub{ display:none; }
    .lp-auth .auth-footer{ display:none; }
  }

  /* ── MOBILE ── */
  @media (max-width:880px){
    .wz-shell{ grid-template-columns:minmax(0,1fr); } /* v8: plain 1fr grew to the content min-width → sideways scroll on phones */
    .wz-aside{ position:static; height:auto; padding:18px 18px 20px; flex-direction:row; align-items:center; justify-content:space-between; }
    .wz-aside::after{ display:none; }
    .wz-tag,.wz-tagsub,.wz-rail{ display:none; }
    .wz-phone-top{ display:inline-flex; color:#cfe0ff; font-weight:800; text-decoration:none; font-size:.9rem; align-items:center; gap:6px; }
    .wz-main{ padding:22px 16px 48px; max-width:100%; justify-content:flex-start; }
    .wz-shell{ min-height:0; }
    .wz-mb{ display:block; margin-bottom:22px; }
    .wz-mb-top{ display:flex; justify-content:space-between; align-items:baseline; margin-bottom:8px; }
    .wz-mb-step{ font-size:.74rem; font-weight:800; text-transform:uppercase; letter-spacing:.06em; color:var(--blue); }
    .wz-mb-lbl{ font-size:.92rem; font-weight:800; color:#0f172a; }
    .wz-mb-track{ height:7px; background:#e2e8f0; border-radius:99px; overflow:hidden; }
    .wz-mb-fill{ display:block; height:100%; width:20%; background:linear-gradient(90deg,var(--blue),#3b82f6); border-radius:99px; transition:width .3s; }
    .wz-choices{ grid-template-columns:minmax(0,1fr); gap:14px; }
    .wz-choices > .lp-auth{ order:-1; align-self:stretch; }
    .wz-pick{ min-height:230px; padding:22px; }
    .wz-pick.static{ min-height:170px; height:auto; }
    .wz-pick-title{ font-size:1.4rem; }
    .wz-card{ padding:20px; border-radius:16px; }
    .wz-methods-tags{ overflow-x:auto; -webkit-overflow-scrolling:touch; padding-bottom:4px; scrollbar-width:none; }
    .wz-methods-tags::-webkit-scrollbar{ display:none; }
    .wz-method-tag{ flex:0 0 auto; }
  }

  /* ── ADDRESS STEP ── */
  .ax-addr-row{ display:flex; gap:8px; }
  @media (max-width:560px){ .ax-addr-row{ flex-direction:column; } .ax-addr-row .bx-submit{ width:100%!important; } }

  /* ── DETAILS EDITOR ── */
  .ax-de-head{ background:linear-gradient(135deg,#0b2a72,#0a57d6); color:#fff; border-radius:16px; padding:16px 20px; margin-bottom:16px; }
  .ax-de-head h3{ margin:0 0 8px; font-size:1.15rem; font-weight:800; letter-spacing:-.02em; }
  .ax-de-stats{ display:flex; flex-wrap:wrap; gap:18px; }
  .ax-de-stats > div b{ display:block; font-size:1.05rem; font-weight:900; }
  .ax-de-stats > div span{ font-size:.66rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; color:#aecbff; }
  .ax-de-grid{ display:grid; grid-template-columns:1fr 1.6fr; gap:16px; align-items:start; }
  @media (max-width:900px){ .ax-de-grid{ grid-template-columns:minmax(0,1fr); } }
  .ax-de-col{ display:flex; flex-direction:column; gap:16px; }
  .ax-de-card{ background:#fff; border:1px solid var(--line); border-radius:16px; padding:16px 18px; box-shadow:0 8px 24px rgba(2,32,71,.05); }
  .ax-de-card-title{ font-size:.72rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; color:var(--blue); margin-bottom:10px; }
  .ax-de-card-title i{ margin-right:5px; }
  .ax-de-photo{ border-radius:14px; overflow:hidden; border:1px solid var(--line); height:190px; }
  .ax-de-photo img{ width:100%; height:100%; object-fit:cover; display:block; }
  .ax-de-rows, .ax-de-two > div{ display:flex; flex-direction:column; }
  .ax-de-two{ display:grid; grid-template-columns:1fr 1fr; gap:0 18px; }
  @media (max-width:560px){ .ax-de-two{ grid-template-columns:minmax(0,1fr); } }
  .ax-de-sub{ font-size:.66rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase; color:#2563eb; border-bottom:2px solid #dbeafe; padding-bottom:4px; margin:12px 0 2px; }
  .ax-de-row{ display:flex; justify-content:space-between; align-items:center; gap:8px; min-height:38px; border-bottom:1px solid #f1f5f9; font-size:.86rem; }
  .ax-de-row > span:first-child{ color:#64748b; flex-shrink:0; }
  .ax-de-money{ font-weight:600; color:#0f172a; }
  .ax-de-muted{ color:#94a3b8; font-weight:600; }
  .ax-de-edit{ border:none; background:transparent; text-align:right; font:inherit; color:#0f172a; font-weight:600; padding:5px 4px; border-radius:4px; max-width:130px; outline:none; transition:background .15s; }
  .ax-de-edit:hover{ background:#f1f5f9; } .ax-de-edit:focus{ background:#eff6ff; box-shadow:inset 0 -2px 0 #2563eb; }
  select.ax-de-edit{ cursor:pointer; }

  /* ── REVIEW STEP ── */
  .ax-seg{ display:flex; gap:8px; }
  .ax-seg-btn{ flex:1; padding:10px; border:1.5px solid var(--line); border-radius:10px; background:#fff; font:inherit; font-weight:700; font-size:.88rem; color:#475569; cursor:pointer; transition:.12s; }
  .ax-seg-btn.on{ background:var(--blue); border-color:var(--blue); color:#fff; }
  .ax-role-grid{ display:grid; grid-template-columns:1fr 1fr 1fr; gap:10px; }
  @media (max-width:700px){ .ax-role-grid{ grid-template-columns:minmax(0,1fr); } }
  .ax-role{ text-align:center; padding:16px 12px; border:2px solid var(--line); border-radius:14px; background:#fff; font:inherit; cursor:pointer; transition:.15s; }
  .ax-role:hover{ border-color:#93c5fd; }
  .ax-role.on{ border-color:var(--blue); background:#eff6ff; }
  .ax-role i{ font-size:1.5rem; color:#94a3b8; display:block; margin-bottom:8px; }
  .ax-role.on i{ color:var(--blue); }
  .ax-role b{ display:block; font-size:.95rem; color:#0f172a; }
  .ax-role span{ display:block; font-size:.74rem; color:#64748b; margin-top:3px; line-height:1.35; }
  /* Even vertical rhythm: the form drives spacing so every card/section is
     evenly separated instead of touching (cards) or floating loose (fields). */
  #wzReview .bx--page{ display:flex; flex-direction:column; gap:14px; }
  #wzReview .bx-page-head{ margin-bottom:2px; }
  #wzReview .ax-de-card{ margin:0; }
  /* Pair the two short top cards side by side to cut the tall single stack. */
  #wzReview .ax-rv-row{ display:grid; grid-template-columns:1fr 1fr; gap:14px; align-items:stretch; }
  @media (max-width:760px){ #wzReview .ax-rv-row{ grid-template-columns:minmax(0,1fr); } }
  /* Bare fields now live inside a titled card — keep their inner spacing tidy. */
  #wzReview .ax-rv-fields .bx-grid-3{ margin-bottom:14px; }
  #wzReview .ax-rv-fields .bx-field{ margin-bottom:0; }

  /* ── FINANCIAL STEP ── */
  .ax-fin-head{ display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:8px; }
  .ax-fin-toggle{ font-size:.84rem; font-weight:600; color:#475569; }
  .ax-fin-row{ background:#fafbff; border:1px solid var(--line); border-radius:12px; padding:12px; margin-bottom:10px; }
  .ax-fin-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:10px; }
  @media (max-width:700px){ .ax-fin-grid{ grid-template-columns:1fr 1fr; } }
  .ax-fin-grid label{ font-size:.72rem; color:#64748b; font-weight:600; display:block; }
  .ax-fin-grid input, .ax-fin-grid select{ width:100%; padding:8px 10px; border:1px solid var(--line); border-radius:8px; font:inherit; font-size:.88rem; outline:none; margin-top:3px; }
  .ax-add-btn{ background:none; border:none; color:var(--blue); font:inherit; font-weight:700; font-size:.86rem; cursor:pointer; padding:4px 0; }
  .ax-fin-sum{ display:grid; grid-template-columns:1fr 1fr 1fr; gap:12px; background:#0f172a; color:#fff; border-radius:14px; padding:14px 18px; margin-top:14px; }
  .ax-fin-sum small{ display:block; font-size:.66rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; color:#94a3b8; }
  .ax-fin-sum b{ font-size:1.2rem; font-weight:900; }

  /* ── CONDITION STEP ── */
  .ax-cond-layout{ display:grid; grid-template-columns:1fr 340px; gap:18px; align-items:start; }
  @media (max-width:1000px){ .ax-cond-layout{ grid-template-columns:minmax(0,1fr); } }
  .ax-cond-cards{ display:grid; grid-template-columns:1fr 1fr; gap:12px; }
  @media (max-width:700px){ .ax-cond-cards{ grid-template-columns:minmax(0,1fr); } }
  .ax-cat-head{ display:flex; align-items:center; gap:9px; font-weight:800; font-size:.9rem; color:#0f172a; margin-bottom:10px; }
  .ax-cat-head > span{ flex:1; }
  .ax-age{ font-size:.68rem; color:#64748b; font-weight:700; display:inline-flex; align-items:center; gap:5px; }
  .ax-age-in{ width:54px; padding:4px; border:1px solid var(--line); border-radius:6px; font:inherit; font-size:.8rem; text-align:center; }
  .ax-issues{ display:grid; grid-template-columns:1fr 1fr; gap:6px; margin-top:10px; }
  .ax-issue{ cursor:pointer; }
  .ax-issue input{ display:none; }
  .ax-issue span{ display:block; padding:6px 8px; border:1px solid var(--line); border-radius:7px; font-size:.72rem; color:#64748b; transition:.12s; }
  .ax-issue input:checked + span{ background:#fef2f2; border-color:#fca5a5; color:#b91c1c; font-weight:700; }
  .ax-cond-side{ position:sticky; top:12px; }
  .ax-side-card{ background:#fff; border:1px solid var(--line); border-radius:16px; padding:16px; box-shadow:0 14px 34px rgba(2,32,71,.10); }
  .ax-side-head{ display:flex; justify-content:space-between; align-items:center; border-bottom:1px solid var(--line); padding-bottom:8px; margin-bottom:8px; font-size:.95rem; }
  .ax-reset{ background:none; border:none; color:#ef4444; font:inherit; font-size:.74rem; font-weight:700; cursor:pointer; }
  .ax-li-list{ max-height:46vh; overflow-y:auto; margin-bottom:10px; }
  .ax-li{ display:flex; justify-content:space-between; gap:8px; font-size:.78rem; padding:6px 0; border-bottom:1px solid #f3f4f6; }
  .ax-li .ax-li-lbl{ color:#475569; flex:1; }
  .ax-li .ax-li-cost{ font-weight:700; color:#0f172a; }
  .ax-li-cat{ font-size:.62rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase; color:#94a3b8; margin:8px 0 2px; }
  .ax-li-empty{ color:#94a3b8; font-size:.78rem; font-style:italic; text-align:center; padding:14px 0; }
  .ax-side-total{ background:#f1f5f9; border-radius:12px; padding:12px; text-align:center; margin-bottom:12px; }
  .ax-side-total small{ display:block; font-size:.66rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; color:#64748b; }
  .ax-side-total b{ font-size:1.7rem; font-weight:900; color:var(--blue); }

  /* ── REPORT STRATEGIES ── */
  .ax-rep-sec{ font-size:1.05rem; font-weight:800; color:#0f172a; letter-spacing:-.02em; margin:20px 0 10px; }
  .ax-strat-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
  @media (max-width:760px){ .ax-strat-grid{ grid-template-columns:minmax(0,1fr); } }
  .ax-cf-cap{ margin:10px 2px 0; font-size:.8rem; color:var(--muted); line-height:1.45; }
  .ax-rent-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
  @media (max-width:760px){ .ax-rent-grid{ grid-template-columns:minmax(0,1fr); } }
  @media (max-width:800px){ .ax-strat-grid{ grid-template-columns:minmax(0,1fr); } }
  .ax-strat{ background:#fff; border:1px solid var(--line); border-radius:14px; padding:16px 18px; box-shadow:0 8px 24px rgba(2,32,71,.05); }
  .ax-strat-top{ font-size:.82rem; font-weight:800; color:#334155; margin-bottom:8px; }
  .ax-strat-top i{ color:var(--blue); margin-right:6px; }
  .ax-strat-net{ font-size:1.5rem; font-weight:900; color:#0f172a; letter-spacing:-.02em; }
  .ax-pos{ color:#059669 !important; }
  .ax-neg{ color:#dc2626 !important; }
  .ax-strat-meta{ display:flex; justify-content:space-between; gap:8px; margin-top:8px; font-size:.74rem; color:#64748b; }
  .ax-strat-meta b{ color:#0f172a; }

/* v8.85 report: "Sell it yourself on MLS9" net sheet step */
.ax-ns{ display:flex; align-items:center; gap:14px; margin:16px 0 4px; padding:16px 18px; background:#f5f9ff; border:1px solid #d6e6ff; border-radius:14px; }
.ax-ns[hidden]{ display:none; }
.ax-ns-ic{ flex:0 0 42px; height:42px; border-radius:12px; background:#fff; border:1px solid #d6e6ff; display:flex; align-items:center; justify-content:center; color:var(--blue); font-size:1.05rem; }
.ax-ns-txt{ flex:1; min-width:0; }
.ax-ns-txt small{ display:block; font-size:.7rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; color:var(--blue); margin-bottom:2px; }
.ax-ns-txt b{ display:block; font-size:1.15rem; font-weight:900; color:#0f172a; letter-spacing:-.02em; }
.ax-ns-txt span{ display:block; font-size:.82rem; color:var(--muted); margin-top:3px; line-height:1.45; }
.ax-ns-btn{ flex:0 0 auto; display:inline-flex; align-items:center; gap:8px; min-height:44px; padding:0 18px; border-radius:12px; background:#fff; border:1px solid var(--blue); color:var(--blue); font-weight:800; font-size:.88rem; text-decoration:none; white-space:nowrap; }
.ax-ns-btn:hover{ background:var(--blue); color:#fff; }
@media (max-width:640px){
  .ax-ns{ flex-wrap:wrap; }
  .ax-ns-ic{ align-self:flex-start; }
  .ax-ns-txt{ flex:1 1 calc(100% - 60px); }
  .ax-ns-btn{ flex:1 1 100%; justify-content:center; }
}
