/* Coluna comum dos artigos de /pesquisa/ (2026-10-18).

   Ligada por tools/inject-artigo-css.py no fim do <head>, depois do <style> de cada
   pagina, e sem !important.

   Regra: ha um so limite de largura, o da coluna (.wrap). Texto, listas, caixas,
   tabelas, perguntas e graficos acabam todos na mesma margem direita. A medida do
   texto sai da coluna e do tamanho da letra: 880px com letra de 17px dao cerca de 85
   caracteres por linha, o que antes se pedia com max-width em ch, bloco a bloco, e
   deixava o texto mais curto do que os graficos. tools/check-alinhamento.mjs verifica
   o resultado a 1280 e a 375 px.

   Especificidade, de proposito:
   - larguras e titulos com :is(), para ganharem as regras de cada pagina, mesmo as de
     classe (p.lead, .def, .faq details);
   - tamanho da letra com :where(), que nao pesa: muda o texto corrido, mas uma nota,
     uma legenda ou um cartao com tamanho proprio na pagina ficam como estao.

   O que e so de uma pagina (cores de serie, componentes) fica no <style> dela. */

.wrap { max-width: 880px; }

/* Larguras: os blocos da coluna, e os das seccoes e artigos que estao dentro dela. */
:is(.wrap, .wrap > section, .wrap > article, .wrap > main) > :is(p, ul, ol, dl, blockquote, table, details, figure, pre, div, aside, section, article) { max-width: none; }
:is(.wrap, .wrap > section, .wrap > article, .wrap > main) > :is(figure, blockquote) { margin-left: 0; margin-right: 0; }
:is(.wrap, .wrap > section, .wrap > article, .wrap > main) > table { width: 100%; }
:is(.wrap, .wrap > section, .wrap > article, .wrap > main) > :is(.faq, div) > details { max-width: none; }
.wrap > header :is(p, .sub) { max-width: none; }

/* Letra do texto corrido. */
:where(.wrap, .wrap > section, .wrap > article, .wrap > main) > :where(p, ul, ol, dl, blockquote, details, .def) { font-size: 17px; line-height: 1.6; }

/* Titulos a acompanhar: um h2 de 15px ficava mais pequeno do que o texto. */
:is(.wrap, .wrap > section, .wrap > article, .wrap > main) > h2 { font-size: 22px; line-height: 1.25; letter-spacing: -.01em; }
:is(.wrap, .wrap > section, .wrap > article, .wrap > main) > h3 { font-size: 18px; line-height: 1.3; }

/* Componente .bars (rotulo, barra, valor), partilhado por portugalbim e visibilidade-ia:
   a coluna fixa de 290px do rotulo saia da pagina num telemovel. */
@media (max-width: 640px) { .wrap .bars { grid-template-columns: minmax(0, 42%) minmax(0, 1fr) auto; } }

/* Cartoes de numeros (.cards): numa coluna de 880px, a regra de cada pagina (auto-fit de
   160px) dava 4 por linha, e 5 ou 6 cartoes deixavam uma linha incompleta com o fundo
   cinzento da grelha a mostrar. Linhas completas: 5 numa linha, 6 em duas de 3. */
@media (min-width: 641px) {
  .wrap .cards:has(> :nth-child(5):last-child) { grid-template-columns: repeat(5, minmax(0, 1fr)); }
  .wrap .cards:has(> :nth-child(6):last-child) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .wrap .cards:has(> :nth-child(7)) { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
