/* Payment Solutions Center styles. Layered on top of pos.css (shared
   components: pos-verdict, pos-ratings, pos-verify, pos-sources, dc-matrix,
   dc-doors, callout, etc.). This file adds only the PSC-specific pieces:
   readiness/commitment badges, category badges, solution cards, and the
   money-and-control summary. Grayscale-safe: meaning is never color-only. */

/* ---- Confidence (psc vocab uses psc-conf-- classes; map to pos styling) ---- */
.psc-conf--high .pos-conf__v { color: #0f7a4d; }
.psc-conf--medium .pos-conf__v { color: #9a6b00; }
.psc-conf--low .pos-conf__v { color: #b0341d; }

/* ---- Readiness badge (pips, like the POS level badge) ---- */
.psc-badge {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 6px 12px; border-radius: 999px; border: 1px solid var(--border, #d9dee7);
  background: #fff; font-weight: 600; font-size: .92rem; text-decoration: none;
  color: var(--ink, #1a2233); line-height: 1;
}
.psc-badge--sm { padding: 4px 9px; font-size: .8rem; gap: 6px; }
.psc-badge__glyph { display: inline-flex; gap: 3px; align-items: center; }
.psc-badge__pip { width: 8px; height: 8px; border-radius: 50%; background: #cdd4df; display: inline-block; }
.psc-badge__pip.is-filled { background: currentColor; }
.psc-badge__lv { font-variant-numeric: tabular-nums; opacity: .6; font-size: .82em; }
.psc-r--turnkey { color: #0f7a4d; }
.psc-r--merchant-ready { color: #2a7d5f; }
.psc-r--workable { color: #9a6b00; }
.psc-r--early { color: #b5651d; }
.psc-r--not-ready { color: #b0341d; }

/* ---- Commitment badge (ascending bars) ---- */
.psc-cbadge {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 6px 12px; border-radius: 999px; border: 1px solid var(--border, #d9dee7);
  background: #fff; font-weight: 600; font-size: .92rem; text-decoration: none;
  color: #3a4a63; line-height: 1;
}
.psc-cbadge--sm { padding: 4px 9px; font-size: .8rem; gap: 6px; }
.psc-cbadge__glyph { display: inline-flex; gap: 2px; align-items: flex-end; height: 14px; }
.psc-cbadge__bar { width: 4px; background: #cdd4df; display: inline-block; }
.psc-cbadge__bar:nth-child(1) { height: 5px; }
.psc-cbadge__bar:nth-child(2) { height: 7px; }
.psc-cbadge__bar:nth-child(3) { height: 9px; }
.psc-cbadge__bar:nth-child(4) { height: 11px; }
.psc-cbadge__bar:nth-child(5) { height: 14px; }
.psc-cbadge__bar.is-filled { background: currentColor; }
.psc-cbadge__lv { font-variant-numeric: tabular-nums; opacity: .6; font-size: .82em; }
.psc-c--1 { color: #0f7a4d; }
.psc-c--2 { color: #2a7d5f; }
.psc-c--3 { color: #9a6b00; }
.psc-c--4 { color: #b5651d; }
.psc-c--5 { color: #b0341d; }

/* ---- Category badge ---- */
.psc-cat-badge {
  display: inline-block; padding: 4px 11px; border-radius: 6px;
  font-size: .8rem; font-weight: 700; text-decoration: none;
  border: 1px solid var(--border, #d9dee7); background: #f4f6fa; color: #2b3651;
  letter-spacing: .01em;
}
.psc-cat-badge:hover { background: #e9edf4; }
.psc-cat--custodial { border-left: 3px solid #b5651d; }
.psc-cat--selfhosted { border-left: 3px solid #0f7a4d; }
.psc-cat--lightning { border-left: 3px solid #9a6b00; }
.psc-cat--wallet { border-left: 3px solid #2a6fb0; }
.psc-cat--settlement { border-left: 3px solid #6b4ea8; }
.psc-cat--infra { border-left: 3px solid #555f70; }

/* ---- Verdict block extensions ---- */
.psc-verdict__top { flex-wrap: wrap; gap: 10px; }
.psc-verdict__fit { margin: 14px 0; }
.psc-verdict__fit p { margin: 4px 0; }
.psc-verdict__facts dt { color: var(--muted, #5b6472); font-size: .82rem; }
.psc-verdict__facts dd { font-weight: 600; }

/* ---- Money and control summary ---- */
.psc-money {
  border: 1px solid var(--border, #d9dee7); border-radius: 10px;
  padding: 18px 20px; margin: 16px 0; background: #fbfcfe;
}
.psc-money__grid {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 12px 20px; margin: 0 0 12px;
}
.psc-money__grid dt { color: var(--muted, #5b6472); font-size: .8rem; }
.psc-money__grid dd { font-weight: 600; margin: 2px 0 0; }
.psc-money__note { font-size: .92rem; margin: 8px 0 0; }
.psc-money__dependency {
  margin-top: 14px; padding-top: 14px; border-top: 1px dashed var(--border, #d9dee7);
}
.psc-money__dependency-label { font-size: .8rem; color: var(--muted, #5b6472); margin: 0; text-transform: uppercase; letter-spacing: .04em; }
.psc-money__dependency-outcome { font-weight: 700; margin: 4px 0 8px; }

/* ---- Solution cards ---- */
.psc-cards {
  display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 18px; margin-top: 8px;
}
.psc-card {
  display: flex; flex-direction: column; gap: 8px;
  border: 1px solid var(--border, #d9dee7); border-radius: 12px;
  padding: 18px; text-decoration: none; color: var(--ink, #1a2233);
  background: #fff; transition: box-shadow .15s ease, transform .15s ease;
}
.psc-card:hover { box-shadow: 0 6px 20px rgba(20,30,60,.09); transform: translateY(-2px); }
.psc-card__head { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; justify-content: space-between; }
.psc-card__rec { font-size: .76rem; font-weight: 700; }
.psc-card__name { margin: 2px 0 0; font-size: 1.18rem; }
.psc-card__verdict { color: var(--muted, #5b6472); font-size: .92rem; margin: 0; }
.psc-card__badges { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 4px; }
.psc-card__facts { display: grid; grid-template-columns: 1fr 1fr; gap: 6px 12px; margin: 8px 0 0; }
.psc-card__facts dt { font-size: .72rem; color: var(--muted, #5b6472); }
.psc-card__facts dd { font-size: .84rem; font-weight: 600; margin: 1px 0 0; }

/* ---- Recommendation tone (reuse pos-rec if present; define fallback) ---- */
.pos-rec--positive { color: #0f7a4d; }
.pos-rec--neutral { color: #9a6b00; }
.pos-rec--negative { color: #b0341d; }

/* ---- Ratings groups ---- */
.psc-ratings-group { margin: 22px 0; }
.psc-ratings-group__title { margin-bottom: 2px; }
.psc-ratings-group__desc { color: var(--muted, #5b6472); margin-top: 0; font-size: .92rem; }

/* ---- Legend lists ---- */
.psc-legend-list { list-style: none; padding: 0; margin: 0; }
.psc-legend-list li { margin: 6px 0; font-size: .92rem; }

/* ---- Band dot colors (map psc-band-- to pos band styling) ---- */
.psc-band--excellent .pos-ratings__band-dot { background: #0f7a4d; }
.psc-band--good .pos-ratings__band-dot { background: #2a7d5f; }
.psc-band--fair .pos-ratings__band-dot { background: #9a6b00; }
.psc-band--poor .pos-ratings__band-dot { background: #b0341d; }
.psc-band--unknown .pos-ratings__band-dot { background: #9aa3b2; }
.psc-band--na .pos-ratings__band-dot { background: #cdd4df; }
.psc-band--excellent .pos-ratings__band-label,
.psc-band--good .pos-ratings__band-label { color: #0f7a4d; }
.psc-band--poor .pos-ratings__band-label { color: #b0341d; }

/* ---- US-availability banner ---- */
.psc-availability {
  border: 1px solid #d4a017; border-left: 4px solid #d4a017; background: #fdf6e3;
  border-radius: 8px; padding: 12px 16px; margin: 0 0 18px;
}
.psc-availability__label { font-size: .72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; color: #8a6d1a; margin: 0 0 2px; }
.psc-availability__body { margin: 0; font-size: .95rem; }
