/* Thay cho animate.min.css (72KB, ~80 animation) - chỉ giữ đúng phần dùng thật:
   1) .animate__animated + fadeIn, dùng cho header dính khi cuộn (assets/js/apps.js ~dòng 1832-1840).
   2) @keyframes zoomIn/pulse/rubberBand: KHÔNG qua .animate__* - style.css (.btn-frame .zoomIn/.pulse, dòng ~604-608)
      và base.css (.footer-social img:hover, dòng 255) tự định nghĩa class/rule riêng nhưng dùng lại
      animation-name zoomIn/pulse/rubberBand từ animate.min.css gốc, phục vụ hiệu ứng nhấp nháy icon
      Hotline/Zalo nổi (footer.php .kenit-alo-circle/.kenit-alo-circle-fill) và hiệu ứng hover icon mạng
      xã hội footer (.footer-social img:hover).
   animate.min.css gốc còn được templates/layout/banner.php và templates/layout/filter.php tham chiếu
   nhưng 2 file đó không được include ở đâu trong project (code chết) nên không cần các animation khác. */
   .animate__animated{animation-duration:1s;animation-fill-mode:both}
   @keyframes fadeIn{from{opacity:0}to{opacity:1}}
   .animate__fadeIn{animation-name:fadeIn}
   @keyframes zoomIn{0%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}50%{opacity:1}}
   @keyframes pulse{0%{-webkit-transform:scaleX(1);transform:scaleX(1)}50%{-webkit-transform:scale3d(1.05,1.05,1.05);transform:scale3d(1.05,1.05,1.05)}to{-webkit-transform:scaleX(1);transform:scaleX(1)}}
   @keyframes rubberBand{0%{-webkit-transform:scaleX(1);transform:scaleX(1)}30%{-webkit-transform:scale3d(1.25,.75,1);transform:scale3d(1.25,.75,1)}40%{-webkit-transform:scale3d(.75,1.25,1);transform:scale3d(.75,1.25,1)}50%{-webkit-transform:scale3d(1.15,.85,1);transform:scale3d(1.15,.85,1)}65%{-webkit-transform:scale3d(.95,1.05,1);transform:scale3d(.95,1.05,1)}75%{-webkit-transform:scale3d(1.05,.95,1);transform:scale3d(1.05,.95,1)}to{-webkit-transform:scaleX(1);transform:scaleX(1)}}
   