/**
 * WhatArmy Mobile & Tablet Fixes
 * Loads last to override. Fixes overflow, scroll lock, tap targets.
 */

/* Prevent horizontal overflow on small viewports */
@media (max-width: 1024px) {
    html, body {
        overflow-x: hidden;
        max-width: 100%;
    }
    #page, .site, .site-main, main {
        overflow-x: hidden;
        max-width: 100%;
    }
    img, video, iframe, [style*="width: 100vw"] {
        max-width: 100%;
        height: auto;
    }
}

/* Lock body scroll when mobile/tablet menu is open */
body.menu-open {
    overflow: hidden !important;
    position: fixed !important;
    width: 100% !important;
    height: 100% !important;
}

/* Tablet: ensure nav container doesn't overflow */
@media (max-width: 1024px) and (min-width: 769px) {
    .nav-container {
        padding-left: var(--container-padding-mobile);
        padding-right: var(--container-padding-mobile);
    }
}

/* Mobile: smaller nav height so hero isn't over-padded */
@media (max-width: 768px) {
    :root {
        --nav-height: 72px;
    }
    .nav-container {
        min-height: 72px;
        padding-left: var(--container-padding-mobile);
        padding-right: var(--container-padding-mobile);
    }
}

/* Minimum tap target 44px (WCAG 2.5.5) */
@media (max-width: 1024px) {
    .mobile-menu-toggle {
        min-width: 44px;
        min-height: 44px;
        padding: 10px;
    }
    .nav-menu a {
        min-height: 48px;
        display: flex;
        align-items: center;
    }
    .nav-menu-buttons .btn {
        min-height: 48px;
    }
}

/* Safe area for notched devices */
@supports (padding: env(safe-area-inset-top)) {
    .site-header {
        padding-left: env(safe-area-inset-left);
        padding-right: env(safe-area-inset-right);
    }
    @media (max-width: 768px) {
        .nav-menu {
            padding-left: env(safe-area-inset-left);
            padding-right: env(safe-area-inset-right);
        }
        .nav-menu-buttons {
            padding-left: max(var(--space-md), env(safe-area-inset-left));
            padding-right: max(var(--space-md), env(safe-area-inset-right));
        }
    }
}

/* Fix 100vw horizontal scroll (scrollbar included) on desktop */
@media (max-width: 768px) {
    .hero,
    section {
        max-width: 100%;
    }
}
