/* impressao.css — Folha de estilo para impressão A4.
   IMPORTANTE: a impressão "especial" (só a imagem/desenho) só é aplicada quando
   existe um alvo na página — #dc-overlay-impressao (desenho, colorir, lousa,
   carimbos, quebra-cabeça) ou um .dc-area-impressao aninhado (labirinto, sudoku).
   Em páginas de conteúdo (atividades do professor, histórias, artigos, etc.) NÃO
   há esse alvo: elas imprimem normalmente, apenas escondendo o menu/rodapé. */

#dc-overlay-impressao { display: none; }
.dc-print-rodape { display: none; }

@media print {
  @page { size: A4; margin: 12mm; }
  html, body { background: #fff !important; height: auto !important; }

  /* Esconde o "cromo" do site em QUALQUER impressão (mantém o conteúdo). */
  #cabecalho-global, #rodape-global, .dc-topo-anuncio,
  .dc-nao-imprimir, .dc-breadcrumb, .dc-cookie-banner, .dc-manual,
  .modal, .modal-backdrop, .offcanvas, .offcanvas-backdrop, .dc-toast-area,
  .dc-anuncio { display: none !important; }
  body.modal-open { overflow: visible !important; }
  a[href]::after { content: ""; }

  /* ---- Alvo 1: overlay dedicado (imprime só a imagem, 1 página) ---- */
  body:has(#dc-overlay-impressao) > *:not(#dc-overlay-impressao):not(.dc-print-rodape) { display: none !important; }
  #dc-overlay-impressao {
    display: flex !important; align-items: center; justify-content: center;
    width: 100%; height: 100vh; overflow: hidden; background: #fff;
  }
  #dc-overlay-impressao img {
    max-width: 100% !important; max-height: 100% !important;
    width: auto !important; height: auto !important; object-fit: contain;
  }

  /* ---- Alvo 2: .dc-area-impressao aninhado, sem overlay (atividades legadas) ---- */
  body:not(:has(#dc-overlay-impressao)):has(.dc-area-impressao) * { visibility: hidden !important; }
  body:not(:has(#dc-overlay-impressao)):has(.dc-area-impressao) .dc-area-impressao,
  body:not(:has(#dc-overlay-impressao)):has(.dc-area-impressao) .dc-area-impressao * { visibility: visible !important; }
  body:not(:has(#dc-overlay-impressao)):has(.dc-area-impressao) .dc-area-impressao {
    position: absolute; left: 0; top: 0; width: 100%; text-align: center;
  }
  body:not(:has(#dc-overlay-impressao)):has(.dc-area-impressao) .dc-area-impressao img,
  body:not(:has(#dc-overlay-impressao)):has(.dc-area-impressao) .dc-area-impressao canvas {
    max-width: 100%; max-height: 96vh; object-fit: contain;
  }

  /* Rodapé com o endereço do site (só quando inserido). */
  .dc-print-rodape {
    display: block !important;
    position: fixed; left: 0; right: 0; bottom: 4mm;
    text-align: center; font-size: 9pt; color: #888;
    font-family: var(--dc-fonte-base);
  }
}

@media print and (orientation: landscape) {
  @page { size: A4 landscape; }
}
