/*
 * AN Candidatos — estilo do buscador.
 * Usa os mesmos tokens do tema AlexNews, para não destoar da matéria.
 */
.anc-busca {
  --anc-azul: #0B5FFF; --anc-azul-esc: #0847C4; --anc-suave: #E8F0FF;
  --anc-tinta: #111827; --anc-cinza: #6B7280; --anc-linha: #E5E7EB;
  border: 1px solid var(--anc-linha); border-radius: 10px;
  padding: 18px; margin: 26px 0; background: #fff;
  font-family: 'Inter', system-ui, -apple-system, sans-serif;
}
.anc-titulo { margin: 0 0 14px; font-size: 19px; }

/* cargos */
.anc-cargos { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 16px; }
.anc-cargo {
  display: inline-flex; align-items: center; gap: 7px;
  padding: 8px 13px; border: 1px solid var(--anc-linha); background: #fff;
  border-radius: 999px; cursor: pointer; font-size: 14px; font-weight: 600;
  color: var(--anc-tinta); line-height: 1.2;
}
.anc-cargo:hover { border-color: var(--anc-azul); }
.anc-cargo.anc-on { background: var(--anc-azul); border-color: var(--anc-azul); color: #fff; }
.anc-qt { font-size: 12px; font-weight: 500; opacity: .75; }

/* controles */
.anc-controles { display: grid; gap: 12px; grid-template-columns: 1fr; margin-bottom: 14px; }
@media (min-width: 700px) {
  .anc-controles { grid-template-columns: 1fr 1.4fr 1fr; }
}
.anc-campo { display: flex; flex-direction: column; gap: 5px; }
.anc-campo > span { font-size: 12.5px; font-weight: 600; color: var(--anc-cinza); }
.anc-campo select, .anc-campo input {
  width: 100%; padding: 9px 11px; font-size: 15px;
  border: 1px solid var(--anc-linha); border-radius: 7px; background: #fff;
  color: var(--anc-tinta); font-family: inherit;
}
.anc-campo select:focus, .anc-campo input:focus {
  outline: 2px solid var(--anc-azul); outline-offset: 1px; border-color: var(--anc-azul);
}
.anc-campo input:disabled, .anc-campo select:disabled { background: #F5F7FA; color: #9AA1AC; }

.anc-status { margin: 0 0 12px; font-size: 13.5px; color: var(--anc-cinza); font-weight: 600; }

/* tabela */
.anc-tabela { width: 100%; border-collapse: collapse; font-size: 14.5px; }
.anc-tabela th {
  text-align: left; padding: 9px 10px; background: var(--anc-suave);
  border-bottom: 2px solid var(--anc-azul); font-size: 12.5px;
  text-transform: uppercase; letter-spacing: .4px; color: var(--anc-azul-esc);
}
.anc-tabela td { padding: 9px 10px; border-bottom: 1px solid var(--anc-linha); }
.anc-tabela tr:hover td { background: #FAFBFD; }
.anc-col-num { width: 92px; }
.anc-num {
  display: inline-block; min-width: 46px; text-align: center;
  padding: 3px 8px; background: var(--anc-tinta); color: #fff;
  border-radius: 5px; font-weight: 700; font-size: 13.5px;
  font-variant-numeric: tabular-nums;
}
.anc-nome-cel { font-weight: 600; }
.anc-vazio { text-align: center; color: var(--anc-cinza); padding: 26px 10px; }

.anc-mais { margin: 14px 0 0; text-align: center; }
.anc-btn-mais {
  padding: 9px 18px; border: 1px solid var(--anc-azul); background: #fff;
  color: var(--anc-azul); border-radius: 7px; cursor: pointer;
  font-size: 14px; font-weight: 600; font-family: inherit;
}
.anc-btn-mais:hover { background: var(--anc-suave); }

.anc-fonte {
  margin: 16px 0 0; padding-top: 12px; border-top: 1px solid var(--anc-linha);
  font-size: 12.5px; color: var(--anc-cinza); line-height: 1.55;
}
.anc-aviso {
  padding: 14px; border: 1px dashed #f0d68a; background: #fff8e1;
  border-radius: 8px; color: #6b5b00; font-size: 14px;
}

/* ---------------------------------------------------------------------
   LARGURA TOTAL
   O tema limita o texto da matéria a 800px, que é a largura certa para
   ler. Tabela de 20 mil nomes com três colunas não é texto: apertada,
   o nome quebra em duas linhas e a coluna de partido some. Aqui o
   buscador sai da coluna de leitura e ocupa a largura da tela, com uma
   folga nas laterais. No celular não muda nada, porque lá já era cheio.
   --------------------------------------------------------------------- */
@media (min-width: 900px) {
  .anc-busca--largo {
    width: min(calc(100vw - 48px), 1240px);
    margin-left: calc(50% - min(calc(100vw - 48px), 1240px) / 2);
    margin-right: 0;
  }
  /* com espaço sobrando, os filtros cabem numa linha só */
  .anc-busca--largo .anc-controles {
    grid-template-columns: 1fr 1.6fr 1.1fr 0.9fr;
  }
  /* e a tabela ganha respiro entre as colunas */
  .anc-busca--largo .anc-tabela td,
  .anc-busca--largo .anc-tabela th { padding: 10px 14px; }
}

/* ---------------------------------------------------------------------
   PARTIDO COM PESO
   A coluna estava em cinza claro e sumia ao lado do nome em negrito.
   Partido é dado de decisão de voto, não legenda de rodapé.
   --------------------------------------------------------------------- */
.anc-part {
  display: inline-block; padding: 2px 9px; border-radius: 999px;
  background: var(--anc-suave); color: var(--anc-azul-esc);
  font-size: 13px; font-weight: 600; white-space: nowrap;
}
.anc-tabela td:last-child { width: 1%; white-space: nowrap; }
