/* Área do candidato (POL-142): só tokens do portal; fundos branco, azul-50 e navy-900. */
.cand-topo { background: var(--cor-navy-900); color: var(--cor-branco); padding: var(--espaco-48) 0; }
.cand-topo h1 { font-size: 34px; line-height: 1.1; font-weight: 800; margin: var(--espaco-8) 0 var(--espaco-16); }
.cand-trilha { font-size: 14px; color: var(--cor-acento-300); } .cand-trilha a { color: inherit; text-decoration: underline; }
.cand-sub { font-size: 18px; max-width: 640px; color: var(--cor-azul-100); }
.cand-eleicao { margin-top: var(--espaco-16); font-weight: 700; }
.cand-contagem { margin-top: var(--espaco-4); color: var(--cor-acento-300); font-weight: 600; min-height: 1.5em; }
.cand-conteudo { padding-top: var(--espaco-32); padding-bottom: var(--espaco-64); }
.cand-aviso { background: var(--cor-azul-50); border: 1px solid var(--cor-azul-200); border-radius: var(--raio-md); padding: var(--espaco-16); color: var(--cor-navy-900); margin-bottom: var(--espaco-24); }
.cand-indice { background: var(--cor-azul-50); border-radius: var(--raio-lg); padding: var(--espaco-16) var(--espaco-20); margin-bottom: var(--espaco-32); }
.cand-indice h2, .cand-conteudo > h2 { font-size: 20px; font-weight: 800; color: var(--cor-navy-900); margin-bottom: var(--espaco-8); }
.cand-indice ol { padding-left: 1.25rem; list-style: decimal; } .cand-indice a { color: var(--cor-azul-600); text-decoration: underline; }
.cand-lista { list-style: none; padding: 0; display: grid; gap: var(--espaco-16); }
.cand-etapa { display: flex; gap: var(--espaco-16); border: 1px solid var(--cor-azul-200); border-radius: var(--raio-lg); padding: var(--espaco-20); scroll-margin-top: 96px; }
.cand-etapa--vencida { opacity: .8; }
.cand-num { flex: none; width: 40px; height: 40px; border-radius: var(--raio-pilula); background: var(--cor-azul-600); color: var(--cor-branco); display: grid; place-items: center; font-weight: 800; }
.cand-corpo h3 { font-size: 20px; font-weight: 800; color: var(--cor-navy-900); }
.cand-corpo p { margin-top: var(--espaco-8); line-height: 1.55; }
.cand-prazo { color: var(--cor-azul-700); }
.cand-bloco h4 { margin-top: var(--espaco-12); font-weight: 700; } .cand-bloco ul { padding-left: 1.25rem; list-style: disc; }
.cand-links { display: flex; flex-wrap: wrap; gap: var(--espaco-12); margin-top: var(--espaco-12); }
.cand-link { color: var(--cor-azul-600); font-weight: 600; text-decoration: underline; }
.cand-cargos { display: grid; gap: var(--espaco-16); margin: var(--espaco-16) 0 var(--espaco-32); }
.cand-cartao { display: block; border: 1px solid var(--cor-azul-200); border-radius: var(--raio-lg); padding: var(--espaco-24); background: var(--cor-azul-50); }
.cand-cartao h3 { font-size: 24px; font-weight: 800; color: var(--cor-navy-900); } .cand-cartao span { display: inline-block; margin-top: var(--espaco-12); color: var(--cor-azul-600); font-weight: 700; }
.cand-cta { margin-top: var(--espaco-40); background: var(--cor-navy-900); color: var(--cor-branco); border-radius: var(--raio-xl); padding: var(--espaco-32) var(--espaco-24); }
.cand-cta h2 { font-size: 24px; font-weight: 800; } .cand-cta p { margin: var(--espaco-8) 0 var(--espaco-16); color: var(--cor-azul-100); }
.cand-nota { margin-top: var(--espaco-24); font-size: 14px; color: var(--cor-texto-suave); }
@media (min-width: 768px) { .cand-topo h1 { font-size: 48px; } .cand-cargos { grid-template-columns: 1fr 1fr; } }

.cand-partidos { margin-top: var(--espaco-12); border: 1px solid var(--cor-azul-200); border-radius: var(--raio-md); padding: var(--espaco-12) var(--espaco-16); background: var(--cor-azul-50); }
.cand-partidos summary { cursor: pointer; font-weight: 700; color: var(--cor-azul-700); }
.cand-partidos ul { list-style: none; padding: 0; margin-top: var(--espaco-12); display: grid; gap: var(--espaco-12); }
.cand-partido { display: grid; grid-template-columns: 96px 1fr; gap: var(--espaco-12); align-items: center; background: var(--cor-branco); border: 1px solid var(--cor-azul-200); border-radius: var(--raio-lg); padding: var(--espaco-16); }
.cand-partido img, .cand-numero { width: 96px; height: 64px; object-fit: contain; }
.cand-numero { display: grid; place-items: center; border-radius: var(--raio-md); background: var(--cor-azul-100); color: var(--cor-azul-700); font-weight: 800; }
.cand-partido strong { display: block; color: var(--cor-navy-900); } .cand-partido span:not(.cand-numero) { font-size: 13px; color: var(--cor-texto-suave); }
.cand-partido p { grid-column: 1 / -1; display: flex; flex-wrap: wrap; align-items: center; gap: var(--espaco-8) var(--espaco-16); margin: 0; }
.cand-botao { background: var(--cor-azul-600); color: var(--cor-branco); font-weight: 700; border-radius: var(--raio-md); padding: var(--espaco-8) var(--espaco-16); }
@media (min-width: 640px) { .cand-partidos ul { grid-template-columns: 1fr 1fr; } }
@media (min-width: 1024px) { .cand-partidos ul { grid-template-columns: 1fr 1fr 1fr; } }
.cand-busca { width: 100%; margin-top: var(--espaco-12); border: 1px solid var(--cor-azul-200); border-radius: var(--raio-md); padding: var(--espaco-12) var(--espaco-16); font-size: 16px; background: var(--cor-branco); }
.cand-vazio { margin-top: var(--espaco-12); font-weight: 700; color: var(--cor-navy-900); }
.cand-partido[hidden] { display: none; }
