/* Contact Form Additional Styles */

/* Turnstile Container */
.turnstile-wrapper {
    margin: 20px 0;
    min-height: 65px;
    display: flex;
    justify-content: center;
}

/* Form validation states */
.form-input.error {
    border-color: #e74c3c;
    background-color: rgba(231, 76, 60, 0.05);
}

.form-input.error:focus {
    border-color: #c0392b;
    outline: none;
}

/* Success and error message animations */
.form-message-success,
.form-message-error {
    animation: slideDown 0.3s ease-out;
}

@keyframes slideDown {
    from {
        opacity: 0;
        transform: translateY(-10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Disabled button state */
.button.primary:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}

/* Loading state for form */
.form.loading .form-input,
.form.loading .button {
    pointer-events: none;
    opacity: 0.6;
}

/* Responsive adjustments */
@media (max-width: 767px) {
    .turnstile-wrapper {
        transform: scale(0.9);
        transform-origin: center;
    }
}