/* Mesma Pauta — paleta Grafite e vermelho (desde 16/10/2026), fundo branco único, sem modo escuro.
   Serifa (Newsreader) = o que os veículos escreveram. Sem serifa (Public Sans) = o que o Mesma Pauta escreve.
   A energia vem do vermelho nos destaques e do mapa da cobertura (pontos por fato). O resto fica calmo. */

@font-face {
  font-family: "Newsreader";
  src: url("fontes/newsreader.woff2") format("woff2");
  font-weight: 200 800; font-style: normal; font-display: swap;
}
@font-face {
  font-family: "Newsreader";
  src: url("fontes/newsreader-italico.woff2") format("woff2");
  font-weight: 200 800; font-style: italic; font-display: swap;
}
@font-face {
  font-family: "Public Sans";
  src: url("fontes/public-sans.woff2") format("woff2");
  font-weight: 100 900; font-style: normal; font-display: swap;
}

:root {
  --papel: #FFFFFF;
  --grafite: #141414;
  --grafite-suave: #555555;
  --linha: #DCDCDC;
  --destaque: #B80000;          /* único destaque: margem, pontos, seções, botão principal */
  --marca-texto: #F7DEDE;
  --publicidade: #F2F2F2;

  /* o topo usa a mesma superfície clara da página */
  --faixa: var(--papel);
  --na-faixa: var(--grafite);
  --na-faixa-suave: var(--grafite-suave);
  --linha-faixa: var(--linha);
  --destaque-faixa: var(--destaque);

  /* barra de editorias */
  --barra: #141414;
  --na-barra: #FFFFFF;

  /* mapa da cobertura */
  --ponto-cheio: var(--destaque);
  --ponto-vazio: #BEBEBE;

  --voz-veiculo: "Newsreader", Georgia, "Times New Roman", serif;
  --voz-nossa: "Public Sans", "Segoe UI", system-ui, sans-serif;

  --t-menor: 0.9rem;
  --t-base: 1.125rem;
  --t-2: 1.406rem;
  --t-3: 1.758rem;
  --t-4: 2.197rem;

  --margem: 10rem;
  --leitura: 68ch;
  --largura: 74rem;
}

/* Um fundo só, claro, em qualquer aparelho: sem modo escuro (decisão de 16/10/2026).
   "only light" também pede ao navegador que não escureça a página por conta própria. */
:root { color-scheme: only light; }

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }

body {
  margin: 0;
  background: var(--papel);
  color: var(--grafite);
  font: 400 var(--t-base)/1.55 var(--voz-nossa);
}

a { color: inherit; text-decoration-color: var(--destaque); text-underline-offset: 0.18em; }
a:hover { color: var(--destaque); }
:focus-visible { outline: 2px solid var(--destaque); outline-offset: 3px; border-radius: 2px; }

h1, h2, h3 { margin: 0; line-height: 1.2; }

.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.pular { position: absolute; left: -999px; top: 0.5rem; background: var(--papel); padding: 0.5rem 1rem; }
.pular:focus { left: 1rem; z-index: 10; }

.voz-veiculo { font-family: var(--voz-veiculo); font-size: 1.08em; }

/* ---------- Topo e faixa do destaque (superfície clara, separadas por linhas) ---------- */

.topo, .faixa { background: var(--faixa); color: var(--na-faixa); }
.topo a, .faixa a { text-decoration-color: var(--destaque-faixa); }
.topo a:hover, .faixa a:hover { color: var(--destaque-faixa); }
.topo :focus-visible, .faixa :focus-visible { outline-color: var(--destaque-faixa); }

/* Cabeçalho de portal: faixa fina com data, linha da marca e barra de editorias fixa no topo. */
.topo__dentro { max-width: var(--largura); margin: 0 auto; padding: 0 1rem; }

.topo__faixa { border-bottom: 1px solid var(--linha); font-size: 0.8rem; color: var(--grafite-suave); }
.topo__dentro--faixa { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 0.25rem 1.5rem; padding-block: 0.4rem; }

