/* PERFIL PARLAMENTAR */
.perfil-parlamentar {
  padding-top:180px;
  min-height:100vh;
  background:#0b0b0b;
}
.perfil-topo {
  display:flex;
  gap:40px;
  align-items:flex-start;
  margin-bottom:50px;
}
.perfil-foto img {
  width:280px;
  height:280px;
  object-fit:cover;
  border-radius:16px;
  border:2px solid #222;
}
.perfil-info { flex:1; }
.perfil-info h1 {
  font-size:52px;
  color:#fff;
  margin-bottom:20px;
}
.perfil-meta {
  display:flex;
  flex-wrap:wrap;
  gap:15px;
  margin-bottom:25px;
}
.perfil-meta span {
  background:#151515;
  border:1px solid #222;
  padding:10px 18px;
  border-radius:8px;
  color:#ccc;
  font-size:14px;
}
.perfil-info p {
  color:#bdbdbd;
  line-height:1.8;
  font-size:18px;
}
.perfil-box {
  background:#151515;
  border:1px solid #222;
  border-radius:12px;
  padding:35px;
}
.perfil-box h2 {
  color:#fff;
  margin-bottom:20px;
  font-size:32px;
}
.perfil-box p { color:#bdbdbd; line-height:1.7; }

/* LISTA PARLAMENTARES */
.lista-parlamentares {
  padding-top:180px;
  padding-bottom:100px;
  background:#0b0b0b;
  min-height:100vh;
}
.titulo-lista {
  margin-bottom:60px;
  text-align:center;
}

.titulo-lista h1 {
  color:#fff;
  font-size:52px;
  margin-bottom:15px;
}
.titulo-lista p { color:#bdbdbd; font-size:20px; }

/* FILTROS */
.p-filtros-publicos {
  margin-bottom:50px;
  display:flex;
}

.p-filtros-publicos form {
  display:grid;
  grid-template-columns:2fr 1fr 1fr 1fr 180px;
  gap:20px;
  align-items:center;
}
.p-filtros-publicos input, .p-filtros-publicos select {
  width:100%;
  padding:16px;
  background:#151515;
  border:1px solid #222;
  border-radius:10px;
  color:#fff;
  outline:none;
}
.p-filtros-publicos input:focus, .p-filtros-publicos select:focus { border-color:#b30000; }
.p-filtros-publicos button {
  height:56px;
  background:#b30000;
  border:none;
  border-radius:10px;
  color:#fff;
  font-weight:700;
  font-size:16px;
  cursor:pointer;
  transition:.3s;
  padding:0 25px;
}
.p-filtros-publicos button:hover { background:#d10000; }

/* GRID PARLAMENTARES */
.p-grid-parlamentares {
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(240px, 1fr));
  gap:25px;
}
.p-card-parlamentar {
  background:#151515;
  border:1px solid #222;
  border-radius:14px;
  overflow:hidden;
  text-decoration:none;
  transition:.3s;
}
.p-card-parlamentar:hover {
  transform:translateY(-5px);
  border-color:#b30000;
}
.foto-parlamentar {
  width:100%;
  height:320px;
  background:#111;
}
.foto-parlamentar img {
  width:100%;
  height:100%;
  object-fit:cover;
}
.p-info-parlamentar { padding:25px; }
.p-info-parlamentar h3 {
  color:#fff;
  font-size:24px;
  margin-bottom:15px;
  line-height:1.4;
}
.p-meta-parlamentar {
  display:flex;
  gap:10px;
  margin-bottom:15px;
}
.p-meta-parlamentar span {
  background:#0d0d0d;
  border:1px solid #222;
  padding:8px 14px;
  border-radius:8px;
  color:#ccc;
  font-size:13px;
}
.p-info-parlamentar p { color:#bdbdbd; }

/* LISTA DE VOTAÇÕES */
.lista-votacoes {
  display:flex;
  flex-direction:column;
  gap:25px;
}
.card-votacao {
  background:#101010;
  border:1px solid #222;
  border-radius:14px;
  padding:25px;
}
.topo-votacao {
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:20px;
}
.categoria-votacao {
  background:#1a1a1a;
  border:1px solid #333;
  padding:8px 14px;
  border-radius:8px;
  color:#ccc;
  font-size:13px;
}
.data-votacao { color:#777; font-size:14px; }
.card-votacao h3 {
  color:#fff;
  margin-bottom:15px;
  font-size:26px;
}
.card-votacao p {
  color:#bdbdbd;
  line-height:1.7;
  margin-bottom:25px;
}

/* BADGES */
.badge-voto {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:12px 20px;
  border-radius:10px;
  font-weight:700;
  font-size:14px;
}
.badge-voto.sim { background:#0f5132; color:#75ffba; }
.badge-voto.nao { background:#5c1111; color:#ff8a8a; }
.badge-voto.abstencao { background:#5a4a12; color:#ffe58a; }
.badge-voto.ausente { background:#333; color:#ccc; }

/* PÁGINA VOTAÇÃO */
.pagina-votacao {
  padding-top:180px;
  padding-bottom:100px;
  background:#0b0b0b;
  min-height:100vh;
}
.topo-pagina-votacao { margin-bottom:60px; }
.topo-pagina-votacao h1 {
  color:#fff;
  font-size:54px;
  margin-bottom:25px;
  line-height:1.2;
}
.meta-votacao-page {
  display:flex;
  gap:15px;
  flex-wrap:wrap;
  margin-bottom:25px;
}
.meta-votacao-page span {
  background:#151515;
  border:1px solid #222;
  padding:10px 18px;
  border-radius:8px;
  color:#ccc;
  font-size:14px;
}
.topo-pagina-votacao p {
  color:#bdbdbd;
  line-height:1.8;
  font-size:18px;
  max-width:900px;
}

/* GRID VOTOS */
.grid-votos {
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(240px, 1fr));
  gap:25px;
}
.card-voto-publico {
  background:#151515;
  border:1px solid #222;
  border-radius:14px;
  overflow:hidden;
  padding-bottom:25px;
  text-align:center;
}
.foto-voto-publico {
  width:100%;
  height:300px;
  background:#111;
  margin-bottom:20px;
}
.foto-voto-publico img {
  width:100%;
  height:100%;
  object-fit:cover;
}
.card-voto-publico h3 {
  color:#fff;
  font-size:22px;
  padding:0 15px;
  margin-bottom:20px;
  line-height:1.4;
}
.link-votacao {
  color:#fff;
  text-decoration:none;
  transition:.3s;
}
.link-votacao:hover { color:#ff4d4d; }

/* ESTATÍSTICAS VOTAÇÃO */
.estatisticas-votacao {
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(200px, 1fr));
  gap:20px;
  margin-bottom:60px;
}
.card-estatistica {
  border-radius:14px;
  padding:35px;
  text-align:center;
  border:1px solid #222;
}
.card-estatistica h3 {
  color:#fff;
  font-size:20px;
  margin-bottom:15px;
}
.card-estatistica strong {
  font-size:42px;
  color:#fff;
}
.card-estatistica.sim { background:#103822; }
.card-estatistica.nao { background:#4d1111; }
.card-estatistica.abstencao { background:#5c4d11; }
.card-estatistica.ausente { background:#2a2a2a; }

/* SCORE */
.score-politico {
  background:#1f3b1f !important;
  color:#8cff8c !important;
  border:1px solid #2f5c2f !important;
  font-weight:700;
}

