/* ════════════════════════════════════════════════════════════════════
   PRINT STYLESHEET — gera o PDF de apresentação para clientes
   Cada <section> e o <footer> viram um slide 16:9 (1920×1080).
   Ativa-se de duas formas:
     1. body.pdf-mode (forçado pelo script Playwright)
     2. @media print (Ctrl+P do Chrome, fallback manual)
   ════════════════════════════════════════════════════════════════════ */

/* ─── Tamanho da página ─── */
@page {
  size: 1920px 1080px;
  margin: 0;
}

/* ════ MODO PDF ════ */
body.pdf-mode {
  background: var(--bg, #0B1018);
}

body.pdf-mode nav,
body.pdf-mode .hero-edge-fade-left,
body.pdf-mode .hero-edge-fade-right,
body.pdf-mode .hero-edge-fade-top,
body.pdf-mode .hero-edge-fade-bottom,
body.pdf-mode #heroGridCanvas,
body.pdf-mode #trailCanvas,
body.pdf-mode #connectorLayer,
body.pdf-mode #chipRippleCanvas,
body.pdf-mode #corePanelCanvas,
body.pdf-mode #ctaFinalCanvas,
body.pdf-mode #footerBinaryArea {
  display: none !important;
}

/* Reveals: forçar estado final visível */
body.pdf-mode [data-reveal] {
  opacity: 1 !important;
  transform: none !important;
  filter: none !important;
  transition: none !important;
  animation: none !important;
}

/* Cada slide ocupa exatamente 1 página 16:9 */
body.pdf-mode > section,
body.pdf-mode > footer {
  width: 1920px;
  min-height: 1080px;
  height: 1080px;
  max-height: 1080px;
  padding: 60px 80px;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  page-break-after: always;
  break-after: page;
  page-break-inside: avoid;
  break-inside: avoid;
  overflow: hidden;
  position: relative;
}

body.pdf-mode > footer:last-of-type {
  page-break-after: auto;
  break-after: auto;
}

/* ─── HERO ─── */
body.pdf-mode .hero {
  padding: 60px 80px;
}
body.pdf-mode .hero-content {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 60px !important;
  width: 100% !important;
  max-width: 1760px !important;
  align-items: center !important;
  margin: 0 auto !important;
}
body.pdf-mode .hero-left {
  padding-top: 0 !important;
}
body.pdf-mode .hero-title {
  font-size: 76px !important;
  line-height: 1.05 !important;
}
body.pdf-mode .hero-sub {
  font-size: 22px !important;
  margin-top: 24px !important;
}
body.pdf-mode .hero-actions {
  margin-top: 36px !important;
}
body.pdf-mode .hero-right {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
}
body.pdf-mode .dashboard-group {
  transform: scale(0.95) !important;
  transform-origin: center center !important;
}

/* ─── LOGOS BAR ─── */
body.pdf-mode .logos-bar {
  padding: 80px 80px !important;
}
body.pdf-mode .logos-label {
  font-size: 30px !important;
  margin-bottom: 70px !important;
  text-align: center !important;
}
body.pdf-mode .logos-label .mobile-br {
  display: none !important;
}
body.pdf-mode .logos-carousel {
  width: 100% !important;
  max-width: 1760px !important;
  overflow: visible !important;
  mask-image: none !important;
  -webkit-mask-image: none !important;
}
body.pdf-mode .logos-track {
  display: grid !important;
  grid-template-columns: repeat(7, 1fr) !important;
  justify-items: center !important;
  align-items: center !important;
  gap: 60px 40px !important;
  animation: none !important;
  transform: none !important;
  width: 100% !important;
}
body.pdf-mode .logo-item {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  height: 64px !important;
}
body.pdf-mode .logo-item img {
  height: 56px !important;
  max-width: 200px !important;
  width: auto !important;
  filter: brightness(0) invert(1) !important;
  opacity: 0.85 !important;
}
body.pdf-mode .logo-item.logo-more {
  font-size: 22px !important;
}

/* ─── PLATAFORMA ─── */
body.pdf-mode .platform {
  padding: 50px 60px !important;
}
body.pdf-mode .platform .container {
  width: 100% !important;
  max-width: 1700px !important;
}
body.pdf-mode .platform h2 {
  font-size: 44px !important;
  line-height: 1.15 !important;
  margin-top: 12px !important;
}
body.pdf-mode .platform .section-lead {
  font-size: 18px !important;
  margin-top: 12px !important;
  margin-bottom: 24px !important;
}
body.pdf-mode .diagram {
  transform: scale(0.85) !important;
  transform-origin: center top !important;
  margin-top: -10px !important;
}

