/* Reset global e estilizações básicas */
* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    color: white;
    font-family: sans-serif;
}

body {
    background: black url(./image/bg.jpg) center/cover fixed;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
}

header {
    width: 100%;
    background: black;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 6px #f700ff33;
    padding: 3em 0 2em;
}

header h1 {
    text-align: center;
    color: white;
    padding: 0 1em;
}

a {
    color: #0093ff;
}

.container {
    width: 100%;
    max-width: 1200px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    padding: 20px;
    position: relative;
}

.container_conteudo,
.container_informacoes {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    width: 100%;
}

.container_informacoes {
    flex-direction: column;
}

.container_texto {
    margin: 16px 0 0 16px;
    text-align: center;
}

.qtd-cartas, .opcoes-grupo {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}

.cartas {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    width: 100%;
    margin-top: 20px;
    opacity: 0;
    animation: cartasAparecer 1s forwards;
}

footer {
    position: fixed;
    bottom: 0;
    width: 100%;
    height: 5em;
    background-color: black;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 -4px 14px #f700ff33;
    flex-direction: column;
}

footer h2 {
    font-size: 1.2em;
    text-align: center;
    color: white;
    padding: 0 1em;
}

/* Animação para o contêiner de cartas */
@keyframes cartasAparecer {
    0% {
        opacity: 0;
        transform: translateY(50px);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

.cartas img {
    width: 10em;
    height: 15em;
    margin: 10px;
    border-radius: 10px;
    opacity: 0;
    animation: aparecerCarta 1s ease-in forwards;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

/* Efeito hover para cartas */
.cartas img:hover {
    box-shadow: 0 4px 15px rgba(216, 216, 216, 0.8);
}

#carta-ativa {
    width: 200px !important;
    height: 300px !important;
    margin: 5px !important;
}

/* Animação individual para cada carta */
@keyframes aparecerCarta {
    0% {
        opacity: 0;
        transform: scale(0.8);
    }
    100% {
        opacity: 1;
        transform: scale(1);
    }
}

.cartas img:nth-child(n) {
    animation-delay: calc(0.2s * (n - 1));
}

h1, h2, h5 {
    text-align: center;
}

button {
    background-color: #77008c;
    color: #06ffff;
    padding: 10px;
    font-size: 16px;
    border-radius: 8px;
    border: none;
    box-shadow: white 0 0 5px;
    cursor: pointer;
    margin: 2em 0 5em;
    font-weight: 600;
    transition: background-color 0.3s ease, box-shadow 0.3s ease;
}

button:hover {
    box-shadow: #06ffff 0 0 5px;
}

label {
    padding: 10px;
    font-size: 1.2em;
}

/* Responsividade */
@media (max-width: 750px) {
    #carta-ativa, .cartas img {
        width: 10em !important;
        height: 15em !important;
        margin: 2px;
    }

    .cartas.opcao5 img {
        width: 6em !important;
        height: 9em !important;
        margin: 5px !important;
    }

    header h1 {
        font-size: 1.6em;
    }
}

@media (max-width: 440px) {
    .cartas {
        gap: 5px;
    }

    label {
        padding: 7px;
        font-size: 0.85em;
    }

    header h1 {
        font-size: 0.98em;
    }

    footer h2, h5 {
        font-size: 0.9em;
    }

    h2 {
        font-size: 1em;
    }
}

@media (max-width: 344px) {
    .cartas img {
        width: 6em !important;
        height: 9em !important;
    }

    label {
        padding: 5px !important;
        font-size: 0.8em !important;
    }

    header h1 {
        font-size: 0.9em !important;
    }

    h5 {
        font-size: 0.7em !important;
    }

    h2 {
        font-size: 0.8em;
    }
}
