/* ═══════════ Contact Form Block ═══════════ */

/* Remove default webkit styles for inputs to ensure clean look */
.contact-form-block input[type="text"],
.contact-form-block input[type="email"],
.contact-form-block textarea {
    -webkit-appearance: none;
    appearance: none;
    border-radius: 0;
}

/* Shake animation for validation errors */
@keyframes contactShake {
    0%, 100% { transform: translateX(0); }
    15% { transform: translateX(-6px); }
    30% { transform: translateX(5px); }
    45% { transform: translateX(-4px); }
    60% { transform: translateX(3px); }
    75% { transform: translateX(-2px); }
}
.contact-shake {
    animation: contactShake 0.5s ease-in-out;
}

/* Error state for inputs */
.contact-field-error {
    border-bottom-color: #ef4444 !important;
}
.contact-field-error:focus {
    border-bottom-color: #dc2626 !important;
}

/* Error state for file upload zone */
.file-upload-error {
    border-color: #ef4444 !important;
    background-color: #fef2f2 !important;
}

/* Inline error message */
.contact-inline-error {
    color: #ef4444;
    font-size: 0.75rem;
    margin-top: 0.375rem;
    padding-left: 0.125rem;
}