/*
 * 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 (MudBlazor sm).
 */

@media (max-width: 600px) {
    /* Prevent iOS from inflating small text unpredictably */
    html {
        -webkit-text-size-adjust: 100%;
        /* Root rem: standard 16px base on phones */
        font-size: 16px;
    }

    :root {
        --app-font-size: 1rem;
    }

    html.app-font-small {
        --app-font-size: 0.875rem;
    }

    html.app-font-large {
        --app-font-size: 1.0625rem;
    }

    html.app-font-extralarge {
        --app-font-size: 1.125rem;
    }

    /* Default paragraph-style text inside the app shell */
    main#app .mud-typography-body1 {
        font-size: 1rem !important;
        line-height: 1.45 !important;
    }

    main#app .mud-typography-body2 {
        font-size: 0.9375rem !important;
        line-height: 1.4 !important;
    }

    main#app .mud-typography-caption,
    main#app .mud-typography-overline {
        font-size: 0.8125rem !important;
        line-height: 1.35 !important;
    }

    /* 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: slightly compact on narrow screens */
    main#app .mud-typography-h1 {
        font-size: 1.625rem !important;
        line-height: 1.2 !important;
    }

    main#app .mud-typography-h2 {
        font-size: 1.375rem !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.125rem !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.9375rem !important;
        line-height: 1.35 !important;
    }

    main#app .mud-typography-subtitle1 {
        font-size: 0.9375rem !important;
        line-height: 1.4 !important;
    }

    main#app .mud-typography-subtitle2 {
        font-size: 0.9375rem !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.4 !important;
    }

    main#app .mud-input-label,
    main#app .mud-shrink-label,
    main#app .mud-label,
    main#app .mud-checkbox-label {
        font-size: 1.0625rem !important;
        line-height: 1.35 !important;
    }

    main#app .mud-input-helper,
    main#app .mud-input-helper-inner {
        font-size: 0.875rem !important;
        line-height: 1.4 !important;
    }

    /* Dialogs / popovers are often portaled outside main#app */
    .mud-dialog-container .mud-input-label,
    .mud-dialog-container .mud-shrink-label,
    .mud-dialog-container .mud-label,
    .mud-dialog-container .mud-checkbox-label,
    .mud-popover-provider .mud-input-label,
    .mud-popover-provider .mud-shrink-label {
        font-size: 1.0625rem !important;
        line-height: 1.35 !important;
    }

    .mud-dialog-container .mud-input-helper,
    .mud-dialog-container .mud-input-helper-inner {
        font-size: 0.875rem !important;
        line-height: 1.4 !important;
    }

    /* Checkbox / radio captions (often MudText, not .mud-checkbox-label) */
    main#app .mud-checkbox .mud-typography-body1,
    main#app .mud-checkbox .mud-typography-body2,
    main#app .mud-radio .mud-typography-body1,
    main#app .mud-radio .mud-typography-body2 {
        font-size: 0.9375rem !important;
        line-height: 1.4 !important;
    }

    .mud-dialog-container .mud-checkbox .mud-typography-body1,
    .mud-dialog-container .mud-checkbox .mud-typography-body2 {
        font-size: 0.9375rem !important;
        line-height: 1.4 !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.875rem !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.0625rem !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.9375rem !important;
    }

    main#app .mud-nav-link {
        font-size: 0.9375rem !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.9375rem !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;
    }

    /* Your Details dialog — portaled overlay must stay visible on small screens */
    .mud-dialog-container .client-device-dialog .mud-dialog-content,
    .client-device-dialog .mud-dialog-content {
        min-height: 12rem;
        max-height: calc(100vh - 8rem);
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        color: var(--mud-palette-text-primary);
    }

    .mud-dialog-container .client-device-dialog .mud-table-cell {
        color: var(--mud-palette-text-primary);
    }

    /* Event details dialog — compact Details / Attendees / Messages / Images tabs */
    .mud-dialog-container .event-details-toolbar {
        width: 100%;
        max-width: 100%;
        flex-wrap: nowrap !important;
        gap: 2px !important;
    }

    .mud-dialog-container .event-details-toolbar .mud-button-root {
        flex: 1 1 0;
        min-width: 0;
        max-width: 100%;
        white-space: nowrap !important;
        text-transform: none !important;
        font-size: 0.5rem !important;
        line-height: 1.2 !important;
        letter-spacing: 0 !important;
        padding: 4px 1px !important;
        min-height: unset !important;
        height: auto !important;
        text-align: center;
    }

    .mud-dialog-container .event-details-toolbar .mud-button-root .mud-button-label {
        font-size: inherit !important;
        white-space: nowrap !important;
        display: block;
        width: 100%;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .mud-dialog-container .event-details-toolbar .mud-button-start-icon,
    .mud-dialog-container .event-details-toolbar .mud-button-start-icon-size-small,
    .mud-dialog-container .event-details-toolbar .mud-button-icon-start {
        display: none !important;
    }
}
