/* HERO HOME */
.hero {
  position: relative;
  width: 100%;
  min-height: 90vh;
  display: flex;
  align-items: center;
  overflow: hidden;
}
.hero .overlay {
  position: absolute;
  inset: 0;
  backdrop-filter: blur(2px);
  z-index: 1;
}
.hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, rgba(0,0,0,0.4), rgba(0,0,0,0.8));
  z-index: 1;
}
.hero-content {
  position: relative;
  z-index: 2;
  color: white;
}
@keyframes fadeHero {
  from { opacity:0; transform:translateY(30px); }
  to { opacity:1; transform:translateY(0); }
}

/* DESTAQUES */
.destaques { background:#111; }

/* BUSCA PARLAMENTARES */
.busca-parlamentares { background:#0b0b0b; }
.form-busca { margin-top:40px; }
.form-busca input:focus, .form-busca select:focus { border-color:#b30000; }

/* NOTÍCIAS HOME */
.noticias { background:#111; }
.news-card { transition:.3s; }
.news-card:hover { transform:translateY(-5px); border-color:#b30000; }
.news-image {
  background-image:url('../img/banner/congresso.png');
  background-size:cover;
  background-position:center;
}

/* ESTATÍSTICAS HOME */
.estatisticas { background:#111; }
.stat-box { transition:.3s; }
.stat-box:hover { transform:translateY(-5px); border-color:#b30000; }
.estatisticas-home { padding:80px 0; background:#0d0d0d; }
.grid-estatisticas-home {
  display:grid;
  grid-template-columns:repeat(2, 1fr);
  gap:25px;
}
.card-est-home {
  background:#151515;
  border:1px solid #222;
  border-radius:16px;
  padding:40px;
  text-align:center;
}
.card-est-home strong {
  display:block;
  font-size:52px;
  color:#fff;
  margin-bottom:15px;
}
.card-est-home span { color:#aaa; font-size:18px; }

/* SEÇÕES */
.ultimas-votacoes-home, .top-parlamentares-home {
  padding:100px 0;
  background:#0b0b0b;
}
.topo-section {
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:40px;
}
.topo-section h2 { color:#fff; font-size:42px; }
.topo-section a { color:#ff4d4d; text-decoration:none; font-weight:700; }

/* GRID VOTAÇÕES */
.grid-votacoes-home {
  display:grid;
  grid-template-columns:repeat(1fr);
  gap:25px;
}
.card-home-votacao {
  background:#151515;
  border:1px solid #222;
  border-radius:14px;
  padding:30px;
}
.card-home-votacao span {
  display:inline-block;
  margin-bottom:18px;
  background:#101010;
  border:1px solid #222;
  padding:8px 14px;
  border-radius:8px;
  color:#ccc;
  font-size:13px;
}
.card-home-votacao h3 a {
  color:#fff;
  text-decoration:none;
  font-size:28px;
  line-height:1.3;
}
.card-home-votacao h3 a:hover { color:#ff4d4d; }
.card-home-votacao p { color:#bdbdbd; margin-bottom:15px; }
.card-home-votacao small { color:#777; }


/* GRID TOP PARLAMENTARES */
.grid-top {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:15px;
}
.top-card {
  background:#151515;
  border:1px solid #222;
  border-radius:12px;
  overflow:hidden;
  text-decoration:none;
  transition:.3s;
  display:flex;
  flex-direction:column;
  align-items:center;
}
.top-card:hover { transform:translateY(-5px); border-color:#b30000; }
.top-foto {
  width:100%;
  height:180px;
  background:#111;
}
.top-foto img {
    wwidth: 160px;   /* tamanho do círculo */
    height: 160px;
    aspect-ratio: 1 / 1;
    border-radius: 50%;
    overflow: hidden;
    border: 2px solid #222;
    background: #111;
    flex-shrink: 0;
    margin: 0 auto 20px; /* centraliza horizontalmente no card */
    display: block;
    align-items: center;
    justify-content: center;
    object-fit: cover;
    object-position: center;
}
.top-info {
  padding:12px 10px;
  text-align:center;
  background:#151515;
  border-top:1px solid #222;
}
.top-info h3 {
  font-size:16px;
  font-weight:700;
  color:#fff;
  margin-bottom:4px;
  transition:.3s;
}
.top-card:hover .top-info h3 { color:#ff4d4d; }
.top-info span {
  display:block;
  font-size:14px;
  font-weight:600;
  color:#d1d1d1;
  margin-top:4px;
  transition:.3s;
}
.top-card:hover .top-info span { color:#f0f0f0; }
