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

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

.first-page {
  page: first;
}

.page-footer {
  position: fixed;
  bottom: 10px;
  left: 2cm;
  right: 2cm;
  text-align: center;
  font-size: 14px;
  font-weight: 400;
  color: currentColor;
  opacity: 0.5;
  font-style: italic;
  pointer-events: none;
  z-index: 9999;
}

.pdf-container:has(.first-page) .page-footer {
  display: none;
}

@media print {
  .first-page ~ * {
    page: auto;
  }
}

.content-section {
  padding-bottom: 60px;
}

.page-break {
  position: relative;
}

body {
  font-family: 'Roboto', 'Noto Color Emoji', 'Apple Color Emoji', 
               'Segoe UI Emoji', 'Segoe UI Symbol', 
               -apple-system, BlinkMacSystemFont, sans-serif !important;
  line-height: 1.6;
  color: oklch(var(--bc));
  -webkit-print-color-adjust: exact;
  print-color-adjust: exact;
}

* {
  font-family: 'Roboto', 'Noto Color Emoji', 'Apple Color Emoji', 
               'Segoe UI Emoji', 'Segoe UI Symbol',
               -apple-system, BlinkMacSystemFont, sans-serif !important;
}

.pdf-container {
  max-width: 100%;
  margin: 0;
  background: oklch(var(--b1));
  padding: 2cm;
  padding-bottom: 1.5cm;
}



@media print {
  @page first {
    size: A4;
    margin: 0;
  }
}

.page-break {
  page-break-after: always;
  page-break-inside: avoid;
  break-after: page;
  break-inside: avoid;
  margin-bottom: 2rem;
}

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

/* Garantir que cores de fundo sejam impressas */
* {
  -webkit-print-color-adjust: exact;
  print-color-adjust: exact;
}

@media print {
  body {
    background: oklch(var(--b1));
  }

  .no-print {
    display: none !important;
  }

  .page-break {
    page-break-after: always;
    page-break-inside: avoid;
    break-after: page;
    break-inside: avoid;
  }

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

  /* Prevenir quebras de página indesejadas */
  .card {
    page-break-inside: avoid;
    break-inside: avoid;
  }

  img {
    page-break-inside: avoid;
    break-inside: avoid;
    max-width: 100%;
    height: auto;
  }
}

@media screen {
  .page-break {
    border-bottom: 2px dashed oklch(var(--b3));
    padding-bottom: 2rem;
    margin-bottom: 2rem;
  }
}
