﻿/**
 * PolicyWatch design tokens — light (default), dark, high-contrast.
 * Shared across all pages; shell.js injects nav + theme toggle slot (#cw-theme-toggle).
 */

:root,
[data-theme="light"] {
  --cw-navy: #001f3f;
  --cw-gold: #ffc107;
  --cw-blue: #1a73e8;
  --cw-blue-dark: #1557b0;

  --cw-white: #ffffff;
  --cw-black: #000000;

  --cw-slate-50: #f8fafc;
  --cw-slate-100: #f1f5f9;
  --cw-slate-200: #e2e8f0;
  --cw-slate-300: #cbd5e1;
  --cw-slate-400: #94a3b8;
  --cw-slate-500: #64748b;
  --cw-slate-600: #475569;
  --cw-slate-700: #334155;
  --cw-slate-800: #1e293b;

  --cw-bg: var(--cw-slate-50);
  --cw-bg-gradient-end: var(--cw-slate-100);
  --cw-surface: var(--cw-white);
  --cw-surface-muted: var(--cw-slate-50);
  --cw-surface-hover: var(--cw-slate-100);
  --cw-text: #0f172a;
  --cw-text-muted: var(--cw-slate-500);
  --cw-text-subtle: var(--cw-slate-400);
  --cw-text-on-header: var(--cw-white);
  --cw-text-on-header-muted: var(--cw-slate-300);
  --cw-border: var(--cw-slate-200);
  --cw-border-strong: var(--cw-slate-300);
  --cw-header-gradient-end: var(--cw-slate-800);
  --cw-shadow: rgba(15, 23, 42, 0.08);
  --cw-mark-bg: #fef08a;
  --cw-scrollbar-track: var(--cw-slate-100);
  --cw-scrollbar-thumb: var(--cw-slate-300);
  --cw-scrollbar-thumb-hover: var(--cw-slate-400);
  --cw-danger: #dc2626;
  --cw-success: #16a34a;
  --cw-live: #dc2626;

  --cw-focus-color: var(--cw-blue);
  --cw-focus-offset: 2px;
  --cw-focus-width: 3px;

  --cw-theme-segment-bg: var(--cw-slate-100);
  --cw-theme-segment-border: var(--cw-slate-300);
  --cw-theme-segment-active-bg: var(--cw-white);
  --cw-theme-segment-active-text: var(--cw-navy);
  --cw-theme-segment-text: var(--cw-slate-600);

  --cw-state-ks: #10b981;
  --cw-state-co: #0ea5e9;
  --cw-state-az: #f97316;
  --cw-state-ut: #8b5cf6;
  --cw-state-me: #0d9488;
  --cw-state-federal: var(--cw-blue);

  color-scheme: light;
}

[data-theme="dark"] {
  --cw-navy: #7eb8ff;
  --cw-gold: #ffd54f;
  --cw-blue: #5ea8ff;
  --cw-blue-dark: #3d8ef0;

  --cw-white: #1e293b;
  --cw-black: #f8fafc;

  --cw-slate-50: #0f172a;
  --cw-slate-100: #1e293b;
  --cw-slate-200: #334155;
  --cw-slate-300: #475569;
  --cw-slate-400: #64748b;
  --cw-slate-500: #94a3b8;
  --cw-slate-600: #cbd5e1;
  --cw-slate-700: #e2e8f0;
  --cw-slate-800: #f1f5f9;

  --cw-bg: #0b1220;
  --cw-bg-gradient-end: #1e293b;
  --cw-surface: #1e293b;
  --cw-surface-muted: #0f172a;
  --cw-surface-hover: #334155;
  --cw-text: #f1f5f9;
  --cw-text-muted: #94a3b8;
  --cw-text-subtle: #64748b;
  --cw-text-on-header: #ffffff;
  --cw-text-on-header-muted: #cbd5e1;
  --cw-border: #334155;
  --cw-border-strong: #475569;
  --cw-header-gradient-end: #0f172a;
  --cw-shadow: rgba(0, 0, 0, 0.35);
  --cw-mark-bg: #854d0e;
  --cw-scrollbar-track: #1e293b;
  --cw-scrollbar-thumb: #475569;
  --cw-scrollbar-thumb-hover: #64748b;

  --cw-focus-color: #5ea8ff;

  --cw-theme-segment-bg: #0f172a;
  --cw-theme-segment-border: #475569;
  --cw-theme-segment-active-bg: #334155;
  --cw-theme-segment-active-text: #f8fafc;
  --cw-theme-segment-text: #94a3b8;

  --bs-body-bg: var(--cw-bg);
  --bs-body-color: var(--cw-text);
  --bs-border-color: var(--cw-border);
  --bs-secondary-color: var(--cw-text-muted);
  --bs-tertiary-bg: var(--cw-surface-muted);
  --bs-emphasis-color: var(--cw-text);
  --bs-link-color: var(--cw-blue);
  --bs-link-hover-color: var(--cw-blue-dark);

  color-scheme: dark;
}

