/* cart.css · carrito lateral (drawer), overlay y botón flotante */

.cart-overlay{
  position:fixed;inset:0;z-index:90;
  background:rgba(0,0,0,.55);
  opacity:0;transition:opacity .25s ease;
}
.cart-overlay.open{opacity:1}

.cart-drawer{
  position:fixed;top:0;right:0;bottom:0;z-index:95;
  width:min(400px,94vw);
  background:var(--bg);
  border-left:1px solid var(--line);
  display:flex;flex-direction:column;
  transform:translateX(102%);
  transition:transform .28s ease;
}
.cart-drawer.open{transform:translateX(0)}

.cart-head{
  display:flex;align-items:center;justify-content:space-between;
  padding:18px 20px;border-bottom:1px solid var(--line);
}
.cart-head h3{font-size:22px}

.cart-items{flex:1;overflow-y:auto;padding:14px 20px;display:flex;flex-direction:column;gap:12px}

.cart-item{
  display:grid;
  grid-template-columns:1fr auto;
  gap:4px 12px;
  background:var(--panel);
  border:1px solid var(--line);
  border-radius:12px;padding:12px 14px;
}
.cart-item .ci-name{font-weight:700;font-size:14.5px}
.cart-item .ci-price{color:var(--muted);font-size:13px;text-align:right}
.cart-item .ci-line{color:var(--orange);font-weight:800;font-size:13.5px;text-align:right;align-self:center}

.ci-qty{display:flex;align-items:center;gap:10px;margin-top:6px}
.ci-qty button{
  width:26px;height:26px;border-radius:8px;
  border:1px solid var(--line);background:transparent;color:var(--text);
  font-size:15px;font-weight:800;line-height:1;cursor:pointer;transition:.2s;
}
.ci-qty button:hover{border-color:var(--orange);color:var(--orange)}
.ci-qty .q{min-width:20px;text-align:center;font-weight:700}

.cart-empty{
  flex:1;display:none;flex-direction:column;
  align-items:center;justify-content:center;gap:6px;
  color:var(--text);font-weight:600;padding:20px;text-align:center;
}
.cart-drawer.is-empty .cart-empty{display:flex}
.cart-drawer.is-empty .cart-items,
.cart-drawer.is-empty .cart-foot{display:none}

.cart-foot{border-top:1px solid var(--line);padding:18px 20px;display:flex;flex-direction:column;gap:12px}
.cart-total{display:flex;justify-content:space-between;align-items:center;font-size:15px}
.cart-total strong{font-size:20px;color:var(--yellow)}

.checkout-btn{width:100%}
.checkout-btn.disabled{
  pointer-events:none;opacity:.45;filter:grayscale(.4);
}
.link-danger{text-align:center}

/* botón flotante */
.cart-fab{
  position:fixed;right:22px;bottom:22px;z-index:80;
  width:56px;height:56px;border-radius:50%;
  background:var(--orange);color:var(--on-accent);
  border:0;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 12px 30px -8px rgba(245,142,39,.55);
  transition:.2s ease;
}
.cart-fab:hover{transform:translateY(-2px)}
.cart-fab .cart-count{
  top:-4px;right:-4px;
  background:var(--bg);color:var(--text);
  border:1.5px solid var(--line);
}