.topo__principal { display: flex; align-items: center; justify-content: space-between; gap: 1rem 2rem; padding-block: 1.15rem; }
.marca { display: flex; flex-direction: column; text-decoration: none; padding-left: 0.8rem; border-left: 5px solid var(--destaque); }
.marca__nome { font-size: clamp(1.7rem, 1.2rem + 1.6vw, 2.35rem); font-weight: 800; letter-spacing: -0.04em; line-height: 0.95; }
.marca__lema { margin-top: 0.35rem; font-size: 0.85rem; color: var(--grafite-suave); }
.marca:hover .marca__nome { color: var(--destaque); }

.topo__acoes { display: flex; align-items: center; gap: 1.25rem; font-size: var(--t-menor); }
.topo__link { text-decoration: none; font-weight: 600; }
.topo__link:hover { text-decoration: underline; }
.busca {
  display: grid; place-items: center; width: 2.5rem; height: 2.5rem; border-radius: 50%;
  border: 1.5px solid var(--linha); background: transparent; color: var(--grafite); cursor: pointer;
}
.busca:hover { border-color: var(--destaque); color: var(--destaque); }

.editorias { background: var(--barra); position: sticky; top: 0; z-index: 5; }
.editorias__lista { display: flex; overflow-x: auto; scrollbar-width: none; }
.editorias__lista::-webkit-scrollbar { display: none; }
.editorias a {
  flex: none; color: var(--na-barra); text-decoration: none; font-weight: 700; font-size: 0.95rem;
  padding: 0.8rem 0.95rem;
}
.editorias a:first-child { padding-left: 0; }
.editorias a:hover { color: var(--na-barra); background: rgba(255, 255, 255, 0.12); }  /* barra escura: clareia */
.editorias a[aria-current="page"] { box-shadow: inset 0 -4px 0 var(--na-barra); }
.editorias :focus-visible { outline-color: var(--na-barra); outline-offset: -3px; }

@media (max-width: 40rem) {
  .topo__dentro--faixa span + span { display: none; }
  .topo__link { display: none; }
  .marca__lema { font-size: 0.78rem; }
}

.faixa { border-bottom: 1px solid var(--linha-faixa); }
.faixa__dentro { max-width: var(--largura); margin: 0 auto; padding: 2rem 1rem 3rem; }
.faixa:empty, .faixa__dentro:empty { display: none; }

.edicao { margin: 0 0 1.5rem; font-size: var(--t-menor); color: var(--na-faixa-suave); }
.aviso-embargo {
  margin: -0.75rem 0 1.5rem; padding: 0.6rem 0.9rem; max-width: var(--leitura);
  border-left: 3px solid var(--destaque-faixa); background: var(--marca-texto);
  font-size: var(--t-menor); color: var(--na-faixa);
}
.assunto__topo .aviso-embargo { margin: 1rem 0 0; }
.edicao strong { color: var(--na-faixa); }

.editoria { margin: 0 0 0.35rem; font-size: 0.85rem; font-weight: 800; color: var(--destaque); }

/* Abertura da capa: principal à esquerda, chamadas à direita (como nos portais) */
.capa .faixa__dentro { padding-bottom: 2rem; }
.abertura { display: grid; grid-template-columns: minmax(0, 1fr); gap: 2.5rem; }
@media (min-width: 64rem) {
  .abertura { grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); gap: 3rem; }
  .chamadas { border-left: 1px solid var(--linha); padding-left: 2rem; }
}

.destaque { --margem: 8.5rem; }
.destaque__titulo {
  font-size: clamp(1.75rem, 1.1rem + 1.6vw, 2.3rem);
  font-weight: 800; letter-spacing: -0.02em; line-height: 1.1; max-width: 34ch;
}
.destaque__titulo a { text-decoration: none; }
.destaque__titulo a:hover { text-decoration: underline; text-decoration-thickness: 3px; }
.destaque__linha-fina { margin: 0.8rem 0 1.5rem; font-size: 1.15rem; line-height: 1.5; color: var(--grafite-suave); max-width: 60ch; }
.destaque__rodape { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem 2rem; margin-top: 1.25rem; }
.destaque__contagem { margin: 0; font-size: var(--t-menor); color: var(--grafite-suave); max-width: 48ch; }

