/* ==========================================================================
   politics.pg.css - 4progressives.com's additions to the Politics pages
   (linked by fs_pol_site_css() after politics.css). The progressive views
   (progressives, party unity, common ground) and the new-majority banner.
   Tokens as in site.css; dark mode on html[data-fs-theme="dark"].
   ========================================================================== */
:root{
  --pg-ink:#14231f; --pg-ink-2:#3f514c; --pg-ink-3:#61736e; --pg-surface:#ffffff; --pg-surface-3:#e6efeb; --pg-line:#dce6e2;
  --pg-accent:#0b6e4f; --pg-accent-bg:#e2f2ea; --pg-accent-2:#3b3fb6; --pg-accent-2-bg:#e7e8f8;
}
html[data-fs-theme="dark"]{
  --pg-ink:var(--fs-heading,#dde5ef); --pg-ink-2:var(--fs-ink-2,#b4bfcd); --pg-ink-3:var(--fs-ink-3,#8fa2b8); --pg-surface:var(--fs-surface,#161d26);
  --pg-surface-3:var(--fs-surface-3,#232e3c); --pg-line:var(--fs-line,#232e3b);
  --pg-accent:#5fd0a6; --pg-accent-bg:rgba(95,208,166,.12); --pg-accent-2:#a3a6f5; --pg-accent-2-bg:rgba(163,166,245,.12);
}
.pg-kicker{ display:block; font-size:11.5px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--pg-accent); }
.pg-majority{ margin:4px 0 16px; padding:14px 18px; background:var(--pg-surface); border:1px solid var(--pg-line); border-left:4px solid var(--pg-accent); border-radius:0 12px 12px 0; color:var(--pg-ink-2); }
.pg-majority p{ margin:4px 0 0; }
.pg-majority-head{ font-size:18px; font-weight:700; color:var(--pg-ink); }
.pg-seat-list{ margin:6px 0 0; padding-left:18px; }
.pg-cpc{ display:inline-block; padding:0 6px; border-radius:999px; font-size:10.5px; font-weight:700; letter-spacing:.05em; background:var(--pg-accent-bg); color:var(--pg-accent); vertical-align:middle; }
.pg-unmatched small{ color:var(--pg-ink-3); }
.pg-bystate{ display:grid; grid-template-columns:repeat(auto-fill, minmax(220px, 1fr)); gap:10px 18px; margin:0; }
.pg-bystate > div{ min-width:0; }
.pg-bystate dt{ font-weight:700; color:var(--pg-ink); }
.pg-bystate dt small{ font-weight:600; color:var(--pg-ink-3); }
.pg-bystate dd{ margin:2px 0 0; font-size:14px; line-height:1.55; }
.pg-split-list li{ display:flex; flex-direction:column; gap:3px; }
.pg-split{ display:flex; flex-wrap:wrap; gap:6px; }
.pg-split span{ display:inline-block; padding:1px 8px; border-radius:999px; font-size:12px; font-weight:700; font-variant-numeric:tabular-nums; background:var(--pg-accent-bg); color:var(--pg-accent); }
.pg-split span + span{ background:var(--pg-accent-2-bg); color:var(--pg-accent-2); }
.pg-ranking{ margin:0; padding-left:18px; display:grid; gap:3px; font-size:14px; }
.pg-cross{ margin:0; padding-left:20px; display:grid; gap:6px; }
.pg-meter{ display:inline-block; width:56px; height:8px; margin-right:6px; vertical-align:middle; background:var(--pg-surface-3); border-radius:4px; overflow:hidden; }
.pg-meter span{ display:block; height:100%; background:var(--pg-accent); }
.pg-tiles{ display:grid; grid-template-columns:repeat(auto-fit, minmax(min(100%, 150px), 1fr)); gap:10px; margin:4px 0 16px; }
.pg-tiles .sk-tile{ display:flex; flex-direction:column; gap:3px; padding:12px 14px; background:var(--pg-surface); border:1px solid var(--pg-line); border-radius:12px; min-width:0; }
.pg-tiles .sk-tile-label{ font-size:11.5px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--pg-ink-3); }
.pg-tiles .sk-tile-value{ font-size:22px; font-weight:700; color:var(--pg-ink); font-variant-numeric:tabular-nums; }
.pol-filters-row{ display:flex; flex-wrap:wrap; gap:8px 18px; margin:0 0 12px; }
