.cart-add {
  display: inline-grid;
  place-items: center;
  flex: 0 0 34px;
  width: 34px;
  height: 34px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: var(--rojo, #e21d2e);
  color: #fff;
  font: 600 1.4rem/1 Poppins, system-ui, sans-serif;
  cursor: pointer;
  transition: transform .18s, filter .18s;
}
.cart-add:hover{transform:scale(1.1);filter:brightness(1.15)}
.cart-add:focus-visible,.cart-step:focus-visible,.cart-clear:focus-visible,.cart-finish:focus-visible,.cart-back:focus-visible,.cart-send:focus-visible,.cart-close:focus-visible{outline:3px solid var(--mostaza,#ffb703);outline-offset:3px}
.item{align-items:center}
.item .item-nom{min-width:0}
.item-add{flex-basis:30px;width:30px;height:30px;font-size:1.25rem}
.tabla-top .cart-add{margin-left:auto}
.precio-opcion{display:inline-flex;align-items:center;gap:5px}
.precio-opcion .precio{height:100%}
.precio-opcion .cart-add{flex-basis:30px;width:30px;height:30px;font-size:1.2rem}
.bebidas .cart-add{flex:none}
.promo-price-row{display:flex;align-items:center;gap:10px;margin:6px 0 8px}
.promo-price-row .promo-precio,.promo-price-row .promo-card-price{margin:0}
.promo-price-row .promo-cart-add{flex:0 0 34px}
.promo .promo-precio.promo-handroll-price{margin:6px 0 0;color:var(--rojo,#e21d2e);font-size:.86rem;font-weight:600;line-height:1.4}
.promo-options{display:grid;gap:7px;margin:8px 0 0}
.promo-option{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 9px;border:1px solid rgba(255,255,255,.1);border-radius:10px;background:rgba(255,255,255,.04);font-size:.72rem;line-height:1.35}
.promo-option span{min-width:0}
.promo-option-add{flex-basis:30px;width:30px;height:30px;flex-shrink:0;font-size:1.2rem}
.promos{align-items:start}
.promo-info{flex:0 0 auto}
.promo .btn{margin-top:0}
.promo-price-row + .btn{margin-top:4px}
.tarjetas.masonry{grid-auto-rows:1px;grid-auto-flow:row dense}
.tarjetas.masonry>.tarjeta{align-self:start}
.cart-dock{position:fixed;z-index:35;left:16px;right:90px;bottom:calc(18px + env(safe-area-inset-bottom,0px));max-width:480px;margin:0 auto;padding:13px 18px;border:0;border-radius:999px;background:var(--wsp,#25d366);color:#062b14;font:600 .92rem Poppins,system-ui,sans-serif;text-align:center;box-shadow:0 6px 20px rgba(0,0,0,.45);cursor:pointer}
.cart-dock:hover{filter:brightness(1.06)}
.cart-dialog:not([open]){display:none}
.cart-dialog[open]{display:flex}
.cart-dialog{position:fixed;inset:auto 16px calc(92px + env(safe-area-inset-bottom,0px)) auto;flex-direction:column;margin:0;width:min(440px,calc(100vw - 32px));max-height:min(72vh,650px);padding:0;overflow:hidden;border:1px solid rgba(255,255,255,.16);border-radius:20px;background:var(--carbon,#18181b);color:var(--blanco,#fafafa);box-shadow:0 16px 55px rgba(0,0,0,.55)}
.cart-dialog::backdrop{background:rgba(0,0,0,.58);backdrop-filter:blur(3px)}
.cart-head,.cart-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px}
.cart-head{border-bottom:1px solid rgba(255,255,255,.1)}
.cart-head h2{margin:0;font:400 1.65rem/1 "Bebas Neue",Impact,sans-serif;letter-spacing:.5px}
.cart-close{width:38px;height:38px;border:0;border-radius:50%;background:rgba(255,255,255,.1);color:inherit;font-size:1.4rem;cursor:pointer}
.cart-lines{min-height:60px;max-height:min(36vh,320px);overflow-y:auto;padding:4px 18px}
.cart-line{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 12px;padding:13px 0;border-bottom:1px dashed rgba(255,255,255,.12)}
.cart-line-info{min-width:0}
.cart-line-name{display:block;font-size:.88rem;font-weight:600;overflow-wrap:anywhere}
.cart-line-price{display:block;margin-top:2px;color:var(--gris,#a1a1aa);font-size:.78rem}
.cart-wrap-field{display:grid;gap:4px;margin-top:8px;font-size:.76rem;font-weight:600}
.cart-wrap-select{width:100%;padding:7px 9px;border:1px solid rgba(255,255,255,.18);border-radius:8px;background:#242427;color:inherit;font:400 .8rem Poppins,system-ui,sans-serif}
.cart-wrap-select:focus-visible{outline:2px solid var(--wsp,#25d366);outline-offset:2px}
.cart-line-controls{display:flex;align-items:center;gap:8px}
.cart-step{width:30px;height:30px;border:1px solid rgba(255,255,255,.2);border-radius:50%;background:rgba(255,255,255,.08);color:inherit;font-size:1rem;cursor:pointer}
.cart-qty{min-width:1.2em;text-align:center;font-weight:600}
.cart-remove{grid-column:2;justify-self:end;padding:0;border:0;background:none;color:#ff8b92;font:inherit;font-size:.75rem;text-decoration:underline;cursor:pointer}
.cart-empty{padding:20px 0;color:var(--gris,#a1a1aa);font-size:.9rem;text-align:center}
.cart-summary{padding:10px 18px 0}
.cart-total{display:flex;justify-content:space-between;gap:12px;font-weight:600}
.cart-note{margin:7px 0 0;color:var(--gris,#a1a1aa);font-size:.76rem}
.cart-checkout{padding:10px 18px 12px}
.cart-checkout[hidden]{display:none}
.cart-checkout label{display:block;margin-bottom:6px;font-size:.8rem;font-weight:600}
.cart-delivery{display:block;width:100%;margin:0 0 12px;padding:9px 11px;border:1px solid rgba(255,255,255,.18);border-radius:10px;background:#242427;color:inherit;font:400 .82rem Poppins,system-ui,sans-serif}
.cart-delivery:focus-visible{outline:2px solid var(--wsp,#25d366);outline-offset:2px}
.cart-checkout textarea{display:block;width:100%;min-height:64px;resize:vertical;padding:9px 11px;border:1px solid rgba(255,255,255,.18);border-radius:10px;background:rgba(255,255,255,.05);color:inherit;font:400 .82rem/1.45 Poppins,system-ui,sans-serif}
.cart-checkout textarea::placeholder{color:var(--gris,#a1a1aa)}
.cart-checkout textarea:focus-visible{outline:2px solid var(--wsp,#25d366);outline-offset:2px}
.cart-footer{border-top:1px solid rgba(255,255,255,.1)}
.cart-footer-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px}
.cart-clear,.cart-finish,.cart-back,.cart-send{min-height:42px;padding:9px 14px;border:0;border-radius:999px;font:600 .82rem Poppins,system-ui,sans-serif;cursor:pointer}
.cart-clear{background:rgba(255,255,255,.1);color:inherit}
.cart-finish,.cart-send{background:var(--wsp,#25d366);color:#062b14;text-decoration:none}
.cart-back{background:rgba(255,255,255,.1);color:inherit}
.cart-send[aria-disabled="true"]{opacity:.5;pointer-events:none}
.cart-clear[hidden],.cart-finish[hidden],.cart-back[hidden],.cart-send[hidden]{display:none}
@media(max-width:420px){
  .cart-dock{left:12px;right:82px;padding:12px 8px;font-size:.8rem}
  .cart-dialog{inset-inline:10px;width:auto}
  .cart-footer{padding-inline:12px}
  .cart-footer-actions{gap:6px}
  .cart-clear,.cart-finish,.cart-back,.cart-send{padding-inline:11px;font-size:.76rem}
}