.chamadas__titulo { font-size: var(--t-base); font-weight: 800; margin-bottom: 0.25rem; }
.chamada { padding: 1.1rem 0; border-bottom: 1px solid var(--linha); }
.chamada__titulo { font-size: 1.2rem; font-weight: 800; line-height: 1.22; letter-spacing: -0.01em; }
.chamada__titulo a { text-decoration: none; }
.chamada__titulo a:hover { text-decoration: underline; }
.chamada__meta { display: flex; gap: 0.6rem; align-items: flex-start; margin: 0.5rem 0 0; font-size: 0.85rem; color: var(--grafite-suave); }
.chamadas .anuncio { margin: 1.5rem 0 0; }

.botao {
  display: inline-block; font: 700 var(--t-menor)/1.2 var(--voz-nossa); color: var(--grafite);
  background: transparent; border: 1.5px solid var(--grafite); border-radius: 4px;
  padding: 0.7rem 1.1rem; text-decoration: none; cursor: pointer;
}
.botao:hover { background: var(--grafite); color: var(--papel); }
.botao--claro { color: var(--papel); background: var(--destaque); border-color: var(--destaque); }   /* ação principal */
.botao--claro:hover { background: var(--grafite); border-color: var(--grafite); color: var(--papel); }
.botao--claro-leve { color: var(--na-faixa); border-color: var(--linha-faixa); }
.botao--claro-leve:hover { background: transparent; border-color: var(--destaque-faixa); color: var(--destaque-faixa); }

/* ---------- Página: conteúdo + lateral ---------- */

.pagina {
  max-width: var(--largura); margin: 0 auto; padding: 0 1rem;
  display: grid; grid-template-columns: minmax(0, 1fr); column-gap: 3rem;
}
@media (min-width: 70rem) {
  .pagina { grid-template-columns: minmax(0, 1fr) 300px; }
  .pagina > .anuncio--rodape { grid-column: 1 / -1; }
}
.principal { min-width: 0; padding-bottom: 2rem; }
/* Sem anúncio no topo da página, o primeiro bloco precisava de respiro próprio. */
.principal > .grade:first-child { margin-top: 2rem; }
.criterios + p { margin-top: 1rem; }

.lateral { padding: 2rem 0; display: flex; flex-direction: column; gap: 2rem; }
@media (min-width: 70rem) { .lateral { padding-top: 2.5rem; } }
.como-ler h2 { font-size: var(--t-base); margin-bottom: 0.5rem; }
.como-ler p { margin: 0 0 0.75rem; font-size: var(--t-menor); color: var(--grafite-suave); }
.outros { margin: 0; padding: 0; list-style: none; font-size: var(--t-menor); }
.outros li + li { margin-top: 0.6rem; }

/* ---------- Bloco pautado + mapa da cobertura ---------- */

.pauta {
  list-style: none; margin: 0; padding: 0; position: relative;
  display: grid; grid-auto-rows: 1fr;          /* todas as linhas com a mesma altura */
  border-top: 1px solid var(--linha);
}
.pauta::before {                                /* margem do caderno */
  content: ""; position: absolute; top: 0; bottom: 0; left: var(--margem);
  width: 2px; background: var(--destaque);
}
.pauta__linha {
  position: relative; display: grid;
  grid-template-columns: var(--margem) minmax(0, 1fr) auto auto;
  align-items: end; padding: 0.9rem 0 0.55rem;
  transition: background-color 150ms;
}
.pauta__linha:hover { background: color-mix(in srgb, var(--destaque) 7%, transparent); }
.pauta__linha::after {                          /* a linha do papel */
  content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 1px;
  background: var(--linha); transform-origin: left center;
}
.pauta__veiculo {
  font-size: var(--t-menor); font-weight: 700; color: var(--grafite-suave);
  text-align: right; padding-right: 1rem; line-height: 1.3;
}
.pauta__manchete {
  font-family: var(--voz-veiculo); font-size: 1.25rem; line-height: 1.35;
  padding-left: 1rem; text-decoration: none;
}
.pauta__manchete:hover { text-decoration: underline; }
.pauta__hora { font-size: var(--t-menor); color: var(--grafite-suave); padding-left: 1rem; white-space: nowrap; }

