/* Estilos básicos e reset */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: 'Poppins', sans-serif;
    color: #333;
    background-color: #f4f6f8;
    line-height: 1.6;
    display: flex;
    flex-direction: column;
    min-height: 100vh; /* Garante que o corpo ocupe toda a altura da tela */
}

/* Estilos para o header */
header {
    background-color: #0d47a1;
    padding: 20px 0;
    width: 100%;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.navbar {
    display: flex;
    justify-content: center;
    align-items: center;
}

.logo h1 {
    color: #fff;
    font-size: 32px;
    font-weight: 600;
    letter-spacing: 2px;
}

/* Estilos para o main */
main {
    flex: 1; /* Faz o main ocupar o espaço restante */
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
}

/* Estilos para a seção hero */
.hero {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100vh; /* Garante que a seção ocupe toda a altura da tela */
    background: linear-gradient(135deg, #1e88e5, #1565c0);
    color: #fff;
    overflow: hidden; /* Garante que nada saia da área visível */
}

/* Estilos para o container de flip */
.flip-container {
    width: 100%;
    height: 100%;
    position: relative;
    perspective: 1000px;
}

.flipper {
    width: 100%;
    height: 100%;
    transition: transform 0.8s;
    transform-style: preserve-3d;
    position: relative;
}

/* Estilos para frente e verso do flip */
.front, .back {
    position: absolute;
    width: 100%;
    height: 100%;
    backface-visibility: hidden;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    padding: 20px;
    box-sizing: border-box;
}

/* Estilos para a frente do flip */
.front {
    background: linear-gradient(135deg, #1e88e5, #1565c0);
    color: #fff;
}

/* Estilos para o verso do flip */
.back {
    background-color: #0d47a1;
    transform: rotateY(180deg);
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden; /* Garante que o conteúdo não saia da área visível */
}

/* Estilos para o conteúdo do verso */
.back-content {
    display: flex;
    flex-direction: column;
    align-items: center; /* Centraliza horizontalmente */
    justify-content: center; /* Centraliza verticalmente */
    gap: 20px;
    width: 100%;
    max-width: 1200px; /* Define um limite máximo de largura */
    padding: 20px;
    box-sizing: border-box;
    opacity: 0;
    transition: opacity 0.8s ease;
}

/* Estilos para cada tópico */
.topic {
    background: rgba(255, 255, 255, 0.9);
    color: #0d47a1;
    padding: 15px;
    border-radius: 10px;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
    width: 100%;
    max-width: 500px;
    transform: translateY(30px); /* Começa a animação deslocado para baixo */
    opacity: 0;
    transition: transform 0.8s ease, opacity 0.8s ease; /* Atualiza a transição */
}

/* Estilo para o efeito de flip quando ativado */
.flipper.flipped {
    transform: rotateY(180deg);
}

.flipper.flipped .back-content {
    opacity: 1;
}

/* Faz cada tópico aparecer em sequência */
.flipper.flipped .topic:nth-child(1) {
    transition-delay: 0.2s;
    opacity: 1;
    transform: translateY(0);
}

.flipper.flipped .topic:nth-child(2) {
    transition-delay: 0.4s;
    opacity: 1;
    transform: translateY(0);
}

.flipper.flipped .topic:nth-child(3) {
    transition-delay: 0.6s;
    opacity: 1;
    transform: translateY(0);
}

/* Estilos para o footer */
footer {
    background-color: #0d47a1;
    color: #fff;
    padding: 20px 0;
    text-align: center;
    width: 100%;
}

/* Estilos para botões */
.btn {
    background-color: #ff7043;
    color: #fff;
    padding: 12px 30px;
    border-radius: 50px;
    text-decoration: none;
    font-size: 16px;
    font-weight: 500;
    transition: background-color 0.3s ease;
    margin-top: 20px;
}

.btn:hover {
    background-color: #ff5722;
}

/* Responsividade */
@media (max-width: 768px) {
    /* .hero {
        padding: 20px; /* Ajusta o padding para telas pequenas /
    } */

    .back-content {
        flex-direction: column;
    }

    .topic {
        width: 100%; /* Faz com que os tópicos ocupem toda a largura disponível */
        margin-bottom: 20px; /* Adiciona um espaço entre os tópicos */
        transform: none; /* Remove o deslocamento inicial */
    }
}
