/* Correções para Overflow Horizontal - Mobile */

/* Reset básico para garantir que não há overflow */
* {
    box-sizing: border-box;
}

/* Forçar overflow-x hidden em todos os elementos principais */
html, body {
    overflow-x: hidden !important;
    width: 100% !important;
    max-width: 100vw !important;
    position: relative;
}

/* Correções específicas para Bootstrap */
.container,
.container-fluid {
    max-width: 100% !important;
    overflow-x: hidden !important;
}

/* Correções para o header e navbar */
.site-header,
.navbar {
    width: 100% !important;
    max-width: 100vw !important;
    overflow-x: hidden !important;
}

/* Correções para elementos do menu */
.navbar-collapse,
.navbar-nav,
.nav-item,
.nav-link {
    max-width: 100% !important;
    overflow-x: hidden !important;
}

/* Garantir que textos quebrem corretamente */
.navbar-brand,
.nav-link,
.btn {
    word-wrap: break-word !important;
    white-space: normal !important;
    max-width: 100% !important;
}

/* Media queries específicas para mobile */
@media (max-width: 991.98px) {
    html, body {
        overflow-x: hidden !important;
        width: 100% !important;
        max-width: 100vw !important;
    }
    
    .container {
        max-width: 100% !important;
        padding-left: 15px !important;
        padding-right: 15px !important;
        overflow-x: hidden !important;
    }
    
    .navbar {
        padding-left: 0 !important;
        padding-right: 0 !important;
        overflow-x: hidden !important;
    }
    
    .navbar-collapse {
        width: 100% !important;
        max-width: 100% !important;
        overflow-x: hidden !important;
    }
    
    .navbar-nav {
        width: 100% !important;
        max-width: 100% !important;
        overflow-x: hidden !important;
    }
    
    .nav-link {
        width: 100% !important;
        max-width: 100% !important;
        word-wrap: break-word !important;
        white-space: normal !important;
    }
}

@media (max-width: 767.98px) {
    /* Correções adicionais para telas pequenas */
    .container {
        padding-left: 10px !important;
        padding-right: 10px !important;
    }
    
    .navbar-brand {
        font-size: 1rem !important;
        max-width: 100% !important;
    }
    
    /* Forçar largura máxima em todos os elementos */
    .navbar * {
        max-width: 100% !important;
    }
}

@media (max-width: 575.98px) {
    /* Correções para telas muito pequenas */
    .container {
        padding-left: 5px !important;
        padding-right: 5px !important;
    }
    
    .navbar-brand {
        font-size: 0.9rem !important;
    }
}

/* Correção final para garantir que não há scroll horizontal */
@media (max-width: 767.98px) {
    body {
        overflow-x: hidden !important;
        position: relative;
        width: 100% !important;
        max-width: 100vw !important;
    }
    
    /* Forçar largura máxima em todos os elementos do header */
    .site-header *,
    .navbar * {
        max-width: 100% !important;
        overflow-x: hidden !important;
    }
} 