.pauta__mapa { display: flex; gap: 5px; padding-left: 1.25rem; padding-bottom: 0.4rem; }
.ponto {
  display: inline-block; width: 10px; height: 10px; border-radius: 50%;
  border: 1.5px solid var(--ponto-vazio); flex: none;
}
.ponto--cheio { background: var(--ponto-cheio); border-color: var(--ponto-cheio); }
.legenda-mapa { margin: 0.9rem 0 0; font-size: 0.82rem; color: var(--grafite-suave); max-width: var(--leitura); }
.legenda-mapa .ponto { vertical-align: -1px; margin-right: 0.3rem; }

.pauta--resumida .pauta__manchete {
  display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; line-clamp: 2; overflow: hidden;
}

/* Pauta do destaque: margem mais grossa e manchetes maiores */
.faixa .pauta { max-width: 62rem; }
.faixa .pauta::before { width: 3px; }
.faixa .pauta__manchete { font-size: 1.2rem; }

/* O único movimento automático: as linhas são traçadas quando a capa abre. */
.capa .faixa .pauta__linha::after { animation: tracar 560ms cubic-bezier(.3, .7, .2, 1) both; animation-delay: calc(var(--i) * 80ms + 150ms); }
.capa .faixa .ponto--cheio { animation: surgir 300ms ease-out both; animation-delay: calc(var(--i) * 80ms + 600ms); }
@keyframes tracar { from { transform: scaleX(0); } to { transform: scaleX(1); } }
@keyframes surgir { from { transform: scale(0); } to { transform: scale(1); } }

/* Na página do assunto o bloco fica dentro da margem da página: nome acima da manchete. */
.pauta--empilhada { --margem: 0; }
.pauta--empilhada::before { display: none; }
.pauta--empilhada .pauta__linha { grid-template-columns: minmax(0, 1fr) auto auto; row-gap: 0.15rem; }
.pauta--empilhada .pauta__veiculo {
  grid-column: 1 / -1; text-align: left; padding: 0 0 0.2rem;
  font-size: 1.3rem; font-weight: 800; letter-spacing: -0.015em; color: var(--grafite);
}
.pauta--empilhada .pauta__linha { padding: 1.1rem 0 0.75rem; }
.pauta--empilhada .pauta__manchete { padding-left: 0; }

@media (max-width: 40rem) {
  :root, .destaque { --margem: 6.25rem; }
  .pauta__linha { grid-template-columns: var(--margem) minmax(0, 1fr); }
  .pauta__veiculo { font-size: 0.8rem; padding-right: 0.7rem; align-self: start; padding-top: 0.2rem; }
  .pauta__manchete, .faixa .pauta__manchete { font-size: 1.1rem; padding-left: 0.7rem; }
  .pauta__mapa { grid-column: 2; padding: 0.45rem 0 0 0.7rem; }
  .pauta__hora { display: none; }
  /* Na capa do celular: só veículo + mapa, uma linha curta cada, para as outras notícias aparecerem logo. */
  .pauta--resumida { grid-auto-rows: auto; }
  .pauta--resumida .pauta__linha { align-items: center; padding: 0.5rem 0; }
  .pauta--resumida .pauta__veiculo { align-self: center; padding-top: 0; }
  .pauta--resumida .pauta__manchete { display: none; }
  .pauta--resumida .pauta__mapa { grid-column: 2; grid-row: 1; padding: 0 0 0 0.7rem; }
  .pauta--empilhada .pauta__linha { grid-template-columns: minmax(0, 1fr); }
  .pauta--empilhada .pauta__mapa { grid-column: 1; padding-left: 0; }
  .pauta--empilhada .pauta__veiculo { padding: 0; }
}

/* ---------- Grade com os demais assuntos ---------- */

