/* Botón flotante */
.tcs-fab{
  position: fixed;
  right: 18px;
  bottom: 18px;
  width: 56px;
  height: 56px;
  border-radius: 50%;
  border: none;
  background: #0d6efd; /* azul corporativo */
  color: #fff;
  font-size: 22px;
  box-shadow: 0 8px 20px rgba(0,0,0,.2);
  cursor: pointer;
  z-index: 1060;
}
.tcs-badge{
  position: absolute;
  top: -6px;
  right: -6px;
  background: #dc3545;
  color: #fff;
  font-size: 12px;
  min-width: 20px;
  height: 20px;
  padding: 0 6px;
  border-radius: 10px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
}

/* Toast */
.tcs-toast{
  position: fixed;
  top: 14px;
  left: 50%;
  transform: translateX(-50%);
  background:#111;
  color:#fff;
  padding:8px 14px;
  border-radius:10px;
  z-index: 2000;
  font-size: 14px;
  display:none;
}
.tcs-toast.show{ display:block; }

/* Backdrop y Drawer (sin oscurecer) */
.tcs-backdrop{
  position:fixed; inset:0; display:none; z-index:1050; background:transparent;
}
.tcs-backdrop.show{ display:block; }
.tcs-drawer{
  position:fixed; top:0; right:-380px; width:360px; max-width:92vw; height:100%;
  background:#fff; border-left:1px solid #e5e5e5;
  box-shadow:-8px 0 24px rgba(0,0,0,.08);
  z-index:1060; display:flex; flex-direction:column;
  transition:right .25s ease;
}
.tcs-drawer.open{ right:0; }
.tcs-drawer-header{
  padding:12px 14px; border-bottom:1px solid #eee;
  display:flex; align-items:center; justify-content:space-between;
}
.tcs-close{ border:0; background:#fff; font-size:20px; line-height:1; padding:6px 8px; cursor:pointer; }
.tcs-list{ flex:1; overflow:auto; padding:12px; }
.tcs-drawer-footer{ padding:12px; border-top:1px solid #eee; }
.tcs-totals{ display:flex; flex-direction:column; gap:6px; }
.tcs-actions{ display:grid; gap:8px; margin-top:8px; }
.tcs-btn{ padding:.5rem; border-radius:.375rem; }
.tcs-btn-primary{ background:#198754; color:#fff; border:0; text-align:center; text-decoration:none; }
.tcs-btn-outline{ border:1px solid #ced4da; background:#fff; }

/* Items */
.tcs-item{ display:flex; gap:12px; align-items:flex-start; padding:8px 0; border-bottom:1px solid #eee; }
.tcs-thumb{ width:64px; height:64px; object-fit:cover; border-radius:8px; border:1px solid #ddd; }
.tcs-info{ flex:1; min-width:0; }
.tcs-name{ font-weight:600; margin-bottom:2px; }
.tcs-price{ color:#198754; font-weight:700; font-size:14px; margin-bottom:6px; }
.tcs-qty{ display:flex; align-items:center; gap:8px; }
.tcs-qty-btn{ width:28px; height:28px; border:1px solid #ccc; background:#fff; border-radius:6px; }
.tcs-del{ margin-left:auto; background:#fff; border:1px solid #ccc; border-radius:6px; padding:3px 8px; }
.tcs-empty{ color:#777; }
