/* Carrito lateral + pago con Mercado Pago */
.cart-fab{position:fixed;left:24px;bottom:28px;z-index:160;display:flex;align-items:center;gap:8px;background:#1a4fb6;color:#fff;border:none;border-radius:100px;padding:13px 20px;font-family:'Figtree',sans-serif;font-weight:800;font-size:16px;cursor:pointer;box-shadow:0 10px 28px rgba(26,79,182,.35);transition:transform .25s}
.cart-fab:hover{transform:translateY(-2px)}
.cart-fab .cart-count{background:#fff;color:#1a4fb6;border-radius:100px;min-width:26px;height:26px;display:inline-flex;align-items:center;justify-content:center;font-size:14px;padding:0 7px}
.cart-backdrop{position:fixed;inset:0;background:rgba(10,24,56,.45);z-index:400}
.cart-panel{position:fixed;top:0;right:0;bottom:0;width:min(440px,100vw);background:#fff;z-index:401;display:flex;flex-direction:column;transform:translateX(100%);transition:transform .3s ease;box-shadow:-20px 0 50px rgba(10,24,56,.25);font-family:'Noto Sans',sans-serif;color:#1a2332}
.cart-panel.open{transform:none}
body.cart-open{overflow:hidden}
.cart-head{display:flex;align-items:center;justify-content:space-between;padding:20px 22px;border-bottom:1px solid #e2e8f0}
.cart-head h2{font-family:'Figtree',sans-serif;font-size:24px;font-weight:800}
.cart-close{background:#f1f5f9;border:none;border-radius:50%;width:40px;height:40px;font-size:18px;cursor:pointer}
.cart-body{overflow-y:auto;padding:18px 22px 28px;display:flex;flex-direction:column;gap:16px}
.cart-empty{font-size:17px;color:#5b6b80;padding:20px 0}
.cart-line{display:grid;grid-template-columns:1fr auto;gap:8px 12px;align-items:center;padding:12px 0;border-bottom:1px solid #eef2f7}
.cart-line-info strong{display:block;font-size:16px;line-height:1.3}
.cart-line-info span{font-size:15px;color:#5b6b80}
.cart-line-info s{color:#94a3b8;margin-left:4px}
.cart-qty{display:flex;align-items:center;gap:10px}
.cart-qty button{width:38px;height:38px;border-radius:50%;border:1.5px solid #cbd5e1;background:#fff;font-size:20px;font-weight:700;cursor:pointer;color:#1a4fb6}
.cart-qty b{min-width:22px;text-align:center;font-size:17px}
.cart-del{grid-column:1/-1;justify-self:start;background:none;border:none;color:#b91c1c;font-size:14px;cursor:pointer;padding:0;text-decoration:underline}
.cart-ladder{background:#f0f9ff;border:1px solid #bae6fd;border-radius:12px;padding:12px 14px;font-size:15px;color:#0c4a6e}
.cart-ladder .ladder-next{font-size:16px;margin-bottom:6px}
.cart-totals{display:flex;flex-direction:column;gap:6px;font-size:16px}
.cart-totals>div{display:flex;justify-content:space-between}
.cart-disc{color:#15803d;font-weight:700}
.cart-free{color:#15803d;font-weight:700}
.cart-total{font-family:'Figtree',sans-serif;font-size:22px;font-weight:800;border-top:1px solid #e2e8f0;padding-top:10px;margin-top:4px}
.cart-form{display:flex;flex-direction:column;gap:10px}
.cart-form h3{font-family:'Figtree',sans-serif;font-size:18px}
.cart-form h3 span{font-weight:600;color:#15803d;font-size:15px}
.cart-form label{display:flex;flex-direction:column;gap:4px;font-size:15px;font-weight:600}
.cart-form input{font-size:17px;padding:11px 12px;border:1.5px solid #cbd5e1;border-radius:10px;font-family:inherit}
.cart-form input:focus{outline:none;border-color:#1a4fb6;box-shadow:0 0 0 3px rgba(26,79,182,.15)}
.cart-error{background:#fef2f2;border:1px solid #fecaca;color:#991b1b;border-radius:10px;padding:10px 12px;font-size:15px}
.cart-pay{background:#009ee3;color:#fff;border:none;border-radius:12px;padding:16px;font-family:'Figtree',sans-serif;font-size:18px;font-weight:800;cursor:pointer;margin-top:4px}
.cart-pay:disabled{opacity:.7;cursor:wait}
.cart-safe{font-size:13px;color:#5b6b80;text-align:center}
@media(max-width:600px){.cart-fab{left:16px;bottom:20px;padding:12px 16px}}
@media(prefers-reduced-motion:reduce){.cart-panel{transition:none}}

/* Recordatorio de carrito al volver (catálogo e inicio) */
.cart-toast{position:fixed;left:50%;bottom:88px;z-index:160;transform:translate(-50%,20px);opacity:0;transition:opacity .35s,transform .35s;display:flex;align-items:center;gap:10px;background:#0f172a;color:#fff;border-radius:16px;padding:10px 10px 10px 16px;box-shadow:0 18px 40px rgba(15,23,42,.35);font:500 14px 'Figtree',system-ui,sans-serif;width:max-content;max-width:calc(100vw - 32px)}
.cart-toast.show{opacity:1;transform:translate(-50%,0)}
.cart-toast b{color:#67CCE9}
.cart-toast button,.cart-toast a{background:#25D366;color:#fff;border:0;border-radius:10px;padding:8px 12px;font:700 13px 'Figtree',system-ui,sans-serif;cursor:pointer;text-decoration:none;white-space:nowrap}
.cart-toast .cart-toast-x{background:transparent;color:#94a3b8;padding:6px;font-size:14px}
@media(max-width:600px){.cart-toast{bottom:84px;font-size:13px}}

/* Forma de entrega + aviso de privacidad */
.cart-form [hidden]{display:none!important}
.cart-entrega{border:0;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.cart-opt{flex-direction:row!important;align-items:center;gap:12px!important;padding:12px 14px;border:1.5px solid #cbd5e1;border-radius:12px;cursor:pointer;background:#fff}
.cart-opt:has(input:checked){border-color:#1a4fb6;background:#eff6ff;box-shadow:0 0 0 3px rgba(26,79,182,.12)}
.cart-opt input{width:20px;height:20px;accent-color:#1a4fb6;flex-shrink:0;padding:0}
.cart-opt span{display:flex;flex-direction:column;gap:2px}
.cart-opt b{font-size:16px}
.cart-opt small{font-size:13px;font-weight:600;color:#5b6b80}
.cart-privacy{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border-radius:12px;background:#f0fdf4;border:1px solid #bbf7d0;color:#14532d}
.cart-privacy svg{flex-shrink:0;margin-top:2px;color:#15803d}
.cart-privacy p{margin:0;font-size:13.5px;line-height:1.45;font-weight:500}
.cart-form div.solo-envio{display:flex;flex-direction:column;gap:10px}
.cart-row{display:grid;grid-template-columns:1fr 130px;gap:10px}
.cart-row input{min-width:0}
.cart-retiro-info{margin:0;font-size:14px;line-height:1.45;padding:10px 12px;border-radius:10px;background:#f8fafc;border:1px dashed #94a3b8;color:#334155}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}
.cart-ladder:empty{display:none}
