/* Votes & sondages */
.vote-list { display: grid; gap: .85rem; }
.vote-row {
  display: grid; grid-template-columns: 48px minmax(160px, 1.3fr) minmax(120px, 2fr) 66px auto;
  align-items: center; gap: 1.25rem;
  background: var(--bg-card); border: 1px solid var(--line);
  border-radius: var(--radius); padding: .9rem 1.25rem;
}
.vote-row.is-voted { border-color: var(--gold-400); background: var(--gold-100); }
.vote-rank { font-family: var(--font-display); font-size: 1.6rem; font-weight: 700; color: var(--gold-700); text-align: center; }
.vote-title { font-weight: 600; margin: 0; font-size: 1.08rem; }
.vote-artist { margin: 0; color: var(--text-soft); font-size: var(--fs-sm); }
.vote-bar { height: 12px; background: var(--cream-300); border-radius: 6px; overflow: hidden; }
.vote-bar__fill { display: block; height: 100%; background: linear-gradient(90deg, var(--gold-500), var(--gold-300)); border-radius: 6px; transition: width .6s var(--ease); }
.vote-pct { font-variant-numeric: tabular-nums; font-weight: 700; color: var(--accent-ink); text-align: right; }

.poll { gap: .75rem; }
.poll-option {
  display: flex; align-items: center; gap: .9rem; min-height: var(--touch);
  padding: .85rem 1.25rem; background: var(--white);
  border: 2px solid var(--line); border-radius: var(--radius); cursor: pointer;
  font-weight: 500; transition: border-color .16s var(--ease), background-color .16s var(--ease);
}
.poll-option:hover { border-color: var(--gold-400); }
.poll-option input { width: 24px; height: 24px; accent-color: var(--royal-500); }
.poll-option:has(input:checked) { border-color: var(--gold-500); background: var(--gold-100); }

@media (max-width: 860px) {
  .vote-row { grid-template-columns: 40px 1fr auto; row-gap: .6rem; }
  .vote-bar { grid-column: 1 / -1; }
  .vote-pct { display: none; }
}
