/* ==== cartaz.css · só em body[data-css~="cartaz"] ==== */
:where(body[data-css~="cartaz"]) /* v3 · cartaz.css — o cartaz A4 de cada concurso (p_cartaz.py). Só tokens do base; sem gradientes, :where(body[data-css~="cartaz"]) sem roxo.
   Até 27/09 vivia no dados_publicos.css. O que é impressão vive dentro de @media print: @page A4 sem margem
   (o navegador não imprime cabeçalho nem rodapé) e o botão Imprimir só no ecrã. */
body.cz-corpo{ background:var(--cal-2); }
:where(body[data-css~="cartaz"]) .cz{ width:100%; max-width:210mm; margin:var(--e-5) auto; background:var(--branco); padding:var(--e-6) var(--e-5); display:flex; flex-direction:column; gap:var(--e-5); box-shadow:var(--sombra); border-top:10px solid var(--telha); }
:where(body[data-css~="cartaz"]) .cz-topo{ display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:var(--e-2) var(--e-4); }
:where(body[data-css~="cartaz"]) .cz-marca{ display:inline-flex; align-items:center; gap:10px; font-family:var(--serifa); font-size:var(--t-3); font-weight:500; color:var(--tinta); }
:where(body[data-css~="cartaz"]) .cz-simb{ width:30px; height:29px; color:var(--telha); }
:where(body[data-css~="cartaz"]) .cz-kick{ font-size:var(--t-apoio); font-weight:700; color:var(--oliva); }
:where(body[data-css~="cartaz"]) .cz h1{ font-size:var(--t-1); line-height:1.02; letter-spacing:-.02em; text-wrap:balance; }
:where(body[data-css~="cartaz"]) .cz-titulo{ display:grid; gap:var(--e-3); }
:where(body[data-css~="cartaz"]) .cz-fecha{ font-family:var(--serifa); font-size:var(--t-2); line-height:1.1; color:var(--tinta-2); }
:where(body[data-css~="cartaz"]) .cz-fecha b{ color:var(--telha); font-weight:600; }
:where(body[data-css~="cartaz"]) .cz-meio{ display:grid; gap:var(--e-5); }
:where(body[data-css~="cartaz"]) .cz-foto{ margin:0; }
:where(body[data-css~="cartaz"]) .cz-foto img{ display:block; width:100%; aspect-ratio:4/3; object-fit:cover; border-radius:var(--r-campo); }
:where(body[data-css~="cartaz"]) .cz-foto figcaption{ margin-top:var(--e-1); font-size:var(--t-rotulo); color:var(--tinta-3); }
:where(body[data-css~="cartaz"]) .cz-sem-foto{ display:grid; place-content:center; text-align:center; aspect-ratio:4/3; background:var(--cal); border:1px solid var(--linha); border-radius:var(--r-campo); padding:var(--e-5); }
:where(body[data-css~="cartaz"]) .cz-num{ font-family:var(--serifa); font-size:var(--t-num); line-height:1; color:var(--telha); font-weight:500; }
:where(body[data-css~="cartaz"]) .cz-sem-foto p:last-child{ font-size:var(--t-3); color:var(--tinta-2); margin-top:var(--e-2); }
:where(body[data-css~="cartaz"]) .cz-dl{ margin:0; border-top:1px solid var(--linha); }
:where(body[data-css~="cartaz"]) .cz-dl div{ display:grid; gap:2px; padding-block:var(--e-3); border-bottom:1px solid var(--linha); }
:where(body[data-css~="cartaz"]) .cz-dl dt{ font-size:var(--t-rotulo); font-weight:700; color:var(--tinta-2); }
:where(body[data-css~="cartaz"]) .cz-dl dd{ margin:0; font-size:var(--t-3); line-height:1.25; color:var(--tinta); }
:where(body[data-css~="cartaz"]) .cz-qr{ display:grid; grid-template-columns:auto 1fr; gap:var(--e-5); align-items:center; padding:var(--e-4); border:2px solid var(--tinta); border-radius:var(--r-cartao); }
:where(body[data-css~="cartaz"]) .cz-qr-img{ width:128px; }
:where(body[data-css~="cartaz"]) .cz-qr-img svg{ display:block; width:100%; height:auto; }
:where(body[data-css~="cartaz"]) .cz-qr-txt{ font-size:var(--t-corpo); color:var(--tinta-2); }
:where(body[data-css~="cartaz"]) .cz-qr-txt b{ color:var(--tinta); }
:where(body[data-css~="cartaz"]) .cz-url{ margin-top:var(--e-2); font-size:var(--t-3); line-height:1.25; font-weight:700; color:var(--tinta); }
:where(body[data-css~="cartaz"]) .cz-nw{ white-space:nowrap; }   :where(body[data-css~="cartaz"]) /* o endereço só parte a seguir a uma barra, :where(body[data-css~="cartaz"]) nunca no hífen de «tomar-2026» */
.cz-rodape{ font-size:var(--t-apoio); color:var(--tinta-2); border-top:1px solid var(--linha); padding-top:var(--e-3); }
:where(body[data-css~="cartaz"]) .cz-assina{ font-size:var(--t-apoio); color:var(--tinta-2); margin-top:calc(-1 * var(--e-3)); }
:where(body[data-css~="cartaz"]) .cz-assina b{ color:var(--telha-esc); }
@media (max-width:479.98px){ :where(body[data-css~="cartaz"]) .cz-qr{ grid-template-columns:1fr; justify-items:start; } :where(body[data-css~="cartaz"]) .cz-qr-img{ width:150px; }}
:where(body[data-css~="cartaz"]) .cz-imprimir{ display:flex; flex-wrap:wrap; align-items:center; gap:var(--e-3) var(--e-5); }
@media (min-width:720px){
  :where(body[data-css~="cartaz"]) .cz{ padding:var(--e-7) var(--e-7); margin-block:var(--e-7); }
  :where(body[data-css~="cartaz"]) .cz-meio{ grid-template-columns:1fr 1fr; align-items:start; }
  :where(body[data-css~="cartaz"]) .cz-qr-img{ width:160px; }}
