/* NEXOZS Order Ride v3 - user supplied truck + true centered circular wheels, zero bobbing */
#nxOrderRide { position:fixed;inset:0;z-index:2147483000;isolation:isolate;overflow:hidden;background:linear-gradient(180deg,#84c3f2 0%,#c7e8ff 51%,#d8effd 69%,#e5e9ef 70%,#c5ced9 100%);color:#102b49;font-family:system-ui,-apple-system,'Segoe UI',Arial,sans-serif; animation:nxRideFade .16s ease-out both }
#nxOrderRide *,#nxOrderRide *::before,#nxOrderRide *::after {box-sizing:border-box}
#nxOrderRide .nx-ride-sky{position:absolute;inset:0 0 31%;background:radial-gradient(ellipse 190px 65px at 17% 25%,#fff9 0 67%,transparent 70%),radial-gradient(ellipse 160px 55px at 43% 14%,#fff9 0 67%,transparent 70%),radial-gradient(ellipse 170px 62px at 81% 32%,#fff9 0 67%,transparent 70%);filter:blur(10px);animation:nxRideCloud 12s linear infinite alternate}
#nxOrderRide .nx-ride-ground{position:absolute;inset:auto 0 0;height:30%;background:linear-gradient(180deg,#d9e1e9 0%,#c9d5df 15%,#889eaf 100%);border-top:5px solid #fff9;box-shadow:0 -8px 16px #5f8bad20}
#nxOrderRide .nx-ride-ground::after{content:'';position:absolute;inset:0;background:repeating-linear-gradient(100deg,transparent 0 135px,#ffffff24 137px 140px,transparent 141px 265px)}
#nxOrderRide .nx-ride-road{position:absolute;inset:auto 0 14% 0;height:4px;background:repeating-linear-gradient(90deg,#fff9 0 95px,transparent 95px 175px);animation:nxRideRoad .36s linear infinite}
#nxOrderRide .nx-ride-frame{position:absolute;width:min(90vw,900px);bottom:28%;left:50%;transform:translateX(-50%);filter:drop-shadow(0 13px 8px #1c31473a)}
#nxOrderRide .nx-ride-vehicle{position:relative;width:100%;aspect-ratio:2048 / 757;transform:translate3d(125vw,0,0);animation:nxRideCross 2.34s linear both;will-change:transform}
#nxOrderRide .nx-ride-bounce{position:absolute;inset:0;animation:none!important;transform:none!important}
#nxOrderRide .nx-ride-body{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;user-select:none;pointer-events:none}
#nxOrderRide .nx-ride-wheel{position:absolute;display:block;height:auto;aspect-ratio:1;object-fit:contain;transform-origin:center center;transform:translate(-50%,-50%) rotate(0deg);animation:nxRideWheelSpin .32s linear infinite;will-change:transform;user-select:none;pointer-events:none}
#nxOrderRide .nx-wheel-front{left:16.9921875%;top:80.0528402%;width:10.9375%}
#nxOrderRide .nx-wheel-rear{left:72.9003906%;top:80.0528402%;width:10.9375%}
#nxOrderRide .nx-ride-caption{position:absolute;bottom:4.8%;left:50%;transform:translateX(-50%);width:min(92vw,460px);background:#fffffff1;border:1px solid #fff;box-shadow:0 14px 36px #28476124;border-radius:17px;padding:14px 18px;text-align:center}
#nxOrderRide .nx-ride-caption strong{display:block;font-size:clamp(16px,3vw,21px);letter-spacing:-.02em;font-weight:850}
#nxOrderRide .nx-ride-caption span{display:block;font-size:12px;line-height:1.5;color:#586c81;margin-top:4px}
#nxOrderRide .nx-ride-track{margin-top:11px;border-radius:40px;height:5px;background:#e5eaf1;overflow:hidden}
#nxOrderRide .nx-ride-track::after{content:'';display:block;height:100%;width:0;background:linear-gradient(90deg,#ff8a26,#f12a44);animation:nxRideBar 2.26s linear both}
body.nx-ride-locked{overflow:hidden!important}
/* Checkout responds immediately on form submit; not a success signal. */
#checkoutForm.nx-order-pending #orderBtn{position:relative;cursor:progress!important;filter:saturate(.96);opacity:.94}
#checkoutForm.nx-order-pending #orderBtn::after{content:'';display:inline-block;vertical-align:middle;width:16px;height:16px;margin-left:11px;border:2px solid #ffffff70;border-top-color:white;border-radius:50%;animation:nxOrderBtnSpin .65s linear infinite}
#checkoutForm.nx-order-pending #orderBtnText{font-weight:750}
@keyframes nxOrderBtnSpin{to{transform:rotate(360deg)}}
@keyframes nxRideFade{from{opacity:0}to{opacity:1}}
@keyframes nxRideCloud{from{transform:translateX(-2%)}to{transform:translateX(2%)}}
@keyframes nxRideRoad{to{background-position:-175px 0}}
@keyframes nxRideCross{0%{transform:translate3d(125vw,0,0)}100%{transform:translate3d(-135vw,0,0)}}
@keyframes nxRideWheelSpin{from{transform:translate(-50%,-50%) rotate(0)}to{transform:translate(-50%,-50%) rotate(-360deg)}}

@keyframes nxRideBar{to{width:100%}}
@keyframes nxThanksRise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
#nxSuccess{animation:nxThanksRise .55s cubic-bezier(.16,1,.3,1) both}
@media(max-width:600px){#nxOrderRide .nx-ride-frame{width:122vw;bottom:39%}#nxOrderRide .nx-ride-ground{height:34%}#nxOrderRide .nx-ride-caption{bottom:8%;padding:12px 15px}#nxOrderRide .nx-ride-road{bottom:16%}}
@media(prefers-reduced-motion:reduce){#nxOrderRide,#nxOrderRide .nx-ride-vehicle,#nxOrderRide .nx-ride-bounce,#nxOrderRide .nx-ride-wheel,#nxOrderRide .nx-ride-road,#nxOrderRide .nx-ride-sky,#nxOrderRide .nx-ride-track::after,#nxSuccess{animation:none!important}#nxOrderRide{opacity:1}#nxOrderRide .nx-ride-vehicle{transform:none}#checkoutForm.nx-order-pending #orderBtn::after{animation:none}}
