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

html {
  background-color: #F7F9F7;
  display: flex;
  justify-content: center;
  padding: 20px 0;
}

body {
  width: 210mm;
  height: 297mm;
  background: white;
  box-sizing: border-box;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
  display: flex;
  flex-direction: column;
}

footer{
  margin-top: auto;
  text-align: center;
  color: #666;
}

/* Estilo do botão flutuante */
.btn-flutuante {
  position: fixed;
  top: 30px;
  right: 30px;
  background-color: #333333;
  color: #ffffff;
  padding: 12px 24px;
  border-radius: 50px;
  text-decoration: none;
  font-weight: 600;
  font-size: 14px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  transition: all 0.3s ease;
  z-index: 1000;
}

/* Efeito ao passar o mouse */
.btn-flutuante:hover {
  background-color: #000000;
  transform: translateY(-3px);
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.2);
}

/* Esconde o botão na hora da impressão PDF por CTRL + P */
@media print {
  .btn-flutuante {
    display: none !important;
  }
}

@media print {
  html {
    background-color: white;
    padding: 0;
  }

  html, body {
    width: 210mm;
    height: 297mm;
    margin: 0;
    box-shadow: none;
  }

  * {
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }
}

@media screen and (max-width: 768px) {
  html {
    padding: 0;
    background-color: white;
  }

  body {
    width: 100%;
    height: auto;
    min-height: 100vh;
    padding: 20px;
    box-shadow: none;
  }

  .info-topo,
  .info-rodape {
    flex-direction: column;
    align-items: center;
    gap: 8px;
    text-align: center;
  }
}
