/* Civora Privacy Pulse — interactive poll widget. Relies on the --black-card,
   --gold, --gold-muted, --border, --text, --text-muted, --white, --serif,
   --radius custom properties defined in each article's own :root. */
.pp-live-poll{
  margin:3rem 0;
  padding:2rem;
  border:1px solid var(--border);
  border-radius:var(--radius);
  background:var(--black-card);
  color:var(--text);
}
.pp-live-poll *{box-sizing:border-box}
.pp-poll-kicker{
  margin:0 0 0.75rem;
  color:var(--gold);
  font-size:0.68rem;
  font-weight:600;
  letter-spacing:0.12em;
  text-transform:uppercase;
}
.pp-poll-question{
  margin:0 0 0.5rem;
  color:var(--white);
  font-family:var(--serif);
  font-size:1.05rem;
  line-height:1.5;
}
.pp-poll-note,.pp-poll-disclaimer,.pp-poll-status,.pp-poll-total{
  color:var(--text-muted);
  font-size:0.82rem;
  line-height:1.55;
}
.pp-poll-note{margin:0 0 1.25rem}
.pp-poll-options{display:grid;gap:0.6rem;margin:1rem 0}
.pp-poll-option{
  width:100%;
  display:flex;
  align-items:center;
  gap:0.75rem;
  padding:0.75rem 0.85rem;
  border:1px solid var(--border);
  border-radius:var(--radius);
  background:var(--black-soft);
  color:var(--text);
  text-align:left;
  font:inherit;
  font-size:0.9rem;
  cursor:pointer;
  transition:border-color .16s ease,background .16s ease;
}
.pp-poll-option:hover{border-color:var(--gold-muted);background:var(--black-card)}
.pp-poll-option:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.pp-poll-option[aria-checked="true"]{
  border-color:var(--gold);
  background:var(--black-card);
}
.pp-poll-dot{
  flex:0 0 auto;
  width:14px;height:14px;
  display:grid;place-items:center;
  border:1px solid var(--gold-muted);
  border-radius:50%;
}
.pp-poll-option[aria-checked="true"] .pp-poll-dot::after{
  content:"";
  width:7px;height:7px;
  border-radius:50%;
  background:var(--gold);
}
.pp-poll-submit{
  appearance:none;
  border:1px solid var(--gold);
  border-radius:var(--radius);
  padding:0.7rem 1.1rem;
  background:var(--gold);
  color:var(--black);
  font:inherit;
  font-weight:600;
  font-size:0.85rem;
  cursor:pointer;
}
.pp-poll-submit:hover{filter:brightness(1.08)}
.pp-poll-submit:focus-visible{outline:2px solid var(--white);outline-offset:2px}
.pp-poll-submit:disabled{opacity:.45;cursor:not-allowed}
.pp-poll-status{min-height:1.2rem;margin:0.75rem 0 0}
.pp-poll-results{display:grid;gap:0.9rem;margin-top:1.1rem}
.pp-poll-result-top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:1rem;
  margin-bottom:0.4rem;
  font-size:0.88rem;
}
.pp-poll-result-label{color:var(--text)}
.pp-poll-result-percent{color:var(--white);white-space:nowrap;font-weight:600}
.pp-poll-result-track{
  height:6px;
  overflow:hidden;
  border-radius:999px;
  background:var(--black-soft);
}
.pp-poll-result-fill{
  height:100%;
  width:0;
  border-radius:999px;
  background:var(--gold);
  transition:width .35s ease;
}
.pp-poll-result.pp-my-vote .pp-poll-result-label::after{
  content:"  · your vote";
  color:var(--gold);
  font-size:0.75rem;
}
.pp-poll-total{margin:0.2rem 0 0}
.pp-poll-disclaimer{
  margin:1.1rem 0 0;
  padding-top:0.9rem;
  border-top:1px solid var(--border);
  font-size:0.72rem;
}
.pp-live-poll[aria-busy="true"]{opacity:.82}
@media(max-width:640px){
  .pp-live-poll{padding:1.4rem 1.1rem}
  .pp-poll-option{padding:0.7rem}
}