[data-theme="high-contrast"] {
  --cw-navy: #8ec8ff;
  --cw-gold: #e8b84a;
  --cw-blue: #56c8e8;
  --cw-blue-dark: #3db8dc;

  --cw-white: #122238;
  --cw-black: #f5f5f0;

  --cw-slate-50: #0f1c30;
  --cw-slate-100: #122238;
  --cw-slate-200: #1a2d48;
  --cw-slate-300: #4a6a8a;
  --cw-slate-400: #6a8aa8;
  --cw-slate-500: #a0b4c8;
  --cw-slate-600: #b8c4d4;
  --cw-slate-700: #d4dce8;
  --cw-slate-800: #f5f5f0;

  --cw-bg: #0a1628;
  --cw-bg-gradient-end: #122238;
  --cw-surface: #122238;
  --cw-surface-muted: #0f1c30;
  --cw-surface-hover: #1a2d48;
  --cw-text: #f5f5f0;
  --cw-text-muted: #b8c4d4;
  --cw-text-subtle: #a0b4c8;
  --cw-text-on-header: #f5f5f0;
  --cw-text-on-header-muted: #c8d4e4;
  --cw-border: #4a6a8a;
  --cw-border-strong: #6a8aa8;
  --cw-header-gradient-end: #0a1628;
  --cw-shadow: rgba(0, 0, 0, 0.4);
  --cw-mark-bg: #3d4a28;
  --cw-scrollbar-track: #0f1c30;
  --cw-scrollbar-thumb: #4a6a8a;
  --cw-scrollbar-thumb-hover: #6a8aa8;
  --cw-danger: #ff8a8a;
  --cw-success: #4ade80;
  --cw-live: #ff8a8a;

  --cw-focus-color: #e8b84a;
  --cw-focus-offset: 3px;
  --cw-focus-width: 4px;

  --cw-theme-segment-bg: #0f1c30;
  --cw-theme-segment-border: #4a6a8a;
  --cw-theme-segment-active-bg: #e8b84a;
  --cw-theme-segment-active-text: #0a1628;
  --cw-theme-segment-text: #b8c4d4;

  --bs-body-bg: var(--cw-bg);
  --bs-body-color: var(--cw-text);
  --bs-border-color: var(--cw-border);
  --bs-secondary-color: var(--cw-text-muted);
  --bs-tertiary-bg: var(--cw-surface-muted);
  --bs-emphasis-color: var(--cw-text);
  --bs-link-color: var(--cw-blue);
  --bs-link-hover-color: var(--cw-blue-dark);

  color-scheme: dark;
}

/* Page shell */
body.cw-themed,
.cw-page-bg {
  min-height: 100vh;
  background: linear-gradient(to bottom right, var(--cw-bg), var(--cw-bg-gradient-end));
  color: var(--cw-text);
}

.cw-page-bg {
  min-height: 100vh;
}

