/**
 * ============================================
 * 🔧 ELITE FLOATING BUTTONS FIX - VERSÃO DEFINITIVA
 * Esconde botões flutuantes quando modals estão abertas
 * Usa classe no body para máxima compatibilidade
 * ============================================
 */

/* ===================================
   ESTRATÉGIA:

   ✅ Usar classe .elite-modal-open no body (adicionada por controllers)
   ✅ Usar opacity: 0 para camuflagem visual
   ✅ Usar z-index: 1 para ficar atrás das modals (modals têm z-index 10100+)
   ✅ Usar pointer-events: none para não ser clicável
   ❌ NÃO tocar na propriedade display (JavaScript controla)
=================================== */

/* ===================================
   ESCONDER BOTÕES QUANDO MODAL ABERTA
=================================== */

/* Quando qualquer modal Elite abre (classe adicionada por controllers) */
body.elite-modal-open #apple-theme-toggle-2,
body.elite-modal-open #voice-recognition-btn {
    opacity: 0 !important;
    z-index: 1 !important; /* Bem atrás das modals (z-index: 10100+) */
    pointer-events: none !important;
    transition: opacity 0.3s ease !important;
}

/* ===================================
   ESCONDER BOTÕES QUANDO MENU MOBILE ABERTO
=================================== */

/* Quando menu mobile está aberto (classe adicionada por menu controller) */
body.menu-open #apple-theme-toggle-2,
body.menu-open #voice-recognition-btn,
body.menu-open button#apple-theme-toggle-2,
body.menu-open button#voice-recognition-btn {
    display: none !important;
    opacity: 0 !important;
    z-index: -9999 !important; /* Bem atrás do menu (z-index: 9999+) */
    pointer-events: none !important;
    visibility: hidden !important;
    transform: scale(0) !important;
}

/* Regra extra forte para mobile específico */
@media (max-width: 768px) {
    body.menu-open #voice-recognition-btn,
    body.menu-open button#voice-recognition-btn,
    body.menu-open #apple-theme-toggle-2,
    body.menu-open button#apple-theme-toggle-2 {
        display: none !important;
        opacity: 0 !important;
        z-index: -9999 !important;
        pointer-events: none !important;
        visibility: hidden !important;
        transform: scale(0) translateZ(-9999px) !important;
    }
}

/* ===================================
   FALLBACK: Detectar modals via :has() (navegadores modernos)
   Para modals que não usam controllers (signup, terms, etc.)
=================================== */

/* Signup Modal */
body:has(#signup-modal:not(.hidden)) #apple-theme-toggle-2,
body:has(#signup-modal:not(.hidden)) #voice-recognition-btn {
    opacity: 0 !important;
    z-index: 1 !important;
    pointer-events: none !important;
}

/* Terms Modal */
body:has(#terms-modal:not(.hidden)) #apple-theme-toggle-2,
body:has(#terms-modal:not(.hidden)) #voice-recognition-btn {
    opacity: 0 !important;
    z-index: 1 !important;
    pointer-events: none !important;
}

/* Receipt Choice Modal (Scanner) */
body:has(#receipt-choice-modal:not(.hidden)) #apple-theme-toggle-2,
body:has(#receipt-choice-modal:not(.hidden)) #voice-recognition-btn {
    opacity: 0 !important;
    z-index: 1 !important;
    pointer-events: none !important;
}

/* Crystal Receipt Modal */
body:has(#crystal-receipt-modal:not(.hidden)) #apple-theme-toggle-2,
body:has(#crystal-receipt-modal:not(.hidden)) #voice-recognition-btn {
    opacity: 0 !important;
    z-index: 1 !important;
    pointer-events: none !important;
}

/* User Login Modal */
body:has(#user-modal:not(.hidden)) #apple-theme-toggle-2,
body:has(#user-modal:not(.hidden)) #voice-recognition-btn {
    opacity: 0 !important;
    z-index: 1 !important;
    pointer-events: none !important;
}

/* Voice Recognition Modal */
body:has(#voice-recognition-modal:not(.hidden)) #apple-theme-toggle-2 {
    opacity: 0 !important;
    z-index: 1 !important;
    pointer-events: none !important;
}

/* Elite Delete Modal (Excluir Transação) */
body:has(#elite-delete-modal:not(.hidden)) #apple-theme-toggle-2,
body:has(#elite-delete-modal:not(.hidden)) #voice-recognition-btn {
    opacity: 0 !important;
    z-index: 1 !important;
    pointer-events: none !important;
}

/* Elite Edit Monthly Modal (Editar Gasto Mensal) */
body:has(#elite-edit-monthly-modal:not(.hidden)) #apple-theme-toggle-2,
body:has(#elite-edit-monthly-modal:not(.hidden)) #voice-recognition-btn {
    opacity: 0 !important;
    z-index: 1 !important;
    pointer-events: none !important;
}

/* Elite Analysis Modal (Analisar Gastos com IA) */
body:has(#elite-analysis-modal:not(.hidden)) #apple-theme-toggle-2,
body:has(#elite-analysis-modal:not(.hidden)) #voice-recognition-btn {
    opacity: 0 !important;
    z-index: 1 !important;
    pointer-events: none !important;
}

/* Elite Suggestion Modal (Sugestão de Economia com IA) */
body:has(#elite-suggestion-modal:not(.hidden)) #apple-theme-toggle-2,
body:has(#elite-suggestion-modal:not(.hidden)) #voice-recognition-btn {
    opacity: 0 !important;
    z-index: 1 !important;
    pointer-events: none !important;
}

/* ===================================
   NOTAS:

   1. Botões ficam invisíveis (opacity: 0) quando modal abre
   2. z-index: 1 garante que ficam bem atrás das modals (z-index 10100+)
   3. pointer-events: none evita cliques acidentais
   4. JavaScript mantém controle total sobre display
   5. Quando modal fecha, botões voltam ao normal automaticamente
   6. Abordagem dupla: classe no body + seletor :has() para máxima compatibilidade
=================================== */
