/* Form Validation Styles */
input.error,
textarea.error,
select.error {
    border: 2px solid #dc3545 !important;
    background-color: #fff5f5 !important;
}

input.error:focus,
textarea.error:focus,
select.error:focus {
    outline-color: #dc3545 !important;
    box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25) !important;
}

.error-message {
    color: #dc3545;
    font-size: 12px;
    margin-top: 5px;
    display: block;
    animation: slideDown 0.3s ease;
}

@keyframes slideDown {
    from {
        opacity: 0;
        transform: translateY(-10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Success state */
input.success,
textarea.success,
select.success {
    border: 2px solid #28a745 !important;
    background-color: #f0fff4 !important;
}

input.success:focus,
textarea.success:focus,
select.success:focus {
    outline-color: #28a745 !important;
    box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25) !important;
}

