/**
 * @file
 * Print styles for the TSSA theme.
 *
 * Loaded with media "print" via the tssatheme/framework library, so these
 * rules never affect the on-screen layout.
 */

@page {
  size: auto;
  margin: 15mm 12mm;
}

html,
body {
  background: #fff !important;
  color: #000 !important;
  width: auto !important;
  min-width: 0 !important;
  overflow: visible !important;
  -webkit-print-color-adjust: exact;
  print-color-adjust: exact;
}

/* Hide interactive / navigation-only UI. */
header .appMenu,
header .wrapNav,
header .appSearch,
header .appNav,
header .appSubNav,
.contentWrap-toggle,
.contentWrap-nav,
.innerWrap-menu,
footer .appXtraNav,
footer .appSocial,
#block-tssatheme-feedback,
.feedClick,
.tabs,
.nav-tabs,
.contextual,
.visually-hidden,
.skip-link,
#toolbar-administration,
.admin-toolbar,
.top-bar,
.gin-secondary-toolbar,
.view-filters,
.views-exposed-form,
.pagination,
.pager,
.resultPages,
iframe,
video,
noscript {
  display: none !important;
}

/* Header: show the logo once at the top instead of a fixed bar on every page. */
header {
  position: static !important;
  padding: 0 0 10px !important;
  border-bottom: 1px solid #D8DCDB;
}

header .container,
footer .container,
main .container,
.container {
  width: 100% !important;
  max-width: none !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin: 0 !important;
}

/* Main content takes the full printable width. */
main,
.contentWrap,
.contentSection,
.contentWrap .innerWrap-menu + .contentSection,
.layout,
.layout__region,
.field--name-body,
.psr-page,
.psr-container,
.psr-text {
  display: block !important;
  position: static !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  float: none !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  overflow: visible !important;
}

.contentWrap {
  padding-top: 10px !important;
}

/* Banner: keep the design colours but drop the screen-only spacing. */
.bannerSection,
.bannerWrap {
  min-height: 0 !important;
  height: auto !important;
}

.bannerSection {
  margin-top: 0 !important;
}

.bannerSection .bannerWrap-left {
  margin: 10px 0 !important;
  padding-left: 16px !important;
}

.bannerSection .bannerWrap-left h1 {
  margin-bottom: 0 !important;
}

/* Scroll-triggered animations (AOS, lottie, etc.) must be fully visible. */
[data-aos],
.aos-init,
.aos-animate {
  opacity: 1 !important;
  transform: none !important;
  transition: none !important;
  animation: none !important;
}

/* Tables: never clip or scroll on paper. */
.table-container,
.table-responsive {
  overflow: visible !important;
  width: 100% !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}

table {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  table-layout: auto;
  border-collapse: collapse !important;
}

th,
td {
  padding: 6px 8px !important;
  border: 1px solid #ccc !important;
  word-break: normal;
  overflow-wrap: anywhere;
}

thead {
  display: table-header-group;
}

tr,
img,
figure,
.metric-card {
  break-inside: avoid;
  page-break-inside: avoid;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  break-after: avoid;
  page-break-after: avoid;
}

/* Long flex lists fragment badly across pages; print them as plain blocks. */
.resultWrap .resultList {
  display: block !important;
}

.resultWrap .resultList > li {
  break-inside: avoid;
  page-break-inside: avoid;
}

/* Card grids print as tidy two-column blocks without shadows. */
.metrics-grid {
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 12px !important;
}

.metric-card {
  box-shadow: none !important;
  border: 1px solid #D8DCDB !important;
  padding: 12px !important;
}

img {
  max-width: 100% !important;
  height: auto;
}

/* Footer: keep only a compact legal line. */
footer {
  border-top: 1px solid #D8DCDB;
  padding: 10px 0 0 !important;
  margin-top: 20px;
  break-inside: avoid;
}

footer .appLogo {
  display: none !important;
}

footer .appLegal {
  margin-top: 0 !important;
}

/* Collapsed accordions should print expanded. */
.ckeditor-accordion-container dd,
details > * {
  display: block !important;
}
