/* Configura o corpo da página para ocupar pelo menos 100% da altura da tela */
body {
  margin-top: 0;
  margin-bottom: 0;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

/* O conteúdo principal se expande para empurrar o footer para baixo */
main {
  flex: 1; 
}