/* ── Contact Form Inline Validation Errors ── */

/* Red border on invalid input */
.input-error {
    border: 1px solid #e53935 !important;
    background-color: #fff8f8 !important;
    outline: none;
}

.input-error:focus {
    box-shadow: 0 0 0 3px rgba(229, 57, 53, 0.15) !important;
}

/* Error message text below the field */
.field-error-msg {
    display: block;
    color: #e53935;
    font-size: 12px;
    margin-top: 4px;
    margin-bottom: 10px;
    padding-left: 2px;
    font-weight: 500;
    animation: fadeInDown 0.2s ease;
}

@keyframes fadeInDown {
    from { opacity: 0; transform: translateY(-4px); }
    to   { opacity: 1; transform: translateY(0); }
}


/* ── Submit Button Loader ── */

/* Disabled/loading state for the button */
#contact_us_form button[type='submit']:disabled {
    opacity: 0.75;
    cursor: not-allowed;
    pointer-events: none;
}

/* Spinning circle icon */
.btn-spinner {
    display: inline-block;
    width: 13px;
    height: 13px;
    border: 2px solid rgba(255, 255, 255, 0.4);
    border-top-color: #ffffff;
    border-radius: 50%;
    animation: btn-spin 0.7s linear infinite;
    vertical-align: middle;
    margin-right: 4px;
}

@keyframes btn-spin {
    to { transform: rotate(360deg); }
}