/* =============================================================================
 * Jogos Intersalas — impressão
 * =============================================================================
 * O professor pediu para imprimir. O que ele pendura no mural não é uma captura
 * de tela: é papel A4 em preto e branco, sem menu, sem botão e sem sombra.
 *
 * Tudo aqui é `@media print` — carregar este arquivo fora da impressão não muda
 * nada na tela. O `@page` define A4 retrato com margem de 12 mm, que é o que
 * cabe a tabela de um grupo de 4 equipes mais o cabeçalho.
 *
 * Regra de ouro: nada de `color` sem `-webkit-print-color-adjust: exact`, senão
 * o navegador imprime tudo branco por economia de tinta.
 * ========================================================================== */

@page {
  size: A4 portrait;
  margin: 12mm;
}

@media print {
  :root {
    /* Papel: fundo branco, tinta preta. As sombras do projeto viram borda. */
    --background: 0 0% 100%;
    --foreground: 0 0% 0%;
    --card: 0 0% 100%;
    --card-foreground: 0 0% 0%;
    --primary: 0 0% 0%;
    --primary-foreground: 0 0% 100%;
    --secondary: 0 0% 0%;
    --secondary-foreground: 0 0% 100%;
    --muted: 0 0% 93%;
    --muted-foreground: 0 0% 25%;
    --accent: 0 0% 0%;
    --accent-foreground: 0 0% 100%;
    --border: 0 0% 60%;
    --input: 0 0% 60%;
    --shadow-card: none;
    --shadow-card-hover: none;
    --shadow-forte: none;
  }

  html, body {
    background: #fff;
    color: #000;
    font-size: 10pt;
    line-height: 1.35;
    display: block; /* sem flex: o rodapé esticado some e o fluxo de página volta */
  }

  /* Fora do papel: nada de interface. */
  .no-print,
  .cabecalho__nav,
  .rodape__assinatura,
  .abas,
  .botao,
  .toasts,
  .progresso,
  .carregando { display: none !important; }

  .cabecalho {
    position: static;
    background: #fff;
    color: #000;
    box-shadow: none;
    border-bottom: 2pt solid #000;
    padding-bottom: 4pt;
  }

  .cabecalho__marca img { height: 2rem; }

  /* Brasões em preto e branco saem cinzentos e sujos; melhor omitir o brasão
   * colorido e manter só o logo institucional, que é de traço. */
  .cabecalho__marca img[data-impressao='ocultar'] { display: none; }

  .rodape {
    background: #fff;
    color: #000;
    border-top: 1pt solid #000;
    margin-top: 6pt;
    padding-top: 4pt;
    font-size: 8pt;
  }

  .container { max-width: none; padding: 0; }
  .secao { padding-block: 6pt; }
  .heroi { background: #fff !important; color: #000; padding-block: 0; }
  .heroi::after { display: none; }
  .heroi__brasao { display: none; }
  .heroi__selo { background: #fff; color: #000; border: 1pt solid #000; }

  /* Cartões viram caixas de 1 pt — a sombra não imprime. */
  .cartao, .numero-destaque, .podio__lugar, .confronto {
    box-shadow: none !important;
    border: .5pt solid #666;
    border-radius: 0;
    padding: 4pt 6pt;
    break-inside: avoid;
  }

  .campeao {
    background: #fff !important;
    color: #000;
    border: 1.5pt solid #000;
    border-radius: 0;
    padding: 8pt;
  }
  .campeao__rotulo { color: #000; }
  .campeao__trofeu { display: none; }

  .tabela { font-size: 9pt; }
  .tabela thead th {
    background: #e8e8e8 !important;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
    color: #000;
    border-bottom: 1pt solid #000;
  }
  .tabela th, .tabela td { border-bottom: .5pt solid #999; padding: 3pt 4pt; }

  .etiqueta { border: .5pt solid #000; background: #fff !important; color: #000 !important; }
  .posicao { border: .5pt solid #000; background: #fff !important; color: #000 !important; }
  .classificado { box-shadow: none; font-weight: 700; }
  .classificado td:first-child::after { content: ' ▸'; }

  /* A chave é larga: no papel ela pode encolher, então libera a rolagem. */
  .chave { overflow: visible; gap: 6pt; }
  .chave__rodada { min-width: 0; flex: 1 1 0; }
  .chave__titulo { border-bottom: 1pt solid #000; font-size: 8pt; }
  .chave .confronto { padding: 2pt; }
  .chave .confronto__placar { background: #fff; border: .5pt solid #999; font-size: 9pt; min-width: 2.5rem; }

  /* Cada grupo e cada rodada de chave começa inteiro numa página nova quando
   * não couber — nunca partido no meio. */
  .tabela, .confronto, .campeao, .podio, .aviso, .numero-destaque { break-inside: avoid; }

  .grupo-bloco, .rodada-bloco { break-inside: avoid-page; }

  /* Cabeçalho de seção que se repete quando a tabela quebra de página. */
  .tabela thead { display: table-header-group; }
  .tabela tfoot { display: table-footer-group; }

  /* Cada grupo/competição numa folha nova, para pendurar separado no mural. */
  .folha-nova { break-before: page; }

  a[href]::after { content: ''; } /* sem URL impressa ao lado de cada link */

  .quebra-antes { break-before: page; }
  .sem-quebra { break-inside: avoid; }
}

/* -----------------------------------------------------------------------------
 * Modo "imprimir" na tela
 * -----------------------------------------------------------------------------
 * A página /imprimir é a mesma coisa, mas visualizada antes de mandar para a
 * impressora. Em vez de simular papel em pixels (que mente sobre o que cabe),
 * ela usa uma folha de altura de A4 na largura útil — 210 mm menos as margens.
 */
.folha {
  background: #fff;
  color: #000;
  width: 100%;
  max-width: 186mm;
  min-height: 273mm;
  margin: var(--esp-5) auto;
  padding: 12mm;
  box-shadow: var(--shadow-card-hover);
}

@media print {
  .folha { box-shadow: none; margin: 0; padding: 0; min-height: 0; max-width: none; width: auto; }
}