.cw-header {
  background: linear-gradient(to right, var(--cw-navy), var(--cw-header-gradient-end));
  color: var(--cw-text-on-header);
}

.cw-text-on-header-muted {
  color: var(--cw-text-on-header-muted);
}

.cw-card {
  background: var(--cw-surface);
  border-radius: 1rem;
  box-shadow: 0 20px 25px -5px var(--cw-shadow);
  overflow: hidden;
  border: 1px solid var(--cw-border);
}

[data-theme="high-contrast"] .cw-card {
  border-width: 2px;
  box-shadow: none;
}

.cw-card-header {
  background: linear-gradient(to right, var(--cw-navy), var(--cw-header-gradient-end));
  padding: 1.5rem 2rem;
}

.cw-card-body {
  padding: 1.5rem 2rem;
}

mark {
  background: var(--cw-mark-bg);
  color: inherit;
  padding: 2px 4px;
  border-radius: 3px;
}

[data-theme="high-contrast"] mark {
  border: 1px solid var(--cw-gold);
}

::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}
::-webkit-scrollbar-track {
  background: var(--cw-scrollbar-track);
  border-radius: 4px;
}
::-webkit-scrollbar-thumb {
  background: var(--cw-scrollbar-thumb);
  border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover {
  background: var(--cw-scrollbar-thumb-hover);
}

/* Global focus-visible */
:focus {
  outline: none;
}

:focus-visible {
  outline: var(--cw-focus-width) solid var(--cw-focus-color);
  outline-offset: var(--cw-focus-offset);
}

[data-theme="high-contrast"] :focus-visible {
  outline-width: 4px;
  outline-offset: 3px;
}

/* Theme segmented control */
.cw-theme-toggle-slot {
  display: flex;
  align-items: center;
}

.cw-theme-segmented {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 0;
  padding: 3px;
  border: 2px solid var(--cw-theme-segment-border);
  border-radius: 0.5rem;
  background: var(--cw-theme-segment-bg);
}

.cw-theme-segmented__option {
  appearance: none;
  border: 2px solid transparent;
  border-radius: 0.375rem;
  background: transparent;
  color: var(--cw-theme-segment-text);
  font-size: 0.8125rem;
  font-weight: 600;
  line-height: 1.25;
  padding: 0.375rem 0.625rem;
  cursor: pointer;
  white-space: nowrap;
  transition: background-color 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}

.cw-theme-segmented__option:hover {
  background: var(--cw-surface-hover);
}

.cw-theme-segmented__option[aria-checked="true"] {
  background: var(--cw-theme-segment-active-bg);
  color: var(--cw-theme-segment-active-text);
  border-color: var(--cw-theme-segment-border);
}

.cw-theme-segmented__option:focus-visible {
  outline: var(--cw-focus-width) solid var(--cw-focus-color);
  outline-offset: var(--cw-focus-offset);
  z-index: 1;
}

.cw-theme-toggle-host {
  display: flex;
  align-items: flex-start;
  justify-content: flex-end;
}

.cw-theme-toggle-host--fixed {
  position: fixed;
  top: 0.75rem;
  right: 0.75rem;
  z-index: 1000;
}

.cw-page-footer {
  text-align: center;
  color: var(--cw-text-muted);
  font-size: 0.875rem;
  margin-top: 1.5rem;
  padding: 0 1rem 1.5rem;
}

/* Homepage tracked-jurisdictions collapse (state snapshot grid) */
#jurisdictions-section .jurisdictions-header {
  border-bottom: 1px solid transparent;
  color: var(--cw-text);
  background: transparent;
}
#jurisdictions-section .jurisdictions-header:hover {
  background: color-mix(in srgb, var(--cw-surface-muted) 70%, transparent);
  border-radius: 0.5rem;
}
#jurisdictions-section .jurisdictions-toggle-label {
  color: var(--cw-blue);
}
#jurisdictions-section #state-snapshots {
  overflow: hidden;
  transition: max-height 0.3s ease-out, opacity 0.2s ease-out, margin-top 0.2s ease-out;
}
#jurisdictions-section.collapsed #state-snapshots {
  max-height: 0 !important;
  opacity: 0;
  margin-top: 0 !important;
  pointer-events: none;
}
#jurisdictions-section.expanded #state-snapshots {
  max-height: 4000px;
  opacity: 1;
  margin-top: 0.75rem;
  pointer-events: auto;
}
#jurisdictions-section.collapsed #jurisdictions-arrow {
  transform: rotate(-90deg);
}
#jurisdictions-section.expanded #jurisdictions-arrow {
  transform: rotate(0deg);
}
#jurisdictions-arrow {
  display: inline-block;
  transition: transform 0.3s ease;
}

