/* Site-wide mobile usability — linked from all HTML pages */

html {
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
}

body {
    -webkit-tap-highlight-color: rgba(255, 87, 34, 0.12);
}

/* Media must not overflow the viewport */
img,
video {
    max-width: 100%;
    height: auto;
}

/* iOS: avoid auto-zoom when focusing inputs (16px minimum) */
@media (max-width: 639px) {
    input,
    textarea,
    select {
        font-size: max(16px, 1rem) !important;
    }
}

/* Long URLs and words won’t break layout */
body {
    overflow-wrap: break-word;
}

/* Minimum tap targets for primary mobile controls */
@media (max-width: 1023px) {
    #mobile-menu-button,
    #close-menu-button {
        min-width: 44px;
        min-height: 44px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
    }

    .mobile-dropdown-toggle {
        min-height: 44px;
        display: flex;
        align-items: center;
    }

    #mobile-menu {
        padding-bottom: env(safe-area-inset-bottom, 0px);
        max-width: min(20rem, calc(100vw - 1rem));
    }

    #mobile-menu-backdrop {
        padding-left: env(safe-area-inset-left, 0px);
        padding-right: env(safe-area-inset-right, 0px);
    }
}

/* Smooth momentum scrolling inside drawers */
#mobile-menu .overflow-y-auto {
    -webkit-overflow-scrolling: touch;
}
