/* ============================================================
   Print stylesheet — /recentwork supplier intelligence report.
   Linked with media="print", so it NEVER affects the on-screen view.
   Renders the scrolling web report as a clean A4 PDF: one report
   section per sheet, site chrome removed, background tints printed.
   ============================================================ */

@page { size: A4; margin: 0; }

html, body {
  margin: 0 !important;
  padding: 0 !important;
  background: #ffffff !important;
}

/* Compact the report so each section fits one A4 sheet (matches the
   density of the original PDF; the screen layout is more spacious). */
.report-body { zoom: 0.76; }
/* lift the lightest weights so small print text isn't too thin */
.report-body [style*="font-weight:300"], .report-body .bt { font-weight: 400 !important; }

/* Kill the decorative grain overlay + all blur / blend / shadow / animation
   so the PDF stays flat vector (these otherwise rasterize to a huge file) */
body::after, body::before { display: none !important; content: none !important; }
*, *::before, *::after {
  filter: none !important;
  -webkit-filter: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  mix-blend-mode: normal !important;
  box-shadow: none !important;
  text-shadow: none !important;
  animation: none !important;
}

/* Force every gold accent, tint, and table shading to actually print */
* {
  -webkit-print-color-adjust: exact !important;
  print-color-adjust: exact !important;
}

/* Remove everything that is website chrome, not part of the document */
.cursor,
.cursor-ring,
.loader,
.nav,
.sample-hero,
.report-download-bar,
.report-tail,
.footer { display: none !important; }

/* Let the report fill the sheet edge-to-edge */
.report-body { padding: 0 !important; margin: 0 !important; background: #ffffff !important; }
.report-body .container {
  max-width: none !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Each report section becomes one A4 sheet */
.page {
  width: auto !important;
  box-sizing: border-box !important;
  padding: 15mm !important;
  margin: 0 !important;
  border: 0 !important;
  position: relative !important;
  page-break-before: always !important;
  break-before: page !important;
  page-break-after: auto !important;
  break-after: auto !important;
}
.page:last-child { page-break-after: auto !important; break-after: auto !important; }
.page.cover {
  page-break-before: avoid !important;
  break-before: avoid !important;
  padding: 15mm !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  min-height: 270mm !important;
}

/* Restore the comparison bars + intentional page breaks that are
   display:none on the web build but belong in the printed report */
.report-body [style*="page-break"] { display: block !important; }

/* Restore a proper cover for the PDF (the title text exists in the HTML
   but is unstyled/hidden on the web build, which uses the dark hero instead) */
.page.cover .cw {
  display: block !important;
  font-family: var(--font-display); font-weight: 500;
  font-size: 34pt; letter-spacing: 0.18em; text-align: center;
  color: var(--ink); margin: 0 0 4px;
}
.page.cover .ca {
  display: block !important;
  font-family: var(--font-mono); font-size: 9pt; letter-spacing: 0.4em;
  text-transform: uppercase; text-align: center; color: var(--gold); margin: 0 0 30px;
}
.page.cover .ce {
  display: block !important;
  font-family: var(--font-mono); font-size: 8pt; letter-spacing: 0.28em;
  text-transform: uppercase; text-align: center; color: var(--gold); margin: 0 0 10px;
}
.page.cover .ct {
  display: block !important;
  font-family: var(--font-display); font-weight: 400;
  font-size: 28pt; text-align: center; color: var(--ink); margin: 0 0 10px;
}
.page.cover .cs {
  display: block !important;
  font-family: var(--font-body); font-style: italic; font-size: 11.5pt;
  text-align: center; color: var(--ink-dim); margin: 0 0 32px;
}
.page.cover .cd {
  display: block !important;
  font-family: var(--font-mono); font-size: 9pt; letter-spacing: 0.22em;
  text-transform: uppercase; text-align: center; color: var(--gold); margin: 30px 0 0;
}
.page.cover .csg {
  display: block !important;
  font-family: var(--font-mono); font-size: 8pt; letter-spacing: 0.16em;
  text-transform: uppercase; text-align: center; color: var(--silver); margin: 8px 0 0;
}

/* Supply-chain map: restore the desktop column layout in print. The
   @media (max-width:880px) mobile rule in main.css otherwise fires at the
   A4 page width and collapses the lanes to a single column / hides arrows. */
.map-lane {
  grid-template-columns: 220px 24px 1fr 24px 1fr 24px 180px !important;
  gap: 8px !important;
}
.map-arrow { display: block !important; }
.map-dest { text-align: right !important; }

/* Keep cards / boxes / rows / paragraphs from being sliced across two sheets */
tr, .lcc, .map-lane, .es-cell, .rec-cell, .rf-item, .rf-callout,
.nleg-item, .act-row, .tl-row, .step, .app-item,
.vm-item, .indep, .disc, .req, .ib, .wb, .future, .cb, .cr, .fg, .moqn, .cf, .opening, .closing,
.report-body div[style*="border:0.3pt"], .report-body div[style*="border:0.4pt"],
.report-body div[style*="border:0.5pt"], .report-body div[style*="border:0.6pt"],
.report-body div[style*="border-left:1.2pt"], .report-body div[style*="border-left:1.2pt solid"] {
  break-inside: avoid !important;
  page-break-inside: avoid !important;
}
