/* Final document rules: review uses A4 paper; print uses its 12 mm margins. */
.print-page {
  width: 210mm;
  max-width: 100%;
  min-height: 297mm;
  padding: 12mm;
  line-height: 1.5;
}
.print-page .print-page-top img { width: 33mm; height: auto; }
.print-page .print-document-title {
  border: 1px solid #a6b9d0;
  background: #edf3fa;
  color: #203c5e;
  text-align: center;
}
.print-page .print-document-title small { color: #445b75; }
.print-page .print-heading { background: #f0f4fa; color: #203c5e; }
.print-page .print-label { min-width: 0; }
.print-page .print-label .label-ms { color: #465970; }
.print-page .print-answer {
  border-color: #93a9c2;
  border-radius: 3px;
  line-height: 1.5;
  tab-size: 4;
}
.print-page .observation-banner {
  background: #edf3fa;
  color: #203c5e;
  border-color: #a6b9d0;
}
.print-page .observation-banner .label-en,
.print-page .observation-banner .label-ms { color: #203c5e; }

/* Keep narrative questions above a full-width writing area in Section D. */
.print-page.source-page-2 > .print-field.print-long,
.print-page.source-page-3 > .print-field.print-long,
.print-page.source-page-4 > .print-field.print-long,
.print-page.source-page-5 > .print-field.print-long,
.print-page.source-page-6 > .print-field.print-long {
  display: block;
  margin: 0 0 18px;
}
.print-page.source-page-2 > .print-long > .print-label,
.print-page.source-page-3 > .print-long > .print-label,
.print-page.source-page-4 > .print-long > .print-label,
.print-page.source-page-5 > .print-long > .print-label,
.print-page.source-page-6 > .print-long > .print-label { margin: 0 0 7px; }
.print-page.source-page-3 > .print-long > .print-answer { min-height: 82px; }

/* Keep the Seizure/fit choices next to the prompt, including in print. */
.print-page .print-choice[data-choice="seizure"] {
  grid-template-columns: max-content max-content;
  justify-content: start;
  column-gap: 6mm;
}

/* Dark foregrounds remain readable when backgrounds are not printed. */
.print-page .profile-table {
  border-collapse: collapse;
  border-spacing: 0;
  border: .3mm solid #8fa7c5;
  background: #fff;
}
.print-page .profile-table .profile-comparison-band th {
  background: #e6eef9;
  color: #203c5e;
  height: 6mm;
  padding: 1mm .8mm;
}
.print-page .profile-table .profile-group {
  background: #f0f4fa;
  color: #203c5e;
}
.print-page .profile-table th,
.print-page .profile-table td {
  position: static;
  border: .3mm solid #8fa7c5;
  background-clip: padding-box;
  vertical-align: middle;
}
.print-page .profile-table .profile-group-start > th,
.print-page .profile-table .profile-group-start > td { border-top: .3mm solid #8fa7c5; }
.print-page .profile-table thead th { height: 16mm; font-size: 8pt; line-height: 1.4; }
.print-page .profile-table .profile-row-heading {
  position: static;
  font-size: 8.5pt;
  text-align: left;
}
.print-page .profile-group > span { font-size: 7.5pt; }
.print-page .profile-table tbody tr { height: 9mm; }
.print-page .profile-table .ssp-score { font-size: 9pt; }
.print-page .profile-table .ssp-score-value {
  min-width: 7mm;
  min-height: 4.5mm;
  padding: 0 .6mm .2mm;
  border-bottom: .2mm solid #93a9c2;
  text-align: center;
}
.print-page .profile-table .profile-print-circle { width: 4mm; height: 4mm; flex-shrink: 0; }
.print-page .print-page-number { line-height: 1.3; color: #4b5e74; }

@media screen and (max-width: 720px) {
  .print-page { width: 100%; min-height: 0; padding: 22px 18px; }
}

/* The page counter includes physical continuation pages, independent of the
   21 source-page groups. Margin boxes keep footers outside the form content.
   https://developer.chrome.com/blog/print-margins */
@page {
  size: A4 portrait;
  margin: 12mm;
  @bottom-center {
    content: counter(page);
    width: 100%;
    margin-top: 2mm;
    margin-bottom: 3mm;
    border-top: .2mm solid #b4c3d4;
    vertical-align: middle;
    text-align: right;
    font-family: Arial, sans-serif;
    font-size: 8pt;
    line-height: 1.3;
    color: #4b5e74;
  }
}

@media print {
  html, body { width: auto; min-width: 0; margin: 0; padding: 0; background: #fff; }
  #main, #reviewView, #reviewPages { width: 100%; min-width: 0; overflow: visible; }
  .print-page {
    width: 100%;
    max-width: none;
    min-width: 0;
    min-height: 272mm;
    padding: 0;
    margin: 0;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    overflow: visible;
    break-after: page;
    page-break-after: always;
  }
  .print-page:last-child { break-after: auto; page-break-after: auto; }
  .print-page .print-page-top { margin: 0 0 3mm; padding-bottom: 2mm; }
  .print-page .print-page-top img { width: 33mm; height: auto; }
  .print-page.source-page-1 .print-page-top img { width: 30mm; }
  .print-page .print-document-title { padding: 2.5mm 3mm; font-size: 11pt; line-height: 1.4; }
  .print-page .print-document-title small { font-size: 8pt; }
  .print-page .print-heading { margin: 4mm 0 3mm; padding: 1.8mm 2.5mm; }
  .print-page > .print-heading:first-child { margin-top: 0; }
  .print-page .print-heading,
  .print-page .development-group-title,
  .print-page .ssp-detail-heading,
  .print-page .denver-title,
  .print-page .print-label {
    break-after: avoid-page;
    page-break-after: avoid;
  }
  .print-page .print-field,
  .print-page .print-choice,
  .print-page .print-check,
  .print-page .print-situation,
  .print-page .ssp-detail-print {
    break-inside: avoid-page;
    page-break-inside: avoid;
  }
  .print-page .print-answer,
  .print-page .parent-answer,
  .print-page .denver-answer,
  .print-page .adl-note-answer {
    max-height: none;
    height: auto;
    overflow: visible;
    overflow-wrap: anywhere;
    white-space: pre-wrap;
    orphans: 3;
    widows: 3;
  }
  .print-page.source-page-2 > .print-field.print-long,
  .print-page.source-page-3 > .print-field.print-long,
  .print-page.source-page-4 > .print-field.print-long,
  .print-page.source-page-5 > .print-field.print-long,
  .print-page.source-page-6 > .print-field.print-long { display: block; margin: 0 0 4mm; }
  .print-page.source-page-2 > .print-long > .print-label,
  .print-page.source-page-3 > .print-long > .print-label,
  .print-page.source-page-4 > .print-long > .print-label,
  .print-page.source-page-5 > .print-long > .print-label,
  .print-page.source-page-6 > .print-long > .print-label { margin-bottom: 1.8mm; }
  .print-page.source-page-3 > .print-long > .print-answer { min-height: 21mm; }
  .print-page.source-page-5 > .print-long,
  .print-page.source-page-6 > .print-long { margin-bottom: 5mm; }
  .print-page .print-answer { padding: 2mm 2.5mm; border-radius: .7mm; }
  .print-page .print-a-layout .print-answer { padding: 1mm 1.5mm; border-radius: 0; }
  .print-page .family-entry .print-answer { padding: 1mm; border-radius: 0; }
  .print-page table { width: 100%; max-width: 100%; table-layout: fixed; }
  .print-page table thead { display: table-header-group; }
  .print-page table tbody { break-inside: auto; }
  .print-page table tr { break-inside: avoid-page; page-break-inside: avoid; }
  .print-page table th, .print-page table td { overflow-wrap: anywhere; }
  .print-page .ssp-table-scroll,
  .print-page .parents-table-wrap { width: 100%; max-width: 100%; overflow: visible; }
  .print-page .profile-table { min-width: 0; break-inside: avoid-page; page-break-inside: avoid; }
  .print-page .profile-table th, .print-page .profile-table td { padding: 1.3mm 1mm; }
  .print-page .profile-table .profile-row-heading { padding: 1.3mm 1.5mm; }
  .print-page .profile-table .ssp-score { gap: 1mm; }
  .print-page .profile-table .ssp-score-value { min-width: 7mm; }
  .print-page .profile-table .profile-print-circle { border-width: .3mm; }
  .print-page .profile-table .profile-comparison-band th { font-size: 7.5pt; }
  .print-page .ssp-detail-heading { align-items: center; gap: 3mm; }
  .print-page .ssp-detail-heading .ssp-score { flex-wrap: wrap; justify-content: flex-end; }
  .print-page .ssp-detail-print:last-of-type { margin-bottom: 0; }
  /* Source numbers remain in screen review; only physical page numbers print. */
  .print-page .print-page-number {
    display: none;
  }
  .print-page svg { max-width: 100%; }
  .print-page .profile-print-circle svg { width: 100%; height: 100%; }
}