@media print{
  /* tudo tem de caber numa folha: medido com o Playwright a 794×1123 (A4 a 96 ppp) nos 8 concursos,
     o último bloco visível acaba dentro da folha (o da Figueira, com quartos, é o mais comprido) */
  @page{ size:A4; margin:0; }
  body:where([data-css~="cartaz"]).cz-corpo{ background:#fff; }
  :where(body[data-css~="cartaz"]) .cz{ max-width:none; width:210mm; height:297mm; margin:0; padding:11mm 15mm 9mm; box-shadow:none; gap:4.5mm; border-top-width:6mm; overflow:hidden; }
  :where(body[data-css~="cartaz"]) .cz h1{ font-size:38pt; }
  :where(body[data-css~="cartaz"]) .cz-titulo{ gap:2mm; }
  :where(body[data-css~="cartaz"]) .cz-fecha{ font-size:24pt; }
  :where(body[data-css~="cartaz"]) .cz-marca{ font-size:17pt; }
  :where(body[data-css~="cartaz"]) .cz-kick{ font-size:12pt; }
  :where(body[data-css~="cartaz"]) .cz-meio{ flex:1 1 auto; grid-template-columns:.8fr 1.2fr; gap:7mm; }
  :where(body[data-css~="cartaz"]) .cz-dl div{ padding-block:2mm; }
  :where(body[data-css~="cartaz"]) .cz-dl dd{ font-size:13.5pt; line-height:1.2; }
  :where(body[data-css~="cartaz"]) .cz-dl dt{ font-size:9.5pt; }
  :where(body[data-css~="cartaz"]) .cz-num{ font-size:88pt; }
  :where(body[data-css~="cartaz"]) .cz-qr{ gap:7mm; padding:4mm 6mm; }
  :where(body[data-css~="cartaz"]) .cz-qr-img{ width:40mm; }
  :where(body[data-css~="cartaz"]) .cz-qr-txt{ font-size:12.5pt; }
  :where(body[data-css~="cartaz"]) .cz-url{ font-size:15pt; }
  :where(body[data-css~="cartaz"]) .cz-rodape{ font-size:10pt; padding-top:2.5mm; }
  :where(body[data-css~="cartaz"]) .cz-assina{ font-size:10.5pt; margin-top:-2.5mm; }
  :where(body[data-css~="cartaz"]) .cz-imprimir{ display:none; }}