/* ===== TRANSITION ANIMATIONS ===== */
@keyframes fadeInUp{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}
@keyframes fadeInDown{from{opacity:0;transform:translateY(-16px)}to{opacity:1;transform:translateY(0)}}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
@keyframes scaleIn{from{opacity:0;transform:scale(0.94)}to{opacity:1;transform:scale(1)}}
@keyframes slideInRight{from{opacity:0;transform:translateX(24px)}to{opacity:1;transform:translateX(0)}}
@keyframes pulseGlow{0%,100%{box-shadow:0 0 0 0 rgba(255,105,0,0.35)}50%{box-shadow:0 0 0 12px rgba(255,105,0,0)}}
@keyframes shimmer{0%{background-position:-200% 0}100%{background-position:200% 0}}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes bounceIn{0%{transform:scale(0.8);opacity:0}60%{transform:scale(1.04)}100%{transform:scale(1);opacity:1}}

.anim-fade-up{animation:fadeInUp 0.55s ease forwards}
.anim-fade{animation:fadeIn 0.4s ease forwards}
.anim-scale{animation:scaleIn 0.4s ease forwards}
.anim-delay-1{animation-delay:0.1s;opacity:0}
.anim-delay-2{animation-delay:0.2s;opacity:0}
.anim-delay-3{animation-delay:0.3s;opacity:0}
.anim-delay-4{animation-delay:0.4s;opacity:0}
.anim-delay-5{animation-delay:0.5s;opacity:0}
.pulse-glow{animation:pulseGlow 2.2s ease-in-out infinite}

.hover-lift{transition:transform 0.22s ease,box-shadow 0.22s ease}
.hover-lift:hover{transform:translateY(-3px);box-shadow:0 8px 24px rgba(31,29,25,0.14)}
.hover-scale{transition:transform 0.22s ease}
.hover-scale:hover{transform:scale(1.02)}

.skeleton{background:linear-gradient(90deg,#e0ded9 25%,#f0eee9 50%,#e0ded9 75%);background-size:200% 100%;animation:shimmer 1.4s infinite}

.page-transition{animation:fadeIn 0.35s ease}

@media(prefers-reduced-motion:reduce){
*,*::before,*::after{animation-duration:0.01ms!important;animation-iteration-count:1!important;transition-duration:0.01ms!important}
}
