/* core/animations.css */

@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-16px)}}

@keyframes pulse{
  0%{opacity:.35}
  50%{opacity:1}
  100%{opacity:.35}
}

@keyframes shake{
  0%{transform:translateX(0)}
  25%{transform:translateX(-6px)}
  50%{transform:translateX(6px)}
  75%{transform:translateX(-4px)}
  100%{transform:translateX(0)}
}

@keyframes modalFadeUp{
  from{opacity:0; transform:translateY(22px) scale(.96)}
  to{opacity:1; transform:none}
}

/* Loading button */
.btn.loading{
  pointer-events:none;
  opacity:.80;
}
.btn.loading span:first-child,
.btn.loading .btn__icon{display:none}
.btn.loading::after{
  content:"Attendere...";
  animation:pulse 1s infinite;
  font-weight: 900;
  letter-spacing: .2px;
}

/* Shake panel */
.panel.shake{
  animation: shake .42s;
  box-shadow: 0 0 0 4px rgba(255,77,109,.26), var(--shadow);
}