/* «A Família e os Tribunais» — newsletter do Painel da Família e Menores (ecrã e impressão/PDF).
   Gaspar do Amaral · 02/11/2026 · com recurso a IA · © Aprecisa.com */
.nl-volta { margin: 0 0 6px; font-family: var(--sans); font-size: .95rem; }
.nl-volta a { color: inherit; }
.nl-artigo { max-width: 760px; margin: 24px auto 8px; }
.nl-chapeu { font-family: var(--sans); font-size: .78rem; letter-spacing: .1em; text-transform: uppercase; color: var(--telha); font-weight: 600; margin: 0 0 6px; }
.nl-titulo { font-family: var(--serif); font-size: clamp(1.9rem, 4.5vw, 2.6rem); line-height: 1.15; margin: 0 0 .25em; color: var(--tit); }
.nl-subtitulo { font-family: var(--serif); font-size: 1.2rem; color: var(--texto-2); margin: 0 0 .6em; }
.nl-autor { font-family: var(--sans); color: var(--texto-3); font-size: .95rem; margin: 0 0 14px; }
.nl-barra { display: flex; flex-wrap: wrap; gap: 10px; margin: 0 0 18px; }
.nl-botao { display: inline-block; background: var(--telha); color: #fff !important; text-decoration: none; padding: 9px 16px; border-radius: var(--raio); font-family: var(--sans); font-weight: 600; font-size: .95rem; border: 0; cursor: pointer; }
.nl-botao-2 { background: transparent; color: var(--telha) !important; border: 1px solid var(--telha); }
.nl-capa { margin: 0 0 22px; }
.nl-capa img { width: 100%; height: auto; border-radius: 6px; display: block; }
.nl-texto p, .nl-texto li { font-family: var(--serif); font-size: 1.08rem; line-height: 1.65; }
.nl-texto h2 { font-family: var(--serif); color: var(--tit); margin-top: 1.6em; }
.nl-texto h3 { font-family: var(--sans); color: var(--telha); margin-top: 1.3em; }
.nl-texto figure { margin: 22px 0; }
.nl-texto figure img { width: 100%; height: auto; border: 1px solid var(--linha); border-radius: 4px; background: #fff; }
.nl-texto figcaption { font-family: var(--sans); font-size: .9rem; color: var(--texto-2); margin-top: 6px; line-height: 1.5; }
.nl-texto blockquote { margin: 18px 0; padding: 4px 0 4px 18px; border-left: 3px solid var(--telha); color: var(--texto-2); }
.nl-texto hr { border: 0; border-top: 1px solid var(--linha); margin: 28px auto; width: 40%; }
.nl-texto ul, .nl-texto ol { padding-left: 1.4em; }
.nl-texto li { margin: .25em 0; }
.nl-texto table { border-collapse: collapse; width: 100%; font-family: var(--sans); font-size: .92rem; }
.nl-texto th, .nl-texto td { border: 1px solid var(--linha); padding: 6px 8px; text-align: left; vertical-align: top; }
.nl-assin { font-family: var(--sans); font-size: .85rem; color: var(--texto-3); border-top: 1px solid var(--linha); padding-top: 10px; margin-top: 28px; }
.nl-nav { display: flex; justify-content: space-between; gap: 16px; margin: 26px 0 8px; font-family: var(--sans); }
.nl-nav a { display: block; max-width: 48%; color: inherit; text-decoration: none; border: 1px solid var(--linha); border-radius: var(--raio); padding: 10px 14px; background: var(--cartao); }
.nl-nav a span { display: block; font-size: .8rem; color: var(--telha); font-weight: 600; }
.nl-nav a.seg { text-align: right; margin-left: auto; }
.nl-cartoes { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 16px; }
.nl-cartao { display: flex; flex-direction: column; gap: 6px; color: inherit; text-decoration: none; border: 1px solid var(--linha); border-radius: var(--raio); background: var(--cartao); padding: 10px 12px 14px; font-family: var(--sans); }
.nl-cartao img { width: 100%; height: auto; border-radius: 4px; }
.nl-cartao b { font-family: var(--serif); font-size: 1.15rem; color: var(--tit); }
.nl-cartao span:last-child { font-size: .92rem; color: var(--texto-2); }
.nl-form { display: grid; gap: 10px; max-width: 560px; font-family: var(--sans); }
.nl-form label { display: grid; gap: 4px; }
.nl-form input[type=email] { padding: 9px 10px; border: 1px solid var(--linha); border-radius: 6px; font: inherit; background: var(--cartao); color: var(--texto); }
.nl-op { display: flex !important; gap: 8px; align-items: flex-start; }
.nl-armadilha { position: absolute; left: -9999px; width: 1px; height: 1px; opacity: 0; }
.nl-estado { min-height: 1.2em; margin: 0; color: var(--telha); }
@media (max-width: 600px) { .nl-nav { flex-direction: column; } .nl-nav a { max-width: none; } .nl-nav a.seg { text-align: left; margin-left: 0; } }

/* Impressão e PDF: só a edição (texto, figuras, assinatura) */
@media print {
  @page { size: A4; margin: 20mm 18mm 18mm; }
  html, body { background: #fff !important; color: #111 !important; }
  body { font-size: 10.5pt; }
  header.topo, footer.rodape, .nl-barra, .nl-nav, #corrigir, #inscrever, .pedir-pdf { display: none !important; }
  main.contentor { max-width: none !important; padding: 0 !important; margin: 0 !important; }
  .nl-artigo { max-width: none; margin: 0; }
  .nl-titulo { font-size: 22pt; }
  .nl-subtitulo { font-size: 13pt; }
  .nl-texto p, .nl-texto li { font-size: 10.5pt; line-height: 1.5; orphans: 3; widows: 3; }
  .nl-texto h2, .nl-texto h3, .nl-texto h4 { break-after: avoid; page-break-after: avoid; }
  .nl-texto figure, .nl-texto table, .nl-texto tr, .nl-texto blockquote, .nl-texto li { break-inside: avoid; page-break-inside: avoid; }
  .nl-texto figure img { max-height: 225mm; width: auto; max-width: 100%; display: block; margin: 0 auto; }
  .nl-capa img { max-height: 95mm; width: auto; max-width: 100%; margin: 0 auto; }
  .nl-texto a { color: inherit; text-decoration: underline; }
  .nl-chapeu, .nl-titulo, .nl-texto h2, .nl-texto h3 { color: #1F3533 !important; }
}
