/* Cajón del carrito (drawer) — estilos globales, cargados en todas las páginas */
.cart-ov{ position:fixed; inset:0; background:rgba(0,0,0,.55); backdrop-filter:blur(2px); opacity:0; visibility:hidden; transition:opacity .3s ease, visibility .3s ease; z-index:200; }
.cart-ov.on{ opacity:1; visibility:visible; }
.cart-dr{ position:fixed; top:0; right:0; height:100dvh; width:min(420px,100%); background:#111; border-left:1px solid #2e2e2e; z-index:201; transform:translateX(105%); transition:transform .34s cubic-bezier(.32,.72,0,1); display:flex; flex-direction:column; box-shadow:-20px 0 50px rgba(0,0,0,.5); }
.cart-dr.on{ transform:translateX(0); }
.cart-hd{ display:flex; align-items:center; justify-content:space-between; padding:18px; border-bottom:1px solid #2e2e2e; flex-shrink:0; }
.cart-hd-t{ font-family:'Bebas Neue',sans-serif; font-size:1.3rem; letter-spacing:1px; color:#f0ebe4; }
.cart-hd-n{ color:#e8651a; }
.cart-x{ width:34px; height:34px; border-radius:50%; border:1px solid #2e2e2e; background:rgba(255,255,255,.04); color:#888; font-size:.95rem; cursor:pointer; transition:all .2s; }
.cart-x:hover{ color:#fff; border-color:#e8651a; }
.cart-body{ flex:1; overflow-y:auto; padding:8px 16px; }
.cart-empty{ text-align:center; padding:64px 16px; color:#888; }
.cart-empty-ic{ font-size:2.6rem; margin-bottom:8px; }
.cart-empty p{ font-size:1rem; }
.cart-empty-cta{ display:inline-block; margin-top:16px; color:#e8651a; border:1.5px solid rgba(232,101,26,.4); padding:9px 18px; border-radius:8px; text-decoration:none; }
.cart-it{ display:flex; gap:11px; align-items:center; padding:12px 0; border-bottom:1px solid rgba(255,255,255,.06); }
.cart-it-img, .cart-it-noimg{ width:54px; height:68px; border-radius:8px; object-fit:cover; flex-shrink:0; background:#000; }
.cart-it-noimg{ display:flex; align-items:center; justify-content:center; background:#222; color:#fff; font-family:'Bebas Neue',sans-serif; }
.cart-it-info{ flex:1; min-width:0; }
.cart-it-name{ color:#f0ebe4; font-size:.85rem; display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; text-decoration:none; }
.cart-it-meta{ color:#888; font-size:.72rem; margin-top:2px; }
.cart-it-price{ font-family:'Bebas Neue',sans-serif; font-size:1.1rem; color:#e8651a; margin-top:2px; }
.cart-it-rem{ background:none; border:0; color:#888; font-size:.95rem; cursor:pointer; padding:6px; flex-shrink:0; line-height:1; }
.cart-it-rem:hover{ color:#ef4444; }
.cart-ft{ flex-shrink:0; padding:16px 18px calc(16px + env(safe-area-inset-bottom)); border-top:1px solid #2e2e2e; background:#111; }
.cart-total-row{ display:flex; justify-content:space-between; align-items:center; }
.cart-total-row span{ color:#888; font-size:.9rem; }
.cart-total-row strong{ font-family:'Bebas Neue',sans-serif; font-size:1.7rem; color:#e8651a; }
.cart-envio{ font-size:.74rem; color:#888; margin:4px 0 12px; }
.cart-fin{ width:100%; background:linear-gradient(135deg,#c9571a,#e8651a); color:#fff; border:none; padding:14px; border-radius:11px; font-family:'Bebas Neue',sans-serif; font-size:1.15rem; letter-spacing:2px; cursor:pointer; transition:filter .2s; }
.cart-fin:hover{ filter:brightness(1.08); }
.cart-seguir{ display:block; text-align:center; color:#888; font-size:.8rem; margin-top:12px; text-decoration:none; }
.cart-seguir:hover{ color:#e8651a; }
