/*
 * components/inputs.css — סגנונות אחידים לשדות קלט (Phase Validations).
 *
 * נבנה במקביל למאקרו macros/inputs.html ול-helper window.currencyInputHtml.
 * הקובץ מטפל ב:
 *   • .is-invalid — סימון אקטיבי של שדה שלא עומד בכללי ולידציה (border אדום + רקע)
 *   • input[type=number]:invalid — סגנון אוטומטי על שגיאות HTML5
 *   • input.was-clamped — אנימציית פלאש קצרה כשערך הותאם אוטומטית
 */


/* ── שדה לא חוקי (manual + native :invalid) ───────────────────── */

input.is-invalid,
input[type="number"]:invalid:not(:placeholder-shown),
input[type="number"]:invalid:not(:focus):not(:placeholder-shown) {
    border: 1.5px solid var(--color-danger) !important;
    background-color: var(--color-danger-bg);
    box-shadow: 0 0 0 2px rgba(220, 38, 38, 0.18);
    outline: none;
}

input.is-invalid:focus,
input[type="number"]:invalid:focus {
    border-color: var(--color-danger-dark) !important;
    box-shadow: 0 0 0 3px rgba(220, 38, 38, 0.30);
}


/* ── הודעת שגיאה inline (אופציונלי, צמודה לשדה) ──────────────── */

.input-error-msg {
    color: var(--color-danger-dark-text);
    font-size: 0.78rem;
    font-weight: 500;
    margin-top: 3px;
    display: block;
    direction: rtl;
}


/* ── אנימציית פלאש לערך שהותאם (clamp) ──────────────────────── */

@keyframes input-clamp-flash {
    0%   { background-color: var(--color-warning-bg); }    /* צהוב בהיר */
    100% { background-color: transparent; }
}

input.was-clamped {
    animation: input-clamp-flash 0.6s ease-out;
}
