/* =================================================== */
/* 1. Estilos Base para TODOS os Modais/Avisos */
/* =================================================== */

.aviso, .modal {
    display: none; /* Oculta por padrão. O JS exibe se necessário (use 'flex'). */
    position: fixed;
    z-index: 1000; /* Garante que fique acima de todo o conteúdo do site */
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: auto; /* Habilita scroll se o conteúdo for muito grande */
    background-color: rgba(0,0,0,0.6); /* Fundo escuro transparente (overlay) */
    box-sizing: border-box;
    font-family: sans-serif;
    color: #333;
    
    /* Centralização do bloco modal principal na tela (via Flexbox) */
    display: flex;          
    align-items: center;    
    justify-content: center; 
}

/* =================================================== */
/* 2. Estilos Específicos para o Aviso Inferior (#av-modal) */
/* =================================================== */

#av-modal.aviso {
    background-color: #fff; 
    height: auto;
    bottom: 0;
    top: auto; 
    box-shadow: 0 -2px 10px rgba(0,0,0,0.1);
    padding: 15px 20px;
    background-color: #fff; 
    
    /* === CENTRALIZA TODO O TEXTO E BOTÕES DO BANNER INFERIOR === */
    text-align: center; 
    
    display: block; /* O JS deve usar 'block' para este banner específico */
    align-items: normal;
    justify-content: normal;
}

#av-modal p {
    margin: 10px 0;
    font-size: 0.9em;
    line-height: 1.4;
}

#av-modal h4 {
    margin-top: 0;
    margin-bottom: 10px;
    color: #000;
}

/* =================================================== */
/* 3. Estilos Específicos para o Modal de Definições (#dv-modal) */
/* =================================================== */

/* O 'modal-content' é o card branco que aparece no centro */
.modal-content {
    background-color: #fefefe;
    margin: auto; 
    padding: 20px;
    border: 1px solid #888;
    width: 80%; 
    max-width: 900px;
    border-radius: 8px;
    box-shadow: 0 5px 15px rgba(0,0,0,0.3);
    
    /* === CENTRALIZA TODO O TEXTO E ELEMENTOS DENTRO DO MODAL POP-UP === */
    text-align: center; 
}

.modal-header, .modal-footer {
    padding: 10px 0;
    border-bottom: 1px solid #eee;
    clear: both;
}

.modal-footer {
    border-top: 1px solid #eee;
    border-bottom: none;
    margin-top: 20px;
    /* text-align: inherit; herda o center do modal-content */
}

/* =================================================== */
/* 4. Estilos de Layout (Flexbox) e Botões */
/* =================================================== */

/* Layout Flexbox para as duas colunas do modal de definições */
.modal-body {
    display: flex;
    flex-wrap: wrap; 
    padding-top: 20px;
    /* text-align: inherit; herda o center do modal-content */
}

#left, #right {
    flex: 1; 
    padding: 0 10px;
}

/* Garante que os links de política de privacidade sejam visíveis */
a {
    color: #007bff;
    text-decoration: underline;
}

/* Estilo para os botões */
.btn {
    background-color: #007bff; 
    color: white;
    padding: 10px 20px;
    border: none;
    cursor: pointer;
    border-radius: 4px;
    font-size: 0.9em;
    margin-right: 5px; 
    transition: background-color 0.3s;
}

.btn:hover {
    background-color: #0056b3;
}

/* Estilos para os checkboxes e labels no modal de definições */
.form-group {
    margin-bottom: 10px;
    /* text-align: inherit; herda o center do modal-content */
}

.checkbox {
    margin-right: 10px;
}

/* =================================================== */
/* 5. Responsividade Básica (Celular) */
/* =================================================== */

@media (max-width: 768px) {
    .modal-content {
        width: 95%;
        margin: 10px auto; 
        text-align: center; /* Garante centralização também no celular */
    }
    
    #av-modal.aviso {
        text-align: center; /* Garante centralização também no celular */
    }

    #left, #right {
        flex: 100%;
        padding: 0;
    }
    
    #right {
        margin-top: 20px; 
    }

    #wrapper {
        margin-top: 15px;
    }
}
