/* lender-check.css — Lender Reality Check page.
   Builds on style.css + checker.css (hero, panel, field, go, cta-card reused).
   Page-specific pieces only. Colours use the shared tokens; new text pairs are
   AA-verified (see the build report). */

/* Status / loading / error band (mirrors the servicer-check status band). */
.lc-status {
  margin-top: 16px; background: var(--card); border: 1.5px solid var(--line);
  border-radius: 16px; padding: 15px 18px; font-size: .95rem; color: var(--ink);
}
.lc-status.warn { background: var(--amber); border-color: rgba(143,101,22,.3); color: var(--amber-ink); }
.lc-status strong { font-weight: 600; }
.lc-spin {
  display: inline-block; width: 13px; height: 13px; margin-right: 6px;
  border: 2px solid var(--line); border-top-color: var(--brass); border-radius: 50%;
  vertical-align: -1px; animation: lc-rot .8s linear infinite;
}
@keyframes lc-rot { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .lc-spin { animation: none; } }

.lc-results { margin-top: 20px; }

/* Stale banner: visible when the API served a cached copy while the source
   recovers. */
.lc-stale {
  background: var(--amber); color: var(--amber-ink); border: 1px solid rgba(143,101,22,.3);
  border-radius: 12px; padding: 12px 16px; font-size: .9rem; margin-bottom: 16px;
}

/* a) Verdict headline: the site's dark verdict treatment. The API's plain-language
      tier leads; we never show the numeric score as a grade. */
.lc-verdict {
  background: var(--slate); color: #fff; border-radius: 16px; padding: 26px;
}
.lc-vlabel {
  font-size: .72rem; letter-spacing: .12em; text-transform: uppercase;
  color: #E5C377; font-weight: 600;
}
.lc-verdict h2 {
  font-family: var(--font-head); font-weight: 600; color: #fff;
  font-size: clamp(1.4rem, 4.4vw, 2rem); margin: 6px 0 4px; word-break: break-word;
}
.lc-tier {
  font-family: var(--font-head); font-weight: 600; font-style: italic;
  color: #E5C377; font-size: 1.15rem; margin-bottom: 10px;
}
.lc-summary { color: #C7D2D8; font-size: 1rem; line-height: 1.6; margin-top: 8px; }
.lc-drivers { list-style: none; margin: 16px 0 0; padding: 0; display: grid; gap: 8px; }
.lc-driver {
  background: rgba(255,255,255,.06); border-left: 3px solid rgba(255,255,255,.3);
  border-radius: 0 10px 10px 0; padding: 9px 14px; font-size: .92rem; color: #E6ECEF;
}
.lc-driver.lc-imp-high { border-left-color: #E5C377; }
.lc-driver.lc-imp-medium { border-left-color: #79B8BE; }
.lc-vintage {
  margin-top: 16px; font-size: .82rem; color: #B9C6CD;
  background: rgba(0,0,0,.16); border-radius: 10px; padding: 10px 14px;
}
.lc-vintage strong { color: #E5C377; }

/* Light content cards */
.lc-card {
  background: var(--card); border: 1.5px solid var(--line); border-radius: 16px;
  padding: 22px; margin-top: 14px;
}
.lc-card h3 { font-size: 1.08rem; }
.lc-subhead { font-size: .98rem; margin-top: 18px; }
.lc-sub { font-size: .86rem; color: var(--muted); margin: 5px 0 12px; }
.lc-big { font-family: var(--font-head); font-weight: 600; font-size: 2.2rem; color: var(--slate); line-height: 1; margin: 4px 0; }
.lc-empty { color: var(--muted); font-size: .92rem; }

/* Horizontal bars (denial reasons, rate spread) */
.lc-bars { display: flex; flex-direction: column; gap: 12px; }
.lc-bar-top { display: flex; justify-content: space-between; gap: 12px; font-size: .88rem; margin-bottom: 4px; }
.lc-bar-key { font-weight: 600; }
.lc-bar-val { color: var(--muted); white-space: nowrap; }
.lc-bar-track { height: 9px; background: var(--bg); border-radius: 999px; overflow: hidden; }
.lc-bar-fill { height: 100%; background: var(--copper); border-radius: 999px; }

/* Lender table */
.lc-caveat {
  background: var(--brass-soft); color: var(--amber-ink);
  border-radius: 12px; padding: 12px 15px; font-size: .82rem; line-height: 1.5; margin: 14px 0 0;
}
.lc-caveat a { color: var(--slate); font-weight: 600; }
.lc-tablewrap { overflow-x: auto; }
.lc-table { width: 100%; border-collapse: collapse; font-size: .9rem; }
.lc-table th, .lc-table td { text-align: left; padding: 10px 12px; border-bottom: 1px solid var(--line); vertical-align: top; }
.lc-table thead th { font-size: .74rem; text-transform: uppercase; letter-spacing: .04em; color: var(--muted); font-weight: 600; white-space: nowrap; }
.lc-table tbody th { font-weight: 600; color: var(--ink); }
.lc-table .lc-num { text-align: right; white-space: nowrap; font-variant-numeric: tabular-nums; }
.lc-table tbody tr:last-child th, .lc-table tbody tr:last-child td { border-bottom: none; }
.lc-nomatch { color: var(--muted); font-style: italic; font-weight: 400; }

/* Required coverage notes */
.lc-notes { margin-top: 14px; }
.lc-notes ul { margin: 0; padding-left: 20px; }
.lc-notes li { font-size: .82rem; color: var(--muted); line-height: 1.5; margin: 4px 0; }

/* Offramp: only visible when a live referral URL exists for the route. */
.lc-offramp[hidden] { display: none; }
.lc-offramp {
  margin-top: 16px; background: var(--card); border: 1.5px solid var(--line);
  border-radius: 16px; padding: 18px 20px;
}
.lc-offramp-disc { font-size: .78rem; color: var(--muted); font-style: italic; margin-bottom: 10px; }
.lc-offramp-link {
  display: inline-block; min-height: 44px; line-height: 1.3;
  background: var(--slate); color: #fff; text-decoration: none;
  font-family: var(--font-head); font-weight: 600; font-size: .9rem;
  border-radius: 999px; padding: 12px 22px;
}
.lc-offramp-link:hover { background: var(--slate-deep); }

.lc-source { font-size: .8rem; color: var(--muted); margin-top: 16px; font-style: italic; }
.lc-source a { color: var(--slate); }
