.cart{
  position:fixed;
  left:12px; right:12px;
  bottom:12px;
  z-index:60;
  display:none;
  justify-content:center;
}
.cart.is-open{display:flex}

.cart-inner{
  width:min(1100px, 100%);
  border-radius: 22px;
  background: rgba(255,255,255,.86);
  border: 1px solid rgba(10,20,40,.10);
  box-shadow: 0 22px 80px rgba(10,20,40,.25);
  backdrop-filter: blur(10px);
  overflow:hidden;
}

.cart-top{
  padding:12px 12px;
  background: linear-gradient(135deg, rgba(73,179,255,.16), rgba(124,92,255,.10));
  border-bottom:1px solid rgba(10,20,40,.08);
}

.cart-top-right{
  display:flex;
  align-items:center;
  gap:10px;
}

.cart-total{
  font-weight:1100;
  padding:10px 14px;
  border-radius:999px;
  border:1px solid rgba(10,20,40,.10);
  background: rgba(255,255,255,.75);
  white-space:nowrap;
}

/* Botón agendar: ocupa el resto del espacio */
.cart-btn{
  flex:1;
  border-radius:999px;
  padding:10px 14px;
  font-weight:1100;
  border:1px solid rgba(73,179,255,.45);
  background: linear-gradient(135deg, rgba(73,179,255,.22), rgba(124,92,255,.12));
  cursor:pointer;
  min-width: 140px;
}

/* Chips horizontales */
.cart-list-horizontal{
  padding:10px 12px 12px;
  display:flex;
  gap:8px;
  flex-wrap:nowrap;
  overflow-x:auto;
  -webkit-overflow-scrolling: touch;
  scroll-snap-type: x mandatory;
}

.cart-list-horizontal::-webkit-scrollbar{height:8px}
.cart-list-horizontal::-webkit-scrollbar-thumb{
  background: rgba(10,20,40,.12);
  border-radius:999px;
}

/* Mantiene tu estilo pill existente pero lo optimiza para carrusel */
.item-pill{
  scroll-snap-align:start;
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 10px;
  border-radius:999px;
  background: rgba(10,20,40,.04);
  border:1px solid rgba(10,20,40,.08);
  font-weight:900;
  font-size:12px;
  white-space:nowrap;
}

.item-pill button{
  width:22px;height:22px;
  border-radius:999px;
  border:1px solid rgba(10,20,40,.12);
  background:#fff;
  cursor:pointer;
  font-weight:1000;
  line-height:1;
}

/* Mobile afinado */
@media (max-width: 640px){
  .cart-inner{ border-radius:18px; }
  .cart-top{ padding:10px 10px; }
  .cart-total{ padding:10px 12px; }
  .cart-btn{ padding:10px 12px; }
  .cart-list-horizontal{ padding:10px 10px 12px; }
}