/**
 * Стили для улучшенных форм
 */

/* Ошибки полей */
.field-error {
    color: #dc3545;
    font-size: 0.875rem;
    margin-top: 0.25rem;
    display: block;
}

input.error,
textarea.error,
select.error {
    border-color: #dc3545;
    box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);
}

input.error:focus,
textarea.error:focus,
select.error:focus {
    border-color: #dc3545;
    box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);
}

/* Успешная валидация */
input.verified,
textarea.verified {
    border-color: #28a745;
    box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);
}

/* Контейнер кода подтверждения */
.verification-code-container {
    margin-top: 1rem;
    padding: 1rem;
    background-color: #f8f9fa;
    border-radius: 0.25rem;
    border: 1px solid #dee2e6;
}

.verification-code-input {
    display: flex;
    gap: 0.5rem;
    align-items: flex-start;
}

.verification-code-input input {
    flex: 1;
    max-width: 200px;
    font-size: 1.25rem;
    text-align: center;
    letter-spacing: 0.5rem;
    font-weight: bold;
}

.send-code-btn {
    white-space: nowrap;
    min-width: 150px;
}

.send-code-btn:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}

/* Индикатор загрузки */
.loading-indicator {
    display: inline-block;
    width: 1rem;
    height: 1rem;
    border: 2px solid #f3f3f3;
    border-top: 2px solid #007bff;
    border-radius: 50%;
    animation: spin 1s linear infinite;
    margin-left: 0.5rem;
}

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

/* Улучшения для автозаполнения */
input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus {
    -webkit-box-shadow: 0 0 0 1000px white inset;
    -webkit-text-fill-color: #495057;
    transition: background-color 5000s ease-in-out 0s;
}

/* Анимация при валидации */
input:valid:not(:placeholder-shown),
textarea:valid:not(:placeholder-shown) {
    border-color: #28a745;
}

input:invalid:not(:placeholder-shown),
textarea:invalid:not(:placeholder-shown) {
    border-color: #dc3545;
}

/* Подсказки для полей */
.field-hint {
    font-size: 0.875rem;
    color: #6c757d;
    margin-top: 0.25rem;
}

.field-hint.required {
    color: #dc3545;
}

/* Улучшенные поля ввода */
.form-group {
    margin-bottom: 1.5rem;
}

.form-group label {
    display: block;
    margin-bottom: 0.5rem;
    font-weight: 500;
}

.form-group label .required {
    color: #dc3545;
    margin-left: 0.25rem;
}

/* Адаптивность */
@media (max-width: 768px) {
    .verification-code-input {
        flex-direction: column;
    }
    
    .verification-code-input input {
        max-width: 100%;
    }
    
    .send-code-btn {
        width: 100%;
    }
}











