/* PowerShare 2 - petitions tile (js/features/petitions.js)
   Mobile-first; every colour/space/radius comes from css/tokens.css. */

/* ── Search row ──────────────────────────────────────────────────────────── */

.petition-search-row {
  display: flex;
  gap: var(--space-2);
  margin-bottom: var(--space-4);
}

.petition-search-row .input { flex: 1; min-width: 0; }

/* ── Card list ───────────────────────────────────────────────────────────── */

.petition-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-3);
}

@media (min-width: 40rem) {
  .petition-list { grid-template-columns: 1fr 1fr; }
}

.petition-card {
  background: var(--colour-surface-alt);
  border: 1px solid var(--colour-border);
  border-radius: var(--radius-md);
  padding: var(--space-4);
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
}

/* ── Meta badges ─────────────────────────────────────────────────────────── */

.petition-meta {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-1);
}

.petition-dept,
.petition-milestone {
  display: inline-block;
  font-size: var(--text-xs);
  line-height: 1.3;
  padding: 0.125rem var(--space-2);
  border-radius: var(--radius-pill);
}

.petition-dept {
  background: var(--colour-brand-pale);
  color: var(--colour-brand-dark);
}

.petition-milestone {
  background: var(--colour-info-bg);
  color: var(--colour-info);
  font-weight: 600;
}

.petition-milestone--debated,
.petition-milestone--threshold {
  background: var(--colour-success-bg);
  color: var(--colour-success);
}

.petition-milestone--scheduled {
  background: var(--colour-warn-bg);
  color: var(--colour-warn);
}

/* ── Title + background text ─────────────────────────────────────────────── */

.petition-action {
  margin: 0;
  font-size: var(--text-md);
  line-height: var(--leading-tight);
}

.petition-action a {
  color: var(--colour-brand-dark);
  text-decoration: none;
}

.petition-action a:hover,
.petition-action a:focus-visible {
  color: var(--colour-brand);
  text-decoration: underline;
}

.petition-background {
  margin: 0;
  font-size: var(--text-sm);
  color: var(--colour-text-muted);
  line-height: var(--leading-body);
}

/* ── Signature progress towards the 100k debate threshold ────────────────── */

.petition-signatures { margin-top: auto; }

.petition-sig-bar {
  height: 0.5rem;
  border-radius: var(--radius-pill);
  background: var(--colour-border);
  overflow: hidden;
}

.petition-sig-fill {
  /* --sig-progress is set from data in JS (sanctioned token-from-JS
     pattern, documented in the tile contract). */
  width: var(--sig-progress, 0%);
  height: 100%;
  border-radius: var(--radius-pill);
  background: linear-gradient(90deg, var(--colour-brand), var(--colour-brand-light));
  transition: width 0.4s ease;
}

@media (prefers-reduced-motion: reduce) {
  .petition-sig-fill { transition: none; }
}

.petition-sig-labels {
  display: flex;
  justify-content: space-between;
  gap: var(--space-2);
  margin-top: var(--space-1);
  font-size: var(--text-xs);
  color: var(--colour-text-muted);
}

.petition-sig-count strong { color: var(--colour-brand-dark); }

/* ── Empty search result + primary action ────────────────────────────────── */

.petition-none {
  margin: 0;
  padding: var(--space-4);
  font-size: var(--text-sm);
  color: var(--colour-text-muted);
  background: var(--colour-surface-alt);
  border-radius: var(--radius-md);
}

.petition-cta-row {
  margin: var(--space-4) 0 0;
}

.petition-cta {
  display: inline-block;
  font-weight: 600;
  color: var(--colour-brand);
}

.petition-cta:hover,
.petition-cta:focus-visible {
  color: var(--colour-brand-dark);
}