/* State filter chips (hearings) */
.cw-state-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-bottom: 0.75rem;
}
.cw-state-chip {
  padding: 0.375rem 0.75rem;
  border-radius: 9999px;
  font-size: 0.8125rem;
  font-weight: 600;
  border: 2px solid var(--cw-border);
  background: var(--cw-surface);
  color: var(--cw-text-muted);
  cursor: pointer;
  transition: all 0.15s;
}
.cw-state-chip:hover {
  border-color: var(--cw-blue);
  color: var(--cw-text);
}
.cw-state-chip[aria-pressed="true"] {
  border-color: var(--cw-blue);
  background: var(--cw-blue);
  color: #fff;
}
.cw-state-chip[data-state="KS"][aria-pressed="true"] { background: var(--cw-state-ks); border-color: var(--cw-state-ks); }
.cw-state-chip[data-state="CO"][aria-pressed="true"] { background: var(--cw-state-co); border-color: var(--cw-state-co); }
.cw-state-chip[data-state="AZ"][aria-pressed="true"] { background: var(--cw-state-az); border-color: var(--cw-state-az); }
.cw-state-chip[data-state="UT"][aria-pressed="true"] { background: var(--cw-state-ut); border-color: var(--cw-state-ut); }
.cw-state-chip[data-state="ME"][aria-pressed="true"] { background: var(--cw-state-me); border-color: var(--cw-state-me); }
.cw-state-chip[data-state="Federal"][aria-pressed="true"] { background: var(--cw-state-federal); border-color: var(--cw-state-federal); }

[data-theme="high-contrast"] .cw-state-chip {
  border-width: 2px;
  color: var(--cw-text);
}

/* Tailwind bridge — dark + high contrast */
[data-theme="dark"] .bg-white,
[data-theme="high-contrast"] .bg-white { background-color: var(--cw-surface) !important; }
[data-theme="dark"] .bg-slate-50,
[data-theme="dark"] .from-slate-50,
[data-theme="high-contrast"] .bg-slate-50 { background-color: var(--cw-surface-muted) !important; }
[data-theme="dark"] .text-slate-500,
[data-theme="dark"] .text-slate-600,
[data-theme="dark"] .text-slate-700,
[data-theme="high-contrast"] .text-slate-500,
[data-theme="high-contrast"] .text-slate-600,
[data-theme="high-contrast"] .text-slate-700 { color: var(--cw-text-muted) !important; }
[data-theme="dark"] .text-civic-navy,
[data-theme="high-contrast"] .text-civic-navy { color: var(--cw-text) !important; }

