/* Mobile-only: keep inputs and dropdowns inside the viewport. */
@media (max-width: 768px) {
    html,
    body {
        overflow-x: hidden;
        max-width: 100%;
    }

    .main-content,
    .form-container,
    .form-field,
    .wg-select-field,
    .wg-expiry-field,
    .expiry-row,
    #formcreatewg,
    #formcreateuser,
    #formregistrationtoken,
    #formlogin,
    #formregister,
    #create-ticket-form {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
    }

    #formcreatewg {
        align-items: stretch !important;
    }

    #formcreateuser,
    #formregistrationtoken {
        grid-template-columns: 1fr !important;
    }

    .expiry-row {
        flex-wrap: wrap !important;
        width: 100% !important;
    }

    #formcreatewg .wg-select-field,
    #formcreatewg .wg-select-field .nixe-select,
    #formcreatewg .wg-select-field .nixe-select-trigger,
    .nixe-select,
    .nixe-select-trigger,
    .nixe-select-menu,
    .nixe-dt,
    .nixe-dt--compact,
    .nixe-dt--compact .nixe-dt-trigger,
    .nixe-dt-trigger,
    .form-control,
    .form-select,
    .form-select-sm,
    .form-text,
    .input-group,
    input[type="text"],
    input[type="number"],
    input[type="password"],
    input[type="email"],
    input[type="search"],
    input[type="datetime-local"],
    textarea,
    textarea.form-control,
    #expiry,
    #wg_expiry {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }

    .nixe-select-menu,
    .nixe-select-menu.nixe-select-menu--portal {
        max-width: calc(100vw - 24px) !important;
    }

    .nixe-dt-panel {
        width: min(320px, calc(100vw - 24px)) !important;
        max-width: calc(100vw - 24px) !important;
    }
}
