:root {
    --color-primary: #18b3c4;
    --color-secondary: #d7fafe;
    --color-tertiary: #C4C4C4;
    --color-button: #f9ad01;
    --color-button-add: #ed3058;
    --color-button-hover: #e55720;
    --color-text: #444444;
    --color-white: #FFFFFF;
    --color-pink: #ed3058;
    --color-yellow: #f9ad01;
    --color-turquoise: #01a7a7;
    --color-dark-torquoise: #016366;
    --color-light-blue: #d7fafe;
    --color-dark-blue: #323d96;
    --color-purple: #a62a81;
}


/* Estilos gerais */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: "Inter", serif;
    text-align: center;
}

body {
    height: 100vh;
    background-color: var(--color-dark-blue);
}

.main-content {
    display: flex;
    flex-direction: column;
    min-height: 100%;
}

/* Banner */
.header-banner {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 2px 0 0;
}

/* Seção de entrada */
.input-section {
    flex: 70%;
    background-color: var(--color-light-blue);
    border-radius: 50px 50px 0 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 10px;
    width: 100%;
}

/* Títulos */
.main-title {
    font-size: 48px;
    font-family: "Merriweather", serif;
    font-weight: 900;
    font-style: italic;
    color: var(--color-light-blue);
    text-align: center;
}

.section-title {
    font-family: "Inter", serif;
    font-size: 36px;
    font-weight: 700;
    color: var(--color-primary);
    margin: 10px 0;
    text-align: center;
}

/* Contêineres de entrada e botão */
.input-wrapper {
    display: flex;
    justify-content: center;
    width: 100%;
    max-width: 600px;
    margin: 15px 0;
}

.input-name {
    width: 100%;
    padding: 10px;
    font-size: 16px;
    border: 0 none;
    border-top: 0.5px solid var(--color-primary);
    border-left: 0.5px solid var(--color-primary);
    border-bottom: 0.5px solid var(--color-primary);
    border-radius: 5px 0 0 5px;
    text-align: left;
}

input:focus {
    outline: none;
    border: 2px solid var(--color-primary);
    border-right: none;
}

input::selection {
    outline: none;
    border: 2px solid var(--color-primary);
    border-right: none;
}

.button-container {
    width: 100%;
    max-width: 600px;
    display: flex;
    justify-content: space-between;
    margin: 10px 0 30px 0;
}

/* Estilos de entrada de texto */
.input-title {
    flex: 1;
    padding: 10px 15px;
    font-size: 16px;
    border: 2px solid #333;
    border-right: none;
    border-radius: 25px 0 0 25px;
    font-family: "Merriweather", serif;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3);

}

/* Estilos de botão */
button {
    padding: 15px 30px;
    font-family: "Inter", sans-serif;
    font-size: 16px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3);
    border-radius: 5px;
    cursor: pointer;
    border: none;
    text-align: center;
}

.button-add {
    background-color: var(--color-primary);
    color: var(--color-secondary);
    border-radius: 0 5px 5px 0;
    border: none;
}

.button-add:hover {
    background-color: var(--color-pink);
}

/* Listas */
.container-listas {
    display: flex;
    justify-content: space-around;
    border: 1px solid var(--color-primary);
    border-radius: 5px;
    width: 100%;
    max-width: 600px;
    margin: 10px;
    padding: 10px;
}

.listas {
    align-items: center;
    max-width: 300px;
    overflow: hidden;
}

ul {
    list-style-type: none;
    color: var(--color-text);
    font-family: "Inter", sans-serif;
    font-size: 18px;
    list-style: none;
    margin: 5px;
}

.result-list li {
    text-align: left;
    font-weight: normal;
}

/* Botão de sortear título */
.button-draw {
    display: flex;
    align-items: center;
    width: 45%;
    padding: 10px 40px;
    color: var(--color-secondary);
    background-color: var(--color-primary);
    font-size: 16px;
    border-radius: 5px none;
}

button:disabled {
    background-color: #a1a1a1;
    pointer-events: none;
    cursor: not-allowed;
}

.button-draw img {
    margin-right: 10px;
}

.button-draw:not(:disabled):hover {
    background-color: var(--color-pink);
}

.btnSorteio:not(:disabled):hover {
    background-color: var(--color-pink);
}

#mensagemSorteio {
    color: var(--color-turquoise);
    margin-top: 10px;
}

#subtituloLista,
#subtituloSorteado {
    color: var(--color-primary);
    margin: 5px;
}

footer {
    display: flex;
    justify-content: space-evenly;
    align-items: center;
    font-size: small;
    width: 100%;
    border-top: 1px solid var(--color-primary);
    background-color: var(--color-secondary);
    overflow: hidden;
    color: var(--color-primary);
}

footer p {
    padding: 10px;
}

/*Detalhes de responsividade*/
@media (max-width: 800px) {
    .header-banner {
        flex-direction: column;
    }
}

@media (max-width: 480px) {
    .button-container {
        flex-direction: column;
        align-items: center;
    }

    .button-draw {
        width: 90%;
        margin: 10px;
    }

    .container-listas {
        flex-direction: column;
        align-items: center;
        justify-content: center;
    }

    .listas {}

    footer {
        flex-direction: column;
    }

    footer p {
        padding: 2px;
    }
}