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

html,
body {
  background: var(--krds-gray-0);
  color: var(--krds-gray-black);
}

body > :not(.print-root) {
  display: none !important;
}

.print-root {
  display: block !important;
  inline-size: 100%;
  margin: 0;
  padding: 0;
  font-family: var(--font-sans);
  font-size: 10.5pt;
  line-height: 1.45;
}

.print-summary {
  inline-size: 100%;
}

.print-summary__header {
  padding-block-end: 4mm;
  border-block-end: 0.4mm solid var(--krds-gray-70);
}

.print-service-name {
  margin: 0 0 1mm;
  font-size: 9pt;
  font-weight: var(--krds-fw-bold);
}

.print-summary h1 {
  margin: 0 0 2mm;
  font-size: 18pt;
  line-height: 1.3;
}

.print-summary h2 {
  margin: 5mm 0 2mm;
  font-size: 13pt;
}

.print-executive {
  break-inside: avoid;
  page-break-inside: avoid;
  padding: 3mm;
  border: 0.35mm solid var(--krds-gray-70);
}

.print-executive h2 {
  margin-block-start: 0;
}

.print-key-facts {
  margin-block-start: 2mm;
}

.print-key-limitation {
  margin-block-start: 2mm !important;
  padding-block-start: 2mm;
  border-block-start: 0.2mm solid var(--krds-gray-30);
  font-weight: var(--krds-fw-bold);
}

.print-summary h3 {
  margin: 0 0 1.5mm;
  font-size: 11pt;
}

.print-summary h4 {
  margin: 2mm 0 1mm;
  font-size: 10pt;
}

.print-summary p {
  margin: 1mm 0;
}

.print-definition-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1mm 5mm;
  margin: 0;
}

.print-definition-list .summary-list__item {
  display: grid;
  grid-template-columns: 28mm minmax(0, 1fr);
  gap: 2mm;
  padding-block: 1mm;
  border-block-end: 0.2mm solid var(--krds-gray-30);
}

.print-definition-list dt {
  font-weight: var(--krds-fw-bold);
}

.print-definition-list dd {
  margin: 0;
  overflow-wrap: anywhere;
}

.print-results {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 3mm;
}

.print-results > h2 {
  grid-column: 1 / -1;
  margin-block-end: 0;
  break-after: avoid;
  page-break-after: avoid;
}

.print-result {
  break-inside: avoid;
  page-break-inside: avoid;
  max-inline-size: 100%;
  padding: 3mm;
  border: 0.3mm solid var(--krds-gray-50);
}

.print-result h3,
.print-result h4 {
  break-after: avoid;
  page-break-after: avoid;
}

.print-pretrend-disclosure {
  break-inside: avoid;
  page-break-inside: avoid;
  margin-block: 2mm;
  padding: 2mm;
  border-inline-start: 0.8mm solid var(--krds-warning-70);
  background: var(--krds-warning-10);
}

.print-pretrend-disclosure--info {
  border-inline-start-color: var(--krds-fg-info);
  background: var(--krds-bg-info-subtle);
}

.print-pretrend-disclosure__limitation {
  font-weight: var(--krds-fw-bold);
}

.print-definition-list .summary-list__item,
.print-summary tr {
  break-inside: avoid;
  page-break-inside: avoid;
}

.print-summary thead {
  display: table-header-group;
}

.print-summary img,
.print-summary svg,
.print-summary canvas,
.print-summary table {
  max-inline-size: 100%;
}

.print-subject {
  break-before: auto;
  page-break-before: auto;
}

.print-result ul {
  padding-inline-start: 5mm;
  margin: 1mm 0;
}

.print-result li {
  margin-block-end: 0.5mm;
}

.print-representative-evidence {
  margin-block-start: 3mm;
  padding: 2.5mm;
  border: 0.3mm solid var(--krds-gray-50);
  break-inside: avoid;
  page-break-inside: avoid;
}

.print-representative-evidence h2 {
  margin-block-start: 0;
}

.print-representative-evidence ol {
  margin-block: 1mm;
  padding-inline-start: 5mm;
}

.print-representative-evidence li {
  margin-block-end: 0.5mm;
}

