/* Estilos globais */
body {
  font-family: "Chakra Petch", sans-serif; /* Define a fonte padrão */
  background-color: #e0f2fe; /* Cor de fundo azul muito claro */
  display: flex; /* Usa Flexbox para layout */
  flex-direction: column; /* Alinha os itens na vertical */
  align-items: center; /* Centraliza os itens horizontalmente */
  justify-content: center; /* Centraliza os itens verticalmente */
  height: 100vh; /* Preenche a altura total da viewport */
  margin: 0; /* Remove a margem padrão do body */
  padding: 0; /* Remove o padding padrão do body */
}

/* Estilos para cabeçalhos */
h1 {
  font-size: 2.5rem; /* Tamanho da fonte */
  color: #1e40af; /* Cor do texto azul escuro intenso */
  text-align: center; /* Alinha o texto ao centro */
  letter-spacing: 0.4rem; /* Espaçamento entre letras */
}

/* Estilos para seções */
section {
  display: flex; /* Usa Flexbox para layout */
  flex-direction: column; /* Alinha os itens na vertical */
  align-items: center; /* Centraliza os itens horizontalmente */
  margin-bottom: 3rem; /* Espaçamento abaixo de cada seção */
}

/* Estilos para inputs */
section input {
  width: 30rem; /* Largura dos inputs */
  border: none; /* Remove a borda padrão */
  padding: 1rem; /* Espaçamento interno */
  border-radius: 1.5rem; /* Borda arredondada */
  margin-bottom: 1rem; /* Espaçamento abaixo dos inputs */
  color: #1e3a8a; /* Cor do texto azul escuro para contraste */
  font-size: 1rem; /* Tamanho da fonte */
  box-sizing: border-box; /* Inclui padding e border na largura total */
  background-color: #bfdbfe; /* Cor de fundo azul claro */
}

/* Estilos para botões */
section button {
  padding: 0.8rem 1.2rem; /* Espaçamento interno do botão */
  border: none; /* Remove a borda padrão */
  border-radius: 1.5rem; /* Borda arredondada */
  background-color: #2563eb; /* Cor de fundo azul médio */
  color: #f0f9ff; /* Cor do texto branco azulado para contraste */
  font-size: 1rem; /* Tamanho da fonte */
  cursor: pointer; /* Muda o cursor para indicar que é clicável */
}

/* Estilos para resultados de pesquisa */
.resultados-pesquisa {
  width: 60rem; /* Largura máxima da caixa de resultados */
  height: 46vh; /* Altura máxima da caixa de resultados */
  overflow-y: auto; /* Adiciona rolagem vertical se necessário */
  margin-top: 1rem; /* Espaçamento acima da caixa de resultados */
  padding: 1rem; /* Espaçamento interno */
  border-radius: 0.6rem; /* Borda arredondada */
}

/* Estilos para itens de resultado */
.item-resultado {
  background: #93c5fd; /* Cor de fundo azul médio */
  border-radius: 0.6rem; /* Borda arredondada */
  padding: 2rem; /* Espaçamento interno */
  margin-bottom: 1rem; /* Espaçamento abaixo dos itens */
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); /* Sombra leve para dar profundidade */
  opacity: 0; /* Inicia com opacidade zero para efeito de entrada */
  transform: translateY(20px); /* Translação inicial para o efeito de entrada */
  transition: opacity 0.5s ease, transform 0.5s ease; /* Transição suave ao aparecer */
}

/* Estado visível dos itens de resultado */
.item-resultado.visivel {
  opacity: 1; /* Torna o item visível */
  transform: translateY(0); /* Move o item para a posição original */
}

/* Estilos para títulos e links dentro dos itens de resultado */
.item-resultado h2 {
  font-size: 1.5rem; /* Tamanho da fonte */
  color: #f0f9ff; /* Cor do texto branco azulado */
}

.item-resultado a {
  text-decoration: none; /* Remove o sublinhado padrão dos links */
  color: #2563eb; /* Cor azul para links */
}

.item-resultado a:hover {
  text-decoration: underline; /* Adiciona sublinhado ao passar o mouse */
}

/* Estilos para descrição meta */
.descricao-meta {
  color: #1e3a8a; /* Cor do texto azul escuro */
  margin: 0.5rem 0; /* Margem acima e abaixo */
}

/* Estilos para rodapé */
footer {
  background-color: #2563eb; /* Cor de fundo azul médio do rodapé */
  color: #f0f9ff; /* Cor do texto branco azulado */
  text-align: center; /* Alinha o texto ao centro */
  padding: 0; /* Remove o espaçamento interno */
  width: 100%; /* Largura total da página */
  position: absolute; /* Posiciona o rodapé */
  bottom: 0; /* Alinha ao fundo da página */
  font-size: 1rem; /* Tamanho da fonte */
}

/* Media Queries para responsividade */

/* Estilos para dispositivos com largura máxima de 768px (tablets e telas menores) */
@media (max-width: 768px) {
  section input, .resultados-pesquisa {
    width: 90%; /* Ajusta a largura dos inputs e resultados para 90% da largura da tela */
  }

  h1 {
    font-size: 2rem; /* Reduz o tamanho da fonte do título */
    letter-spacing: 0.2rem; /* Reduz o espaçamento entre letras */
  }

  .item-resultado {
    padding: 1.5rem; /* Ajusta o padding dos itens de resultado */
  }
}

/* Estilos para dispositivos com largura máxima de 480px (smartphones e telas muito pequenas) */
@media (max-width: 480px) {
  section input, .resultados-pesquisa {
    width: 100%; /* Ajusta a largura dos inputs e resultados para 100% da largura da tela */
  }

  h1 {
    font-size: 1.5rem; /* Reduz ainda mais o tamanho da fonte do título */
    letter-spacing: 0.1rem; /* Reduz ainda mais o espaçamento entre letras */
  }

  section button {
    width: 100%; /* Ajusta a largura dos botões para 100% da largura da tela */
    padding: 1rem; /* Ajusta o padding dos botões */
  }

  .item-resultado {
    padding: 1rem; /* Ajusta o padding dos itens de resultado */
  }
}