.capa .pagina { grid-template-columns: minmax(0, 1fr); }
.grade__cabeca { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 0.75rem 2rem; }
.grade__titulo { font-size: var(--t-2); font-weight: 800; letter-spacing: -0.015em; }
.grade__itens {
  list-style: none; margin: 1.5rem 0 0; padding: 0;
  display: grid; grid-template-columns: repeat(auto-fill, minmax(17rem, 1fr)); gap: 2.25rem 2.5rem;
}
.item { border-top: 1px solid var(--linha); padding-top: 1rem; }
.item__titulo { font-size: 1.3rem; font-weight: 800; line-height: 1.2; letter-spacing: -0.015em; }
.item__titulo a { text-decoration: none; }
.item__titulo a:hover { text-decoration: underline; }
.item__linha-fina {
  margin: 0.5rem 0 0; font-size: 0.98rem; color: var(--grafite-suave);
  display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; line-clamp: 3; overflow: hidden;
}
.item__meta { display: flex; gap: 0.6rem; align-items: flex-start; margin: 0.7rem 0 0; font-size: 0.85rem; color: var(--grafite-suave); }

.como-ler-faixa { margin-top: 3rem; padding-top: 1.5rem; border-top: 1px solid var(--linha); }
.como-ler-faixa h2 { font-size: var(--t-base); margin-bottom: 0.75rem; }
.como-ler-faixa__colunas { display: grid; grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr)); gap: 0.5rem 2.5rem; }
.como-ler-faixa p { margin: 0; font-size: var(--t-menor); color: var(--grafite-suave); }
.pautinha { flex: none; margin-top: 0.3em; stroke: var(--grafite-suave); stroke-width: 1; }
.pautinha__margem { stroke: var(--destaque); stroke-width: 1.5; }

.filtros { display: flex; flex-wrap: wrap; gap: 0.25rem 1.25rem; font-size: var(--t-menor); }
.filtros button {
  font: inherit; color: var(--grafite-suave); background: none; border: 0; padding: 0.2rem 0;
  cursor: pointer; border-bottom: 2px solid transparent;
}
.filtros button[aria-pressed="true"] { color: var(--grafite); font-weight: 700; border-bottom-color: var(--destaque); }

/* ---------- Publicidade ---------- */

.anuncio { background: var(--publicidade); border-radius: 6px; margin: 2.5rem 0; display: grid; place-items: center; min-height: 100px; }
.anuncio--lateral { min-height: 250px; margin: 0; }
.anuncio--rodape { min-height: 90px; }
.anuncio__rotulo { font-size: 0.8rem; color: var(--grafite-suave); }
.lateral .anuncio--lateral { display: none; }
@media (min-width: 70rem) { .lateral .anuncio--lateral { display: grid; } }

/* ---------- Página do assunto ---------- */

.trilha { margin: 0 0 1rem; font-size: var(--t-menor); color: var(--na-faixa-suave); }
.assunto__titulo {
  font-size: clamp(2rem, 1.2rem + 2.8vw, 3rem);
  font-weight: 800; letter-spacing: -0.025em; line-height: 1.06; max-width: 26ch;
}
.assunto__meta { margin: 1rem 0 1.5rem; font-size: var(--t-menor); color: var(--na-faixa-suave); max-width: var(--leitura); }
.compartilhar { display: flex; flex-wrap: wrap; gap: 0.5rem; }

.secoes { position: relative; margin-top: 1rem; }
/* Cada seção é um bloco próprio: linha forte de ponta a ponta e espaço generoso (quebra de contexto). */
.secao { padding: 2.25rem 0 2.75rem; border-top: 2px solid var(--grafite); }
.secao:first-child { border-top: 0; padding-top: 1.75rem; }
.secao--anuncio { border-top: 0; padding: 0 0 2rem; }
.secao__nome { font-size: var(--t-2); font-weight: 800; letter-spacing: -0.015em; color: var(--destaque); margin-bottom: 0.9rem; }
.secao__corpo { max-width: var(--leitura); }
.secao__corpo > p { margin: 0 0 1rem; }

@media (min-width: 48rem) {
  .secoes::before {                             /* a margem do caderno atravessa a página */
    content: ""; position: absolute; top: 0; bottom: 0; left: calc(var(--margem) + 0.75rem);
    width: 2px; background: var(--destaque);
  }
  .secao { display: grid; grid-template-columns: var(--margem) minmax(0, 1fr); column-gap: 1.5rem; }
  .secao__nome { font-size: var(--t-base); text-align: right; margin: 0.15rem 0 0; }
  .secao--anuncio { display: block; padding-left: calc(var(--margem) + 1.5rem); }
}
.secao--anuncio .anuncio { margin: 0.5rem 0; }