/* Veteran impact cards keep light tinted backgrounds in every theme; text must stay dark */
.veteran-impact-card .veteran-impact-title {
  color: #0f172a;
}
.veteran-impact-card .veteran-impact-title:hover {
  color: #1e40af;
}
.veteran-impact-card .veteran-impact-title mark {
  background-color: #fef08a;
  color: #0f172a;
}
.veteran-impact-card .veteran-impact-summary {
  color: #475569;
}
.veteran-impact-card .veteran-impact-link {
  color: #1d4ed8;
}
.veteran-impact-card .veteran-impact-link:hover {
  color: #1e3a8a;
}
.veteran-impact-card--red .veteran-impact-badge {
  background-color: #fee2e2 !important;
  color: #7f1d1d !important;
  border-color: #fecaca !important;
}
.veteran-impact-card--yellow .veteran-impact-badge {
  background-color: #fef3c7 !important;
  color: #78350f !important;
  border-color: #fde68a !important;
}
.veteran-impact-card--green .veteran-impact-badge {
  background-color: #dcfce7 !important;
  color: #14532d !important;
  border-color: #bbf7d0 !important;
}
.veteran-impact-reason-toggle {
  background: transparent;
  border: 0;
  padding: 0;
  cursor: pointer;
}
.veteran-impact-reason-arrow {
  display: inline-block;
  line-height: 1;
}
.veteran-impact-card .veteran-impact-reason-toggle {
  color: #475569;
}
.veteran-impact-card .veteran-impact-reason-toggle:hover {
  color: #1e293b;
}
.veteran-impact-card .veteran-impact-reason-body {
  color: #475569;
}
[data-theme="dark"] .veteran-impact-card .veteran-impact-title,
[data-theme="high-contrast"] .veteran-impact-card .veteran-impact-title {
  color: #0f172a !important;
}
[data-theme="dark"] .veteran-impact-card .veteran-impact-title:hover,
[data-theme="high-contrast"] .veteran-impact-card .veteran-impact-title:hover {
  color: #1e40af !important;
}
[data-theme="dark"] .veteran-impact-card .veteran-impact-title mark,
[data-theme="high-contrast"] .veteran-impact-card .veteran-impact-title mark {
  background-color: #fef08a !important;
  color: #0f172a !important;
}
[data-theme="dark"] .veteran-impact-card .veteran-impact-summary,
[data-theme="high-contrast"] .veteran-impact-card .veteran-impact-summary {
  color: #475569 !important;
}
[data-theme="dark"] .veteran-impact-card .veteran-impact-reason-toggle,
[data-theme="high-contrast"] .veteran-impact-card .veteran-impact-reason-toggle {
  color: #475569 !important;
}
[data-theme="dark"] .veteran-impact-card .veteran-impact-reason-toggle:hover,
[data-theme="high-contrast"] .veteran-impact-card .veteran-impact-reason-toggle:hover {
  color: #1e293b !important;
}
[data-theme="dark"] .veteran-impact-card .veteran-impact-reason-body,
[data-theme="high-contrast"] .veteran-impact-card .veteran-impact-reason-body {
  color: #475569 !important;
}
[data-theme="dark"] .veteran-impact-card .veteran-impact-link,
[data-theme="high-contrast"] .veteran-impact-card .veteran-impact-link {
  color: #1d4ed8 !important;
}
[data-theme="dark"] .veteran-impact-card .veteran-impact-link:hover,
[data-theme="high-contrast"] .veteran-impact-card .veteran-impact-link:hover {
  color: #1e3a8a !important;
}
[data-theme="dark"] .veteran-impact-card--red .veteran-impact-badge,
[data-theme="high-contrast"] .veteran-impact-card--red .veteran-impact-badge {
  background-color: #fee2e2 !important;
  color: #7f1d1d !important;
  border-color: #fecaca !important;
}
[data-theme="dark"] .veteran-impact-card--yellow .veteran-impact-badge,
[data-theme="high-contrast"] .veteran-impact-card--yellow .veteran-impact-badge {
  background-color: #fef3c7 !important;
  color: #78350f !important;
  border-color: #fde68a !important;
}
[data-theme="dark"] .veteran-impact-card--green .veteran-impact-badge,
[data-theme="high-contrast"] .veteran-impact-card--green .veteran-impact-badge {
  background-color: #dcfce7 !important;
  color: #14532d !important;
  border-color: #bbf7d0 !important;
}
/* Preserve light card backgrounds for all impact levels in dark/high-contrast */
[data-theme="dark"] .veteran-impact-card--red,
[data-theme="high-contrast"] .veteran-impact-card--red {
  background-color: #fef2f2 !important;
  border-color: #fecaca !important;
}
[data-theme="dark"] .veteran-impact-card--yellow,
[data-theme="high-contrast"] .veteran-impact-card--yellow {
  background-color: #fffbeb !important;
  border-color: #fde68a !important;
}
[data-theme="dark"] .veteran-impact-card--green,
[data-theme="high-contrast"] .veteran-impact-card--green {
  background-color: #f0fdf4 !important;
  border-color: #bbf7d0 !important;
}

