/* RQBBOX OS - PS5-style animations */
.nav-item { transition: color .12s ease, background .12s ease; }
.nav-item .nav-icon { transition: transform .2s var(--ease-spring); }
.nav-item:active .nav-icon { transform: scale(.9); }

.card-ps5 { transition: transform .2s ease, box-shadow .2s ease, background .2s ease; }
.card-ps5:active { transform: scale(.97); }

.page.active .hero-banner-content h2 { animation: fadeInUp .4s ease both; }
.page.active .hero-banner-content p { animation: fadeInUp .4s ease .1s both; }
.page.active .widget-row { animation: slideUp .4s ease .1s both; }
.page.active .section-header { animation: fadeIn .3s ease .15s both; }
.page.active .horz-scroll { animation: fadeIn .4s ease .2s both; }

@keyframes pulse { 0%,100% { opacity: 1; } 50% { opacity: .5; } }
@keyframes shimmer { 0% { background-position: -200% 0; } 100% { background-position: 200% 0; } }
@keyframes scaleIn { from { transform: scale(.95); opacity: 0; } to { transform: scale(1); opacity: 1; } }
@keyframes slideIn { from { transform: translateX(20px); opacity: 0; } to { transform: translateX(0); opacity: 1; } }

.boot-screen .boot-title { animation: fadeInUp .6s ease .2s forwards, pulse 3s ease-in-out 1s infinite; }