.resumo { font-size: 1.22rem; line-height: 1.6; }

.fatos { margin: 1.25rem 0 0; padding-left: 1.6rem; }
.fatos li { padding-left: 0.25rem; }
.fatos li::marker { font-weight: 800; color: var(--destaque); }
.fatos li + li { margin-top: 0.7rem; }
.quem { display: block; font-size: var(--t-menor); color: var(--grafite-suave); margin-top: 0.15rem; }

.explica > summary {
  cursor: pointer; color: var(--destaque); font-weight: 700; font-size: var(--t-menor);
  text-decoration: underline; text-underline-offset: 0.2em; list-style: none;
}
.explica > summary::-webkit-details-marker { display: none; }
.explica > summary::before { content: "+"; display: inline-block; width: 1em; font-weight: 800; }
.explica[open] > summary::before { content: "−"; }

/* Divergências: mesmo padrão de blocos da análise por veículo. Entre divergências, linha;
   entre o tema e as versões, uma linha fina na cor de destaque. */
.divergencia { border-top: 1px solid var(--linha); padding: 1.5rem 0 1.75rem; }
.divergencia:first-child { border-top: 0; padding-top: 0; }
.divergencia__tema {
  font-size: var(--t-2); font-weight: 800; letter-spacing: -0.015em; line-height: 1.25;
  padding-bottom: 0.75rem; margin-bottom: 1rem; border-bottom: 2px solid var(--destaque);
}
.versoes { list-style: none; margin: 0; padding: 0; display: grid; gap: 1rem; }
.versao__veiculo { margin: 0 0 0.15rem; font-size: 1.05rem; font-weight: 800; letter-spacing: -0.01em; }
.versao__texto { margin: 0; }

/* Em 30 segundos: o resumo para quem só vai ler o começo. */
.em30 {
  margin: 1.75rem 0 0.5rem; padding: 1.15rem 1.5rem 1.25rem;
  background: color-mix(in srgb, var(--destaque) 7%, var(--papel));
  border-left: 4px solid var(--destaque); border-radius: 0 6px 6px 0; max-width: calc(var(--leitura) + 3rem);
}
@media (min-width: 48rem) { .em30 { margin-left: calc(var(--margem) + 1.5rem); } }
.em30__titulo { font-size: var(--t-base); font-weight: 800; color: var(--destaque); margin-bottom: 0.5rem; }
.em30__itens { margin: 0; padding-left: 1.1rem; font-size: 1.1rem; line-height: 1.5; }
.em30__itens li + li { margin-top: 0.45rem; }

/* O que cada manchete destacou */
.manchetes-analise { margin-bottom: 2.5rem; }
.manchetes-analise__titulo { font-size: var(--t-2); font-weight: 800; letter-spacing: -0.015em; margin: 0 0 0.75rem; }
.manchetes-analise__padrao { margin: 0 0 1rem; }
.aspecto { border-top: 1px solid var(--linha); padding: 1.1rem 0 0.5rem; }
.aspecto__nome {
  font-size: 1.1rem; font-weight: 800; margin: 0 0 0.9rem; padding-bottom: 0.5rem;
  border-bottom: 2px solid var(--destaque);
}
.aspecto__escolhas { list-style: none; margin: 0; padding: 0; display: grid; gap: 1.1rem; }
.escolha__texto { margin: 0; font-weight: 700; }
.escolha__quem { margin: 0.1rem 0 0.35rem; font-size: var(--t-menor); color: var(--grafite-suave); }
.escolha__exemplo { margin: 0; font-family: var(--voz-veiculo); font-size: 1.15rem; line-height: 1.55; }
.escolha__exemplo mark, .ausencia mark {
  background: var(--marca-texto); color: inherit; padding: 0.05em 0.2em;
  -webkit-box-decoration-break: clone; box-decoration-break: clone;
}
.escolha__exemplo .nao-conferido { font-family: var(--voz-nossa); font-size: var(--t-menor); }

