/* Three-box section switcher on /reviews/, /firms/ and /closed-firms/ (Full reviews · Firm profiles · Closed & inactive).
   Counts are stamped by tools/stamp-stats.js, site/generate-firms-index.js and tools/closed/build-closed-firms.py. */
/* side padding follows .container (main.css) so the boxes line up with the text above and below */
.category-nav { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; max-width: var(--container-max); margin: 0 auto 40px; padding: 0 24px; }
.cat-card { display: block; background: var(--bg-card); border: 1px solid var(--border-subtle); border-radius: 14px; padding: 20px 22px; text-decoration: none; text-align: left; color: inherit; transition: border-color .2s; }
.cat-card:hover { border-color: var(--link); }
.cat-card:focus-visible { outline: 2px solid var(--link); outline-offset: 2px; }
.cat-card.active { cursor: default; border-color: var(--link); background: color-mix(in srgb, var(--link) 6%, var(--bg-card)); }
.cat-label { font-size: var(--fs-sm); font-weight: 500; color: var(--text-secondary); margin-bottom: 6px; letter-spacing: 0; text-transform: none; }
.cat-count { font-size: var(--fs-xl); font-weight: 800; color: var(--text-primary); line-height: 1.1; margin-bottom: 4px; font-variant-numeric: tabular-nums; }
.cat-title { font-size: var(--fs-base); font-weight: 600; color: var(--text-primary); margin-bottom: 2px; }
.cat-desc { font-size: var(--fs-sm); color: var(--text-tertiary); line-height: 1.4; }
@media (max-width: 768px) {
  .category-nav { grid-template-columns: 1fr; gap: 8px; margin-bottom: 28px; padding: 0 16px; }
  .cat-card { display: grid; grid-template-columns: 3.5rem 1fr; column-gap: 12px; align-items: center; padding: 12px 16px; }
  .cat-count { grid-row: 1 / span 2; margin: 0; font-size: var(--fs-lg); text-align: right; }
  .cat-label { display: none; }
  .cat-title { grid-column: 2; margin: 0; }
  .cat-desc { grid-column: 2; }
}
@media (max-width: 480px) { .category-nav { padding: 0 12px; } }
@media (max-width: 360px) { .category-nav { padding: 0 10px; } }
