/* Carrito compartido de Brothers (home + catálogo). Colores explícitos para
   funcionar igual en ambas páginas. Usa las fuentes Anton/Inter que cada página ya carga. */

/* ── Pill flotante ── */
.float-bar{position:fixed;left:0;right:0;bottom:0;z-index:55;padding:10px 16px calc(10px + env(safe-area-inset-bottom));pointer-events:none;display:none}
.float-bar.show{display:block}
.float-bar button{pointer-events:auto;width:100%;max-width:560px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:12px;background:#D6A46A;color:#0A1E3C;border:none;border-radius:12px;padding:13px 18px;font:inherit;font-size:15px;font-weight:700;cursor:pointer;box-shadow:0 10px 28px rgba(10,30,60,.35);min-height:52px}
.float-bar .tot{font-family:'Anton',sans-serif;font-weight:400;font-size:20px}

/* ── Overlay + Drawer ── */
.overlay{position:fixed;inset:0;background:rgba(10,30,60,.55);opacity:0;pointer-events:none;transition:opacity .22s;z-index:80}
.overlay.open{opacity:1;pointer-events:auto}
.drawer{position:fixed;top:0;right:0;height:100dvh;width:min(440px,100vw);background:#FBF9F6;color:#0A1E3C;z-index:90;transform:translateX(103%);transition:transform .26s ease;display:flex;flex-direction:column;box-shadow:-12px 0 40px rgba(10,30,60,.3)}
.drawer.open{transform:translateX(0)}
.drawer-head{background:#14294D;color:#fff;padding:13px 18px;display:flex;align-items:center;justify-content:space-between;gap:10px}
.drawer-head h2{font-family:'Anton',sans-serif;font-weight:400;letter-spacing:.6px;font-size:19px;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.drawer-head .close{background:rgba(255,255,255,.14);border:none;border-radius:8px;width:38px;height:38px;font-size:16px;color:#fff;cursor:pointer;flex-shrink:0}
.drawer-body{flex:1;overflow-y:auto;padding:14px 16px;display:flex;flex-direction:column;gap:10px}
.cart-empty{text-align:center;color:#5B6068;padding:44px 10px;font-size:14.5px;line-height:1.6}
.cart-line{position:relative;overflow:hidden;border:1px solid #E7E1D6;border-radius:10px;background:#fff}
.cl-del{position:absolute;inset:0;background:#E5484D;display:flex;align-items:center;justify-content:flex-end;padding:0 22px;color:#fff}
.cl-del svg{width:22px;height:22px}
.cl-fg{position:relative;z-index:1;display:flex;align-items:center;gap:10px;background:#fff;padding:10px 12px;touch-action:pan-y;transition:transform .22s cubic-bezier(.3,.7,.3,1)}
.cl-fg.dragging{transition:none}
.cl-trash{flex-shrink:0;width:30px;height:30px;display:none;align-items:center;justify-content:center;border:none;background:none;border-radius:8px;color:#B9844D;cursor:pointer}
.cl-trash:hover{background:#FBEAEA;color:#E5484D}
.cl-trash svg{width:17px;height:17px;display:block}
@media (min-width:700px){ .cl-trash{display:inline-flex} }
.cart-line .inf{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.cart-line h4{font-size:13.5px;font-weight:600;line-height:1.25}
.cart-line .det{font-size:11.5px;color:#5B6068}
.mini{display:flex;align-items:center;border:1.5px solid #E7E1D6;border-radius:8px;overflow:hidden;background:#FBF9F6;flex-shrink:0}
.mini button{width:38px;height:40px;border:none;background:none;color:inherit;cursor:pointer;font-weight:700;font-size:15px}
.mini span{min-width:22px;text-align:center;font-weight:700;font-size:13px}
.cart-line .sub{font-family:'Anton',sans-serif;font-weight:400;font-size:15.5px;min-width:58px;text-align:right}
.save-row{display:flex;justify-content:space-between;align-items:center;background:#E9F5EC;border:1px solid #BFE0C8;border-radius:9px;padding:10px 12px}
.save-row span:first-child{font-size:13px;font-weight:600;color:#1F8A4C}
.save-row span:last-child{font-family:'Anton',sans-serif;font-weight:400;font-size:16px;color:#1F8A4C}
.tot-row{display:flex;justify-content:space-between;align-items:baseline;padding:2px 2px 0}
.tot-row b{font-size:15px}
.tot-row .anton{font-family:'Anton',sans-serif;font-weight:400;font-size:28px}
.peso-note,.min-note{font-size:12.5px;color:#5B6068}
.min-note{background:#F6EBDB;border:1.5px dashed #E2C79F;border-radius:8px;padding:10px 12px;color:#8a6237}
.drawer-foot{padding:13px 16px calc(13px + env(safe-area-inset-bottom));border-top:1px solid #E7E1D6;background:#fff}
.wa-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:9px;background:#1F8A4C;color:#fff;border:none;border-radius:10px;padding:14px;font:inherit;font-size:16px;font-weight:700;cursor:pointer;min-height:52px;transition:filter .15s}
.wa-btn:hover{filter:brightness(1.07)}
.wa-btn:disabled{background:#9aa6bd;cursor:not-allowed;filter:none}
.wa-note{text-align:center;font-size:12px;color:#5B6068;padding-top:8px}

/* ── Modal WhatsApp ── */
.bc-modal{position:fixed;inset:0;z-index:100;display:none;align-items:flex-end;justify-content:center}
.bc-modal.open{display:flex}
.bc-modal .back{position:absolute;inset:0;background:rgba(10,30,60,.6)}
.sheet{position:relative;width:min(480px,100vw);max-height:92dvh;background:#FBF9F6;color:#0A1E3C;border-radius:16px 16px 0 0;display:flex;flex-direction:column;overflow:hidden}
@media (min-width:700px){.bc-modal{align-items:center;padding:20px}.sheet{border-radius:16px}}
.sheet-head{display:flex;align-items:center;justify-content:space-between;padding:12px 18px;background:#14294D;color:#fff}
.sheet-head .t{font-family:'Anton',sans-serif;font-weight:400;font-size:17px;letter-spacing:1px}
.sheet-head .close{background:rgba(255,255,255,.14);border:none;border-radius:8px;width:36px;height:36px;font-size:15px;color:#fff;cursor:pointer}
.sheet-body{flex:1;overflow-y:auto;padding:16px 18px;display:flex;flex-direction:column;gap:13px}
.sheet-body input,.sheet-body textarea{width:100%;border:1.5px solid #E7E1D6;border-radius:9px;padding:12px 13px;background:#fff;color:#0A1E3C;font:inherit;font-size:16px}
.sheet-body textarea{resize:vertical}
.field-err{font-size:13px;color:#B9844D;font-weight:600;display:none}
.field-err.show{display:block}
.wa-chat{background:#E5DDD3;border-radius:12px;padding:13px}
.wa-bubble{background:#DCF6C8;border-radius:10px 10px 10px 2px;padding:12px 14px;box-shadow:0 1px 1px rgba(10,30,60,.15)}
.wa-bubble pre{font-family:inherit;font-size:12.8px;line-height:1.55;color:#1c2434;white-space:pre-wrap;word-break:break-word}
.wa-bubble .meta{text-align:right;font-size:11px;color:#7d8a77;padding-top:4px}
.sheet-foot{padding:13px 18px calc(13px + env(safe-area-inset-bottom));border-top:1px solid #E7E1D6;background:#fff}

/* ── Animación "volar al carrito" ── */
.bc-fly{position:fixed;z-index:120;border-radius:12px;object-fit:cover;box-shadow:0 10px 24px rgba(10,30,60,.35);pointer-events:none;will-change:transform,opacity}
.js-cart-btn.bc-bump{animation:bc-bump .42s cubic-bezier(.34,1.56,.64,1)}
@keyframes bc-bump{0%{transform:scale(1)}45%{transform:scale(1.16)}100%{transform:scale(1)}}
@media (prefers-reduced-motion:reduce){.bc-fly{display:none!important}.js-cart-btn.bc-bump{animation:none}}

/* ── Toast "deshacer" ── */
.bc-toast{position:fixed;left:50%;bottom:20px;z-index:110;background:#0A1E3C;color:#fff;border-radius:10px;padding:11px 14px;display:none;align-items:center;gap:16px;box-shadow:0 12px 32px rgba(10,30,60,.45);max-width:calc(100vw - 32px)}
.bc-toast.show{display:flex;animation:bc-toast-in .2s ease}
.bc-toast span{font-size:13.5px;font-weight:600}
.bc-toast button{background:none;border:none;color:#D6A46A;font-weight:800;font-size:13.5px;cursor:pointer;flex-shrink:0}
@keyframes bc-toast-in{from{transform:translate(-50%,16px);opacity:0}to{transform:translate(-50%,0);opacity:1}}
.bc-toast{transform:translateX(-50%)}
@media (prefers-reduced-motion:reduce){.bc-toast.show{animation:none}}