/* Quem não deu esta notícia */
.ausencia { margin-top: 2.25rem; padding-top: 1.5rem; border-top: 1px solid var(--linha); }
.ausencia > p { margin: 0 0 0.75rem; }
.ausencia__talvez { font-weight: 700; }
.ausencia__lista { margin: 0 0 1rem; padding-left: 1.1rem; }
.ausencia__lista li + li { margin-top: 0.45rem; }
.ausencia .quem { margin-top: 0.5rem; }

/* Índice lateral, preso ao rolar no desktop */
.indice { display: none; }
@media (min-width: 70rem) {
  /* Fundo opaco e camada própria: o anúncio e "Outros assuntos" passam por baixo ao rolar, sem aparecer
     através do texto. O topo encosta na barra de editorias e o espaço vem do padding, para não sobrar
     uma fresta transparente entre a barra e o índice. */
  .indice {
    display: block; position: sticky; top: 3rem; z-index: 2;
    background: var(--papel); padding: 1.25rem 0 1rem; margin-top: -1.25rem;
  }
}
.indice h2 { font-size: var(--t-base); margin-bottom: 0.5rem; }
.indice ol { list-style: none; margin: 0; padding: 0; font-size: var(--t-menor); }
.indice li { display: flex; justify-content: space-between; gap: 1rem; padding: 0.5rem 0; border-bottom: 1px solid var(--linha); }
.indice a { text-decoration: none; font-weight: 600; }
.indice a:hover { color: var(--destaque); text-decoration: underline; }
.indice span { color: var(--grafite-suave); white-space: nowrap; }

/* Página de veículos monitorados */
.criterios { margin: 0; padding-left: 1.2rem; }
.criterios li + li { margin-top: 0.7rem; }
.feeds { list-style: none; margin: 0; padding: 0; font-size: 0.85rem; color: var(--grafite-suave); overflow-wrap: anywhere; }

/* Só um veículo afirma: agrupado por veículo, nome no topo como na análise por veículo. */
.isolada { border-top: 1px solid var(--linha); padding: 1.5rem 0 1.75rem; }
.isolada:first-child { border-top: 0; padding-top: 0; }
.isolada__itens { list-style: none; margin: 0.75rem 0 0; padding: 0; display: grid; gap: 1.1rem; }
.isolada__afirmacao { margin: 0; }

.regra { font-size: var(--t-menor); color: var(--grafite-suave); }

.veiculo { border-top: 1px solid var(--linha); padding: 1.5rem 0 1.75rem; }
.veiculo__nome { font-size: var(--t-3); font-weight: 800; letter-spacing: -0.02em; }
.veiculo__enquadramento { margin: 0.4rem 0 1.1rem; color: var(--grafite-suave); }

/* ---------- Régua ---------- */

.regua { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem 1rem; }
.regua__rotulo { font-size: var(--t-menor); font-weight: 700; flex-basis: 100%; }
.regua__trilho {
  position: relative; width: min(18rem, 62vw); height: 1.1rem;
  background:
    linear-gradient(var(--grafite-suave), var(--grafite-suave)) left bottom / 100% 1px no-repeat,
    repeating-linear-gradient(to right, var(--grafite-suave) 0 1px, transparent 1px 10%) left bottom / 100% 7px no-repeat;
  border-right: 1px solid var(--grafite-suave);
}
.regua__trilho::after {
  content: ""; position: absolute; left: 0; bottom: 0; height: 4px;
  width: calc(var(--nota) * 10%); background: var(--grafite);
}
.regua__marca {
  position: absolute; bottom: 7px; left: calc(var(--nota) * 10%);
  width: 0.7rem; height: 0.7rem; background: var(--grafite);
  transform: translateX(-50%) rotate(45deg);
}
.regua__valor { font-size: var(--t-3); font-weight: 800; line-height: 1; }
.regua__de { font-size: var(--t-menor); font-weight: 400; color: var(--grafite-suave); }

.explica { margin: 0.9rem 0 0; }
.explica[open] { padding-left: 1rem; border-left: 2px solid var(--destaque); }
.explica[open] > summary { margin-left: -1rem; padding-left: 1rem; }
.explica p { margin: 0.6rem 0 0; font-size: var(--t-menor); max-width: 60ch; }

