/* Единое поле суммы чекаута (ds/pending-amount.js): тряска при ошибке — кадры tb-shake (0,42 с, ±8 px), два имени анимации, чтобы повтор перезапускал её */
.u-amount--shake-0, .u-amount--shake-1 { animation: u-amount-shake .42s ease; }
.u-amount--shake-1 { animation-name: u-amount-shake2; }
@keyframes u-amount-shake { 10%, 90% { transform: translateX(-2px); } 20%, 80% { transform: translateX(4px); } 30%, 50%, 70% { transform: translateX(-8px); } 40%, 60% { transform: translateX(8px); } }
@keyframes u-amount-shake2 { 10%, 90% { transform: translateX(-2px); } 20%, 80% { transform: translateX(4px); } 30%, 50%, 70% { transform: translateX(-8px); } 40%, 60% { transform: translateX(8px); } }
@media (prefers-reduced-motion: reduce) { .u-amount--shake-0, .u-amount--shake-1 { animation: none; } }
