/* state-courts.css - /state-supreme-courts/ hub and state pages (prefix sc-). Tokens only.
   Loaded after state-legislatures.css, whose sl- table, map call-out and note rules these pages reuse. */

/* Selection-method fills (--pc-court-* in pc-tokens.css): map states, legend keys, table markers.
   Not party colours: a method says nothing about a court's politics. */
.sc-m-partisan_election { --us-fill: var(--pc-court-partisan); }
.sc-m-nonpartisan_election { --us-fill: var(--pc-court-nonpartisan); }
.sc-m-retention_after_appointment { --us-fill: var(--pc-court-retention); }
.sc-m-appointment_without_election { --us-fill: var(--pc-court-appointed); }
.sc-m-legislative_election { --us-fill: var(--pc-court-legislative); }

.sc-map path.us-state { stroke-width: 1; }
.sc-map .us-map-label, .sc-map .sl-co-label { fill: var(--pc-court-on); }
.sc-map .us-map-label.sc-on-light, .sc-map .sl-co-label.sc-on-light { fill: var(--pc-on-party-light); }
.sc-map rect.sc-co { stroke: var(--pc-surface); stroke-width: 1; }
.sc-map a, body.dark-mode .sc-map a { text-decoration: none; }

/* Legend: method name and court count */
.sc-map-legend { gap: 8px 22px; font-size: 14px; color: var(--pc-text-body); margin: 12px 0 0; }
.sc-map-legend i { width: 14px; height: 14px; border: 0; }
.sc-map-legend b { font-weight: 700; color: var(--pc-text); font-variant-numeric: tabular-nums; }

/* Table method marker */
.sc-chip { font-family: var(--pc-sans); font-size: 13px; color: var(--pc-text-body); white-space: nowrap; }
.sc-chip i { display: inline-block; width: 10px; height: 10px; background: var(--us-fill); margin-right: 7px; vertical-align: 0; }
.sc-none { color: var(--pc-text-secondary); }
.sc-table td[rowspan] { vertical-align: top; }
.sc-table tbody tr:last-child td, .sc-table tbody tr:last-child td[rowspan] { border-bottom: 2px solid var(--pc-text); }
.sc-about { margin-top: 24px; }
.sc-about p { margin: 0 0 6px; }

/* Sources: one closed list at the foot */
.sc-src-list { margin: 8px 0 0; padding-left: 18px; font-family: var(--pc-sans); font-size: 12px; line-height: 1.6;
    color: var(--pc-text-secondary); max-width: 680px; }
.sc-src-list a { color: var(--pc-text-secondary); text-decoration: underline; text-underline-offset: 2px; }

/* State pages: compact facts row, short lines */
.sc-facts { display: flex; flex-wrap: wrap; gap: 12px 36px; margin: 0; font-family: var(--pc-sans); }
.sc-facts dt { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em; color: var(--pc-text-meta); margin: 0 0 3px; }
.sc-facts dd { margin: 0; font-size: 16px; color: var(--pc-text); font-variant-numeric: tabular-nums; }
.sc-facts .sc-chip { font-size: 16px; color: var(--pc-text); }
.sc-facts .sc-chip i { width: 12px; height: 12px; }
.sc-line { font-family: var(--pc-sans); font-size: 14px; color: var(--pc-text-body); margin: 12px 0 0; }
.sc-ballot { margin-top: 16px; }
.sc-ballot dd { font-size: 15px; }
.sc-muted { color: var(--pc-text-meta); }
.sc-ov-link { margin-top: 24px; }
.sc-ov-link a { color: var(--pc-text); text-decoration: underline; text-underline-offset: 2px; }
.sc-contest { margin: 0 0 16px; max-width: 680px; }
.sc-contest-h { font-family: var(--pc-sans); font-size: 14px; font-weight: 600; color: var(--pc-text); margin: 10px 0 4px; }
.sc-res td { font-variant-numeric: tabular-nums; }
.sc-res-note { margin: 4px 0 0; }
.sc-hidden { margin: 4px 0 16px; max-width: 680px; }
.sc-hidden-h { font-family: var(--pc-sans); font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em;
    color: var(--pc-text-meta); margin: 0 0 4px; }
.sc-hidden-list { margin: 0; padding-left: 18px; font-family: var(--pc-sans); font-size: 13px; color: var(--pc-text-secondary); line-height: 1.5; }
.sc-hidden-list b { font-weight: 600; }
.sc-justices td { font-variant-numeric: tabular-nums; }

@media (max-width: 768px) {
    .sc-facts { gap: 10px 24px; }
    .sc-map-legend { gap: 6px 16px; }
}