/* ---------- Trechos citados ---------- */

.trechos { list-style: none; margin: 1.5rem 0 0; padding: 0; display: grid; gap: 1.5rem; }
.trecho__tipo { margin: 0 0 0.35rem; font-size: var(--t-menor); font-weight: 800; color: var(--destaque); }
.trecho__citacao { margin: 0; font-family: var(--voz-veiculo); font-size: 1.25rem; line-height: 1.6; }
.trecho__citacao mark {
  background: var(--marca-texto); color: inherit; padding: 0.05em 0.2em;
  -webkit-box-decoration-break: clone; box-decoration-break: clone;
}
.trecho__explica { margin: 0.5rem 0 0; }
.trecho__origem { margin: 0.35rem 0 0; font-size: var(--t-menor); color: var(--grafite-suave); display: flex; flex-wrap: wrap; gap: 0 1rem; }
.nao-conferido { color: var(--grafite); font-weight: 700; }
.vazio { color: var(--grafite-suave); font-size: var(--t-menor); margin: 1rem 0 0; }

.assunto__fim { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem 1.5rem; padding: 1.5rem 0 0; border-top: 1px solid var(--linha); }

/* ---------- Rodapé ---------- */

.rodape { background: var(--faixa); color: var(--na-faixa-suave); margin-top: 3rem; border-top: 1px solid var(--linha-faixa); }
.rodape a { color: var(--na-faixa); text-decoration-color: var(--destaque-faixa); }
.rodape__dentro { max-width: var(--largura); margin: 0 auto; padding: 2rem 1rem 3rem; font-size: var(--t-menor); }
.rodape__dentro p { max-width: var(--leitura); margin: 0 0 1rem; }
.rodape nav { display: flex; flex-wrap: wrap; gap: 0.5rem 1.25rem; }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; }
}

/* ---------- Pipeline real: acompanhamento, arquivo, editorias e opinião ---------- */

.pagina-lista .pagina, .pagina-arquivo .pagina, .pagina-opiniao .pagina, .pagina-veiculos .pagina { grid-template-columns: minmax(0, 1fr); }
.pagina-lista .grade__itens { margin-top: 2rem; }

.status { color: var(--destaque); font-weight: 800; }

.mudou {
  margin: 1rem 0 0.5rem; padding: 1rem 1.5rem 1.1rem;
  border: 1px solid var(--linha); border-left: 4px solid var(--grafite); border-radius: 0 6px 6px 0;
  max-width: calc(var(--leitura) + 3rem);
}
.mudou .em30__titulo { color: var(--grafite); }
@media (min-width: 48rem) { .mudou { margin-left: calc(var(--margem) + 1.5rem); } }

.linha-tempo ol { list-style: none; margin: 0; padding: 0; font-size: var(--t-menor); }
.linha-tempo li { display: flex; justify-content: space-between; gap: 1rem; padding: 0.45rem 0; border-bottom: 1px solid var(--linha); }
.linha-tempo span { color: var(--grafite-suave); white-space: nowrap; }

.arquivo { padding: 2rem 0; display: grid; gap: 2rem; max-width: 52rem; }
.arquivo__data { font-size: var(--t-2); font-weight: 800; letter-spacing: -0.015em; padding-bottom: 0.5rem; border-bottom: 2px solid var(--grafite); margin-bottom: 0.75rem; }
.arquivo__edicoes { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.75rem; }
.arquivo__edicao { font-weight: 800; font-size: 1.1rem; }
.arquivo__resumo { display: block; color: var(--grafite-suave); font-size: var(--t-menor); }

.opinioes { list-style: none; margin: 0; padding: 0; display: grid; gap: 1.1rem; }
.opinioes__titulo { font-family: var(--voz-veiculo); font-size: 1.2rem; line-height: 1.4; text-decoration: none; }
.opinioes__titulo:hover { text-decoration: underline; }
.opinioes .quem { margin-top: 0.1rem; }

.vazio-grande { padding: 3rem 0; font-size: 1.1rem; color: var(--grafite-suave); max-width: var(--leitura); }
