/*
 * Linguagem visual editorial — Bloco 1
 *
 * Esta camada reduz a aparência de dashboard sem alterar a estrutura,
 * os dados ou o comportamento funcional das páginas existentes.
 */

:root {
  --bg: #f5f3ee;
  --card: #fffefa;
  --texto: #20201e;
  --texto-suave: #625f59;
  --borda: #d8d3ca;
  --topo: #171715;
  --topo-2: #171715;
  --topo-texto: #f8f5ef;
  --accent: #f68b1f;
  --accent-dark: #a84e00;
  --accent-soft: #fff2e3;
  --sombra: none;
  --fonte-interface: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  --fonte-editorial: Georgia, "Times New Roman", serif;
  --fonte-numerica: "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}

html {
  color-scheme: light;
  scroll-behavior: smooth;
}

body {
  font-family: var(--fonte-interface);
  background: var(--bg);
  color: var(--texto);
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
}

.container {
  width: min(1180px, calc(100% - 48px));
}

h1,
h2,
.perfil-nome,
.votacao-card-titulo,
.voto-titulo {
  font-family: var(--fonte-editorial);
  letter-spacing: -0.018em;
}

h1,
h2,
h3,
p {
  text-wrap: pretty;
}

.topo {
  background: var(--topo);
  padding: 18px 0 26px;
  margin-bottom: 0;
}

.topo h1 {
  max-width: 900px;
  font-size: clamp(2rem, 4vw, 3.15rem);
  line-height: 1.04;
  font-weight: 700;
}

.topo-titulo-interno {
  font-size: clamp(1.9rem, 3.4vw, 2.7rem) !important;
}

.subtitulo {
  max-width: 760px;
  color: #d7d3cc;
  line-height: 1.55;
}

main.container {
  padding-top: 34px;
}

.card {
  background: var(--card);
  border: 1px solid var(--borda);
  border-radius: 6px;
  box-shadow: none;
  transition: border-color 0.15s ease, background-color 0.15s ease;
}

.card:hover {
  transform: none;
  box-shadow: none;
}

.card-link:hover .card,
.card.card-link:hover {
  border-color: #9e978b;
  background: #ffffff;
}

.intro-home.card,
.intro-hub.card,
.pagina-criterios > .card.texto-longo {
  background: transparent;
  border: 0;
  border-top: 1px solid var(--borda);
  border-radius: 0;
  padding: 24px 0;
}

.intro-home.card {
  border-top: 0;
  padding-top: 0;
}

.intro-home-grid,
.intro-hub-texto {
  max-width: 980px;
}

.atalho-card {
  background: transparent;
  border: 0;
  border-left: 3px solid var(--accent);
  border-radius: 0;
  padding: 10px 0 10px 16px;
}

.atalho-card:hover {
  background: transparent;
  border-left-color: var(--accent-dark);
}

.selo-home,
.badge,
.perfil-casa-tag,
.status-pill,
.tema-pill {
  border-radius: 3px;
}

.selo-home {
  padding: 4px 8px;
  border: 0;
  border-left: 3px solid var(--accent);
  background: transparent;
  color: #ffc17e;
  text-transform: uppercase;
  letter-spacing: 0.055em;
  font-size: 0.75rem;
}

.hero-acoes a,
.btn-filtro,
.filtros input,
.filtros select,
.input-busca-votacao {
  border-radius: 4px;
}

.campo-filtro {
  display: grid;
  gap: 6px;
}

.campo-filtro > span,
.grupo-filtro legend {
  color: var(--texto-suave);
  font-size: 0.68rem;
  font-weight: 750;
  letter-spacing: 0.035em;
  text-transform: uppercase;
}

.grupo-filtro {
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
}

.grupo-filtro legend {
  margin-bottom: 6px;
}

.btn-principal,
.btn-secundario {
  border-radius: 4px;
}

.btn-principal:hover,
.btn-secundario:hover {
  transform: none;
}

.filtros input,
.filtros select,
.input-busca-votacao {
  min-height: 46px;
  background: #fffefa;
  border-color: #bdb7ad;
}

.filtros input:hover,
.filtros select:hover,
.input-busca-votacao:hover {
  border-color: #8d877d;
}

.resultado-info {
  margin: 12px 0 16px;
  font-size: 0.9rem;
}

.resumo-topo-grid {
  gap: 0;
  border-top: 1px solid var(--borda);
  border-bottom: 1px solid var(--borda);
  margin: 28px 0;
}

.resumo-card,
.resumo-card.destaque-laranja {
  background: transparent;
  border: 0;
  border-right: 1px solid var(--borda);
  border-radius: 0;
  box-shadow: none;
  padding: 18px 16px;
}

.resumo-card:last-child {
  border-right: 0;
}

.resumo-card .rotulo {
  font-size: 0.78rem;
  letter-spacing: 0.025em;
  text-transform: uppercase;
}

.resumo-card .valor {
  font-family: var(--fonte-numerica);
  font-size: 1.75rem;
  font-weight: 750;
}

.grid-cards,
.lista-votacoes,
.lista-votos {
  gap: 14px;
}

.card-parlamentar,
.votacao-card,
.parlamentar-voto-card {
  border-left: 3px solid transparent;
}

.card-parlamentar:hover,
.votacao-card-link:hover .votacao-card,
.parlamentar-voto-card:hover {
  border-left-color: var(--accent);
}

.card h3 {
  font-size: 1.14rem;
}

.mini-info,
.voto-info-item,
.metrica {
  background: transparent;
  border: 0;
  border-left: 1px solid var(--borda);
  border-radius: 0;
  padding: 4px 12px;
}

.mini-info:first-child,
.voto-info-item:first-child,
.metrica:first-child {
  border-left: 0;
  padding-left: 0;
}

.mini-info .rotulo,
.voto-info-item .rotulo,
.metrica-rotulo {
  font-size: 0.76rem;
  text-transform: uppercase;
  letter-spacing: 0.025em;
}

.badge,
.status-pill,
.tema-pill,
.perfil-casa-tag {
  padding: 4px 7px;
  font-size: 0.75rem;
  letter-spacing: 0.025em;
}

.badge {
  margin-top: 0;
}

.perfil-casa-tag,
.tema-pill {
  background: transparent;
  border: 1px solid #c8c3ba;
  color: #3d3b37;
}

.perfil-hero {
  border-top-width: 3px;
  margin-bottom: 34px;
}

.perfil-alto,
.perfil-medio,
.perfil-baixo {
  border-top-color: var(--accent);
}

.perfil-nome {
  font-size: clamp(2rem, 4vw, 2.8rem);
}

.caixa-nota {
  background: #f0ede7;
  border: 0;
  border-radius: 4px;
}

.caixa-nota-valor {
  font-family: var(--fonte-numerica);
}

.resumo-card .valor,
.caixa-nota-valor,
.metrica-valor,
.mini-info strong,
.voto-info-item strong,
.resultado-info,
.resumo-card-subtexto,
.card-parlamentar-meta,
.votacao-card-meta {
  font-variant-numeric: lining-nums tabular-nums;
  font-feature-settings: "lnum" 1, "tnum" 1;
}

.caixa-nota-valor,
.metrica-valor,
.mini-info strong,
.voto-info-item strong {
  font-family: var(--fonte-numerica);
  letter-spacing: -0.015em;
}

.termometro-trilho,
.termometro-preenchimento {
  border-radius: 2px;
}

.termometro-trilho {
  height: 8px;
  background: #dedbd4;
}

.termometro-preenchimento.alto,
.termometro-preenchimento.medio {
  background: var(--accent);
}

.perfil-metricas {
  gap: 0;
  border-top: 1px solid var(--borda);
  padding-top: 16px;
}

.secao-votos {
  border-top: 1px solid var(--borda);
  padding-top: 26px;
}

.btn-filtro {
  padding: 9px 12px;
  background: transparent;
}

.btn-filtro:hover {
  background: #ebe8e2;
}

.btn-filtro.ativo {
  background: var(--texto);
  color: #ffffff;
  border-color: var(--texto);
}

.impacto-pratico-box,
.glossario-item,
.glossario-item-destaque {
  border-radius: 4px;
  box-shadow: none;
}

.glossario-item {
  background: transparent;
  border: 0;
  border-top: 1px solid var(--borda);
  padding: 16px 0;
}

.glossario-item-destaque {
  background: var(--accent-soft);
  border: 1px solid #edbf8d;
  padding: 16px;
}

.partido-card .voto-info-item {
  padding: 6px 12px;
}

.partido-card .voto-info-item .rotulo {
  min-height: auto;
}

.link-acao,
.link-inline,
.meta-link {
  color: var(--accent-dark);
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible {
  outline: 3px solid #1d6fc2;
  outline-offset: 3px;
}

@media (max-width: 900px) {
  .container {
    width: min(100% - 32px, 1180px);
  }

  .resumo-topo-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .resumo-card,
  .resumo-card.destaque-laranja {
    border-right: 0;
    border-bottom: 1px solid var(--borda);
  }

  .resumo-card:last-child {
    border-bottom: 0;
  }
}

@media (max-width: 700px) {
  html {
    scroll-behavior: auto;
  }

  .container {
    width: min(100% - 28px, 1180px);
  }

  .topo {
    padding: 16px 0 22px;
  }

  .topo h1 {
    font-size: 2.15rem;
  }

  main.container {
    padding-top: 26px;
  }

  .intro-home.card,
  .intro-hub.card,
  .pagina-criterios > .card.texto-longo {
    padding: 20px 0;
  }

  .resumo-topo-grid {
    grid-template-columns: 1fr;
    margin: 22px 0;
  }

  .resumo-card,
  .resumo-card.destaque-laranja {
    padding: 14px 0;
  }

  .perfil-hero-topo {
    gap: 16px;
  }

  .caixa-nota {
    width: 100%;
  }

  .perfil-metricas {
    grid-template-columns: 1fr;
  }

  .mini-info,
  .voto-info-item,
  .metrica,
  .mini-info:first-child,
  .voto-info-item:first-child,
  .metrica:first-child {
    border-left: 0;
    border-top: 1px solid var(--borda);
    padding: 10px 0;
  }

  .card-parlamentar-grid .mini-info {
    border-top: 0;
    padding: 3px 8px;
  }

  .card-parlamentar-grid .mini-info + .mini-info {
    border-left: 1px solid var(--borda);
  }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
  }
}

@media (forced-colors: active) {
  a:focus-visible,
  button:focus-visible,
  input:focus-visible,
  select:focus-visible {
    outline: 3px solid CanvasText;
  }

  .termometro-preenchimento,
  .card-parlamentar-barra span,
  .partido-item-barra span,
  .partido-perfil-barra span,
  .votacao-item-alinhamento > div span,
  .votacao-desempenho > div span {
    background: Highlight;
  }
}
