/* ── TT Norms Pro ─────────────────────────────────────────── */
@font-face {
  font-family: 'TT Norms Pro';
  src: url('/TT Norms Pro WOFF2 2-140/TT_Norms_Pro_Light.woff2') format('woff2');
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'TT Norms Pro';
  src: url('/TT Norms Pro WOFF2 2-140/TT_Norms_Pro_Regular.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'TT Norms Pro';
  src: url('/TT Norms Pro WOFF2 2-140/TT_Norms_Pro_Medium.woff2') format('woff2');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'TT Norms Pro';
  src: url('/TT Norms Pro WOFF2 2-140/TT_Norms_Pro_Bold.woff2') format('woff2');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

/* ── Sartorius theme — only active when data-theme="sartorius" ── */
body[data-theme="sartorius"] {
  font-family: 'TT Norms Pro', system-ui, -apple-system, sans-serif;

  --blue:        #000000;
  --blue-hover:  #1a1a1a;
  --blue-light:  #fffef0;
  --blue-border: #FFED00;
  --bg:          #f4f4f4;
  --border:      #d8d8d8;
  --muted:       #555555;
  --radius:      4px;
}

/* ── Header ──────────────────────────────────────────────── */
body[data-theme="sartorius"] .header {
  background: #000000;
  border-bottom: 3px solid #FFED00;
}

/* Brand wordmark replaces the emoji icon */
body[data-theme="sartorius"] .header-icon { display: none; }

body[data-theme="sartorius"] .sart-wordmark {
  display: block;
  font-family: 'TT Norms Pro', sans-serif;
  font-weight: 700;
  font-size: 1.5rem;
  color: #FFED00;
  letter-spacing: -0.02em;
  line-height: 1;
  text-transform: lowercase;
}

body[data-theme="sartorius"] .header-title h1  { color: #ffffff; font-size: 1rem; }
body[data-theme="sartorius"] .header-sub       { color: rgba(255,255,255,.6); }

/* Vote + countdown badge */
body[data-theme="sartorius"] .vote-badge,
body[data-theme="sartorius"] .countdown-badge {
  background: #FFED00;
  border-color: #FFED00;
}
body[data-theme="sartorius"] .badge-label,
body[data-theme="sartorius"] .badge-count,
body[data-theme="sartorius"] .countdown-badge .cd-label,
body[data-theme="sartorius"] .countdown-badge .cd-time { color: #000000; }

body[data-theme="sartorius"] .badge-count.empty        { color: #555555; }
body[data-theme="sartorius"] .countdown-badge.urgent   { background: #ff4444; border-color: #ff4444; }
body[data-theme="sartorius"] .countdown-badge.urgent .cd-time,
body[data-theme="sartorius"] .countdown-badge.urgent .cd-label { color: #ffffff; }

/* ── Closed banner ───────────────────────────────────────── */
body[data-theme="sartorius"] .closed-banner {
  background: #000000;
  border-bottom-color: #FFED00;
  color: #FFED00;
}

/* ── Tabs ────────────────────────────────────────────────── */
body[data-theme="sartorius"] .tabs { border-bottom-color: #d8d8d8; }

body[data-theme="sartorius"] .tab:hover  { color: #000000; }
body[data-theme="sartorius"] .tab.active {
  color: #000000;
  border-bottom-color: #FFED00;
}

/* ── Search ──────────────────────────────────────────────── */
body[data-theme="sartorius"] .search-input:focus {
  border-color: #FFED00;
  box-shadow: 0 0 0 3px rgba(255, 237, 0, 0.25);
}

/* ── Category filter pills ───────────────────────────────── */
body[data-theme="sartorius"] .cat-btn:hover  { border-color: #000000; color: #000000; }
body[data-theme="sartorius"] .cat-btn.active { background: #000000; border-color: #000000; color: #ffffff; }

/* ── Idea cards ──────────────────────────────────────────── */
body[data-theme="sartorius"] .idea-card { border-radius: 4px; }

body[data-theme="sartorius"] .idea-card.voted {
  border-color: #FFED00;
  background: #fffef0;
}

/* Vote buttons */
body[data-theme="sartorius"] .vote-btn:hover:not(:disabled) {
  border-color: #000000;
  color: #000000;
  background: #f0f0f0;
}

body[data-theme="sartorius"] .vote-btn.plus:not(:disabled) {
  border-color: #FFED00;
  background: #FFED00;
  color: #000000;
}

body[data-theme="sartorius"] .vote-btn.plus:hover:not(:disabled) {
  background: #e6d600;
  border-color: #e6d600;
}

body[data-theme="sartorius"] .vote-count { color: #000000; }

/* ── Standings sidebar ───────────────────────────────────── */
body[data-theme="sartorius"] .standings-header { border-bottom-color: #FFED00; }
body[data-theme="sartorius"] .standing-votes   { color: #000000; }

/* ── Full results ────────────────────────────────────────── */
body[data-theme="sartorius"] .result-row.top-3 { border-color: #FFED00; }
body[data-theme="sartorius"] .progress-fill    { background: #FFED00; }
body[data-theme="sartorius"] .result-votes     { color: #000000; }

/* ── Refresh button ──────────────────────────────────────── */
body[data-theme="sartorius"] .refresh-btn { color: #000000; }
body[data-theme="sartorius"] .refresh-btn:hover { background: #fffef0; }
