/* PowerShare 2 - Prime Minister view (js/features/pm.js).
   Tokens only, no raw hex. The one data-driven value is --pm-party-colour,
   set from JS off the API party colour (the sanctioned "token from data"
   exception, mirroring --party-colour on councillor rows). */

.pm-header {
  display: flex;
  gap: var(--space-4);
  align-items: center;
  padding: var(--space-4);
  border: 1px solid var(--colour-border);
  border-left: 4px solid var(--pm-party-colour, var(--colour-brand-dark));
  border-radius: var(--radius-lg);
  background: var(--colour-surface);
}

.pm-portrait {
  width: 96px;
  height: 96px;
  border-radius: var(--radius-md);
  object-fit: cover;
  flex-shrink: 0;
}

.pm-portrait--blank {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: var(--text-2xl);
  background: var(--colour-surface-alt);
}

.pm-name {
  font-size: var(--text-2xl);
  line-height: var(--leading-tight);
  margin: 0;
}

.pm-role {
  font-weight: 600;
  margin: var(--space-1) 0 0;
}

.pm-seat {
  color: var(--colour-text-muted);
  margin: var(--space-1) 0 0;
}

/* ── Follow / alerts call-to-action ──────────────────────────────────────── */

.pm-follow {
  margin-top: var(--space-4);
  padding: var(--space-4);
  border-radius: var(--radius-lg);
  background: var(--colour-surface-alt);
}

.pm-follow-lead {
  margin: 0 0 var(--space-3);
}

.pm-follow-links {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-3);
}

/* ── Sections ────────────────────────────────────────────────────────────── */

.pm-section {
  margin-top: var(--space-6);
}

.pm-section-title {
  font-size: var(--text-lg);
  margin: 0;
}

.pm-section-sub {
  color: var(--colour-text-muted);
  margin: var(--space-1) 0 var(--space-3);
}

/* ── Votes ───────────────────────────────────────────────────────────────── */

.pm-votes,
.pm-speeches {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
}

.pm-vote {
  display: flex;
  gap: var(--space-3);
  align-items: flex-start;
  padding: var(--space-3);
  border: 1px solid var(--colour-border);
  border-radius: var(--radius-md);
  background: var(--colour-surface);
}

.pm-vote-decision {
  flex-shrink: 0;
  font-size: var(--text-xs);
  font-weight: 600;
  white-space: nowrap;
  padding: var(--space-1) var(--space-2);
  border-radius: var(--radius-pill);
  background: var(--colour-surface-alt);
  color: var(--colour-text-muted);
}

.pm-vote-decision--aye {
  color: var(--colour-success);
  background: var(--colour-success-bg);
}

.pm-vote-decision--no {
  color: var(--colour-danger);
  background: var(--colour-danger-bg);
}

.pm-vote-decision--teller {
  color: var(--colour-info);
  background: var(--colour-info-bg);
}

.pm-vote-body {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}

.pm-vote-title {
  font-weight: 500;
}

.pm-vote-meta {
  font-size: var(--text-sm);
  color: var(--colour-text-muted);
}

.pm-vote-result--passed {
  color: var(--colour-success);
}

.pm-vote-result--rejected {
  color: var(--colour-danger);
}

/* ── Speeches ────────────────────────────────────────────────────────────── */

.pm-speech {
  padding: var(--space-3);
  border: 1px solid var(--colour-border);
  border-radius: var(--radius-md);
  background: var(--colour-surface);
}

.pm-speech-head {
  font-size: var(--text-sm);
  color: var(--colour-text-muted);
  margin: 0 0 var(--space-2);
}

.pm-speech-quote {
  margin: 0;
  padding-left: var(--space-3);
  border-left: 3px solid var(--colour-border);
  line-height: var(--leading-body);
}
