@charset "UTF-8";

/* Importa a fonte Chakra Petch do Google Fonts */
@import url('https://fonts.googleapis.com/css2?family=Chakra+Petch:ital,wght@0,300;0,400;0,500;0,600;0,700;1,300;1,400;1,500;1,600;1,700&display=swap');

/*Importa as fontes Ultra, Abril Fatface e Alfa Slab One do Google Fonts*/
@import url('https://fonts.googleapis.com/css2?family=Abril+Fatface&family=Alfa+Slab+One&family=Ultra&display=swap');

/*Importa a fonte Asap do Google Fonts*/
@import url('https://fonts.googleapis.com/css2?family=Asap:ital,wght@0,100..900;1,100..900&display=swap');

:root {
    --cor1: #d8cfb0;
    --cor2: #f1a9a4;
    --cor3: #4B382A;
}

/* Estiliza o corpo da página */
body, html {
    font-family: "Asap","Chakra Petch", sans-serif; /* Define a fonte padrão */
    background-color: var(--cor1);
    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: 0px; /* Remove a margem padrão */
    padding: 0px; /* Remove o padding padrão */
}

/* Estiliza os títulos h1 */
h1 {
    font-size: 2.5rem; /* Tamanho da fonte */
    color: var(--cor3); /* Cor do texto */
    text-align: center; /* Alinha o texto ao centro */
    letter-spacing: 0.4rem; /* Espaçamento entre letras */
    font-family: 'Abril Fatface', "Chakra Petch", sans-serif;
}

header > h1 > span {
    font-size: 2em;
}

/* 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: 1rem; /* Espaçamento abaixo de cada seção */
}

/* Estiliza os inputs dentro das seções */
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: #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 das seções */
section button {
    padding: 0.4rem 1.2rem 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: var(--cor2); /* 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 */
}

section button > div > span {
    transform: translateY(6px);
}

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

/* Estiliza a caixa de resultados da pesquisa */
.resultados-pesquisa {
    width: 93vw; /* 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 */
}

#welcome {
    text-align: justify;
    background-color: #fcf5eb;
    padding: 1.6rem;
    border-radius: 1rem;
    width: 50%;
}

/* Estiliza cada item de resultado */
.item-resultado {
    background: #FFFFFF; /* 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 */
    width: 70vw;
}

.item-resultado h2 {
    margin-top: 0;
    margin-bottom: 0;
}

/* Estiliza os títulos dentro dos itens de resultado */
.item-resultado h2 > a {
    font-size: 1.5rem; /* Tamanho da fonte */
    color: var(--cor2); /* Cor do texto */
    font-weight: bold;
    font-style: italic;
}

.item-resultado p, #welcome p {
    hyphens: auto;
    line-height: 1.5em;
}

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

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

/* 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 */
    text-align: justify;
}

/* Estiliza o rodapé da página */
footer {
    background-color: #F5F7F8; /* Cor de fundo do rodapé */
    color: #45474B; /* Cor do texto */
    text-align: center; /* Alinha o texto ao centro */
    padding: 0; /* Espaçamento interno */
    width: 100vw; /* Largura total da página */
    bottom: 0; /* Alinha ao fundo da página */
    font-size: 1rem; /* Tamanho da fonte */
    align-self: flex-end;
}

footer > p {
    margin-bottom: 0.3rem;
    margin-top: 0.5em;
}

@media (max-width: 768px) {
    body {
        justify-content: flex-end;
    }

    header {
        margin-bottom: 1em;
    }

    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 */
    }

    section button > div {
        transform: translateY(-5px);
    }

    .resultados-pesquisa {
        width: 90%;
        height: 50vh;
    }

    .item-resultado {
        width: 90%;
    }

    #welcome {
        width: 80%;
    }

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

    footer {
        display: block;
        flex-direction: column;
        align-items: center;
        height: auto;
    }
}


@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 */
        padding: 0;
        margin: 0.1em;
    }
    
    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 */
    }

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

    #welcome {
        width: 60vw;
    }

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