/* ============================================================
   CRWTRICK - microanimações
   Só entrada de tela/elemento e feedback de toque.
   Sem loops, sem animação contínua.
   ============================================================ */

@keyframes crw-fade-slide-in {
  from {
    opacity: 0;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.crw-anim-in {
  opacity: 0;
}

.crw-anim-in-play {
  animation: crw-fade-slide-in 320ms var(--ease-out) forwards;
}

/* transição leve ao trocar de tela/aba */
.screen,
.tab-pane {
  animation: none;
}

/* feedback de sucesso ao ATIVAR um switch — dispara uma vez, não fica em loop.
   Usa TRANSITION (não `animation`) de propósito: um elemento só pode ter uma
   única declaração `animation` vencendo a cascata por vez, então uma segunda
   classe com `animation` no mesmo elemento (o card já tem `crw-anim-in-play`)
   cancelaria a entrada por fade e o card sumiria (foi exatamente o bug
   reportado). `transition` não disputa com `animation` da mesma forma. */
.crw-glow-pulse-active {
  box-shadow: 0 0 0 10px rgba(var(--crw-primary-rgb), 0.28), 0 10px 30px rgba(0, 0, 0, 0.35);
}
