/* Carrito */
#velo{position:fixed;inset:0;background:rgba(15,20,35,.5);opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s;z-index:80}
#velo.abierto{opacity:1;visibility:visible}
#carro{position:fixed;top:0;right:0;bottom:0;width:min(440px,100vw);background:#fff;z-index:90;display:flex;flex-direction:column;transform:translateX(100%);visibility:hidden;transition:transform .38s cubic-bezier(.32,.72,0,1),visibility 0s .38s;box-shadow:-12px 0 40px rgba(0,0,0,.22)}
#carro.abierto{transform:none;visibility:visible;transition:transform .38s cubic-bezier(.32,.72,0,1),visibility 0s}
.carro-cab{display:flex;align-items:center;justify-content:space-between;padding:18px 22px;border-bottom:1px solid var(--linea)}
.carro-cab h2{font-size:20px;font-weight:700;display:flex;align-items:center;gap:10px}
#carroN{background:var(--azul);color:#fff;font-size:12px;font-weight:700;border-radius:12px;padding:2px 9px}
#carroN:empty{display:none}
.carro-x{width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center}
.carro-x:hover{background:#F2F3F5}
.carro-x svg{width:20px;height:20px;stroke:var(--texto);fill:none;stroke-width:2;stroke-linecap:round}
.carro-cuerpo{flex:1;overflow-y:auto;padding:0 22px;display:flex;flex-direction:column}
.it{flex:none;display:grid;grid-template-columns:78px 1fr auto;gap:14px;padding:16px 0;border-bottom:1px solid var(--linea);transition:opacity .25s,transform .25s}
.it.sale{opacity:0;transform:translateX(30px)}
.it-img{width:78px;height:78px;border-radius:8px;background:#F4F5F7;overflow:hidden;position:relative}
.it-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.it h3{font-size:14px;font-weight:500;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.it-pu{font-size:12px;color:var(--gris);margin:3px 0 10px}
.it-ctl{display:flex;align-items:center;gap:14px}
.paso{display:inline-flex;align-items:center;border:1px solid #CFD3D9;border-radius:20px;padding:1px}
.paso button{width:30px;height:30px;font-size:17px;line-height:1;border-radius:50%}
.paso button:hover{background:#F2F3F5}
.paso span{min-width:26px;text-align:center;font-size:14px;font-weight:500}
.quitar{font-size:12px;color:var(--gris);display:flex;align-items:center;gap:5px;text-decoration:underline;text-underline-offset:2px}
.quitar:hover{color:var(--rojo)}
.quitar svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:1.8}
.it-tot{font-size:15px;font-weight:700;white-space:nowrap}
.vacio{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:30px 10px}
.vacio .circ{width:96px;height:96px;border-radius:50%;background:#EEF2FB;display:flex;align-items:center;justify-content:center;margin-bottom:18px}
.vacio .circ svg{width:44px;height:44px;stroke:var(--azul);fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.vacio h3{font-size:19px;margin-bottom:6px}
.vacio p{color:var(--gris);font-size:14px;line-height:1.5;margin-bottom:20px;max-width:280px}
.carro-pie{border-top:1px solid var(--linea);padding:16px 22px 20px;background:#FAFAFB}
.tot div{display:flex;justify-content:space-between;font-size:14px;color:var(--gris);padding:3px 0}
.tot dd{margin:0}
.tot .grande{color:var(--texto);font-size:19px;font-weight:700;padding-top:10px;margin-top:6px;border-top:1px solid var(--linea)}
.carro-pie .btn-rojo{width:100%;justify-content:center;margin-top:14px;border-radius:8px;padding:14px}
.seguir{display:block;width:100%;text-align:center;padding:12px;font-size:14px;color:var(--azul);font-weight:500;margin-top:4px}
.seguro{display:flex;align-items:center;justify-content:center;gap:6px;font-size:12px;color:var(--gris);margin-top:4px}
.seguro svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:1.8}
.nota{font-size:12px;color:var(--azul);text-align:center;margin-top:8px}
body.sin-scroll{overflow:hidden}
@keyframes bump{40%{transform:scale(1.35)}}
.badge.bump{animation:bump .35s}

