/**
 * Article Print view (/node/{node}/print).
 *
 * Loaded ONLY on the isolated print route via the mvsd_core/article-print
 * library. The page reuses the site's global CSS (fonts, tokens, paragraph
 * styling) so the article — including images, video and audio players —
 * renders exactly as on the live page; this file only frames it as a clean,
 * chrome-free full-page document and tunes the printed output.
 */

/* ---- Screen: a centred, readable document ---------------------------- */
.print-page {
  display: block;
  background: #fff;
  padding: 1.5rem 1rem 3rem;
}

.print-article {
  max-width: 50rem;
  margin: 0 auto;
}

.print-article__header {
  margin-bottom: 1.5rem;
  padding-bottom: 1rem;
  border-bottom: 3px solid var(--color-accent, #f0b323);
}

.print-article__source {
  margin: 0 0 0.25rem;
  font-size: 0.85rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--color-primary, #008544);
}

.print-article__title {
  margin: 0 0 0.4rem;
  font-size: 2rem;
  line-height: 1.2;
  color: var(--color-ink, #1a1a1a);
}

.print-article__date {
  margin: 0;
  font-size: 0.95rem;
  color: #555;
}

.print-article__body {
  font-size: 1rem;
  line-height: 1.6;
}

.print-article__body img,
.print-article__body video {
  max-width: 100%;
  height: auto;
}

/* Stray administrative / interactive chrome must never reach the print page. */
.print-page .tabs,
.print-page nav.tabs,
.print-page .block-local-tasks-block,
.print-page .contextual,
.print-page .messages,
.print-page .skip-link,
.print-page .moderation-widget,
.mvsd-back-to-top {
  display: none !important;
}

/* ---- Print: full bleed, true colour, natural flow -------------------- */
@media print {
  @page {
    margin: 0.6in;
  }

  /* No outer margin/padding that could spill the end of the article onto an
     empty extra page. */
  html,
  body {
    margin: 0 !important;
    padding: 0 !important;
  }

  .print-page {
    margin: 0 !important;
    padding: 0 !important;
  }

  .print-article {
    max-width: none;
    margin: 0 !important;
  }

  /* This view is meant to print "exactly as-is", so keep brand colour,
     accent rules and image tones instead of letting the browser drop
     backgrounds. */
  .print-page,
  .print-page * {
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }

  .print-article__title {
    font-size: 22pt;
  }

  /* Let content flow and fill each page top-to-bottom. We deliberately do NOT
     use break-inside/break-after "keep together" hints here: when a trailing
     table, image or heading didn't fit in the space left on a page, those hints
     pushed the whole element onto a fresh page and left the previous page
     half-empty — the "extra blank page". Natural flow fills the page first;
     no content is ever dropped, only the break position changes. */

  /* Nothing trailing the last block should add height past the content. */
  .print-article__body > *:last-child,
  .print-article__body > *:last-child > *:last-child {
    margin-bottom: 0 !important;
  }
}
