/* ==========================================================================
   Drivee — ticket scan widget, light theme
   The scan → verdict → lawyers → lead funnel from the redesign
   (assets/js/scanner.js), restyled for the light landing page.

   Every rule is scoped under .dv-scan: desktop.html already has its own
   .btn-primary, .pill, .eyebrow and .card-ish classes, and the widget must
   not restyle them, nor be restyled by them.
   ========================================================================== */

.dv-scan{
  --s-paper:   #FFFFFF;
  --s-soft:    #F5F7FC;
  --s-soft-2:  #EEF2FB;
  --s-line:    rgba(11,20,48,.10);
  --s-line-2:  rgba(11,20,48,.18);
  --s-ink:     #0B1430;
  --s-ink-2:   #4A5267;
  --s-ink-3:   #6B7487;
  --s-blue:    #2D63F0;
  --s-blue-d:  #1B45C2;
  --s-blue-50: #EAF0FD;
  --s-amber:   #E89B22;
  --s-amber-d: #8A5A12;
  --s-amber-50:#FDF3E2;
  --s-green:   #15803D;
  --s-green-50:#E8F6EE;
  --s-red:     #C2342B;
  --s-red-50:  #FDECEA;
  --s-mono:    'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo, monospace;
  --s-r-sm:    10px;
  --s-r:       16px;
  --s-r-lg:    22px;

  position:relative; text-align:left; color:var(--s-ink);
  font-size:16px; line-height:1.6;
}
.dv-scan *, .dv-scan *::before, .dv-scan *::after{ box-sizing:border-box; }
.dv-scan h3, .dv-scan h4{ margin:0; font-weight:800; letter-spacing:-.02em; line-height:1.15; color:var(--s-ink); }
.dv-scan h3{ font-size:clamp(20px,2.4vw,26px); }
.dv-scan p{ margin:0; }
.dv-scan a{ color:inherit; }
.dv-scan button{ font:inherit; }
.dv-scan [hidden]{ display:none !important; }

/* ── shared bits the funnel renders ──────────────────────────────── */
.dv-scan .mono{ font-family:var(--s-mono); }
.dv-scan .lede{ font-size:16px; color:var(--s-ink-2); line-height:1.62; }
.dv-scan .center{ text-align:center; }
.dv-scan .mt-16{ margin-top:16px; } .dv-scan .mt-24{ margin-top:24px; } .dv-scan .mt-32{ margin-top:32px; }
.dv-scan .sr-only{
  position:absolute; width:1px; height:1px; padding:0; margin:-1px;
  overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0;
}

.dv-scan .eyebrow{
  font-family:var(--s-mono); font-size:11.5px; font-weight:700;
  letter-spacing:.2em; text-transform:uppercase; color:var(--s-blue);
  display:flex; align-items:center; gap:10px; margin:0; padding:0; background:none; border:0;
}
.dv-scan .eyebrow::before{ content:''; width:26px; height:1px; background:currentColor; opacity:.6; flex:none; }
.dv-scan .eyebrow-amber{ color:var(--s-amber-d); }

