/* ROUND 84 - shared motion for storefront, customer pages and admin. Respects prefers-reduced-motion (JS never starts). */
.ba-rv{opacity:0;transform:translateY(20px) scale(.985);transition:opacity .6s cubic-bezier(.2,.7,.2,1) var(--ba-d,0ms),transform .6s cubic-bezier(.2,.7,.2,1) var(--ba-d,0ms)}
.ba-rv.ba-in{opacity:1;transform:none}
.ba-tilt{transform-style:preserve-3d;transition:transform .2s ease,box-shadow .25s ease}
.ba-tilt.ba-tilting{transform:perspective(900px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)) translateY(-4px);box-shadow:0 26px 44px -24px rgba(0,0,0,.5)}
.ba-tilt.ba-tilting:after{content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:radial-gradient(240px circle at var(--mx,50%) var(--my,0%),rgba(255,255,255,.16),transparent 62%)}
.ba-tilt{position:relative}
.navbar{transition:box-shadow .25s ease,background-color .25s ease}
.navbar.ba-scrolled{box-shadow:0 12px 28px -16px rgba(0,0,0,.45)!important}
.btn{transition:transform .12s ease,box-shadow .2s ease,background-color .2s,border-color .2s,color .2s}
.btn:not(:disabled):active{transform:translateY(1px) scale(.98)}
.btn-primary:not(:disabled):hover,.btn-success:not(:disabled):hover{transform:translateY(-1px)}
#baDarkToggle{transition:transform .25s cubic-bezier(.2,.7,.2,1)}#baDarkToggle:hover{transform:rotate(18deg) scale(1.08)}
#baDarkToggle i{transition:transform .35s}
@media (prefers-reduced-motion:reduce){.ba-rv,.ba-tilt,.btn{transition:none!important;animation:none!important}.ba-rv{opacity:1;transform:none}}
@media print{.ba-rv{opacity:1!important;transform:none!important}}