/* Veterans impact filter chips — keep level colors readable in dark/high-contrast */
[data-theme="dark"] #veterans-filter-red-btn[aria-pressed="false"],
[data-theme="high-contrast"] #veterans-filter-red-btn[aria-pressed="false"] {
  background-color: #fef2f2 !important;
  border-color: #fecaca !important;
  color: #7f1d1d !important;
}
[data-theme="dark"] #veterans-filter-yellow-btn[aria-pressed="false"],
[data-theme="high-contrast"] #veterans-filter-yellow-btn[aria-pressed="false"] {
  background-color: #fffbeb !important;
  border-color: #fde68a !important;
  color: #78350f !important;
}
[data-theme="dark"] #veterans-filter-green-btn[aria-pressed="false"],
[data-theme="high-contrast"] #veterans-filter-green-btn[aria-pressed="false"] {
  background-color: #f0fdf4 !important;
  border-color: #bbf7d0 !important;
  color: #14532d !important;
}
[data-theme="dark"] .border-slate-200,
[data-theme="high-contrast"] .border-slate-200 { border-color: var(--cw-border) !important; }

[data-theme="high-contrast"] .border,
[data-theme="high-contrast"] .border-2 {
  border-color: var(--cw-border) !important;
}

/* Bootstrap bridge for livestreams.html */
.civic-header {
  background: linear-gradient(to right, var(--cw-navy), var(--cw-header-gradient-end)) !important;
}

.live-now-bar .alert-success {
  background-color: color-mix(in srgb, var(--cw-success) 12%, var(--cw-surface));
  border-color: color-mix(in srgb, var(--cw-success) 35%, var(--cw-border));
  color: var(--cw-text);
}
[data-theme="dark"] .live-now-bar .alert-success {
  background-color: color-mix(in srgb, var(--cw-success) 18%, var(--cw-surface));
}
.live-now-bar .badge.bg-danger {
  background-color: var(--cw-live) !important;
}
.embed-wrapper,
.embed-placeholder {
  background: var(--cw-surface-muted) !important;
  color: var(--cw-text-muted) !important;
}
[data-theme="high-contrast"] .embed-wrapper,
[data-theme="high-contrast"] .embed-placeholder {
  border: 2px solid var(--cw-border);
}

[data-theme="dark"] .card,
[data-theme="high-contrast"] .card {
  background-color: var(--cw-surface);
  color: var(--cw-text);
  border-color: var(--cw-border);
}
[data-theme="high-contrast"] .card {
  border-width: 2px;
}
[data-theme="dark"] .card-body,
[data-theme="dark"] .bg-light,
[data-theme="high-contrast"] .card-body,
[data-theme="high-contrast"] .bg-light {
  background-color: var(--cw-surface-muted) !important;
}
[data-theme="dark"] .text-muted,
[data-theme="dark"] .text-body-secondary,
[data-theme="high-contrast"] .text-muted,
[data-theme="high-contrast"] .text-body-secondary {
  color: var(--cw-text-muted) !important;
}
[data-theme="dark"] .nav-tabs .nav-link,
[data-theme="high-contrast"] .nav-tabs .nav-link {
  color: var(--cw-text-muted);
}
[data-theme="dark"] .nav-tabs .nav-link.active,
[data-theme="high-contrast"] .nav-tabs .nav-link.active {
  background-color: var(--cw-surface);
  color: var(--cw-navy);
  border-color: var(--cw-border) var(--cw-border) var(--cw-surface);
}
[data-theme="high-contrast"] .nav-tabs .nav-link.active {
  font-weight: 700;
  border-width: 2px;
}
[data-theme="dark"] .accordion-item,
[data-theme="high-contrast"] .accordion-item {
  background-color: var(--cw-surface);
  color: var(--cw-text);
  border-color: var(--cw-border);
}
[data-theme="dark"] .accordion-button,
[data-theme="high-contrast"] .accordion-button {
  background-color: var(--cw-surface-muted);
  color: var(--cw-text);
}
[data-theme="dark"] .accordion-button:not(.collapsed),
[data-theme="high-contrast"] .accordion-button:not(.collapsed) {
  background-color: var(--cw-surface);
  color: var(--cw-text);
}

