/**
 * Styles for passwordless authentication forms
 */

 .login #login {
    width: 60vw;
    max-width: 400px;
    margin-top: 5vh;
}

/* Container wrapper - 100% width */
.wspf-wespe-auth-form-wrapper {
    width: 100%;
}

/* Form container - styled like admin login */
.wspf-wespe-auth-form-wrapper .wspf-wespe-auth-form {
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
    padding: 32px 40px;
    max-width: 400px;
    margin: 0 auto;
}

 .login .wspf-wespe-auth-form {
    max-width: 400px;
    margin: 2rem auto;
    padding: 0;
    background: #fff;
    border: none;
    border-radius: 0;
    box-shadow: none;
}

.login form#language-switcher label {
    display: flex;
    justify-content: center;
    margin-bottom: 10px;
}

.login .wspf-wespe-auth-form form {
    margin: 24px 0;
    padding: 0;
    font-weight: 400;
    overflow: hidden;
    background: #fff;
    border: none;
    box-shadow: none;
}

.login .wspf-standard-form form {
    margin: 24px 0;
    padding: 0;
    font-weight: 400;
    overflow: hidden;
    background: #fff;
    border: none;
    box-shadow: none;
}

.wspf-wespe-auth-form h2 {
    margin-top: 0;
    margin-bottom: 1.5rem;
    text-align: center;
    color: #333;
}

.wspf-form-field {
    margin-bottom: 1.5rem;
}

.wspf-form-field label {
    display: block;
    margin-bottom: 0.5rem;
    font-weight: 600;
    color: #333;
}

.wspf-form-field input[type="tel"],
.wspf-form-field input[type="text"],
.wspf-form-field input[type="email"],
.wspf-form-field input[type="password"] {
    width: 100%;
    padding: 0.75rem;
    border: 1px solid #ddd;
    border-radius: 4px;
    font-size: 1rem;
    box-sizing: border-box;
}

.wspf-form-field input:focus {
    outline: none;
    border-color: #0073aa;
    box-shadow: 0 0 0 2px rgba(0, 115, 170, 0.1);
}

.wspf-form-field .wspf-field-hint {
    display: block;
    margin-top: 0.25rem;
    font-size: 0.875rem;
    color: #666;
}

.wspf-wespe-auth-form .button {
    width: 100%;
    padding: 0.75rem;
    font-size: 1rem;
    margin-bottom: 0.5rem;
}

.wspf-wespe-auth-form .button-primary {
    background: #0073aa;
    border-color: #0073aa;
    color: #fff;
}

.wspf-wespe-auth-form .button-primary:hover {
    background: #005a87;
    border-color: #005a87;
}

.wspf-back-button {
    background: #f0f0f0;
    border-color: #ddd;
    color: #333;
}

.wspf-back-button:hover {
    background: #e0e0e0;
}

.wspf-form-messages {
    margin-top: 1rem;
}

.wspf-form-messages .wspf-notice {
    padding: 0.75rem;
    margin-bottom: 0.5rem;
    border-radius: 4px;
}

.wspf-form-messages .wspf-notice-success {
    background: #d4edda;
    border: 1px solid #c3e6cb;
    color: #155724;
}

.wspf-form-messages .wspf-notice-error {
    background: #f8d7da;
    border: 1px solid #f5c6cb;
    color: #721c24;
}

.wspf-form-messages .wspf-notice-info {
    background: #d1ecf1;
    border: 1px solid #bee5eb;
    color: #0c5460;
}

/* Step animation */
.wspf-form-step {
    animation: fadeIn 0.3s ease-in;
}

@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Hidden fields (initially hidden, shown via JavaScript) */
.wspf-hidden {
    display: none !important;
}

.wspf-code-fields,
.wspf-registration-fields,
.wspf-password-fields {
    display: none;
}

.wspf-code-fields:not(.wspf-hidden),
.wspf-registration-fields:not(.wspf-hidden),
.wspf-password-fields:not(.wspf-hidden) {
    display: block;
}

/* Code input fields (6 separate digits) */
.wspf-code-inputs-wrapper {
    display: flex;
    gap: 8px;
    justify-content: center;
    margin: 1rem 0;
}

.wspf-code-digit {
    width: 50px;
    height: 50px;
    text-align: center;
    font-size: 1.5rem;
    font-weight: 600;
    border: 2px solid #ddd;
    border-radius: 8px;
    padding: 0;
    box-sizing: border-box;
    transition: all 0.2s ease;
}

.wspf-code-digit:focus {
    outline: none;
    border-color: #0073aa;
    box-shadow: 0 0 0 3px rgba(0, 115, 170, 0.1);
    transform: scale(1.05);
}

.wspf-code-digit:invalid {
    border-color: #d63638;
}

/* Responsive */
@media (max-width: 480px) {
    .wspf-wespe-auth-form {
        margin: 1rem;
        padding: 1.5rem;
    }
}

