/* Loomah Inscrições 2.97.0 — programação para imprimir (protótipo v0.18.1, tela 15c).
   Carregado só na página de impressão (LI_Programacao_Impressao::estilos()).
   Cores só por token. Tamanhos da folha em mm e pt: é papel, e o rem
   depende do zoom do navegador de quem imprime. */
@layer lm.overrides {
  /* Margem mínima de 5 mm (quase toda impressora de escritório não imprime
     mais perto da borda que isso). Cabeçalho e rodapé vão até ela; o texto
     guarda 12 mm, com 7 mm de recuo por dentro.
     2.97.1 — sem @page com nome: mudar de página nomeada força quebra antes
     do primeiro elemento, e isso dava a página em branco no início. As
     folhas são montadas pelo JS, uma por página (286 mm de altura útil). */
  @page { size: A4 portrait; margin: 5mm; }

  .pi-barra { position: sticky; top: 0; z-index: 5; background: var(--lm-surface-raised); border-block-end: var(--lm-border); box-shadow: var(--lm-shadow-sm); }
  .pi-barra-inner { max-inline-size: 72rem; margin-inline: auto; padding: var(--lm-space-3) var(--lm-gutter); display: flex; flex-wrap: wrap; gap: var(--lm-space-3) var(--lm-space-5); align-items: end; }
  .pi-barra .lm-field { margin: 0; }
  .pi-barra-acoes { margin-inline-start: auto; display: flex; gap: var(--lm-space-2); align-items: center; }
  .pi-barra-dica { flex-basis: 100%; margin: 0; }
  .pi-barra-checks { display: grid; gap: var(--lm-space-1); }

  .li-pi-corpo { margin: 0; background: var(--lm-surface-sunken); }
  .pi-sem-js { padding: var(--lm-space-6); text-align: center; }
  .pi-mesa { background: var(--lm-surface-sunken); padding: var(--lm-space-6) var(--lm-gutter) var(--lm-space-10); }
  .pi-folhas { display: grid; gap: var(--lm-space-6); justify-items: center; }

  /* A folha na tela: A4 de verdade, com as margens de impressão por dentro. */
  .pi-folha { box-sizing: border-box; inline-size: min(210mm, 100%); block-size: 296mm; overflow: hidden; padding: 5mm; background: var(--lm-surface-raised); color: var(--lm-text-strong); box-shadow: var(--lm-shadow-md); display: flex; flex-direction: column; gap: 5mm; font-size: 10.5pt; line-height: 1.35; container-type: inline-size; }
  .pi-corpo { display: grid; gap: 5mm; }
  /* Folha escondida onde as partes são medidas: largura do papel, altura livre. */
  .pi-medidor { position: absolute; inset-inline-start: -10000px; inset-block-start: 0; visibility: hidden; inline-size: 200mm; }
  .pi-medidor .pi-folha { inline-size: 200mm; block-size: auto; padding: 0; box-shadow: none; overflow: visible; }
  /* Folha que continua: uma linha no topo no lugar do cabeçalho. */
  .pi-cont { margin: 0 7mm; padding-block: 1mm 2mm; display: flex; justify-content: space-between; gap: 4mm; font-size: 8.5pt; color: var(--lm-text-muted); border-block-end: 0.25mm solid var(--lm-border-default); }

  .pi-cab { display: grid; gap: 4mm; }
  .pi-cab-img { display: block; inline-size: 100%; max-block-size: var(--pi-cab-max, 70mm); object-fit: cover; object-position: center; }
  .pi-cab-txt, .pi-dia, .pi-rodape-linha { margin-inline: 7mm; }
  .pi-cab-txt { display: grid; gap: 1mm; border-block-end: 0.6mm solid var(--lm-accent-500); padding-block-end: 3mm; }
  .pi-cab-txt.is-compacto { grid-auto-flow: column; justify-content: space-between; align-items: baseline; }
  .pi-eyebrow { margin: 0; font-size: 8.5pt; font-weight: var(--lm-font-weight-semibold); letter-spacing: .14em; text-transform: uppercase; color: var(--lm-text-accent); }
  .pi-evento { margin: 0; font-size: 24pt; line-height: 1.1; color: var(--lm-text-strong); }
  .pi-periodo { margin: 0; font-size: 11pt; color: var(--lm-text-muted); }

  .pi-aviso { margin: 0 7mm; display: flex; gap: 2mm; align-items: flex-start; font-size: 9.5pt; padding: 2.5mm 3mm; border: 0.3mm solid var(--lm-warning-border); border-radius: 1.5mm; }
  .pi-aviso i { color: var(--lm-warning-500, currentColor); font-size: 12pt; }

  .pi-dia { display: grid; }
  .pi-dia-titulo { margin: 0 0 1mm; font-size: 15pt; color: var(--lm-text-accent); display: flex; gap: 2.5mm; align-items: baseline; break-after: avoid; }
  .pi-dia-titulo small { font-size: 9pt; font-weight: var(--lm-font-weight-regular); color: var(--lm-text-muted); }

  .pi-slot { display: grid; grid-template-columns: 17mm minmax(0, 1fr); gap: 3mm; padding-block: 2.2mm; border-block-start: 0.25mm solid var(--lm-border-default); break-inside: avoid; }
  .pi-dia-titulo + .pi-slot { border-block-start-color: transparent; }
  .pi-hora { display: grid; align-content: start; font-size: 13pt; font-weight: var(--lm-font-weight-semibold); font-variant-numeric: tabular-nums; color: var(--lm-text-strong); }
  .pi-hora small { font-size: 8.5pt; font-weight: var(--lm-font-weight-regular); color: var(--lm-text-muted); }
  .pi-hora.is-definir { font-size: 9.5pt; color: var(--lm-text-muted); }
  .pi-itens { display: grid; gap: 2mm; }
  .pi-itens.is-par { grid-template-columns: repeat(auto-fit, minmax(42mm, 1fr)); }
  .pi-itens.is-par .pi-item { border: 0.25mm solid var(--lm-border-default); border-radius: 1.5mm; padding: 2mm 2.5mm; }
  .pi-item { display: grid; grid-template-columns: 5.5mm minmax(0, 1fr); gap: 1.5mm; align-items: start; }
  .pi-ico { font-size: 12pt; color: var(--lm-text-accent); padding-block-start: .3mm; }
  .pi-item strong { display: block; font-size: 12pt; font-weight: var(--lm-font-weight-semibold); color: var(--lm-text-strong); }
  .pi-item span { display: block; font-size: 9.5pt; color: var(--lm-text-muted); }
  .pi-item.is-curta strong { font-weight: var(--lm-font-weight-regular); color: var(--lm-text-muted); }
  .pi-item.is-curta .pi-ico { color: var(--lm-text-muted); }

  .pi-rodape { margin-block-start: auto; display: grid; gap: 3mm; break-inside: avoid; }
  .pi-rodape-linha { padding-block-start: 3mm; border-block-start: 0.25mm solid var(--lm-border-default); display: flex; justify-content: space-between; align-items: center; gap: 5mm; font-size: 8.5pt; color: var(--lm-text-muted); }
  .pi-rodape-img { display: block; inline-size: 100%; max-block-size: 30mm; object-fit: contain; object-position: center; print-color-adjust: exact; -webkit-print-color-adjust: exact; }
  .pi-rodape-txt { display: grid; gap: .5mm; }
  .pi-rodape-txt strong { color: var(--lm-text-strong); }
  .pi-qr { display: flex; align-items: center; gap: 2.5mm; max-inline-size: 60mm; }
  .pi-qr svg { inline-size: 25mm; block-size: 25mm; flex: none; }
  .pi-qr svg path, .pi-qr svg rect[fill="black"] { fill: var(--lm-text-strong); }

  .pi-folha.is-justa { gap: 3.5mm; }
  .pi-folha.is-justa .pi-cab-img { max-block-size: calc(var(--pi-cab-max, 70mm) * .65); }
  .pi-folha.is-justa .pi-slot { padding-block: 1.4mm; }
  .pi-folha.is-justa .pi-qr svg { inline-size: 22mm; block-size: 22mm; }
  .pi-folha.is-justa .pi-rodape-img { max-block-size: 18mm; }

  /* Economizar tinta: texto em preto e cinza. O cabeçalho continua. */
  .pi-folhas.is-tinta .pi-eyebrow, .pi-folhas.is-tinta .pi-dia-titulo, .pi-folhas.is-tinta .pi-ico { color: var(--lm-text-strong); }
  .pi-folhas.is-tinta .pi-cab-txt { border-block-end-color: var(--lm-text-strong); }
  .pi-folhas.is-tinta .pi-aviso { border-color: var(--lm-text-strong); }
  .pi-folhas.is-tinta .pi-aviso i { color: var(--lm-text-strong); }

  /* Tela estreita (celular): a prévia não cabe em 210 mm; a folha cresce com
     o conteúdo. No papel vale sempre a paginação de 200 mm. */
  @media screen and (max-width: 820px) { .pi-folhas > .pi-folha { block-size: auto; min-block-size: 0; } }

  @container (max-width: 120mm) {
    .pi-cab-txt.is-compacto { grid-auto-flow: row; }
    .pi-rodape-linha { flex-direction: column; align-items: flex-start; }
  }

  @media print {
    .nao-imprime { display: none !important; }
    html, body, .li-pi-corpo { background: #fff !important; }
    .pi-mesa { padding: 0; background: none; }
    .pi-folhas { display: block; }
    .pi-folha { inline-size: 100%; block-size: 286mm; padding: 0; box-shadow: none; break-after: page; break-inside: avoid; }
    .pi-folha:last-child { break-after: auto; }
    .pi-cab-img { print-color-adjust: exact; -webkit-print-color-adjust: exact; }
  }
}
