/* ── News feed cards (.news-card / .nc-*) ─────────────────────────────────────
   Shared by /news (index.html) and the landing page's feed window
   (landing.html). Moved verbatim out of index.html's inline stylesheet:
   index.html links this file at the exact point in its cascade where the
   "News feed redesign" card rules used to sit, so the base rules below now
   come after index.html's own earlier card rules (its tablet/mobile @media
   blocks and the light-mode transition), every property of which the
   redesign rules below already override. Load after design.css. */

/* Base card (from index.html's base block) */
.news-card {
  display: block; text-decoration: none;
  background: var(--surface); border: 1px solid var(--border2); border-radius: 18px;
  padding: 1.25rem; transition: all 0.2s;
  overflow: hidden;
  box-shadow: 0 2px 10px rgba(0,0,0,0.25);
}
.nc-top {
  display: flex; justify-content: space-between; align-items: flex-start;
  gap: 0.5rem; margin-bottom: 0.6rem;
}
.nc-meta { display: flex; gap: 0.5rem; align-items: center; flex-wrap: wrap; }
.nc-source {
  font-size: 0.6rem; font-weight: 700; text-transform: uppercase;
  letter-spacing: 0.09em; color: var(--text-dim);
}
.nc-logo { width: 14px; height: 14px; border-radius: 3px; object-fit: contain; flex-shrink: 0; }
.nc-title {
  font-size: 1.075rem; font-weight: 600; line-height: 1.5; color: var(--text);
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.nc-top-right { display: flex; align-items: center; gap: 0.3rem; }

/* News feed redesign — ledger row (from index.html's redesign block) */
.news-card {
  display: block; text-decoration: none;
  background: var(--surface); border: none; border-bottom: 1px solid var(--border);
  border-radius: 0; border-left: 3px solid transparent;
  padding: 1rem clamp(1rem, 2.5vw, 2rem);
  box-shadow: none;
  transition: background 0.15s, border-left-color 0.15s;
}
.news-card:last-child { border-bottom: none; }
.news-card:hover {
  background: var(--surface2); border-color: var(--border); transform: none; box-shadow: none;
}
.news-card[data-impact="HIGH"]   { background: rgba(192,57,43,0.03); border-left-color: var(--negative); }
.news-card[data-impact="MEDIUM"] { background: rgba(200,150,20,0.045); border-left-color: rgba(200,150,20,0.5); }
.news-card[data-impact="HIGH"]:hover   { background: rgba(192,57,43,0.06); }
.news-card[data-impact="MEDIUM"]:hover { background: rgba(200,150,20,0.08); }

.nc-top { margin-bottom: 0.5rem; }
.nc-meta { gap: 0.75rem; }
/* nc-source matches .qr-micro-tag's values closely (10px/600/mono);
   nc-time is lighter/fainter per the mockup — the two used to share a
   single color declaration here, which was wrong for nc-time (mockup:
   source=text-muted, time=text-faint), so split out. */
.nc-source {
  font-family: 'IBM Plex Mono', monospace; font-size: 10px; font-weight: 600;
  letter-spacing: 0.06em; color: var(--text-muted);
}
.nc-time {
  font-family: 'IBM Plex Mono', monospace; font-size: 11px; font-weight: 500;
  color: var(--text-faint);
}
.nc-title { font-size: 0.98rem; font-weight: 600; line-height: 1.45; }
