/**
 * Shared print / PDF export styles for KPM Global Group company profiles.
 * Export is generated live from the HTML (always reflects latest profile content).
 */
@page {
  size: A4 landscape;
  margin: 12mm 14mm;
}

@media print {
  html, body {
    width: 100% !important;
    height: auto !important;
    overflow: visible !important;
    background: #fff !important;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }

  /* Hide on-screen chrome */
  .toolbar,
  .nav-bar,
  .progress,
  .slide-label,
  .cross-page-nav,
  .group-footer-nav,
  .fixed-brand,
  .slide-num {
    display: none !important;
  }

  .deck {
    position: static !important;
    height: auto !important;
    width: 100% !important;
    overflow: visible !important;
  }

  .slide {
    display: block !important;
    position: relative !important;
    inset: auto !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    overflow: visible !important;
    animation: none !important;
    transform: none !important;
    width: 100% !important;
    height: auto !important;
    min-height: 175mm !important;
    max-height: none !important;
    padding: 0 !important;
    margin: 0 !important;
    page-break-after: always;
    break-after: page;
    page-break-inside: avoid;
    break-inside: avoid;
    box-sizing: border-box !important;
  }

  .slide:last-child {
    page-break-after: auto;
    break-after: auto;
  }

  /* Flex-layout profiles (KPM, YouRecruit, TCJ) */
  .slide:not(.slide-cover):not(.slide-cover.active) {
    display: flex !important;
    flex-direction: column !important;
    padding: 4mm 2mm !important;
  }

  .slide.title-slide,
  .slide.cover,
  .slide.contact-slide {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: center !important;
    text-align: center;
    padding: 6mm 4mm !important;
  }

  /* Moonshine profile */
  .slide-cover .cover-wrap {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    height: auto !important;
    min-height: 170mm !important;
  }

  .slide-inner {
    padding: 6mm 4mm !important;
    min-height: 170mm !important;
    height: auto !important;
    overflow: visible !important;
  }

  .slide-inner.dark,
  .slide-inner.white {
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }

  .cover-left {
    padding: 8mm 6mm !important;
  }

  .cover-right {
    min-height: 170mm !important;
    height: auto !important;
  }

  .cover-right img {
    min-height: 170mm !important;
    object-fit: cover !important;
  }

  .cover-right-overlay {
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }

  .contact-closing {
    grid-template-columns: 240px 1fr !important;
  }

  .contact-portrait {
    min-height: 120mm !important;
  }

  .contact-portrait img {
    min-height: 120mm !important;
  }

  .slide-watermark {
    opacity: 0.05 !important;
  }

  /* Grids — keep columns where possible */
  .g2, .g2-1, .content-grid { grid-template-columns: 1fr 1fr !important; }
  .g3, .service-grid, .grid-3, .stats-row { grid-template-columns: repeat(3, 1fr) !important; }
  .g4, .grid-4 { grid-template-columns: repeat(4, 1fr) !important; }
  .prod-grid { grid-template-columns: repeat(2, 1fr) !important; }
  .ind-hero { grid-template-columns: repeat(3, 1fr) !important; }
  .stats { grid-template-columns: repeat(4, 1fr) !important; }
  .toc-grid { grid-template-columns: 1fr 1fr !important; }

  .card,
  .prod-tile,
  .stat,
  .profile-photo,
  .contact-hero,
  .article-card {
    break-inside: avoid;
    page-break-inside: avoid;
  }

  img {
    max-width: 100% !important;
    break-inside: avoid;
    page-break-inside: avoid;
  }

  a {
    color: inherit !important;
    text-decoration: none !important;
  }

  a[href^="http"]::after,
  a[href^="mailto"]::after,
  a[href^="tel"]::after {
    content: none !important;
  }

  .link-card .go,
  .gallery-cta,
  .live-badge::before {
    display: none !important;
  }
}

/* Screen-only: preparing all slides before print dialog */
body.print-pdf-mode {
  overflow: auto !important;
  height: auto !important;
}

body.print-pdf-mode .deck {
  position: static !important;
  height: auto !important;
  overflow: visible !important;
}

body.print-pdf-mode .slide {
  display: block !important;
  position: relative !important;
  visibility: visible !important;
  opacity: 1 !important;
  height: auto !important;
  min-height: 100vh;
  overflow: visible !important;
}

body.print-pdf-mode .toolbar,
body.print-pdf-mode .nav-bar,
body.print-pdf-mode .progress,
body.print-pdf-mode .slide-label,
body.print-pdf-mode .cross-page-nav,
body.print-pdf-mode .group-footer-nav,
body.print-pdf-mode .fixed-brand,
body.print-pdf-mode .slide-num {
  display: none !important;
}

body.print-pdf-mode .slide:not(.slide-cover) {
  display: flex !important;
  flex-direction: column !important;
}

.btn-download-pdf {
  background: rgba(255, 255, 255, 0.95) !important;
}

.btn-download-pdf:hover {
  cursor: pointer;
}