.dv-scan .btn{
  display:inline-flex; align-items:center; justify-content:center; gap:9px;
  padding:14px 24px; border-radius:100px; border:1px solid transparent;
  font-size:15px; font-weight:700; letter-spacing:-.01em; line-height:1.2;
  cursor:pointer; text-align:center; text-decoration:none;
  transition:transform .18s cubic-bezier(.2,.8,.3,1), box-shadow .22s, background .22s, border-color .22s;
}
.dv-scan .btn:active{ transform:translateY(1px) scale(.99); }
.dv-scan .btn-primary{ background:var(--s-blue); color:#fff; box-shadow:0 8px 22px rgba(45,99,240,.28); }
.dv-scan .btn-primary:hover{ background:var(--s-blue-d); }
.dv-scan .btn-amber{ background:var(--s-amber); color:#231605; box-shadow:0 8px 22px rgba(232,155,34,.30); }
.dv-scan .btn-amber:hover{ background:#D98C14; }
.dv-scan .btn-ghost{ background:var(--s-paper); color:var(--s-ink); border-color:var(--s-line-2); }
.dv-scan .btn-ghost:hover{ border-color:var(--s-blue); color:var(--s-blue-d); }
.dv-scan .btn-lg{ padding:16px 30px; font-size:16px; }
.dv-scan .btn-sm{ padding:10px 18px; font-size:13.5px; }
.dv-scan .btn-block{ width:100%; }
.dv-scan .btn[disabled]{ opacity:.55; cursor:not-allowed; transform:none !important; }

.dv-scan .card{
  background:var(--s-paper); border:1px solid var(--s-line);
  border-radius:var(--s-r-lg); position:relative; overflow:hidden;
  box-shadow:0 18px 48px rgba(11,20,48,.08);
}
.dv-scan .card-pad{ padding:clamp(20px,3vw,30px); }

.dv-scan .pill{
  display:inline-flex; align-items:center; gap:8px;
  padding:6px 13px; border-radius:100px;
  font-family:var(--s-mono); font-size:11px; font-weight:700;
  letter-spacing:.1em; text-transform:uppercase;
  color:var(--s-blue-d); background:var(--s-blue-50); border:1px solid rgba(45,99,240,.22);
}
.dv-scan .dot{ width:7px; height:7px; border-radius:50%; background:var(--s-green); flex:none; }
.dv-scan .dot-pulse{ animation:dvScanPulse 2s ease-in-out infinite; }
@keyframes dvScanPulse{
  0%,100%{ box-shadow:0 0 0 0 rgba(21,128,61,.45); }
  50%    { box-shadow:0 0 0 7px rgba(21,128,61,0); }
}

/* ── dropzone ────────────────────────────────────────────────────── */
.dv-scan .intake{ position:relative; }
.dv-scan .dropzone{
  position:relative; width:100%;
  display:flex; flex-direction:column; align-items:center; gap:13px;
  padding:clamp(28px,4vw,44px) clamp(18px,3vw,34px);
  border-radius:28px; border:2px dashed rgba(45,99,240,.35);
  background:var(--s-paper); cursor:pointer; text-align:center;
  box-shadow:0 22px 60px rgba(11,20,48,.10);
  transition:border-color .22s, transform .22s cubic-bezier(.2,.8,.3,1), box-shadow .22s, background .22s;
}
.dv-scan .dropzone:hover,
.dv-scan .dropzone:focus-visible{
  border-color:var(--s-blue); transform:translateY(-3px); outline:none;
  box-shadow:0 28px 70px rgba(11,20,48,.14), 0 0 0 5px rgba(45,99,240,.12);
}
.dv-scan .dropzone.over{ border-color:var(--s-amber); border-style:solid; background:var(--s-amber-50); transform:scale(1.015); }

.dv-scan .dz-ic{
  width:62px; height:62px; border-radius:19px; display:grid; place-items:center;
  background:linear-gradient(160deg,#3E72FF,var(--s-blue-d));
  box-shadow:0 12px 28px rgba(45,99,240,.35);
}
.dv-scan .dz-ic svg{ width:29px; height:29px; stroke:#fff; }
.dv-scan .dz-title{ font-size:clamp(19px,2.3vw,23px); font-weight:800; letter-spacing:-.025em; }
.dv-scan .dz-sub{ font-size:14.5px; color:var(--s-ink-2); max-width:36ch; }
.dv-scan .dz-or{
  display:flex; align-items:center; gap:12px; width:100%;
  font-family:var(--s-mono); font-size:10.5px; letter-spacing:.2em;
  text-transform:uppercase; color:var(--s-ink-3);
}
.dv-scan .dz-or::before, .dv-scan .dz-or::after{ content:''; flex:1; height:1px; background:var(--s-line); }
.dv-scan .dz-actions{ display:flex; flex-wrap:wrap; gap:10px; justify-content:center; width:100%; }
.dv-scan .dz-note{ display:flex; align-items:center; gap:7px; font-size:12px; color:var(--s-ink-3); }

/* once a verdict is up, the dropzone shrinks to a "scan another" bar */
.dv-scan .intake.has-result .dropzone{
  flex-direction:row; flex-wrap:wrap; gap:12px; padding:13px 18px;
  border-radius:var(--s-r); border-style:solid; border-color:var(--s-line);
  box-shadow:none; text-align:left;
}
.dv-scan .intake.has-result .dz-ic{ width:38px; height:38px; border-radius:11px; }
.dv-scan .intake.has-result .dz-ic svg{ width:19px; height:19px; }
.dv-scan .intake.has-result .dz-title{ font-size:15px; }
.dv-scan .intake.has-result .dz-sub,
.dv-scan .intake.has-result .dz-or,
.dv-scan .intake.has-result .dz-actions,
.dv-scan .intake.has-result .dz-note{ display:none; }

/* ── scan stage: loading / error / done ──────────────────────────── */
.dv-scan .scan-stage{ margin-top:20px; position:relative; }
.dv-scan .scan-steps{ display:flex; flex-direction:column; gap:12px; }
.dv-scan .scan-step{
  display:flex; align-items:center; gap:12px; font-size:14.5px;
  color:var(--s-ink-3); opacity:.5; transition:opacity .4s, color .4s;
}
.dv-scan .scan-step.on{ opacity:1; color:var(--s-ink); }
.dv-scan .scan-step-n{
  font-family:var(--s-mono); font-size:11px; font-weight:700;
  width:28px; height:28px; border-radius:9px; display:grid; place-items:center;
  background:var(--s-soft); border:1px solid var(--s-line); flex:none;
}
.dv-scan .scan-step.on .scan-step-n{ background:var(--s-blue-50); border-color:rgba(45,99,240,.35); color:var(--s-blue-d); }
.dv-scan .scan-bar{ height:3px; border-radius:3px; background:var(--s-soft-2); overflow:hidden; margin-top:22px; }
.dv-scan .scan-bar i{
  display:block; height:100%; width:38%; border-radius:3px;
  background:linear-gradient(90deg,var(--s-blue),var(--s-amber));
  animation:dvScanSlide 1.5s cubic-bezier(.5,0,.5,1) infinite;
}
@keyframes dvScanSlide{ 0%{ transform:translateX(-100%);} 100%{ transform:translateX(330%);} }
.dv-scan .scan-hint{ font-size:11.5px; color:var(--s-ink-3); margin-top:12px; letter-spacing:.08em; text-transform:uppercase; }

.dv-scan .scan-err{ text-align:center; }
.dv-scan .scan-err .lede{ margin-top:10px; }
.dv-scan .scan-err-ic{
  width:48px; height:48px; border-radius:50%; margin:0 auto 16px; display:grid; place-items:center;
  background:var(--s-red-50); border:1px solid rgba(194,52,43,.3); color:var(--s-red); font-size:24px; font-weight:800;
}
.dv-scan .scan-done .done-ic{
  width:60px; height:60px; border-radius:50%; margin:0 auto 18px; display:grid; place-items:center;
  background:var(--s-green-50); border:1px solid rgba(21,128,61,.3); color:var(--s-green); font-size:30px;
}
.dv-scan .done-next{ display:flex; flex-wrap:wrap; gap:10px; justify-content:center; }

/* ── verdict ─────────────────────────────────────────────────────── */
.dv-scan .verdict-head{
  display:flex; align-items:center; justify-content:space-between; gap:12px;
  padding:14px clamp(18px,3vw,28px); border-bottom:1px solid var(--s-line); background:var(--s-soft);
}
.dv-scan .verdict-ref{ font-size:11.5px; color:var(--s-ink-3); letter-spacing:.1em; }
.dv-scan .verdict-body{ padding:clamp(20px,3vw,30px); }
.dv-scan .verdict-badge{
  display:inline-block; padding:6px 14px; border-radius:100px; margin-bottom:14px;
  font-family:var(--s-mono); font-size:11px; font-weight:800; letter-spacing:.15em; text-transform:uppercase;
}
.dv-scan .verdict[data-tone="red"]   .verdict-badge{ background:var(--s-red-50);   color:var(--s-red);     border:1px solid rgba(194,52,43,.3); }
.dv-scan .verdict[data-tone="amber"] .verdict-badge{ background:var(--s-amber-50); color:var(--s-amber-d); border:1px solid rgba(232,155,34,.4); }
.dv-scan .verdict[data-tone="green"] .verdict-badge{ background:var(--s-green-50); color:var(--s-green);   border:1px solid rgba(21,128,61,.3); }
.dv-scan .verdict-h{ margin-bottom:12px; }
.dv-scan .verdict-why{ margin-top:10px; font-size:14px; color:var(--s-ink-3); line-height:1.6; }

.dv-scan .td-grid{
  display:grid; grid-template-columns:repeat(auto-fit,minmax(170px,1fr)); gap:0;
  background:var(--s-paper); border:1px solid var(--s-line); border-radius:var(--s-r); overflow:hidden;
}
/* hairlines drawn per cell, so an odd field count leaves no grey filler cell */
.dv-scan .td-row{ display:flex; flex-direction:column; gap:4px; padding:12px 15px; background:var(--s-paper); box-shadow:0 0 0 .5px var(--s-line); }
.dv-scan .td-l{ font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:var(--s-ink-3); font-weight:700; }
.dv-scan .td-v{ font-size:15px; font-weight:700; overflow-wrap:anywhere; }

.dv-scan .conf-warn{
  margin-bottom:18px; padding:12px 15px; border-radius:var(--s-r-sm); font-size:13.5px; line-height:1.6;
  background:var(--s-amber-50); border:1px solid rgba(232,155,34,.4); color:#5C3D0B;
}
.dv-scan .conf-warn strong{ color:var(--s-amber-d); }
.dv-scan .conf-warn.conf-low{ background:var(--s-red-50); border-color:rgba(194,52,43,.3); color:#7A1F19; }
.dv-scan .conf-warn.conf-low strong{ color:var(--s-red); }

.dv-scan .tag-exact, .dv-scan .tag-est{
  display:inline-block; margin-left:7px; padding:2px 7px; border-radius:100px;
  font-family:var(--s-mono); font-size:9.5px; font-weight:700;
  letter-spacing:.1em; text-transform:uppercase; vertical-align:middle;
}
.dv-scan .tag-exact{ background:var(--s-green-50); color:var(--s-green); border:1px solid rgba(21,128,61,.3); }
.dv-scan .tag-est{ background:var(--s-soft-2); color:var(--s-ink-3); border:1px solid var(--s-line); }

.dv-scan .src-note{ font-size:11.5px; color:var(--s-ink-3); margin-top:10px; line-height:1.55; }
.dv-scan .offence-note{
  margin-top:16px; padding:13px 16px; border-left:2px solid var(--s-blue);
  background:var(--s-blue-50); border-radius:0 var(--s-r-sm) var(--s-r-sm) 0;
  font-size:13.5px; color:var(--s-ink-2); line-height:1.6;
}
.dv-scan .regime-note{ font-size:14px; color:var(--s-ink-2); line-height:1.65; }
.dv-scan .regime-dead{ margin-top:10px; font-size:13.5px; color:var(--s-amber-d); font-weight:600; }
.dv-scan .oop-note{
  margin-top:18px; padding:13px 16px; border-radius:var(--s-r-sm);
  background:var(--s-soft); border:1px solid var(--s-line);
  font-size:13.5px; color:var(--s-ink-2); line-height:1.65;
}

/* late-fee ladder */
.dv-scan .fee-block{ margin-top:26px; }
.dv-scan .block-h{ font-size:16px; font-weight:800; letter-spacing:-.02em; margin-bottom:12px; }
.dv-scan .fee-rows{ border:1px solid var(--s-line); border-radius:var(--s-r); overflow:hidden; }
.dv-scan .fee-row{
  display:grid; grid-template-columns:90px 1fr auto; gap:12px; align-items:center;
  padding:11px 15px; border-bottom:1px solid var(--s-line); font-size:14px; background:var(--s-paper);
}
.dv-scan .fee-row:last-child{ border-bottom:0; }
.dv-scan .fee-row.now{ background:var(--s-green-50); }
.dv-scan .fee-when{ font-size:11.5px; color:var(--s-ink-3); font-weight:700; }
.dv-scan .fee-note{ color:var(--s-ink-2); }
.dv-scan .fee-total{ font-weight:800; font-size:15px; }
.dv-scan .fee-row:last-child .fee-total{ color:var(--s-red); }

/* what it actually costs */
.dv-scan .cost-block{ margin-top:26px; }
.dv-scan .cost-rows{ border:1px solid var(--s-line); border-radius:var(--s-r); overflow:hidden; }
.dv-scan .cost-row{
  display:flex; align-items:center; justify-content:space-between; gap:14px;
  padding:11px 15px; border-bottom:1px solid var(--s-line); background:var(--s-paper); font-size:14px;
}
.dv-scan .cost-row:last-child{ border-bottom:0; }
.dv-scan .cost-l{ color:var(--s-ink-2); }
.dv-scan .cost-v{ font-weight:800; font-size:15px; white-space:nowrap; }
.dv-scan .cost-row.cost-total{ background:var(--s-red-50); }
.dv-scan .cost-row.cost-total .cost-v{ color:var(--s-red); }
.dv-scan .cost-row.cost-rep{ background:var(--s-green-50); }
.dv-scan .cost-row.cost-rep .cost-v{ color:var(--s-green); }
.dv-scan .cost-callout{
  margin-top:14px; padding:12px 15px; border-radius:var(--s-r-sm); font-size:14px; line-height:1.6;
  color:var(--s-ink-2); background:var(--s-soft); border:1px solid var(--s-line);
}
.dv-scan .cost-callout.pays{ background:var(--s-green-50); border-color:rgba(21,128,61,.3); color:#14532D; }

.dv-scan .cta-band{
  margin-top:28px; padding:20px; border-radius:var(--s-r-lg);
  background:linear-gradient(135deg, var(--s-amber-50), var(--s-blue-50));
  border:1px solid rgba(232,155,34,.35);
  display:flex; flex-wrap:wrap; gap:16px; align-items:center; justify-content:space-between;
}
.dv-scan .cta-sub{ font-size:14px; color:var(--s-ink-2); margin-top:5px; max-width:46ch; }

/* ── lawyers ─────────────────────────────────────────────────────── */
.dv-scan .verdict-lawyer{ margin-top:28px; }
.dv-scan .lv-back{
  background:none; border:0; padding:0; cursor:pointer;
  font-size:13.5px; font-weight:600; color:var(--s-ink-3); transition:color .18s;
}
.dv-scan .lv-back:hover{ color:var(--s-blue); }
.dv-scan .firms-intro{ font-size:14px; color:var(--s-ink-2); margin-top:12px; line-height:1.6; }
.dv-scan .price-hint{
  margin-top:16px; padding:12px 15px; border-radius:var(--s-r-sm);
  background:var(--s-soft); border:1px solid var(--s-line);
  font-size:13.5px; color:var(--s-ink-2); line-height:1.6;
}
.dv-scan .price-hint strong{ color:var(--s-ink); }

.dv-scan .firm-list{ display:flex; flex-direction:column; gap:10px; }
.dv-scan .firm{
  display:block; width:100%; text-align:left; cursor:pointer; color:var(--s-ink);
  padding:16px 18px; border-radius:var(--s-r); background:var(--s-paper); border:1px solid var(--s-line);
  transition:border-color .2s, transform .2s cubic-bezier(.2,.8,.3,1);
}
.dv-scan .firm:hover{ border-color:rgba(45,99,240,.5); transform:translateX(3px); }
.dv-scan .firm-top{ display:flex; align-items:center; gap:12px; }
.dv-scan .firm-name{ font-weight:800; font-size:16px; letter-spacing:-.02em; }
.dv-scan .firm-from{ margin-left:auto; font-size:12.5px; color:var(--s-amber-d); font-weight:700; }
.dv-scan .firm-arrow{ color:var(--s-ink-3); font-size:20px; line-height:1; }
.dv-scan .firm-claim{ font-size:13.5px; color:var(--s-ink-2); margin-top:7px; font-style:italic; }
.dv-scan .firm-perks{ display:flex; flex-wrap:wrap; gap:6px; margin-top:11px; }
.dv-scan .firm-perk{
  font-size:11px; font-weight:700; padding:4px 10px; border-radius:100px;
  background:var(--s-soft); border:1px solid var(--s-line); color:var(--s-ink-2);
}
.dv-scan .firm-perk.firm-licence{ background:var(--s-blue-50); border-color:rgba(45,99,240,.25); color:var(--s-blue-d); }
.dv-scan .firm-est{ font-size:13.5px; color:var(--s-green); font-weight:700; margin-top:10px; }
.dv-scan .firm-quote{
  margin:16px 0 0; padding:13px 17px; border-left:2px solid var(--s-amber);
  background:var(--s-amber-50); border-radius:0 var(--s-r-sm) var(--s-r-sm) 0;
  font-style:italic; color:var(--s-ink-2); font-size:14.5px;
}
.dv-scan .firm-quote cite{ display:block; margin-top:8px; font-style:normal; font-size:11.5px; color:var(--s-ink-3); }
.dv-scan .fact-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:10px; margin-top:20px; }
.dv-scan .fact{ display:flex; flex-direction:column; gap:4px; padding:12px 14px; border-radius:var(--s-r-sm); background:var(--s-soft); border:1px solid var(--s-line); }
.dv-scan .fact-l{ font-size:11px; letter-spacing:.09em; text-transform:uppercase; color:var(--s-ink-3); font-weight:700; }
.dv-scan .fact-v{ font-size:13.5px; font-weight:600; }
.dv-scan .reviews-link{
  display:flex; align-items:center; gap:13px; margin-top:18px; text-decoration:none;
  padding:13px 16px; border-radius:var(--s-r); font-size:14px;
  background:var(--s-paper); border:1px solid var(--s-line); transition:border-color .2s;
}
.dv-scan .reviews-link:hover{ border-color:var(--s-line-2); }
.dv-scan .reviews-link small{ color:var(--s-ink-3); font-size:12px; }
.dv-scan .reviews-star{ color:var(--s-amber); font-size:19px; }
.dv-scan .reviews-arrow{ margin-left:auto; color:var(--s-ink-3); }

.dv-scan .partner-card{
  padding:20px 20px 18px; border-radius:var(--s-r);
  background:linear-gradient(180deg, var(--s-amber-50), var(--s-paper) 70%);
  border:1px solid rgba(232,155,34,.5);
}
.dv-scan .partner-top{ display:flex; align-items:center; gap:12px; }
.dv-scan .partner-badge{
  font-size:11px; font-weight:800; letter-spacing:.08em; text-transform:uppercase;
  color:#231605; background:var(--s-amber); padding:4px 9px; border-radius:999px;
}
.dv-scan .partner-name{ font-size:20px; margin-top:12px; }
.dv-scan .partner-contact{ display:flex; flex-wrap:wrap; gap:8px 18px; margin-top:12px; font-size:14px; }
.dv-scan .partner-contact a{ color:var(--s-ink); font-weight:600; text-decoration:none; border-bottom:1px solid var(--s-line-2); overflow-wrap:anywhere; }
.dv-scan .partner-contact a:hover{ border-color:var(--s-amber); }
.dv-scan .partner-note{ font-size:12.5px; color:var(--s-ink-3); margin-top:10px; text-align:center; }

.dv-scan .locked{ margin-top:14px; }
.dv-scan .locked-rows{ display:flex; flex-direction:column; gap:10px; filter:blur(3px); opacity:.55; pointer-events:none; user-select:none; }
.dv-scan .firm-ghost{ cursor:default; }
.dv-scan .unlock{
  margin-top:-34px; position:relative; padding:20px; border-radius:var(--s-r);
  background:var(--s-paper); border:1px solid var(--s-line-2);
  box-shadow:0 -20px 36px rgba(255,255,255,.95);
}
.dv-scan .unlock-row{ display:flex; gap:10px; margin-top:14px; }
.dv-scan .unlock-row input{
  flex:1; min-width:0; padding:12px 14px; border-radius:12px;
  background:var(--s-paper); border:1px solid var(--s-line-2); color:var(--s-ink); font:inherit; font-size:15px;
}
.dv-scan .unlock-row input:focus{ outline:none; border-color:var(--s-amber); box-shadow:0 0 0 4px rgba(232,155,34,.18); }
.dv-scan .unlock-row .btn{ flex:none; }
.dv-scan .unlock-ok{ font-size:14px; color:var(--s-green); font-weight:700; margin-top:6px; }

.dv-scan .save-band{ margin-top:14px; background:var(--s-soft); border-color:var(--s-line-2); }
.dv-scan .save-band .save-form, .dv-scan .save-band .save-msg{ flex-basis:100%; }
.dv-scan .save-msg{ font-size:14px; color:var(--s-green); font-weight:700; }
.dv-scan .save-msg.bad{ color:var(--s-red); }
.dv-scan .save-msg a{ color:var(--s-ink); text-decoration:underline; margin-left:4px; }

/* ── lead form ───────────────────────────────────────────────────── */
.dv-scan .lead-summary{
  margin-top:14px; padding:12px 15px; border-radius:var(--s-r-sm);
  background:var(--s-soft); border:1px solid var(--s-line);
  font-size:12.5px; color:var(--s-ink-2); line-height:1.6;
}
.dv-scan .lead-form{ display:flex; flex-direction:column; gap:14px; margin-top:20px; }
.dv-scan .fld{ display:flex; flex-direction:column; gap:7px; }
.dv-scan .fld > span{ font-size:13px; font-weight:700; color:var(--s-ink-2); }
.dv-scan .fld em{ font-style:normal; color:var(--s-ink-3); font-weight:500; }
.dv-scan .fld input, .dv-scan .fld textarea{
  width:100%; padding:12px 14px; border-radius:var(--s-r-sm);
  background:var(--s-paper); border:1px solid var(--s-line-2); color:var(--s-ink);
  font-family:inherit; font-size:15px; resize:vertical;
  transition:border-color .18s, box-shadow .18s;
}
.dv-scan .fld input::placeholder, .dv-scan .fld textarea::placeholder{ color:#9AA2B3; }
.dv-scan .fld input:focus, .dv-scan .fld textarea:focus{ outline:none; border-color:var(--s-blue); box-shadow:0 0 0 4px rgba(45,99,240,.15); }
.dv-scan .lead-err{
  font-size:13.5px; color:var(--s-red); padding:11px 14px; border-radius:var(--s-r-sm);
  background:var(--s-red-50); border:1px solid rgba(194,52,43,.3);
}
.dv-scan .lead-err a{ color:var(--s-red); text-decoration:underline; }
.dv-scan .trust{ font-size:12.5px; color:var(--s-ink-3); margin-top:16px; line-height:1.6; }
.dv-scan .trust a{ color:var(--s-blue); text-decoration:underline; }

/* ── phones ──────────────────────────────────────────────────────── */
@media (max-width:620px){
  .dv-scan .dropzone{ padding:24px 16px; gap:11px; border-radius:22px; }
  .dv-scan .dz-ic{ width:52px; height:52px; border-radius:16px; }
  .dv-scan .dz-ic svg{ width:25px; height:25px; }
  .dv-scan .dz-sub{ font-size:13.5px; }
  .dv-scan .dz-actions{ flex-wrap:nowrap; gap:8px; }
  .dv-scan .dz-actions .btn{ flex:1 1 0; padding:13px 10px; font-size:14px; }
  .dv-scan .cta-band{ flex-direction:column; align-items:stretch; }
  .dv-scan .cta-band .btn{ width:100%; }
  .dv-scan .fee-row{ grid-template-columns:72px 1fr auto; font-size:13px; gap:8px; padding:10px 12px; }
  .dv-scan .fee-note{ font-size:12.5px; }
  .dv-scan .cost-row{ font-size:13px; padding:10px 12px; }
  .dv-scan .cost-v{ font-size:14px; }
  .dv-scan .verdict-head{ flex-wrap:wrap; }
}
@media (max-width:560px){ .dv-scan .unlock-row{ flex-direction:column; } }
@media (max-width:340px){
  .dv-scan .dz-actions{ flex-wrap:wrap; }
  .dv-scan .dz-actions .btn{ flex:1 1 100%; }
}
/* iOS zooms the page when a focused input is under 16px */
@media (pointer:coarse){
  .dv-scan .fld input, .dv-scan .fld textarea, .dv-scan .unlock-row input{ font-size:16px; }
}
