/* UF13 AJAX UI — toasts, validation feedback */

.uf13-toast {
    position: fixed;
    bottom: 24px;
    left: 50%;
    transform: translateX(-50%) translateY(20px);
    z-index: 20000;
    padding: 0.85rem 1.25rem;
    border-radius: 12px;
    font-weight: 700;
    font-size: 0.95rem;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.35s ease, transform 0.35s ease, visibility 0.35s ease;
    max-width: min(92vw, 420px);
    text-align: center;
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.45);
}

.uf13-toast.is-visible {
    opacity: 1;
    visibility: visible;
    transform: translateX(-50%) translateY(0);
}

.uf13-toast--success {
    background: linear-gradient(135deg, #0d4a2e, #157a4a);
    color: #fff;
    border: 1px solid rgba(100, 255, 180, 0.35);
}

.uf13-toast--error {
    background: linear-gradient(135deg, #4a0d0d, #7a1515);
    color: #fff;
    border: 1px solid rgba(255, 120, 120, 0.35);
}

.ajax-form-error {
    margin-bottom: 1rem;
}

.is-invalid {
    border-color: #e63946 !important;
}

.invalid-feedback {
    color: #ff6b7a;
    font-size: 0.85rem;
    margin-top: 0.35rem;
}

.auth-error,
.checkout-error,
.admin-auth-error {
    margin-bottom: 1rem;
}

form.ajax-form [type="submit"]:disabled {
    opacity: 0.75;
    cursor: wait;
}
