/* The supplied RC Garage reference: a raised lime button and car-to-cart road. */
.cart-add-stage { --cart-lime:#cbff38; position:relative; padding:0 0 7px; min-width:0; flex:1; }
.cart-add-road { position:relative; height:49px; margin:0 0 11px; border-bottom:1px dashed #526b8766; overflow:hidden; }
.cart-add-road .car-runway { position:absolute; left:0; bottom:0; width:68px; height:38px; transform-origin:50% 85%; }
.cart-add-road .motion-car { width:68px; height:38px; animation:cart-car-idle 2s ease-in-out infinite; }
.cart-add-road .car-wheel { animation:wheel-roll 1.3s linear infinite; }
.cart-add-road .car-runway:before { opacity:.3; width:32px; top:19px; left:-20px; background:repeating-linear-gradient(0deg,transparent 0 3px,#cbff3888 3px 4px,transparent 4px 7px); }
.destination-cart { position:absolute; right:10px; bottom:4px; width:34px; height:34px; color:#a8c2d9; }
.destination-cart>svg { width:100%;height:100%; }
.destination-badge { position:absolute; top:-3px;right:-6px;min-width:18px;height:18px;padding:0 4px;display:grid;place-items:center;background:var(--cart-lime);color:#17220b;border:2px solid #142234;border-radius:50%;font-size:9px;font-weight:850;transform:scale(0);transition:transform .25s cubic-bezier(.2,1.8,.3,1); }
.garage-store .reference-cart-button { width:100%; min-height:46px; display:flex; align-items:center;justify-content:center;gap:8px;background:var(--cart-lime);color:#152008;border:0;border-radius:11px;padding:10px 7px;font-size:10px;font-weight:850;letter-spacing:.3px;box-shadow:0 6px 0 #7e9f20,0 10px 17px #0003;transform:translateY(0);overflow:visible;transition:background .2s,transform .2s,box-shadow .2s; }
.garage-store .reference-cart-button:after { display:none; }
.garage-store .reference-cart-button:hover:not(:disabled) { background:#ddff75;color:#152008;transform:translateY(-2px);box-shadow:0 8px 0 #7e9f20,0 13px 20px #0004; }
.garage-store .reference-cart-button:active:not(:disabled) { transform:translateY(4px);box-shadow:0 2px 0 #7e9f20; }
.garage-store .reference-cart-button:disabled { opacity:1;cursor:default; }
.cart-button-symbol { font-size:19px;line-height:1;font-weight:700; }
.cart-racing .car-runway { animation:cart-car-race 1.13s cubic-bezier(.2,.15,.25,1) forwards; }
.cart-racing .motion-car { animation:none; }
.cart-racing .car-wheel { animation-duration:.12s; }
.cart-racing .car-runway:before { animation:cart-speed-streak .22s linear infinite; }
.cart-racing .destination-cart { animation:destination-hit .5s ease 1s; }
.cart-racing .cart-button-symbol { animation:wheel-roll .6s linear infinite; }
.cart-added .destination-badge { transform:scale(1); }
.cart-added .car-runway { left:calc(100% - 56px);opacity:0; }
.garage-store .cart-added .reference-cart-button { background:#b5efa6;box-shadow:0 5px 0 #6c9d5f; }
.cart-added .cart-button-symbol { animation:none; }
.quantity-row .cart-add-stage { max-width:340px; }
.garage-store .mobile-checkout-bar strong { background:transparent; }
@keyframes cart-car-idle { 0%,100% { transform:translateY(0) rotate(-1deg); } 50% { transform:translateY(-2px) rotate(1deg); } }
@keyframes cart-car-race { 0% { left:0;transform:scale(1); } 18% { left:0;transform:translateX(-6px) rotate(-4deg); } 60% { left:calc(100% - 77px);transform:scale(.85); } 85% { opacity:1; } 100% { left:calc(100% - 56px);transform:translateY(4px) scale(.22);opacity:0; } }
@keyframes cart-speed-streak { from { opacity:.4;transform:scaleX(.4); } to { opacity:1;transform:scaleX(1.5); } }
@keyframes destination-hit { 0%,100% { transform:translateX(0) rotate(0); } 35% { transform:translateX(5px) rotate(12deg); } 60% { transform:translateX(-3px) rotate(-8deg); } }
@media(max-width:700px) { .cart-add-road { height:42px;margin-bottom:9px; }.cart-add-road .car-runway,.cart-add-road .motion-car { width:61px;height:34px; }.destination-cart { width:28px;height:28px;right:6px; }.garage-store .reference-cart-button { min-height:42px;font-size:9px;gap:6px; }.cart-button-symbol { font-size:17px; } }
@media(prefers-reduced-motion:reduce) { .garage-store .cart-add-stage *, .garage-store .cart-add-stage *:before { animation:none!important;transition:none!important; } }
.car-smoke { position:absolute;left:4%;bottom:23%;width:1px;height:1px;pointer-events:none;z-index:0; }
.car-smoke i { position:absolute;right:0;bottom:0;width:10px;height:9px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#eef2f5 0 20%,#a3b1bc 60%,#80919e00 75%);opacity:0;transform-origin:right bottom; }
.cart-racing .car-smoke i,.racing-button.is-driving .car-smoke i { animation:car-smoke-puff .55s ease-out infinite; }
.cart-racing .car-smoke i:nth-child(2),.racing-button.is-driving .car-smoke i:nth-child(2) { animation-delay:.14s; }
.cart-racing .car-smoke i:nth-child(3),.racing-button.is-driving .car-smoke i:nth-child(3) { animation-delay:.28s; }
@keyframes car-smoke-puff { 0% { opacity:0;transform:translate(0,0) scale(.35); } 18% { opacity:.8; } 65% { opacity:.4; } 100% { opacity:0;transform:translate(-26px,-9px) scale(1.9); } }
body.cart-motion-off .car-smoke { display:none; }
@media(prefers-reduced-motion:reduce) { .car-smoke { display:none; } }
