/* Base */
.ba-icon{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;flex-shrink:0;color:currentColor}
.ba-icon svg{width:100%;height:100%;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;fill:none;stroke:currentColor}

/* Animation classes — trigger on parent :hover */
.ba-icon-anim{transition:transform .35s cubic-bezier(.16,1,.3,1)}
.prem-feat-pill:hover .ba-icon-anim-rotate svg{animation:ba-rotate 1.6s linear infinite}
.prem-feat-pill:hover .ba-icon-anim-shake svg{animation:ba-shake .5s ease-in-out}
.prem-feat-pill:hover .ba-icon-anim-fly svg{animation:ba-fly .8s cubic-bezier(.16,1,.3,1)}
.prem-feat-pill:hover .ba-icon-anim-pulse svg{animation:ba-pulse .9s ease-in-out infinite}
.prem-feat-pill:hover .ba-icon-anim-sparkle svg{animation:ba-sparkle 1.2s ease-in-out infinite}
.prem-feat-pill:hover .ba-icon-anim-wobble svg{animation:ba-wobble .7s ease-in-out}
.prem-feat-pill:hover .ba-icon-anim-bell svg{animation:ba-bell .8s ease-in-out}
.prem-trial-badge .ba-icon-anim-wobble svg{animation:ba-wobble 2s ease-in-out infinite}

@keyframes ba-rotate{from{transform:rotate(0)}to{transform:rotate(360deg)}}
@keyframes ba-shake{0%,100%{transform:translateX(0)}25%{transform:translateX(-3px) rotate(-5deg)}75%{transform:translateX(3px) rotate(5deg)}}
@keyframes ba-fly{0%{transform:translate(0,0) rotate(0)}50%{transform:translate(4px,-4px) rotate(8deg)}100%{transform:translate(0,0) rotate(0)}}
@keyframes ba-pulse{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.18);opacity:.85}}
@keyframes ba-sparkle{0%,100%{transform:scale(1) rotate(0)}50%{transform:scale(1.15) rotate(20deg)}}
@keyframes ba-wobble{0%,100%{transform:rotate(0)}25%{transform:rotate(-8deg)}75%{transform:rotate(8deg)}}
@keyframes ba-bell{0%,100%{transform:rotate(0);transform-origin:50% 0}20%{transform:rotate(-15deg)}40%{transform:rotate(12deg)}60%{transform:rotate(-8deg)}80%{transform:rotate(5deg)}}

@media (prefers-reduced-motion:reduce){
  .ba-icon svg,[class*="ba-icon-anim"]:hover svg{animation:none!important;transform:none!important}
}
