/* Contact Form Status Styles */
.alert {
    padding: 12px 16px;
    margin-bottom: 20px;
    border: 1px solid transparent;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 500;
}

.alert-success {
    color: #155724;
    background-color: #d4edda;
    border-color: #c3e6cb;
}

.alert-danger {
    color: #721c24;
    background-color: #f8d7da;
    border-color: #f5c6cb;
}

.alert-info {
    color: #0c5460;
    background-color: #d1ecf1;
    border-color: #bee5eb;
}

.alert-warning {
    color: #856404;
    background-color: #fff3cd;
    border-color: #ffeaa7;
}

/* Form validation styles - only show after interaction */
.single-input-box input.was-validated:invalid,
.single-input-box textarea.was-validated:invalid,
.single-input-box select.was-validated:invalid {
    border-color: #dc3545;
}

.single-input-box input.was-validated:valid,
.single-input-box textarea.was-validated:valid,
.single-input-box select.was-validated:valid {
    border-color: #28a745;
}

/* Hide validation for hidden fields */
input[type="hidden"]:invalid {
    border: none !important;
}

/* Only show validation states after form submission attempt */
.contact-form-attempted .single-input-box input:invalid,
.contact-form-attempted .single-input-box textarea:invalid,
.contact-form-attempted .single-input-box select:invalid {
    border-color: #dc3545;
}

.contact-form-attempted .single-input-box input:valid,
.contact-form-attempted .single-input-box textarea:valid,
.contact-form-attempted .single-input-box select:valid {
    border-color: #28a745;
}

/* Loading state for submit button */
.massage-sent-button button:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}

/* Success animation */
@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.alert {
    animation: fadeInUp 0.3s ease-out;
} 