/* contact.css - Additional styles for contact page */

/* Loading State */
.btn-submit.loading {
    opacity: 0.7;
    cursor: not-allowed;
}

.btn-submit.loading i {
    animation: spin 1s linear infinite;
}

@keyframes spin {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

/* Focus Styles */
input:focus,
select:focus,
textarea:focus {
    outline: none;
    border-color: #3498db;
    box-shadow: 0 0 0 3px rgba(52, 152, 219, 0.1);
}

/* Print Styles */
@media print {
    .contact-header {
        background: none;
        color: black;
        padding: 20px 0;
    }
    
    .contact-cards,
    .form-section,
    .additional-info {
        break-inside: avoid;
        page-break-inside: avoid;
    }
    
    .btn-submit,
    .btn-reset {
        display: none;
    }
}

/* Success Animation */
@keyframes slideDown {
    from {
        opacity: 0;
        transform: translateY(-20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.success-message {
    animation: slideDown 0.5s ease-out;
}

/* Error Animation */
.error-message {
    animation: slideDown 0.5s ease-out;
}