/* =========================================
   1. FUNDOS E EFEITOS GERAIS
   ========================================= */

.bg-custom {
    background-image: url('https://images.unsplash.com/photo-1517927033932-b3d18e61fb3a?q=80&w=2000&auto=format&fit=crop');
    background-size: cover;
    background-position: center;
    background-attachment: fixed;
    filter: saturate(0.8);
    opacity: 0.15;
    position: fixed;
    inset: 0;
    z-index: -1;
}

/* Brilho Neon */
.neon-text {
    text-shadow: 0 0 10px rgba(0, 153, 255, 0.5);
}

/* Container de Vídeo */
.video-container {
    position: relative;
    padding-bottom: 56.25%;
    background: #000;
    border-radius: 16px;
    overflow: hidden;
    border: 1px solid rgba(0, 153, 255, 0.3);
    box-shadow: 0 0 50px rgba(0, 153, 255, 0.1);
}

/* =========================================
   2. INPUTS
   ========================================= */

.modal-input {
    background: #F3F4F6;
    border: 2px solid transparent;
    transition: all 0.3s;
}

.modal-input:focus {
    background: #fff;
    border-color: #0099ff;
    box-shadow: 0 0 15px rgba(0, 153, 255, 0.2);
    outline: none;
}

/* =========================================
   3. ANIMAÇÕES
   ========================================= */

/* Pulsação do Botão */
@keyframes subtle-pulse {
    0%, 100% {
        box-shadow: 0 0 0 0 rgba(0, 153, 255, 0.7);
        transform: scale(1);
    }
    50% {
        box-shadow: 0 0 20px 0 rgba(0, 153, 255, 0.4);
        transform: scale(1.02);
    }
}

.btn-pulse {
    animation: subtle-pulse 2s infinite ease-in-out;
}

.btn-pulse:hover {
    animation: none;
    transform: scale(1.05);
    box-shadow: 0 0 30px rgba(0, 153, 255, 0.6);
}

/* Entrada do Modal (Corrigida para funcionar sem zoom no modal) */
@keyframes modalEntry {
    from { 
        opacity: 0; 
        transform: scale(0.95) translateY(10px); 
    }
    to { 
        opacity: 1; 
        transform: scale(1) translateY(0); 
    }
}

.animate-fade-in-up {
    animation: modalEntry 0.3s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

/* =========================================
   4. ACCORDION / FAQ
   ========================================= */

details > summary { list-style: none; }
details > summary::-webkit-details-marker { display: none; }
details[open] summary ~ * { animation: sweep .3s ease-in-out; }

@keyframes sweep {
    0% { opacity: 0; transform: translateY(-10px) }
    100% { opacity: 1; transform: translateY(0) }
}

details[open] .accordion-icon { transform: rotate(180deg); }


