/* Shared mobile overrides for auth and OTP flows */

@media (max-width: 768px) {
    .auth-page {
        min-height: 100svh;
        padding: 16px 12px;
        align-items: flex-start;
        overflow-x: hidden;
        overflow-y: auto;
    }

    .auth-container,
    .otp-container {
        width: 100%;
        max-width: 100%;
        padding: 0;
        margin: 0 auto;
    }

    .auth-card,
    .otp-card {
        width: 100%;
        padding: 24px 18px;
        border-radius: 20px;
        box-shadow: 0 16px 32px rgba(15, 23, 42, 0.08);
        backdrop-filter: none;
        -webkit-backdrop-filter: none;
    }

    .auth-header,
    .otp-header {
        margin-bottom: 24px;
    }

    .auth-header h1,
    .otp-header h1,
    .logo h1 {
        font-size: clamp(1.2rem, 5vw, 1.55rem);
        line-height: 1.2;
    }

    .auth-header p,
    .otp-header p {
        font-size: 13px;
        line-height: 1.5;
    }

    .form-row {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .form-group {
        margin-bottom: 14px;
    }

    .form-group input,
    .form-group select,
    .form-group textarea {
        min-height: 48px;
        padding: 14px 16px;
        font-size: 16px;
    }

    .btn {
        width: 100%;
        min-height: 48px;
        padding: 12px 20px;
    }

    .logo,
    .logo img,
    .logo-icon,
    .logo-placeholder,
    .logo-img {
        margin-bottom: 16px;
    }

    .steps-container {
        padding: 0;
        margin-bottom: 20px;
    }

    .step-label {
        font-size: 10px;
    }

    .step-number {
        width: 30px;
        height: 30px;
        font-size: 12px;
    }

    .otp-inputs {
        gap: 6px;
        flex-wrap: wrap;
        justify-content: center;
    }

    .otp-input {
        width: clamp(42px, 12vw, 48px);
        height: clamp(42px, 12vw, 48px);
        font-size: 18px;
    }
}

@media (max-width: 480px) {
    .auth-page {
        padding: 12px 8px;
    }

    .auth-card,
    .otp-card {
        padding: 20px 16px;
        border-radius: 18px;
    }

    .auth-header,
    .otp-header {
        margin-bottom: 20px;
    }

    .auth-header h1,
    .otp-header h1,
    .logo h1 {
        font-size: 1.1rem;
    }

    .auth-header p,
    .otp-header p {
        font-size: 12px;
    }

    .form-group {
        margin-bottom: 12px;
    }

    .btn {
        font-size: 14px;
        border-radius: 12px;
    }

    .otp-input {
        width: 44px;
        height: 44px;
        font-size: 16px;
    }
}

@media (max-width: 360px) {
    .auth-page {
        padding: 8px 6px;
    }

    .auth-card,
    .otp-card {
        padding: 18px 14px;
    }

    .auth-header h1,
    .otp-header h1,
    .logo h1 {
        font-size: 1rem;
    }

    .otp-inputs {
        gap: 4px;
    }
}