@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInRight{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}@keyframes fadeInLeft{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}@keyframes slideInRight{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes slideInLeft{0%{transform:translate(-100%)}to{transform:translate(0)}}@keyframes pulse{0%{box-shadow:0 0 #d32f2f73}70%{box-shadow:0 0 0 14px #d32f2f00}to{box-shadow:0 0 #d32f2f00}}@keyframes shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-12px)}}@keyframes countUp{0%{opacity:.5;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes confetti{0%{transform:translateY(0) rotate(0);opacity:1}to{transform:translateY(-40px) rotate(180deg);opacity:0}}@keyframes flyToCart{0%{transform:scale(1);opacity:1}to{transform:translate(-180px,-120px) scale(.2);opacity:0}}@keyframes shake{0%,to{transform:translate(0)}20%,60%{transform:translate(8px)}40%,80%{transform:translate(-8px)}}@keyframes checkmark{0%{stroke-dashoffset:24}to{stroke-dashoffset:0}}.animate-on-scroll{opacity:1;transform:translateY(0);transition:opacity .4s var(--havir-ease-out),transform .4s var(--havir-ease-out)}.animate-on-scroll.animated{opacity:1!important;transform:translateY(0)!important}.fade-in{animation:fadeIn .25s var(--havir-ease-out) both}.fade-in-up{animation:fadeInUp .35s var(--havir-ease-out) both}.fade-in-down{animation:fadeInDown .35s var(--havir-ease-out) both}.fade-in-right{animation:fadeInRight .35s var(--havir-ease-out) both}.fade-in-left{animation:fadeInLeft .35s var(--havir-ease-out) both}.slide-in-right{animation:slideInRight .3s var(--havir-ease-out) both}.slide-in-left{animation:slideInLeft .3s var(--havir-ease-out) both}.pulse{animation:pulse 1.6s infinite}.float{animation:float 3.5s ease-in-out infinite}.shake{animation:shake .4s var(--havir-ease-out) both}.skeleton{background:linear-gradient(90deg,#f0f0f4 25%,#fbfbfd 37%,#f0f0f4 63%);background-size:300% 100%;animation:shimmer 1.2s ease-in-out infinite;color:transparent;border-radius:var(--havir-radius-sm)}.transition-fast{transition-duration:.15s}.transition-normal{transition-duration:.25s}.transition-slow{transition-duration:.5s}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.001ms!important}}
