/* === SALES OVERLAY (scoped via #sales-overlay-root) === */
  #sales-overlay-root, #sales-overlay-root * { box-sizing: border-box; }
  #sales-overlay-root {
    font-family: 'Inter', ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
    color: #f1f5f9;
    -webkit-font-smoothing: antialiased;
  }

  /* ---------- DESKTOP CARD ---------- */
  #sales-overlay-card {
    position: fixed;
    top: 50%;
    right: 16px;
    width: 340px;
    max-height: calc(100vh - 32px);  /* prevent overflow on short viewports */
    overflow-y: auto;
    scrollbar-width: thin;           /* Firefox */
    background: #0f172a;            /* slate-900 */
    color: #f1f5f9;
    border-radius: 16px;
    box-shadow: 0 20px 50px -12px rgba(2, 6, 23, 0.55), 0 8px 16px -8px rgba(2, 6, 23, 0.4);
    border: 1px solid rgba(16, 185, 129, 0.18);
    padding: 20px 20px 18px;
    z-index: 2147483646;
    transform: translate(120%, -50%); /* off-screen right, vertically centered */
    opacity: 0;
    transition: transform .55s cubic-bezier(.22,.9,.32,1), opacity .4s ease;
  }
  #sales-overlay-card::-webkit-scrollbar { width: 4px; }
  #sales-overlay-card::-webkit-scrollbar-thumb { background: rgba(148,163,184,0.3); border-radius: 4px; }
  #sales-overlay-card.so-show {
    transform: translate(0, -50%);   /* vertically centered, fully on-screen */
    opacity: 1;
  }
  #sales-overlay-card .so-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: #34d399;                 /* emerald-400 */
    margin-bottom: 8px;
  }
  #sales-overlay-card .so-eyebrow::before {
    content: "";
    width: 7px; height: 7px;
    background: #10b981;
    border-radius: 50%;
    box-shadow: 0 0 0 3px rgba(16,185,129,0.18);
  }
  #sales-overlay-card h3 {
    margin: 0 0 6px;
    font-size: 19px;
    font-weight: 800;
    line-height: 1.25;
    letter-spacing: -0.01em;
    color: #ffffff;
  }
  #sales-overlay-card .so-sub {
    margin: 0 0 14px;
    font-size: 13px;
    line-height: 1.45;
    color: #cbd5e1;                 /* slate-300 */
  }
  #sales-overlay-card .so-price-row {
    display: flex;
    align-items: baseline;
    gap: 6px;
    margin-bottom: 10px;
  }
  #sales-overlay-card .so-price {
    font-size: 28px;
    font-weight: 800;
    color: #ffffff;
    letter-spacing: -0.02em;
  }
  #sales-overlay-card .so-price-suffix {
    font-size: 13px;
    color: #94a3b8;                 /* slate-400 */
    font-weight: 500;
  }
  #sales-overlay-card .so-bullets {
    list-style: none;
    margin: 0 0 14px;
    padding: 0;
    display: grid;
    gap: 5px;
  }
  #sales-overlay-card .so-bullets li {
    font-size: 12.5px;
    color: #e2e8f0;                 /* slate-200 */
    display: flex;
    align-items: flex-start;
    gap: 7px;
    line-height: 1.35;
  }
  #sales-overlay-card .so-bullets li::before {
    content: "";
    flex: 0 0 14px;
    width: 14px; height: 14px;
    margin-top: 2px;
    background: #10b981;
    -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='black'><path fill-rule='evenodd' d='M16.7 5.3a1 1 0 010 1.4l-7.4 7.4a1 1 0 01-1.4 0L3.3 9.5a1 1 0 011.4-1.4l3.9 3.9 6.7-6.7a1 1 0 011.4 0z' clip-rule='evenodd'/></svg>") center/contain no-repeat;
            mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='black'><path fill-rule='evenodd' d='M16.7 5.3a1 1 0 010 1.4l-7.4 7.4a1 1 0 01-1.4 0L3.3 9.5a1 1 0 011.4-1.4l3.9 3.9 6.7-6.7a1 1 0 011.4 0z' clip-rule='evenodd'/></svg>") center/contain no-repeat;
  }
  #sales-overlay-card .so-cta {
    display: block;
    width: 100%;
    text-align: center;
    background: #10b981;             /* emerald-500 */
    color: #03241b;
    font-weight: 800;
    font-size: 14px;
    padding: 11px 12px;
    border-radius: 10px;
    text-decoration: none;
    letter-spacing: -0.005em;
    transition: background .2s ease, transform .15s ease;
    box-shadow: 0 6px 18px -4px rgba(16,185,129,0.45);
  }
  #sales-overlay-card .so-cta:hover {
    background: #34d399;
    transform: translateY(-1px);
  }
  #sales-overlay-card .so-microcopy {
    margin: 9px 0 0;
    font-size: 11px;
    text-align: center;
    color: #94a3b8;
    line-height: 1.4;
  }
  #sales-overlay-card .so-secondary {
    display: block;
    text-align: center;
    margin-top: 8px;
    font-size: 11.5px;
    color: #94a3b8;
    text-decoration: underline;
    text-underline-offset: 2px;
  }
  #sales-overlay-card .so-secondary:hover { color: #cbd5e1; }
  #sales-overlay-card .so-close {
    position: absolute;
    top: 8px; right: 8px;
    width: 28px; height: 28px;
    border: 0;
    background: transparent;
    color: #64748b;
    border-radius: 8px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background .15s, color .15s;
  }
  #sales-overlay-card .so-close:hover {
    background: rgba(148,163,184,0.12);
    color: #e2e8f0;
  }
  #sales-overlay-card .so-close svg { width: 14px; height: 14px; }

  /* ---------- DESKTOP COLLAPSED PILL ---------- */
  #sales-overlay-pill {
    position: fixed;
    top: 50%;
    right: 16px;
    transform: translateY(-50%);
    background: #0f172a;
    color: #ffffff;
    font-size: 13px;
    font-weight: 700;
    padding: 10px 14px;
    border-radius: 999px;
    border: 1px solid rgba(16,185,129,0.35);
    box-shadow: 0 10px 24px -8px rgba(2,6,23,0.5);
    cursor: pointer;
    z-index: 2147483646;
    display: none;
    align-items: center;
    gap: 8px;
    transition: transform .2s ease, background .2s ease;
  }
  #sales-overlay-pill:hover { transform: translateY(calc(-50% - 1px)); background: #1e293b; }
  #sales-overlay-pill.so-show { display: inline-flex; }
  #sales-overlay-pill .so-pill-dot {
    width: 7px; height: 7px;
    background: #10b981;
    border-radius: 50%;
    box-shadow: 0 0 0 3px rgba(16,185,129,0.2);
  }

  /* ---------- MOBILE SLIDE-UP MODAL ---------- */
  /* Backdrop stops 80px above viewport bottom so the host's sticky tel: call-bar
     remains fully visible AND tappable while the sheet is open. */
  #sales-overlay-mobile {
    position: fixed;
    left: 0; right: 0;
    top: 0;
    bottom: 80px;
    z-index: 2147483645;
    background: rgba(2, 6, 23, 0.55);
    display: none;
    align-items: flex-end;
    justify-content: center;
    transition: opacity .25s ease;
    opacity: 0;
  }
  #sales-overlay-mobile.so-show {
    display: flex;
    opacity: 1;
  }
  #sales-overlay-mobile .so-sheet {
    width: 100%;
    background: #0f172a;
    color: #f1f5f9;
    border-top-left-radius: 18px;
    border-top-right-radius: 18px;
    padding: 18px 18px 22px;
    box-shadow: 0 -10px 30px -8px rgba(0,0,0,0.5);
    transform: translateY(100%);
    transition: transform .35s cubic-bezier(.22,.9,.32,1);
    max-height: 86vh;
    overflow-y: auto;
  }
  #sales-overlay-mobile.so-show .so-sheet { transform: translateY(0); }
  #sales-overlay-mobile .so-sheet h3 {
    margin: 0 0 6px;
    font-size: 19px;
    font-weight: 800;
    color: #fff;
    line-height: 1.25;
  }
  #sales-overlay-mobile .so-sheet .so-sub {
    margin: 0 0 12px;
    font-size: 13.5px;
    color: #cbd5e1;
    line-height: 1.45;
  }
  #sales-overlay-mobile .so-grip {
    width: 38px; height: 4px;
    background: #334155;
    border-radius: 999px;
    margin: 0 auto 12px;
  }
  #sales-overlay-mobile .so-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: #34d399;
    margin-bottom: 8px;
  }
  #sales-overlay-mobile .so-eyebrow::before {
    content: "";
    width: 7px; height: 7px;
    background: #10b981;
    border-radius: 50%;
    box-shadow: 0 0 0 3px rgba(16,185,129,0.18);
  }
  #sales-overlay-mobile .so-price-row {
    display: flex;
    align-items: baseline;
    gap: 6px;
    margin-bottom: 10px;
  }
  #sales-overlay-mobile .so-price {
    font-size: 30px;
    font-weight: 800;
    color: #fff;
    letter-spacing: -0.02em;
  }
  #sales-overlay-mobile .so-price-suffix {
    font-size: 13px;
    color: #94a3b8;
    font-weight: 500;
  }
  #sales-overlay-mobile .so-bullets {
    list-style: none;
    margin: 0 0 14px;
    padding: 0;
    display: grid;
    gap: 6px;
  }
  #sales-overlay-mobile .so-bullets li {
    font-size: 13px;
    color: #e2e8f0;
    display: flex;
    gap: 8px;
    line-height: 1.4;
  }
  #sales-overlay-mobile .so-bullets li::before {
    content: "";
    flex: 0 0 14px;
    width: 14px; height: 14px;
    margin-top: 2px;
    background: #10b981;
    -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='black'><path fill-rule='evenodd' d='M16.7 5.3a1 1 0 010 1.4l-7.4 7.4a1 1 0 01-1.4 0L3.3 9.5a1 1 0 011.4-1.4l3.9 3.9 6.7-6.7a1 1 0 011.4 0z' clip-rule='evenodd'/></svg>") center/contain no-repeat;
            mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='black'><path fill-rule='evenodd' d='M16.7 5.3a1 1 0 010 1.4l-7.4 7.4a1 1 0 01-1.4 0L3.3 9.5a1 1 0 011.4-1.4l3.9 3.9 6.7-6.7a1 1 0 011.4 0z' clip-rule='evenodd'/></svg>") center/contain no-repeat;
  }
  #sales-overlay-mobile .so-cta {
    display: block;
    width: 100%;
    text-align: center;
    background: #10b981;
    color: #03241b;
    font-weight: 800;
    font-size: 15px;
    padding: 13px 12px;
    border-radius: 12px;
    text-decoration: none;
    box-shadow: 0 6px 18px -4px rgba(16,185,129,0.45);
  }
  #sales-overlay-mobile .so-microcopy {
    margin: 10px 0 0;
    font-size: 11.5px;
    text-align: center;
    color: #94a3b8;
    line-height: 1.4;
  }
  #sales-overlay-mobile .so-close {
    position: absolute;
    top: 10px; right: 10px;
    width: 32px; height: 32px;
    border: 0;
    background: rgba(148,163,184,0.12);
    color: #cbd5e1;
    border-radius: 999px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  #sales-overlay-mobile .so-close svg { width: 14px; height: 14px; }
  #sales-overlay-mobile .so-sheet-inner { position: relative; }
  /* sheet's own padding now stays compact — backdrop ends above the host call-bar */
  /* hide desktop card on small screens, show mobile only on small screens */
  @media (max-width: 767.98px) {
    #sales-overlay-card { display: none !important; }
    /* Mobile pill: bottom-right above the host's sticky tel: call-bar (80px clearance) */
    #sales-overlay-pill {
      top: auto;
      bottom: 88px;
      right: 12px;
      transform: none;
      font-size: 12px;
      padding: 9px 13px;
    }
    #sales-overlay-pill:hover { transform: translateY(-1px); background: #1e293b; }
  }
  @media (min-width: 768px) {
    #sales-overlay-mobile { display: none !important; }
  }