/* ─── COMO ─── */
body.pdf-mode .how {
  padding: 80px 80px !important;
}
body.pdf-mode .how .container {
  max-width: 1700px !important;
  width: 100% !important;
}
body.pdf-mode .how h2 {
  font-size: 64px !important;
  line-height: 1.05 !important;
}
body.pdf-mode .how .lead {
  font-size: 22px !important;
}
body.pdf-mode .how-header {
  margin-bottom: 56px !important;
}
body.pdf-mode .steps {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 40px !important;
}
body.pdf-mode .step h3 {
  font-size: 26px !important;
}
body.pdf-mode .step p {
  font-size: 17px !important;
  line-height: 1.55 !important;
}

/* ─── USECASES ─── */
body.pdf-mode .usecases {
  padding: 60px 80px !important;
}
body.pdf-mode .usecases-layout {
  max-width: 1700px !important;
  width: 100% !important;
  display: grid !important;
  grid-template-columns: minmax(0, 600px) 1fr !important;
  gap: 100px !important;
  align-items: center !important;
}
body.pdf-mode .uc-text h2 {
  font-size: 56px !important;
  line-height: 1.08 !important;
}
body.pdf-mode .uc-text .lead {
  font-size: 20px !important;
  line-height: 1.55 !important;
}

/* ─── TRUST ─── */
body.pdf-mode .trust {
  padding: 80px 80px !important;
}
body.pdf-mode .trust .container {
  max-width: 1700px !important;
  width: 100% !important;
}
body.pdf-mode .trust h2 {
  font-size: 56px !important;
  line-height: 1.1 !important;
}
body.pdf-mode .trust-header {
  margin-bottom: 60px !important;
}
body.pdf-mode .trust-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 40px !important;
}
body.pdf-mode .trust-stat {
  font-size: 40px !important;
}
body.pdf-mode .trust-label {
  font-size: 18px !important;
}

/* ─── CTA FINAL ─── */
body.pdf-mode .cta-final {
  padding: 0 !important;
}
body.pdf-mode .cta-final-frame {
  width: 100% !important;
  height: 100% !important;
  border-radius: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
body.pdf-mode .cta-final-title {
  font-size: 84px !important;
  line-height: 1.05 !important;
}
body.pdf-mode .cta-final-sub {
  font-size: 26px !important;
  margin-top: 24px !important;
}

/* ─── FOOTER ─── */
body.pdf-mode footer {
  padding: 100px 120px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
body.pdf-mode .footer-top {
  width: 100% !important;
  max-width: 1700px !important;
  display: flex !important;
  flex-direction: row !important;
  justify-content: space-between !important;
  align-items: center !important;
  gap: 80px !important;
}
body.pdf-mode .footer-left {
  display: flex !important;
  flex-direction: column !important;
  gap: 40px !important;
}
body.pdf-mode .footer-tagline p {
  font-size: 72px !important;
  line-height: 1.05 !important;
}
body.pdf-mode .footer-social-icons {
  display: flex !important;
  gap: 24px !important;
}
body.pdf-mode .footer-columns {
  display: none !important;
}
body.pdf-mode .footer-binary-area {
  display: none !important;
}

/* ════ MEDIA PRINT (fallback Ctrl+P) ════ */
@media print {
  body {
    background: var(--bg, #0B1018) !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }
  nav,
  .hero-edge-fade-left, .hero-edge-fade-right,
  .hero-edge-fade-top, .hero-edge-fade-bottom,
  #heroGridCanvas, #trailCanvas, #connectorLayer,
  #chipRippleCanvas, #corePanelCanvas, #ctaFinalCanvas,
  #footerBinaryArea {
    display: none !important;
  }
  [data-reveal] {
    opacity: 1 !important;
    transform: none !important;
    filter: none !important;
    transition: none !important;
    animation: none !important;
  }
  body > section,
  body > footer {
    page-break-after: always;
    break-after: page;
    page-break-inside: avoid;
    break-inside: avoid;
  }
  body > footer:last-of-type {
    page-break-after: auto;
    break-after: auto;
  }
}
