@media print {

  /* ── Layout: full width ───────────────────────────────────── */
  .sidebar_first,
  .sidebar_second {
    display: none !important;
  }

  .main-content,
  .content,
  body {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
  }

  /* ── Header: reset then logo only ────────────────────────── */
  #header,
  #navbar-main {
    all: unset;
    display: block !important;
  }

  #navbar-top,
  #block-asbfeo-sitewidenotification,
  #block-spotlightmenu,
  #block-subscriptionbutton,
  #block-asbfeo-googletranslateadaptive,
  #block-infoline,
  .region-top-header {
    display: none !important;
  }

  a.navbar-brand {
    display: block !important;
    margin: 0 0 1rem 0 !important;
    padding: 0 !important;
  }

  a.navbar-brand img {
    display: block !important;
    max-width: 200px !important;
    height: auto !important;
  }

  /* ── Hide TOC, anchors, share, nav ───────────────────────── */
  nav.anchorific,
  .anchor,
  footer,
  nav:not([aria-label="pagination"]) {
    display: none !important;
  }

  /* suppress printed URLs entirely */
  a[href]::after {
    content: none !important;
  }

  /* ── Accordion: force all open ───────────────────────────── */
  .au-accordion-body {
    display: block !important;
    height: auto !important;
    overflow: visible !important;
  }

  .au-accordion__body-wrapper,
  .accordion-panel {
    display: block !important;
    height: auto !important;
    overflow: visible !important;
  }

  .au-accordion-title::after {
    display: none !important;
  }

  .au-accordion {
    page-break-inside: avoid;
  }

  .paragraph--type--accordion {
    page-break-inside: avoid;
  }

  /* ── Charts: billboard.js SVG ────────────────────────────── */
  .charts-figure,
  .charts-bb,
  .charts-billboard {
    display: block !important;
    height: auto !important;
    overflow: visible !important;
    page-break-inside: avoid;
  }

  .charts-bb svg,
  .charts-billboard svg {
    width: 100% !important;
    height: auto !important;
    max-width: 100% !important;
    display: block !important;
  }

  .charts-figure-caption {
    display: block !important;
    font-size: 0.75rem;
    color: #425A4F;
    margin-top: 0.5rem;
  }

  /* ── Charts accessible data table ───────────────────────── */
  .charts-accessible-table-wrapper {
    display: block !important;
  }

  .charts-accordion-trigger {
    display: none !important;
  }

  .charts-accordion-content {
    display: block !important;
  }

  .charts-accessible-table {
    width: 100% !important;
    border-collapse: collapse !important;
    font-size: 0.8rem !important;
    margin-top: 0.75rem;
    page-break-inside: auto;
  }

  .charts-accessible-table thead th {
    background: #D8E3DE !important;
    color: #091933 !important;
    border-bottom: 2px solid #8FA498 !important;
    border-right: 1px solid #8FA498 !important;
    padding: 0.35rem 0.5rem !important;
    text-align: left !important;
    font-size: 0.75rem !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }

  .charts-accessible-table tbody tr {
    page-break-inside: avoid;
  }

  .charts-accessible-table tbody th,
  .charts-accessible-table tbody td {
    border-bottom: 1px solid #D8E3DE !important;
    border-right: 1px solid #D8E3DE !important;
    padding: 0.35rem 0.5rem !important;
    color: #091933 !important;
    vertical-align: top !important;
  }

  .charts-accessible-table tbody tr.odd th,
  .charts-accessible-table tbody tr.odd td {
    background: #ffffff !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }

  .charts-accessible-table tbody tr.even th,
  .charts-accessible-table tbody tr.even td {
    background: #f5f8f6 !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }

  /* ── Download buttons: hide ──────────────────────────────── */
  .custom-download-graph,
  .data-download-btn,
  .tableresponsive-toggle-columns {
    display: none !important;
  }

  /* ── DataTables v2 controls: hide ────────────────────────── */
  .dt-length,
  .dt-search,
  .dt-info,
  .dt-paging,
  .dt-autosize {
    display: none !important;
  }

  /* unwrap DataTables layout containers */
  .dt-container,
  .dt-layout-row,
  .dt-layout-cell,
  .dt-layout-table,
  .tablefield-wrapper,
  .table-responsive {
    display: block !important;
    width: 100% !important;
    overflow: visible !important;
    height: auto !important;
  }

  /* hide sort icons */
  .dt-column-order {
    display: none !important;
  }

  /* remove inline col widths */
  table.dataTable colgroup,
  table.tablefield colgroup {
    display: none !important;
  }

  /* ── DataTables table ────────────────────────────────────── */
  table.dataTable,
  table.tablefield {
    width: 100% !important;
    border-collapse: collapse !important;
    font-size: 0.8rem !important;
    table-layout: auto !important;
    page-break-inside: auto;
  }

  table.dataTable thead th,
  table.tablefield thead th {
    background: #D8E3DE !important;
    color: #091933 !important;
    border-bottom: 2px solid #8FA498 !important;
    border-right: 1px solid #8FA498 !important;
    padding: 0.35rem 0.5rem !important;
    text-align: left !important;
    font-size: 0.75rem !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }

  table.dataTable tbody tr,
  table.tablefield tbody tr {
    page-break-inside: avoid;
  }

  table.dataTable tbody td,
  table.tablefield tbody td {
    border-bottom: 1px solid #D8E3DE !important;
    border-right: 1px solid #D8E3DE !important;
    padding: 0.35rem 0.5rem !important;
    color: #091933 !important;
    vertical-align: top !important;
  }

  table.dataTable tbody tr.odd td,
  table.tablefield tbody tr.odd td {
    background: #ffffff !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }

  table.dataTable tbody tr.even td,
  table.tablefield tbody tr.even td {
    background: #f5f8f6 !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }

  /* ── Canvas (other charts) ───────────────────────────────── */
  canvas {
    max-width: 100% !important;
    page-break-inside: avoid;
  }

  /* ── Typography hygiene ──────────────────────────────────── */
  h2, h3, h4 {
    page-break-after: avoid;
  }

  p, li {
    orphans: 3;
    widows: 3;
  }

}