/* ==========================================================================
   THE FACTOR LIST (op-factor-list) — the subcategory-grouped register of a
   specialty's factors, kept as pure navigation: each factor a doorway into its
   own worldwide leaderboard, with a greyscale per-factor coverage figure. No
   score sits on top of it.

   Shared by the specialty hub (categories/show, via shared/_factor_list) and
   reused by the country-scoped specialty's two-way factor table
   (countries/specialties/show, where cs-axis__* extends the __row for a score
   column). Tokens only, below 01-settings.
   ========================================================================== */
.op-factor-list__group { margin-top: var(--space-lg); }
.op-factor-list__group-head {
  display: flex;
  align-items: baseline;
  gap: var(--space-sm);
  padding: var(--space-2xs) var(--space-2xs) var(--space-3xs);
  border-bottom: 2px solid var(--rule-strong);
  font-family: var(--font-furniture);
  font-size: var(--text-2xs);
  font-weight: var(--weight-semibold);
  letter-spacing: var(--tracking-caps);
  text-transform: uppercase;
  color: var(--text);
}
.op-factor-list__group-count {
  font-family: var(--font-data);
  font-size: var(--text-2xs);
  font-variant-numeric: tabular-nums lining-nums;
  font-weight: var(--weight-regular);
  color: var(--text-muted);
}
.op-factor-list__list { list-style: none; margin: 0; padding: 0; }
.op-factor-list__row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  align-items: center;
  gap: var(--space-md);
  padding: var(--space-xs) var(--space-2xs);
  border-bottom: 1px solid var(--rule);
}
.op-factor-list__factor {
  font-family: var(--font-reading);
  font-size: var(--text-base);
  color: var(--text);
  text-decoration: none;
}
.op-factor-list__factor:hover { color: var(--accent); }
.op-factor-list__cov {
  display: inline-flex;
  align-items: baseline;
  gap: 0.5em;
  font-family: var(--font-furniture);
  font-size: var(--text-2xs);
  color: var(--text-muted);
}
.op-factor-list__cov-count {
  font-family: var(--font-data);
  font-variant-numeric: tabular-nums lining-nums;
  color: var(--text-secondary);
}
.op-factor-list__cov-count b { color: var(--text); font-weight: var(--weight-semibold); }
.op-factor-list__cov-word { letter-spacing: var(--tracking-wide); text-transform: uppercase; }
.op-factor-list__cov.is-empty .op-factor-list__cov-count { color: var(--band-none-ink); }
.op-factor-list__go {
  font-family: var(--font-furniture);
  font-size: var(--text-3xs);
  font-weight: var(--weight-semibold);
  letter-spacing: var(--tracking-wide);
  text-transform: uppercase;
  color: var(--text);
  text-decoration: none;
  white-space: nowrap;
}
.op-factor-list__go:hover { color: var(--accent); }

@media (max-width: 40rem) {
  .op-factor-list__row { grid-template-columns: 1fr auto; gap: var(--space-2xs) var(--space-sm); }
  .op-factor-list__cov { grid-column: 1; }
}