.print-appendix {
  min-inline-size: 0;
  max-inline-size: 100%;
  margin-block-start: 4mm;
  padding-block-start: 2mm;
  border-block-start: 0.4mm solid var(--krds-gray-70);
  font-size: 8.5pt;
  line-height: 1.28;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.print-appendix > h2 {
  margin-block: 0 2mm;
  break-after: avoid;
  page-break-after: avoid;
}

.print-appendix__results {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: start;
  gap: 2mm;
}

.print-appendix__result {
  min-inline-size: 0;
  max-inline-size: 100%;
  padding: 2mm;
  border: 0.25mm solid var(--krds-gray-40);
  overflow-wrap: anywhere;
  word-break: break-word;
}

.print-appendix__result h3,
.print-appendix__result h4 {
  margin-block: 0 0.75mm;
  break-after: avoid;
  page-break-after: avoid;
}

.print-appendix__result p,
.print-appendix__result ul {
  margin-block: 0.5mm;
}

.print-appendix__result ul {
  padding-inline-start: 4mm;
}

.print-appendix__result li {
  margin-block-end: 0.25mm;
}

.print-appendix .print-subject,
.print-appendix .print-provenance {
  margin-block-start: 2mm;
  padding-block-start: 1mm;
  border-block-start: 0.2mm solid var(--krds-gray-30);
}

.print-appendix .print-provenance {
  break-inside: auto;
  page-break-inside: auto;
}

.print-summary h1,
.print-summary h2,
.print-summary h3,
.print-summary h4,
.print-summary p,
.print-summary li,
.print-summary dd,
.print-summary a {
  max-inline-size: 100%;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.generated-report,
.generated-report__content,
.generated-report__content > * {
  min-inline-size: 0;
  max-inline-size: 100%;
}

.generated-report__content {
  overflow-wrap: anywhere;
  word-break: break-word;
}

.generated-report__content h5,
.generated-report__content h6,
.generated-report__content p,
.generated-report__content ul,
.generated-report__content ol {
  margin-block: 1mm;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.generated-report__content ul,
.generated-report__content ol {
  padding-inline-start: 5mm;
}

.print-provenance,
.print-disclaimer {
  break-inside: avoid;
  page-break-inside: avoid;
}

.print-provenance {
  padding-block-start: 2mm;
}

.print-disclaimer {
  margin-block-start: 4mm;
  padding-block-start: 2mm;
  border-block-start: 0.4mm solid var(--krds-gray-70);
  font-size: 9pt;
}

button,
nav,
details > summary,
.button,
.skip-link {
  display: none !important;
}

@media print and (max-width: 180mm) {
  .print-results,
  .print-definition-list {
    grid-template-columns: minmax(0, 1fr);
  }

  .print-summary[data-print-source="ux_prototype"] .print-results,
  .print-summary[data-print-source="ux_prototype"] .print-definition-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media print {
  .print-root {
    display: block !important;
  }

  .print-summary[data-print-source="ux_prototype"] {
    font-size: 9pt;
    line-height: 1.32;
    orphans: 3;
    widows: 3;
  }

  .print-summary[data-print-source="ux_prototype"] h1 {
    font-size: 16pt;
  }

  .print-summary[data-print-source="ux_prototype"] h2 {
    margin-block: 3mm 1.5mm;
    font-size: 12pt;
    break-after: avoid;
    page-break-after: avoid;
  }

  .print-summary[data-print-source="ux_prototype"] h3,
  .print-summary[data-print-source="ux_prototype"] h4 {
    break-after: avoid;
    page-break-after: avoid;
  }

  .print-summary[data-print-source="ux_prototype"] .print-results {
    gap: 1.5mm;
  }

  .print-summary[data-print-source="ux_prototype"]
    .print-result[data-prototype-result="true"] {
    padding: 1.5mm;
  }

  .print-summary[data-print-source="ux_prototype"] .print-result p,
  .print-summary[data-print-source="ux_prototype"] .print-result ul {
    margin-block: 0.35mm;
  }

  .print-summary[data-print-source="ux_prototype"] .print-result h4 {
    margin-block: 0.75mm 0.35mm;
  }

  .print-summary[data-print-source="ux_prototype"] .print-result li {
    margin-block-end: 0.2mm;
  }

  .print-summary[data-print-source="ux_prototype"]
    .print-prototype-value-notice {
    padding-block: 1mm;
    border-block: 0.2mm solid var(--krds-gray-30);
  }

  .print-summary[data-print-source="ux_prototype"] .print-disclaimer {
    margin-block-start: 1.5mm;
    padding-block-start: 1.5mm;
    line-height: 1.3;
  }
}
