/* Print stylesheet for DCMEX26 slides PDF generation
   Loaded via <link media="print"> - only activates in print context.
   Used with Reveal.js ?print-pdf mode for proper slide linearization. */

@page {
  size: 1920px 1080px;
  margin: 0;
}

/* Hide speaker notes */
html.print-pdf .speaker-notes,
html.print-pdf .reveal aside.notes {
  display: none !important;
}

/* Remove paper grain SVG texture (bloats PDF via rasterization) */
html.print-pdf .reveal::before {
  display: none !important;
}

/* Remove interactive controls */
html.print-pdf .reveal .controls,
html.print-pdf .reveal .progress,
html.print-pdf .reveal .slide-number {
  display: none !important;
}

/* Slide number footer via CSS counter */
html.print-pdf body {
  counter-reset: slide-counter;
}

html.print-pdf .reveal .slides .pdf-page > section {
  counter-increment: slide-counter;
}

html.print-pdf .reveal .slides .pdf-page > section::after {
  content: counter(slide-counter) "  \2022  byJed.com/dcmexslides";
  position: absolute;
  bottom: 24px;
  right: 40px;
  font-family: 'Inter', -apple-system, system-ui, sans-serif;
  font-size: 14px;
  font-weight: 400;
  color: rgba(29, 27, 26, 0.4);
  letter-spacing: 0.02em;
}

/* Dark background slides: lighter footer */
html.print-pdf .reveal .slides .pdf-page > section.dark-bg::after,
html.print-pdf .reveal .slides .pdf-page > section[data-background-color="#1d1b1a"]::after,
html.print-pdf .reveal .slides .pdf-page > section[data-background-color="#1B5286"]::after,
html.print-pdf .reveal .slides .pdf-page > section[data-background-color="#000"]::after,
html.print-pdf .reveal .slides .pdf-page > section[data-background-color="#000000"]::after {
  color: rgba(255, 248, 245, 0.4);
}

/* Ensure images render at full quality */
html.print-pdf .reveal .slides img {
  image-rendering: auto;
  -webkit-print-color-adjust: exact;
  print-color-adjust: exact;
}

/* Force background colors to print */
html.print-pdf * {
  -webkit-print-color-adjust: exact !important;
  print-color-adjust: exact !important;
}

/* === PDF PRINT FIX: Reveal.js wraps each slide in div.pdf-page === */

/* Page wrapper: fixed dimensions, page break control */
html.print-pdf .reveal .slides .pdf-page {
  position: relative !important;
  display: block !important;
  width: 1920px !important;
  height: 1080px !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
  page-break-inside: avoid !important;
  page-break-after: always !important;
  break-inside: avoid-page !important;
  break-after: page !important;
}

html.print-pdf .reveal .slides .pdf-page:last-child {
  page-break-after: auto !important;
  break-after: auto !important;
}

/* Sections inside pdf-page: fill the page, contain children.
   Padding overrides Reveal.js reveal.css rule:
   html.reveal-print .reveal .slides section { padding: 0 !important }
   Our selector (0-4-2) beats theirs (0-3-2) in the !important cascade. */
html.print-pdf .reveal .slides .pdf-page > section {
  position: relative !important;
  width: 1920px !important;
  height: 1080px !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
  top: 0 !important;
  left: 0 !important;
  padding: var(--s-page-y-top) var(--s-page-x) var(--s-page-y-bot) !important;
}

/* Hero image slides: keep full bleed, no padding */
html.print-pdf .reveal .slides .pdf-page > section.hero-image {
  padding: 0 !important;
}

/* Hero images: absolute within the 1920x1080 section */
html.print-pdf .reveal section.hero-image img.fill-contain,
html.print-pdf .reveal section.hero-image img.fill-cover {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  display: block !important;
}

/* QA-holding: restore flexbox centering within fixed-height section */
html.print-pdf .reveal section.qa-holding .qa-holding-inner {
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
}

html.print-pdf .reveal section.qa-holding .qr-huge {
  width: 380px !important;
  height: 380px !important;
  display: block !important;
  margin: 0 auto !important;
}

/* Toolkit slide: center QR and text */
html.print-pdf .reveal section.toolkit-slide {
  text-align: center !important;
}

html.print-pdf .reveal section.toolkit-slide .body-m {
  margin-left: auto !important;
  margin-right: auto !important;
}
