/* ---- Layout geral ---- */
body {
  background: #f7f9fb;
}

/* Hero */
.hero-wrap {
  position: relative;
  border-radius: 1rem;
  overflow: hidden;
  background: radial-gradient(1200px 600px at 0% 0%, #e6f0ff 0%, #f7f9fb 60%, #f7f9fb 100%);
  border: 1px solid rgba(0,0,0,.06);
}

.hero-bg {
  position: absolute;
  inset: 0;
  background: linear-gradient(120deg, rgba(3, 37, 76, 0.08), rgba(0, 123, 255, 0.08));
  pointer-events: none;
}

.hero-content {
  position: relative;
  z-index: 1;
  padding: 3rem 2rem;
}

.hero-title {
  font-weight: 700;
  letter-spacing: 0.2px;
}

.hero-subtitle {
  color: #334155;
  max-width: 60ch;
}

/* Chips */
.filter-chip {
  border-radius: 999px;
  padding: .4rem .8rem;
  background: #fff;
  border: 1px solid rgba(0,0,0,.08);
  transition: .15s ease;
}
.filter-chip:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 10px rgba(0,0,0,.06);
}

/* Cards */
.petition-card .card-body {
  display: grid;
  gap: .5rem;
}
.petition-meta {
  color: #6b7280;
  font-size: .9rem;
}

/* Progress */
.progress {
  background: #e9eef6;
}
.progress .progress-bar {
  font-weight: 600;
}

/* Seção contadores */
.stats-strip {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: .75rem;
}
@media (max-width: 768px) {
  .stats-strip {
    grid-template-columns: 1fr;
  }
}
.stat-box {
  background: #fff;
  border: 1px solid rgba(0,0,0,.06);
  border-radius: .75rem;
  padding: .9rem 1rem;
}
.stat-box .kpi {
  font-size: 1.2rem;
  font-weight: 700;
}

/* Footer simples */
.app-footer {
  color: #6b7280;
  font-size: .9rem;
  border-top: 1px solid rgba(0,0,0,.06);
}
