/**
 * Participant portal — Tier 2 mobile form UX (iOS zoom, native selects, visa sticky actions).
 */

/* Prevent iOS Safari auto-zoom on focus (requires >= 16px computed size). */
.participant-portal-mobile-forms input:not([type='checkbox']):not([type='radio']):not([type='file']):not([type='hidden']):not([type='button']):not([type='submit']):not([type='reset']),
.participant-portal-mobile-forms select,
.participant-portal-mobile-forms textarea,
.participant-auth-mobile-forms input:not([type='checkbox']):not([type='radio']):not([type='file']):not([type='hidden']):not([type='button']):not([type='submit']):not([type='reset']),
.participant-auth-mobile-forms select,
.participant-auth-mobile-forms textarea {
    font-size: 16px !important;
}

.participant-portal-mobile-forms .form-control,
.participant-portal-mobile-forms .form-select,
.participant-auth-mobile-forms .form-control,
.participant-auth-mobile-forms .form-select {
    font-size: 16px !important;
}

/* Native mobile select styling (when Select2 is skipped). */
select.participant-native-mobile-select {
    width: 100%;
    min-height: 44px;
    padding: 0.5rem 2rem 0.5rem 0.75rem;
    font-size: 16px;
    line-height: 1.4;
    border: 1px solid #ced4da;
    border-radius: 0.375rem;
    background-color: #fff;
    -webkit-appearance: menulist;
    appearance: auto;
}

.participant-mobile-payment-notice {
    border-left: 4px solid #b45309;
    background: #fffbeb;
    color: #78350f;
    padding: 0.75rem 1rem;
    margin-bottom: 1rem;
    border-radius: 0.375rem;
    font-size: 0.9rem;
}

.participant-mobile-payment-notice strong {
    display: block;
    margin-bottom: 0.25rem;
}

/* Visa multi-step: sticky action bar on phones. */
@media (max-width: 767.98px) {
    #form-buttons-container.visa-form-mobile-actions {
        position: fixed;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: 1040;
        margin: 0 !important;
        padding: 0.65rem 0.75rem calc(0.65rem + env(safe-area-inset-bottom, 0px)) !important;
        background: rgba(255, 255, 255, 0.97);
        border-top: 1px solid rgba(0, 0, 0, 0.08);
        box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.08);
        display: flex;
        flex-wrap: wrap;
        gap: 0.5rem;
        justify-content: stretch;
        text-align: center !important;
    }

    #form-buttons-container.visa-form-mobile-actions .btn {
        flex: 1 1 calc(50% - 0.25rem);
        min-height: 44px;
        font-size: 16px;
    }

    #form-buttons-container.visa-form-mobile-actions .save-later {
        flex: 1 1 100%;
        order: -1;
        font-weight: 600;
    }

    body.participant-visa-form-mobile-pad {
        padding-bottom: calc(5.75rem + env(safe-area-inset-bottom, 0px));
    }

    .visa-form-mobile-progress {
        flex: 1 1 100%;
        font-size: 0.8rem;
        color: #6b7280;
        text-align: left;
        margin-bottom: 0.15rem;
    }
}
