/* Importa a fonte Chakra Petch do Google Fonts */
@import url("https://fonts.googleapis.com/css2?family=Fira+Code:wght@300..700&display=swap");

/* Estiliza o corpo da página */
body {
  font-family: "Fira Code", system-ui; /* Define a fonte padrão */
  background-color: #1a237e; /* Cor de fundo da página */
  background-image: url(background.jpg);
  background-blend-mode: multiply;
  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 */
  padding: 0; /* Remove o padding padrão */
}

body.dark-mode {
  background-color: #282c34;
}

header {
  background-color: #f2f2f2;
  display: flex;
  position: fixed;
  justify-content: space-around;
  top: 0;
  width: 100%;
  padding: 0rem 1rem;
}

header.dark-mode {
  background-color: #17191c;
}

/* Estiliza os títulos h1 */
h1 {
  font-size: 2rem; /* Tamanho da fonte */
  color: #1a237e; /* Cor do texto */
  text-align: center; /* Alinha o texto ao centro */
  letter-spacing: 0.1rem; /* Espaçamento entre letras */
}

h1.dark-mode {
  color: #a2d1f2;
}

header section {
  flex-direction: row;
  margin: 0;
}

/* Estiliza os inputs dentro do Header */
header input {
  width: 25rem; /* Largura dos inputs */
  border: none; /* Remove a borda padrão */
  padding: 1rem; /* Espaçamento interno */
  margin: 0rem 0.2rem;
  border-radius: 1.5rem; /* Borda arredondada */
  color: #45474b; /* Cor do texto */
  font-size: 1rem; /* Tamanho da fonte */
  box-sizing: border-box; /* Inclui padding e border na largura total */
}

/* Estiliza os botões dentro do Header */
header button {
  padding: 0.8rem 1.2rem; /* Espaçamento interno do botão */
  margin: 0rem 0.2rem;
  border: none; /* Remove a borda padrão */
  border-radius: 1.5rem; /* Borda arredondada */
  background-color: #1a237e; /* Cor de fundo do botão */
  color: #f5f7f8; /* Cor do texto do botão */
  font-size: 1rem; /* Tamanho da fonte */
  cursor: pointer; /* Muda o cursor para indicar que é clicável */
}

header button.dark-mode {
  background-color: #a2d1f2;
  color: #262626;
}

/* Adiciona efeito hover ao botão de pesquisa */
header button:hover {
  background-color: #30475e; /* Muda a cor de fundo ao passar o mouse */
  color: #ffffff;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2); /* Adiciona uma sombra mais intensa */
}

/* Estiliza as seções da página */
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;
}

section.filters {
  flex-direction: row;
  margin: 0.2rem 1rem;
  color: #ffffff;
}

.filtro {
  background-color: #f2f2f2;
  border-radius: 1rem;
  margin: 0 0.5rem;
  padding: 0.5rem 1rem;
  border: none;
}

.filtro.dark-mode {
  background-color: #052047;
  color: #ffffff;
}

.filtro:hover {
  background-color: #30475e;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2); /* Adiciona uma sombra mais intensa */
  color: #ffffff;
}

.limpar {
  font-family: "Fira Code", system-ui; /* Define a fonte padrão */
  color: red;
  border-style: solid;
  border-color: red;
  border-radius: 1rem;
  background-color: rgba(0, 0, 0, 0);
  padding: 0.5rem 1rem;
  margin-inline-start: auto;
}

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

/* Estiliza cada item de resultado */
.item-resultado {
  background: #f2f2f2; /* Cor de fundo dos itens */
  border-radius: 0.6rem; /* Borda arredondada */
  padding: 1rem; /* Espaçamento interno */
  margin-bottom: 1rem; /* Espaçamento abaixo dos itens */
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); /* Sombra leve */
}

.item-resultado.dark-mode {
  background: #052047;
}

/* Estiliza os títulos dentro dos itens de resultado */
.item-resultado h2 {
  font-size: 1.5rem; /* Tamanho da fonte */
  color: #222831; /* Cor do texto */
}

.item-resultado.dark-mode h2 {
  color: #ffffff;
}

/* Estiliza os links dentro dos itens de resultado */
.item-resultado a {
  text-decoration: none; /* Remove o sublinhado padrão dos links */
  color: #30475e; /* Cor do texto dos links */
}

.item-resultado.dark-mode a {
  color: #b8c3d1;
}

/* Estiliza os links quando são passados o mouse sobre */
.item-resultado a:hover {
  text-decoration: underline; /* Adiciona sublinhado ao passar o mouse */
}

/* Estiliza a descrição meta dentro dos itens de resultado */
.descricao-meta {
  color: #45474b; /* Cor do texto */
  margin: 0.5rem 0; /* Margem acima e abaixo */
}

.descricao-meta.dark-mode {
  color: #d1d6de;
}

/* Estiliza o rodapé da página */
footer {
  background-color: #f2f2f2; /* Cor de fundo do rodapé */
  color: #45474b; /* Cor do texto */
  text-align: center; /* Alinha o texto ao centro */
  padding: 0; /* 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 */
}

footer.dark-mode {
  background-color: #17191c;
  color: #676d75;
}

footer a {
  text-decoration: none;
  font-size: 1.5rem;
  color: #000000;
}

footer.dark-mode a {
  color: #ffffff;
}

footer a:hover {
  font-size: 1.6rem;
  color: #1a237e;
}

footer.dark-mode a:hover {
  color: #a2d1f2;
}

@media (max-width: 768px) {
  h1 {
    font-size: 2rem; /* Tamanho da fonte em telas menores */
    letter-spacing: 0.2rem; /* Espaçamento entre letras em telas menores */
  }

  section input {
    width: 25rem; /* Largura dos inputs em telas menores */
    padding: 0.8rem; /* Espaçamento interno em telas menores */
  }

  .resultados-pesquisa {
    width: 40rem; /* Largura da caixa de resultados em telas menores */
    height: 40vh; /* Altura da caixa de resultados em telas menores */
  }

  .item-resultado h2 {
    font-size: 1.3rem; /* Tamanho da fonte dos títulos em telas menores */
  }
}

/* Responsividade para celulares */
@media (max-width: 480px) {
  h1 {
    font-size: 1.8rem; /* Tamanho da fonte em telas pequenas */
    letter-spacing: 0.1rem; /* Espaçamento entre letras em telas pequenas */
  }

  section input {
    width: 17rem; /* Largura total dos inputs em telas pequenas */
  }

  section button {
    padding: 0.6rem 1rem; /* Espaçamento interno do botão em telas pequenas */
    font-size: 0.9rem; /* Tamanho da fonte do botão em telas pequenas */
  }

  .resultados-pesquisa {
    width: 90%; /* Largura da caixa de resultados em telas pequenas */
    height: 50vh; /* Altura da caixa de resultados em telas pequenas */
  }

  .item-resultado h2 {
    font-size: 1.1rem; /* Tamanho da fonte dos títulos em telas pequenas */
  }

  footer {
    font-size: 0.9rem; /* Tamanho da fonte do rodapé em telas pequenas */
  }
}
