/* Force Full Width on Mobile - Override all other styles */
@media screen and (max-width: 767px) {
    /* Remove all margins and paddings from body and html */
    html,
    html body {
        margin: 0 !important;
        padding: 0 !important;
        width: 100vw !important;
        max-width: 100vw !important;
        overflow-x: hidden !important;
    }
    
    /* Force all wrapper elements to be full width */
    html body #page,
    html body .site,
    html body > div,
    html body > section,
    html body > header,
    html body > nav,
    html body > main,
    html body > footer {
        margin: 0 !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        width: 100vw !important;
        max-width: 100vw !important;
    }
    
    /* Override container styles from style.css */
    html body .container,
    html body [class*="container"],
    html body [class*="wrapper"] {
        padding-left: 0 !important;
        padding-right: 0 !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        width: 100vw !important;
        max-width: 100vw !important;
    }
    
    /* Header specific */
    html body .site-header,
    html body #masthead,
    html body .header-wrapper,
    html body .header-top {
        width: 100vw !important;
        max-width: 100vw !important;
        margin: 0 !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
    
    /* Only add padding where needed for content */
    html body .header-top {
        padding: 10px 15px !important;
    }
    
    /* Navigation */
    html body .main-navigation,
    html body .nav-wrapper,
    html body #site-navigation {
        width: 100vw !important;
        max-width: 100vw !important;
        margin: 0 !important;
        padding: 0 !important;
    }
    
    /* Quick menu */
    html body .quick-menu-bar,
    html body .menu-wrapper {
        width: 100vw !important;
        max-width: 100vw !important;
        margin: 0 !important;
        padding: 0 !important;
    }
    
    /* Content areas */
    html body .site-content,
    html body #content,
    html body .content-area,
    html body .site-main,
    html body #primary {
        width: 100vw !important;
        max-width: 100vw !important;
        margin: 0 !important;
        padding: 0 !important;
    }
    
    /* Single column layout */
    html body .single-column-layout {
        width: 100vw !important;
        max-width: 100vw !important;
        margin: 0 !important;
        padding: 0 !important;
    }
    
    /* Homepage sections */
    html body .homepage-section,
    html body .hero-section,
    html body .results-section,
    html body .soicau-section,
    html body .statistics-section,
    html body .blog-section {
        width: 100vw !important;
        max-width: 100vw !important;
        margin: 0 !important;
        padding: 0 !important;
    }
    
    /* Banner */
    html body .hero-banner-wrapper,
    html body .hero-banner-container {
        width: 100vw !important;
        max-width: 100vw !important;
        margin: 0 !important;
        padding: 0 !important;
    }
    
    html body .banner-image,
    html body .banner-slider {
        width: 100vw !important;
        max-width: 100vw !important;
        margin: 0 !important;
    }
    
    /* Section headers */
    html body .section-header,
    html body .section-title {
        width: 100vw !important;
        max-width: 100vw !important;
        margin: 0 !important;
        padding: 10px 15px !important;
    }
    
    /* Content that needs padding */
    html body .entry-content,
    html body .post-content,
    html body .page-content,
    html body article > p,
    html body .content-text {
        padding-left: 15px !important;
        padding-right: 15px !important;
    }
    
    /* Bottom navigation */
    html body .mobile-bottom-nav {
        width: 100vw !important;
        position: fixed !important;
        left: 0 !important;
        right: 0 !important;
        margin: 0 !important;
    }
}

/* Additional specificity for stubborn elements */
@media screen and (max-width: 767px) {
    body * {
        max-width: 100vw !important;
    }
    
    body .container {
        --mobile-padding: 0 !important;
    }
}