/****************************************************************************************************
 * Nome do Arquivo: msg_alerta_general.css
 * Caminho do Arquivo: assets/style/general/msg_alerta_general.css
 * 
 * Objetivo:
 * Estilo das caixas de mensagem de alerta geral do site (Sucesso, Aviso, Erro).
 * Configura o posicionamento fixo no topo e a animação suave de descida e subida.
 ****************************************************************************************************/

/* ==========================================================================
   1. CONTAINER BASE DO ALERTA (INICIA ESCONDIDO ACIMA DA TELA)
   ========================================================================== */
.container_msg_alerta,
.container_alerta_view {
    position: fixed;
    top: 25px;
    left: 50%;
    transform: translate(-50%, -180%);
    opacity: 0;
    width: auto;
    max-width: 90%;
    min-width: 320px;
    background: rgba(10, 16, 28, 0.92);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border-radius: 14px;
    padding: 14px 22px;
    display: flex;
    align-items: center;
    gap: 15px;
    z-index: 9999;
    box-sizing: border-box;
    pointer-events: none;
    transition: transform 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275), opacity 0.4s ease;
}

/* ==========================================================================
   2. CLASSE ATIVADA PELO JS (FAZ O ALERTA DESCER E FICAR VISÍVEL)
   ========================================================================== */
.container_msg_alerta.container_msg_alerta_open,
.container_alerta_view.container_alerta_view_open {
    transform: translate(-50%, 0%);
    opacity: 1;
    pointer-events: auto;
}

/* ==========================================================================
   3. ÍCONE DO ALERTA
   ========================================================================== */
.msg_alerta_icone,
.msg_alerta_view_icone {
    font-size: 22px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

/* ==========================================================================
   4. ÁREA DE TEXTO DO ALERTA
   ========================================================================== */
.msg_alerta_texto,
.msg_alerta_view_texto {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.msg_alerta_p,
.msg_alerta_view_p {
    color: #ffffff;
    font-size: 14px;
    margin: 0;
    line-height: 1.45;
}

.msg_alerta_strong,
.msg_alerta_view_strong {
    color: #ffffff;
    font-weight: bold;
    margin-right: 4px;
}

/* ==========================================================================
   5. CORES DINÂMICAS DOS ALERTAS (BORDA, SOMBRA E ÍCONE)
   ========================================================================== */

/* --- SUCESSO (Verde) --- */
.container_msg_alerta.msg_alerta_sucesso,
.container_alerta_view.msg_alerta_view_sucesso {
    border: 2px solid rgb(34, 197, 94);
    box-shadow: 0 0 25px rgba(34, 197, 94, 0.55), 0 10px 30px rgba(0, 0, 0, 0.8);
}

.msg_alerta_sucesso .msg_alerta_icone,
.msg_alerta_view_sucesso .msg_alerta_view_icone {
    color: rgb(34, 197, 94);
    filter: drop-shadow(0 0 8px rgba(34, 197, 94, 0.8));
}

/* --- AVISO (Laranja) --- */
.container_msg_alerta.msg_alerta_aviso,
.container_alerta_view.msg_alerta_view_aviso {
    border: 2px solid rgb(249, 115, 22);
    box-shadow: 0 0 25px rgba(249, 115, 22, 0.55), 0 10px 30px rgba(0, 0, 0, 0.8);
}

.msg_alerta_aviso .msg_alerta_icone,
.msg_alerta_view_aviso .msg_alerta_view_icone {
    color: rgb(249, 115, 22);
    filter: drop-shadow(0 0 8px rgba(249, 115, 22, 0.8));
}

/* --- ERRO (Vermelho) --- */
.container_msg_alerta.msg_alerta_erro,
.container_alerta_view.msg_alerta_view_erro {
    border: 2px solid rgb(239, 68, 68);
    box-shadow: 0 0 25px rgba(239, 68, 68, 0.55), 0 10px 30px rgba(0, 0, 0, 0.8);
}

.msg_alerta_erro .msg_alerta_icone,
.msg_alerta_view_erro .msg_alerta_view_icone {
    color: rgb(239, 68, 68);
    filter: drop-shadow(0 0 8px rgba(239, 68, 68, 0.8));
}

/* ==========================================================================
   6. RESPONSIVIDADE (DISPOSITIVOS MÓVEIS)
   ========================================================================== */
@media (max-width: 480px) {
    .container_msg_alerta,
    .container_alerta_view {
        top: 15px;
        width: 92%;
        min-width: unset;
        padding: 12px 16px;
        gap: 12px;
    }

    .msg_alerta_icone,
    .msg_alerta_view_icone {
        font-size: 20px;
    }

    .msg_alerta_p,
    .msg_alerta_view_p {
        font-size: 13px;
    }
}
