/* ==========================================================================
   Impresión · respaldo
   El entregable real es el PDF generado en js/pdf/. Esta hoja solo evita
   que una impresión directa del navegador salga rota.
   ========================================================================== */

@media print {
  @page {
    size: A4 portrait;
    margin: 16mm 14mm;
  }

  :root {
    --shadow-sm: none;
    --shadow-md: none;
    --shadow-lg: none;
    --shadow-forest: none;
  }

  body { background: #fff; }

  .course-shell { display: block; }

  .course-sidebar,
  .sidebar-overlay,
  .course-header,
  .course-footer,
  .unlock-banner,
  .session-pagination,
  .toast-region,
  .prompt-details__toolbar,
  .completion-control,
  .product-card__actions,
  .hero-actions,
  .skip-link {
    display: none !important;
  }

  .course-main {
    width: 100%;
    min-height: 0;
    padding: 0;
  }

  /* Nada de animaciones ni contenido oculto al imprimir. */
  [data-reveal] { opacity: 1 !important; transform: none !important; }
  .prompt-details__body { display: block !important; }
  .prompt-details pre { max-height: none; background: #f4f6f4; color: #17211d; }

  .dashboard-hero,
  .session-hero,
  .page-intro,
  .agenda,
  .activity-card,
  .review-card,
  .work-card,
  .locked-view {
    break-inside: avoid;
    border-radius: 0;
    box-shadow: none;
  }

  .activity-card { page-break-inside: avoid; }

  h1, h2, h3 { break-after: avoid; }

  a[href^="http"]::after {
    content: " (" attr(href) ")";
    font-size: 0.75em;
    color: #667;
  }
}
