@media print {
  @page {
    size: portrait;
    margin: 12mm;
  }

  html,
  body {
    width: auto !important;
    height: auto !important;
    overflow: visible !important;
  }

  body {
    margin: 0 !important;
    background: #fff !important;
    color: #111 !important;
    font: 10pt/1.35 Arial, Helvetica, sans-serif !important;
  }

  body > *:not(main) {
    display: none !important;
  }

  body > main {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  body > main:not(.construction-page) > *:not(#calculator):not(.simple-material-print-target) {
    display: none !important;
  }

  body > main.construction-page > * {
    display: none !important;
  }

  body > main.construction-page > .article-layout,
  .construction-page .construction-tool-shell,
  .construction-page #calculator {
    display: block !important;
  }

  .construction-page .article-layout > *:not(.construction-tool-shell),
  .construction-page .construction-tool-shell > *:not(#calculator) {
    display: none !important;
  }

  #calculator,
  #calculator .calc-card,
  .simple-material-print-target,
  .simple-material-print-target form[data-simple-calculator-form],
  .construction-page,
  .construction-page .container,
  .construction-page .article-layout,
  .construction-page .construction-tool-shell,
  .construction-calculator-card,
  .material-comparison-print-target,
  .material-comparison-print-target .comparison-calculator-card {
    position: static !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    background: #fff !important;
    color: #111 !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    break-inside: auto !important;
    page-break-inside: auto !important;
  }

  #calculator .calc-card > *:not(.print-report):not(.results),
  .construction-calculator-card > *:not(.print-report):not(.construction-results),
  .material-comparison-print-target .comparison-calculator-card > *:not(.print-report):not(.comparison-results) {
    display: none !important;
  }

  .simple-material-print-target > *:not(.print-report):not(form[data-simple-calculator-form]),
  .simple-material-print-target form[data-simple-calculator-form] > *:not(.print-result-block) {
    display: none !important;
  }

  .print-report {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 4mm;
    margin: 0 0 6mm !important;
    padding: 0 !important;
    color: #111 !important;
    -webkit-text-fill-color: #111 !important;
  }

  .print-report-header {
    grid-column: 1 / -1;
    padding-bottom: 3mm;
    border-bottom: 2px solid #27384b;
  }

  .print-report-kicker,
  .print-report-meta {
    margin: 0 0 1.5mm !important;
    color: #333 !important;
    -webkit-text-fill-color: #333 !important;
    font-size: 8.5pt !important;
    overflow-wrap: anywhere;
  }

  .print-report h1 {
    margin: 0 0 1.5mm !important;
    color: #111 !important;
    -webkit-text-fill-color: #111 !important;
    font-size: 18pt !important;
    line-height: 1.15 !important;
  }

  .print-report h2,
  .print-results-heading {
    margin: 4mm 0 2mm !important;
    color: #111 !important;
    -webkit-text-fill-color: #111 !important;
    font-size: 11pt !important;
    line-height: 1.2 !important;
  }

  .print-report-section {
    break-inside: avoid-page;
    page-break-inside: avoid;
  }

  .print-report-no-cost [data-print-context-section] {
    grid-column: 1 / -1;
  }

  .print-report-list {
    display: grid;
    grid-template-columns: minmax(32mm, .65fr) minmax(0, 1.35fr);
    margin: 0 !important;
    border-top: 1px solid #c7c7c7;
    border-left: 1px solid #c7c7c7;
  }

  .print-report-list dt,
  .print-report-list dd {
    margin: 0 !important;
    padding: 1.6mm 2mm !important;
    border-right: 1px solid #c7c7c7;
    border-bottom: 1px solid #c7c7c7;
    color: #111 !important;
    -webkit-text-fill-color: #111 !important;
    overflow-wrap: anywhere;
  }

  .print-report-list dt {
    background: #f4f4f4 !important;
    font-weight: 700;
  }

  .print-report-empty {
    grid-column: 1 / -1;
    margin: 5mm 0 0 !important;
    padding: 4mm !important;
    border: 1px solid #8a8a8a;
    background: #fff !important;
    color: #111 !important;
    -webkit-text-fill-color: #111 !important;
    font-weight: 700;
  }

  .print-report-empty[hidden],
  .print-results-heading[hidden],
  .print-report-section[hidden] {
    display: none !important;
  }

  .print-results-heading {
    display: block !important;
    grid-column: 1 / -1;
    margin: 0 0 2mm !important;
  }

  [data-print-state="invalid"] .print-result-block {
    display: none !important;
  }

  .print-result-block,
  .print-result-block * {
    color: #111 !important;
    -webkit-text-fill-color: #111 !important;
    text-shadow: none !important;
  }

  .print-result-block {
    background: #fff !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
  }

  #calculator .results,
  .simple-material-print-target .print-result-block,
  .construction-results .result-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 3mm !important;
    margin: 0 !important;
    break-inside: avoid-page;
    page-break-inside: avoid;
  }

  .construction-results {
    display: block !important;
    margin: 0 !important;
  }

  #calculator .kpi,
  .simple-material-print-target .kpi,
  .construction-results .kpi,
  .comparison-results .kpi {
    min-width: 0 !important;
    padding: 3mm !important;
    background: #fff !important;
    border: 1px solid #aeb7c2 !important;
    border-radius: 2mm !important;
    box-shadow: none !important;
    break-inside: avoid-page;
    page-break-inside: avoid;
  }

  .kpi-title,
  .kpi span {
    display: block;
    margin-bottom: 1mm;
    color: #333 !important;
    -webkit-text-fill-color: #333 !important;
    font-size: 8.5pt !important;
  }

  .kpi-value,
  .kpi strong {
    color: #111 !important;
    -webkit-text-fill-color: #111 !important;
    font-size: 11pt !important;
    line-height: 1.25 !important;
    font-variant-numeric: tabular-nums;
    overflow-wrap: anywhere;
    word-break: normal;
  }

  .print-cost-not-entered .kpi-value,
  .print-cost-not-entered strong {
    display: none !important;
  }

  .print-cost-not-entered::after {
    display: block;
    content: "Cost not entered";
    color: #111 !important;
    -webkit-text-fill-color: #111 !important;
    font-size: 11pt;
    font-weight: 700;
    line-height: 1.25;
  }

  #calculator[data-print-preset="results"] .print-report,
  #calculator[data-print-preset="ink"] .print-report {
    margin-bottom: 4mm !important;
  }

  #calculator[data-print-preset="results"] .print-report-list dt,
  #calculator[data-print-preset="results"] .print-report-list dd {
    padding: 1mm 1.5mm !important;
    font-size: 8.25pt !important;
  }

  #calculator[data-print-preset="results"] .print-report h1 {
    font-size: 16pt !important;
  }

  #calculator[data-print-theme="slate"] .kpi {
    background: #eef3f8 !important;
    border-color: #8ca3bd !important;
  }

  #calculator[data-print-theme="slate"] .kpi-title {
    color: #263b53 !important;
    -webkit-text-fill-color: #263b53 !important;
  }

  #calculator[data-print-theme="emerald"] .kpi {
    background: #edf9f3 !important;
    border-color: #83cdb2 !important;
  }

  #calculator[data-print-theme="emerald"] .kpi-title {
    color: #22664f !important;
    -webkit-text-fill-color: #22664f !important;
  }

  #calculator[data-print-theme="amber"] .kpi {
    background: #fff8ec !important;
    border-color: #d6b17c !important;
  }

  #calculator[data-print-theme="amber"] .kpi-title {
    color: #81581a !important;
    -webkit-text-fill-color: #81581a !important;
  }

  #calculator[data-print-theme="rose"] .kpi {
    background: #fff1f4 !important;
    border-color: #d6a0ae !important;
  }

  #calculator[data-print-theme="rose"] .kpi-title {
    color: #7d3347 !important;
    -webkit-text-fill-color: #7d3347 !important;
  }

  #calculator[data-print-preset="ink"] .kpi {
    background: #fff !important;
    border-color: #777 !important;
  }

  #calculator[data-print-preset="ink"] .kpi-title,
  #calculator[data-print-preset="ink"] .kpi-value {
    color: #111 !important;
    -webkit-text-fill-color: #111 !important;
  }

  .material-comparison-print-target .comparison-results {
    display: block !important;
    margin: 0 !important;
  }

  .material-comparison-print-target .comparison-summary-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 3mm !important;
    margin-bottom: 4mm !important;
    break-inside: avoid-page;
    page-break-inside: avoid;
  }

  .material-comparison-print-target .table-scroll {
    width: 100% !important;
    max-width: none !important;
    overflow: visible !important;
  }

  .material-comparison-print-target .comparison-results-table {
    width: 100% !important;
    min-width: 0 !important;
    table-layout: fixed !important;
    border-collapse: collapse !important;
    font-size: 7.75pt !important;
  }

  .comparison-results-table thead {
    display: table-header-group;
  }

  .comparison-results-table tr,
  .comparison-results-table th,
  .comparison-results-table td {
    break-inside: avoid-page;
    page-break-inside: avoid;
  }

  .comparison-results-table th,
  .comparison-results-table td {
    padding: 1.2mm !important;
    border: 1px solid #aaa !important;
    background: #fff !important;
    color: #111 !important;
    -webkit-text-fill-color: #111 !important;
    overflow-wrap: anywhere;
    word-break: normal;
  }

  .comparison-results-table th {
    background: #f2f2f2 !important;
  }

  .comparison-results-table .is-best-value,
  .comparison-results-table .is-best-value td {
    background: #f8f8f8 !important;
  }
  #calculator .google-auto-placed,
  #calculator ins.adsbygoogle,
  #calculator iframe[id^="google_ads"],
  .simple-material-print-target .google-auto-placed,
  .simple-material-print-target ins.adsbygoogle,
  .simple-material-print-target iframe[id^="google_ads"],
  .construction-page .google-auto-placed,
  .construction-page ins.adsbygoogle,
  .construction-page iframe[id^="google_ads"],
  .material-comparison-print-target .google-auto-placed,
  .material-comparison-print-target ins.adsbygoogle,
  .material-comparison-print-target iframe[id^="google_ads"] {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
  }

  #calculator [data-print-state="invalid"] .print-result-block,
  #calculator[data-print-state="invalid"] .print-result-block,
  .simple-material-print-target[data-print-state="invalid"] .print-result-block,
  .construction-calculator-card[data-print-state="invalid"] .print-result-block,
  .material-comparison-print-target [data-print-state="invalid"] .print-result-block {
    display: none !important;
  }
}