/* Unified site nav — shell.js injects #site-nav (works with and without Tailwind) */
#site-nav {
  display: flex;
  flex-wrap: nowrap;
  overflow-x: auto;
  overscroll-behavior-x: contain;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
  border-bottom: 1px solid var(--cw-border);
  background: color-mix(in srgb, var(--cw-surface-muted) 85%, transparent);
}
#site-nav .site-nav-link {
  flex: 0 0 auto;
  min-width: auto;
  white-space: nowrap;
  text-align: center;
  padding: 0.75rem 0.875rem;
  font-size: 0.875rem;
  font-weight: 500;
  text-decoration: none;
  color: var(--cw-text-muted);
  border-bottom: 2px solid transparent;
  transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}
#site-nav .site-nav-link__short {
  display: none;
}
@media (max-width: 480px) {
  #site-nav .site-nav-link {
    padding: 0.65rem 0.7rem;
    font-size: 0.8125rem;
  }
  #site-nav .site-nav-link__long {
    display: none;
  }
  #site-nav .site-nav-link__short {
    display: inline;
  }
  #site-nav .site-nav-link:not(:has(.site-nav-link__short)) .site-nav-link__long {
    display: inline;
  }
}
#site-nav .site-nav-link:hover {
  color: var(--cw-blue);
  background: var(--cw-surface);
}
#site-nav .site-nav-link--active,
#site-nav .site-nav-link[aria-current="page"] {
  color: var(--cw-blue);
  background: var(--cw-surface);
  border-bottom-color: var(--cw-blue);
}
[data-theme="high-contrast"] #site-nav .site-nav-link {
  color: var(--cw-gold);
  border-bottom-width: 2px;
}
[data-theme="high-contrast"] #site-nav .site-nav-link:hover {
  color: #f5c96a;
  background: var(--cw-surface);
}
[data-theme="high-contrast"] #site-nav .site-nav-link--active,
[data-theme="high-contrast"] #site-nav .site-nav-link[aria-current="page"] {
  color: var(--cw-text);
  font-weight: 700;
  border-bottom-color: var(--cw-gold);
}

/* Scrollable in-page tab rows (dashboard, legislators, year picker, etc.) */
.cw-tab-row {
  display: flex;
  flex-wrap: nowrap;
  gap: 0.5rem;
  overflow-x: auto;
  overscroll-behavior-x: contain;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
  padding-bottom: 0.25rem;
  margin-bottom: 1.5rem;
}
.cw-tab-row > button,
.cw-tab-row > a,
.cw-tab-row > .year-tab {
  flex: 0 0 auto;
  white-space: nowrap;
}

@media (max-width: 640px) {
  .cw-card-header {
    padding: 1rem 1rem;
  }
  .cw-card-body {
    padding: 1rem 1rem;
  }
  #cw-page-wrapper.cw-page-wrapper,
  .cw-page-wrapper {
    padding-left: 0.75rem;
    padding-right: 0.75rem;
  }
  .cw-card-header .flex.flex-wrap.items-center.justify-between {
    gap: 0.75rem;
  }
  .cw-card-header h1 {
    font-size: 1.5rem;
    line-height: 1.25;
  }
}
