/* Impresión en fluxo: non recorta contido nin calcula páxinas mediante alturas fixas.
   Cargar despois dos outros CSS. js/impresion.js prepara paneis e details. */
@page { size: A4 portrait; margin: 12mm; }
@page sm-landscape { size: A4 landscape; margin: 10mm; }
@page sm-a3 { size: A3 landscape; margin: 10mm; }
.sm-print-preview { padding: var(--sm-space-6); background: var(--sm-border-soft); }
.sm-print-paper { width: min(100%, 210mm); margin-inline: auto; padding: 12mm; background: var(--sm-on-color); color: var(--sm-text); box-shadow: var(--sm-shadow-lg); }
@media print {
  .sm-page { background: var(--sm-on-color); color: var(--sm-print-text); font-size: var(--sm-text-print-body); line-height: 1.45; print-color-adjust: exact; -webkit-print-color-adjust: exact; }
  .sm-page[data-sm-print-format="a4-landscape"] { page: sm-landscape; }
  .sm-page[data-sm-print-format="a3-landscape"] { page: sm-a3; }
  .sm-page .sm-no-print, .sm-page .sm-tabs, .sm-page .sm-guide__search,
  .sm-page .sm-calendar-toolbar, .sm-page .sm-skip-link, .sm-page dialog { display: none !important; }
  .sm-page .sm-print-only { display: block; }
  .sm-page .sm-container { width: 100%; max-width: none; }
  .sm-page .sm-main { padding: 0; }
  .sm-page .sm-hero { padding: 6mm; margin-bottom: 6mm; border-radius: 3mm; }
  .sm-page h1 { font-size: var(--sm-text-print-h1); }
  .sm-page h2 { font-size: var(--sm-text-print-h2); }
  .sm-page h3 { font-size: var(--sm-text-print-h3); }
  .sm-page :where(h1, h2, h3, h4) { break-after: avoid; }
  .sm-page :where(p, li) { orphans: 3; widows: 3; }
  .sm-page .sm-card { box-shadow: none; padding: 4mm; border-radius: 3mm; }
  .sm-page .sm-guide__layout { display: block; }
  .sm-page .sm-guide__index { position: static; max-height: none; overflow: visible; margin-bottom: 6mm; }
  .sm-page .sm-grid { display: block; }
  .sm-page .sm-grid > * + * { margin-top: 4mm; }
  .sm-page .sm-table-wrap { overflow: visible; }
  .sm-page .sm-table { font-size: var(--sm-text-print-sm); }
  .sm-page .sm-table :where(th, td) { padding: 2mm; }
  .sm-page thead { display: table-header-group; }
  .sm-page tr { break-inside: avoid; }
  .sm-page .sm-calendar-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4mm; }
  .sm-page[data-sm-print-format="a4-landscape"] .sm-calendar-grid,
  .sm-page[data-sm-print-format="a3-landscape"] .sm-calendar-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .sm-page .sm-print-paper { width: auto; padding: 0; box-shadow: none; }
  .sm-page .sm-print-preview { padding: 0; background: var(--sm-on-color); }
  .sm-page .sm-print-break { break-before: page; }
  .sm-page .sm-print-keep { break-inside: avoid; }
  .sm-page .sm-print-link::after { content: " (" attr(href) ")"; font-size: var(--sm-text-print-xs); font-weight: var(--sm-weight-normal); overflow-wrap: anywhere; }
}
