@import url('https://fonts.googleapis.com/css2?family=Crimson+Pro:ital,wght@0,200..900;1,200..900&family=Signika:wght@300..700&display=swap');

:root {
    --cor-fundo: #34699A;
    --cor-primaria: #FDF5AA;
    --cor-secundaria: #113F67;
    --cor-terciaria: #58A0C8;

    --fonte-primaria: 'Signika', sans-serif;
    --fonte-secundaria: 'Crimson Pro', serif; 
}

* {
    padding: 0;
    margin: 0;
    box-sizing: border-box;
}

body {
    background-color: var(--cor-fundo);
    color: var(--cor-primaria);
    font-family: var(--fonte-secundaria);
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}

#cabecalho {
    text-align: center;
    padding: 40px 20px; 
    font-size: 1.8rem; 
    font-family: var(--fonte-primaria);
}

#logo {
    object-fit: contain;
    width: 150px; 
    max-width: 100%;
}

#conteudo h2 {
    font-size: 2.5rem;
    margin-bottom: 25px;
    font-family: var(--fonte-primaria);
}

#conteudo {
    text-align: center;
    font-size: 1.3rem;
    line-height: 25px;
    flex: 1;
    padding: 20px;
}

#conteudo button,
#conteudo input {
    font-family: var(--fonte-secundaria);
    font-size: 1.3rem;
    padding: 15px 25px;
    margin: 20px;
    background-color: var(--cor-secundaria);
    border: none;
    border-radius: 8px;
    color: var(--cor-primaria);
    transition: background-color 0.3s;
    cursor: pointer;
}

#conteudo button:hover,
#conteudo input:hover {
    background-color: var(--cor-terciaria);
}

#rodape {
    font-family: var(--fonte-primaria);
    text-align: center;
    background-color: var(--cor-secundaria);
    padding: 10px;
}

.icone-rodape {
    object-fit: contain;
    width: 12pt;
}

#licenca, #licenca:visited {
    color: var(--cor-primaria);
    text-decoration: none;
}

#licenca:hover {
    text-decoration: underline;
}

ul li {
    list-style: none;
    padding: 4px;
}

#lista-usuarios {
    display: flex;
    flex-direction: column;
    align-items: center;
    background-color: var(--cor-secundaria);
    border-radius: 10px;
    margin: 0 auto;
    padding: 5px 20px;
    width: fit-content;
}

#lista-usuarios > li:hover {
    text-decoration: underline;
    cursor: pointer;
}

#lista-usuarios > li:focus {
    font-weight: bolder;
}

@media (max-width: 768px) {
    #conteudo {
        padding: 10px;
        font-size: 1rem;
    }

    #conteudo button,
    #conteudo input {
        font-size: 1rem;
        padding: 10px 18px;
        margin: 15px;
    }

    #logo {
        width: 100px;
    }
    #conteudo h2 {
        font-size: 2rem;
    }
}
