/*
 * Global mobile layout & typography (all pages / MudBlazor components).
 * Loaded after MudBlazor.min.css so these rules can override defaults.
 * Breakpoint aligns with common phone portrait widths.
 */

@media (max-width: 600px) {
    /* Prevent iOS from inflating small text unpredictably */
    html {
        -webkit-text-size-adjust: 100%;
        /* Slightly reduce root rem scale so Mud typography & spacing feel tighter */
        font-size: 15px;
    }

    /* Stop horizontal page scroll from wide flex/grid children */
    main#app {
        max-width: 100vw;
        overflow-x: hidden;
        word-wrap: break-word;
        overflow-wrap: anywhere;
    }

    /* Critical: allow grid/flex items to shrink instead of forcing overflow */
    main#app .mud-grid-item,
    main#app .mud-item {
        min-width: 0;
    }

    /* Headings: one step smaller on narrow screens */
    main#app .mud-typography-h1 {
        font-size: 1.65rem !important;
        line-height: 1.2 !important;
    }

    main#app .mud-typography-h2 {
        font-size: 1.4rem !important;
        line-height: 1.25 !important;
    }

    main#app .mud-typography-h3 {
        font-size: 1.25rem !important;
        line-height: 1.3 !important;
    }

    main#app .mud-typography-h4 {
        font-size: 1.1rem !important;
        line-height: 1.35 !important;
    }

    main#app .mud-typography-h5 {
        font-size: 1rem !important;
        line-height: 1.35 !important;
    }

    main#app .mud-typography-h6 {
        font-size: 0.95rem !important;
        line-height: 1.35 !important;
    }

    main#app .mud-typography-subtitle1 {
        font-size: 0.95rem !important;
        line-height: 1.4 !important;
    }

    main#app .mud-typography-subtitle2 {
        font-size: 0.875rem !important;
        line-height: 1.4 !important;
    }

    /* Form fields */
    main#app .mud-input-root {
        font-size: 0.9375rem;
    }

    main#app .mud-input-slot input,
    main#app .mud-input-slot textarea {
        font-size: 0.9375rem !important;
        line-height: 1.45 !important;
    }

    main#app .mud-input-label {
        font-size: 0.8125rem !important;
    }

    /* Tables: keep rows readable without huge text */
    main#app .mud-table-cell {
        font-size: 0.875rem;
    }

    main#app .mud-table-head .mud-table-cell {
        font-size: 0.8125rem;
    }

    /* Tabs: scroll instead of overlapping; slightly smaller labels (v6: toolbar, v7+: tabbar) */
    main#app .mud-tabs-toolbar,
    main#app .mud-tabs-tabbar {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        flex-wrap: nowrap;
    }

    main#app .mud-tab {
        font-size: 0.8rem !important;
        min-height: 40px;
        padding-left: 0.65rem;
        padding-right: 0.65rem;
        white-space: nowrap;
    }

    /* Main content gutter */
    main#app .mud-main-content .mud-container {
        padding-left: 12px !important;
        padding-right: 12px !important;
    }

    /* Common Mud spacing utilities — slightly tighter */
    main#app .pa-4 {
        padding: 0.75rem !important;
    }

    main#app .pa-6 {
        padding: 1rem !important;
    }

    main#app .pa-8 {
        padding: 1.125rem !important;
    }

    main#app .px-4 {
        padding-left: 0.75rem !important;
        padding-right: 0.75rem !important;
    }

    main#app .px-6 {
        padding-left: 1rem !important;
        padding-right: 1rem !important;
    }

    /* Dialogs — also target portaled overlays (may sit outside main#app) */
    main#app .mud-dialog-content,
    .mud-dialog-container .mud-dialog-content {
        font-size: 0.9375rem;
    }

    main#app .mud-dialog-title,
    .mud-dialog-container .mud-dialog-title {
        font-size: 1.05rem !important;
    }

    /* Lists & nav in drawer / menus */
    main#app .mud-list-item .mud-typography-body1,
    main#app .mud-list-item .mud-typography-body2 {
        font-size: 0.9rem !important;
    }

    main#app .mud-nav-link {
        font-size: 0.9rem !important;
    }

    /* Buttons: slightly smaller label (avoid icon-only / FAB) */
    main#app .mud-button-root:not(.mud-icon-button) {
        font-size: 0.875rem !important;
    }

    /* App bar title area */
    main#app .mud-appbar .mud-typography-h6,
    main#app .mud-appbar .mud-typography-body1 {
        font-size: 0.95rem !important;
    }

    /* Large custom blocks (see app.css .upload-zone-premium) */
    main#app .upload-zone-premium {
        padding: 1.25rem !important;
        min-height: 200px;
    }

    main#app .upload-zone-premium .upload-icon {
        font-size: 2.5rem !important;
    }
}
