/* Estilos para Navbar Mobile */
@media (max-width: 768px) {
    /* Navbar principal */
    nav.navbar.navbar-mobile-scroll {
        transition: transform 0.3s ease-in-out;
        will-change: transform;
        z-index: 1030;
    }
    
    /* Classe para esconder a navbar */
    nav.navbar.navbar-mobile-scroll.navbar-hidden {
        transform: translateY(-100%);
    }
    
    /* Classe para mostrar a navbar */
    nav.navbar.navbar-mobile-scroll.navbar-visible {
        transform: translateY(0);
    }
    
    /* Ajustes para o menu mobile quando a navbar está escondida */
    .navbar-collapse.show {
        margin-top: 0;
    }
    
    /* Melhorias na transição */
    nav.navbar.navbar-mobile-scroll * {
        transition: all 0.3s ease-in-out;
    }
    
    /* Ajuste para o logo durante a transição */
    nav.navbar.navbar-mobile-scroll .logo {
        transition: all 0.3s ease-in-out;
    }
    
    /* Ajuste para os botões durante a transição */
    nav.navbar.navbar-mobile-scroll .btn-mobile-nav,
    nav.navbar.navbar-mobile-scroll .navbar-toggler {
        transition: all 0.3s ease-in-out;
    }
}

/* Estilos para dispositivos com tela muito pequena */
@media (max-width: 480px) {
    nav.navbar {
        transition: transform 0.25s ease-in-out;
    }
    
    /* Ajuste mais rápido para telas pequenas */
    nav.navbar * {
        transition: all 0.25s ease-in-out;
    }
    
    /* Corrige posicionamento do navbar mobile em telas pequenas */
    .navbar-collapse.navbar-mobile {
        left: 0 !important;
        right: 0 !important;
        width: 100vw !important;
        max-width: 100vw !important;
    }
}

/* Estilos para orientação landscape em mobile */
@media (max-width: 768px) and (orientation: landscape) {
    nav.navbar {
        transition: transform 0.2s ease-in-out;
    }
    
    /* Transição mais rápida em landscape */
    nav.navbar * {
        transition: all 0.2s ease-in-out;
    }
}

/* Melhorias de performance */
@media (max-width: 768px) {
    nav.navbar.navbar-mobile-scroll {
        /* Otimizações para performance */
        backface-visibility: hidden;
        -webkit-backface-visibility: hidden;
        -moz-backface-visibility: hidden;
        
        /* Previne problemas de renderização */
        transform-style: preserve-3d;
        -webkit-transform-style: preserve-3d;
        -moz-transform-style: preserve-3d;
    }
}

/* Estilos para modo escuro (se aplicável) */
@media (max-width: 768px) {
    nav.navbar.navbar-mobile-scroll.bg-white {
        /* Ajustes específicos para modo claro */
        box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
    }
    
    nav.navbar.navbar-mobile-scroll.navbar_background_color {
        /* Ajustes específicos para modo escuro */
        box-shadow: 0 2px 10px rgba(255, 255, 255, 0.1);
    }
}

/* Animações suaves para elementos internos */
@media (max-width: 768px) {
    nav.navbar.navbar-mobile-scroll .container-fluid {
        transition: all 0.3s ease-in-out;
    }
    
    /* Ajuste para o menu mobile */
    .navbar-mobile {
        transition: all 0.3s ease-in-out;
    }
    
    /* Previne problemas de posicionamento do navbar mobile */
    .navbar-collapse.navbar-mobile.collapsing,
    .navbar-collapse.navbar-mobile.show {
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        width: 100vw !important;
        height: 100vh !important;
        transform: none !important;
        margin: 0 !important;
        padding: 0 !important;
    }
    
    /* Garante que o navbar mobile tenha altura completa quando expandido APENAS em mobile */
    @media (max-width: 768px) {
        .navbar-collapse.show {
            height: 100vh !important;
            min-height: 100vh !important;
            max-height: 100vh !important;
        }
    }
    
    /* Ajuste para os ícones */
    .icon-navbar {
        transition: all 0.3s ease-in-out;
    }
}

/* Estilos para quando a navbar está escondida */
@media (max-width: 768px) {
    nav.navbar.navbar-mobile-scroll.navbar-hidden {
        /* Garante que a navbar fique completamente escondida */
        visibility: visible;
        opacity: 1;
        transform: translateY(-100%);
    }
    
    /* Ajuste para o conteúdo da página quando a navbar está escondida */
    body.navbar-hidden {
        padding-top: 0;
    }
}

/* Estilos para quando a navbar está visível */
@media (max-width: 768px) {
    nav.navbar.navbar-mobile-scroll.navbar-visible {
        /* Garante que a navbar fique completamente visível */
        visibility: visible;
        opacity: 1;
        transform: translateY(0);
    }
}

/* Ajustes para diferentes navegadores */
@media (max-width: 768px) {
    nav.navbar.navbar-mobile-scroll {
        /* Suporte para navegadores mais antigos */
        -webkit-transition: -webkit-transform 0.3s ease-in-out;
        -moz-transition: -moz-transform 0.3s ease-in-out;
        -o-transition: -o-transform 0.3s ease-in-out;
        transition: transform 0.3s ease-in-out;
    }
    
    /* Força altura completa para o navbar mobile APENAS em dispositivos móveis */
    .navbar-collapse.navbar-mobile {
        height: auto;
        min-height: auto;
        max-height: auto;
    }
    
    /* Aplica height 100vh apenas em dispositivos móveis */
    @media (max-width: 768px) {
        .navbar-collapse.navbar-mobile {
            height: 100vh !important;
            min-height: 100vh !important;
            max-height: 100vh !important;
            position: fixed;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            background: rgba(0, 0, 0, 0.95);
            backdrop-filter: blur(10px);
            -webkit-backdrop-filter: blur(10px);
            z-index: 1050;
            padding-top: 80px;
            overflow-y: auto;
            width: 100% !important;
            margin: 0 !important;
            transform: none !important;
        }
        
        /* Garante que o conteúdo do navbar esteja centralizado */
        .navbar-collapse.navbar-mobile .navbar-nav {
            width: 100%;
            margin: 0;
            padding: 20px;
        }
        
        /* Ajusta o posicionamento dos itens do menu */
        .navbar-collapse.navbar-mobile .nav-item {
            width: 100%;
            text-align: left;
            margin: 10px 0;
        }
    }
    
    /* Suporte para transform em navegadores antigos */
    nav.navbar.navbar-mobile-scroll.navbar-hidden {
        -webkit-transform: translateY(-100%);
        -moz-transform: translateY(-100%);
        -o-transform: translateY(-100%);
        transform: translateY(-100%);
    }
    
    nav.navbar.navbar-mobile-scroll.navbar-visible {
        -webkit-transform: translateY(0);
        -moz-transform: translateY(0);
        -o-transform: translateY(0);
        transform: translateY(0);
    }
}
