/* ═══════════════════════════════════════════════
   Panda Dorf — Cart drawer & product add-to-cart
   ═══════════════════════════════════════════════ */
.cart-toggle{
  position:relative;
  background:none;border:none;cursor:pointer;
  padding:6px;margin-left:8px;
  color:var(--ink-60);
  display:flex;align-items:center;
  transition:color .4s ease;
}
.cart-toggle:hover{color:var(--ink)}
.cart-toggle svg{width:22px;height:22px;display:block}
.cart-count{
  position:absolute;top:-3px;right:-5px;
  min-width:16px;height:16px;padding:0 4px;
  background:var(--accent);color:var(--paper);
  font-family:var(--font-sans);font-size:9px;font-weight:400;
  border-radius:8px;display:flex;align-items:center;justify-content:center;
}

/* Product add-to-cart button */
.product-add{
  margin-top:18px;
  font-family:var(--font-sans);
  font-size:11px;font-weight:400;
  letter-spacing:0.18em;text-transform:uppercase;
  color:var(--paper);
  background:var(--ink);
  padding:13px 32px;
  border:none;cursor:pointer;
  transition:background .4s ease,transform .3s ease;
}
.product-add:hover{background:var(--accent);transform:translateY(-2px)}
.product-add.added{background:var(--accent)}

/* Drawer */
.cart-overlay{
  position:fixed;inset:0;
  background:rgba(26,24,20,0.42);
  z-index:1990;
  opacity:0;pointer-events:none;
  transition:opacity .45s ease;
}
.cart-overlay.open{opacity:1;pointer-events:auto}
.cart-drawer{
  position:fixed;top:0;right:0;
  height:100%;width:420px;max-width:90vw;
  background:var(--paper);
  z-index:2000;
  display:flex;flex-direction:column;
  transform:translateX(100%);
  transition:transform .55s cubic-bezier(.22,1,.36,1);
  box-shadow:-24px 0 70px rgba(26,24,20,.18);
}
.cart-drawer.open{transform:translateX(0)}
.cart-head{
  display:flex;align-items:center;justify-content:space-between;
  padding:28px 32px 20px;
  border-bottom:1px solid var(--ink-08);
}
.cart-title{font-family:var(--font-display);font-size:24px;font-weight:400;letter-spacing:.02em}
.cart-close{
  background:none;border:none;cursor:pointer;
  font-size:26px;line-height:1;color:var(--ink-60);
  transition:color .3s ease;
}
.cart-close:hover{color:var(--accent)}
.cart-items{
  flex:1;overflow-y:auto;
  padding:24px 32px;
}
.cart-empty{
  text-align:center;color:var(--ink-30);
  font-family:var(--font-display);font-size:22px;font-weight:300;
  margin-top:60px;line-height:1.6;
}
.cart-empty span{display:block;font-family:var(--font-sans);font-size:13px;color:var(--ink-30);margin-top:10px;letter-spacing:.04em}
.cart-item{
  display:flex;gap:16px;
  padding:20px 0;
  border-bottom:1px solid var(--ink-08);
}
.cart-item-img{width:64px;height:80px;object-fit:cover;background:var(--cream-alt);flex-shrink:0}
.cart-item-info{flex:1;min-width:0}
.cart-item-name{font-family:var(--font-display);font-size:18px;font-weight:400}
.cart-item-sub{font-size:11px;color:var(--ink-60);letter-spacing:.04em;margin:4px 0 8px;line-height:1.5}
.cart-item-price{font-size:13px;color:var(--ink);margin-bottom:10px}
.cart-qty{display:inline-flex;align-items:center;gap:14px;border:1px solid var(--ink-08);padding:4px 12px}
.cart-qty button{background:none;border:none;cursor:pointer;font-size:15px;color:var(--ink);line-height:1}
.cart-qty span{font-size:13px;min-width:14px;text-align:center}
.cart-item-remove{
  background:none;border:none;cursor:pointer;
  font-size:20px;color:var(--ink-30);align-self:flex-start;
  transition:color .3s ease;
}
.cart-item-remove:hover{color:var(--accent)}
.cart-foot{padding:24px 32px 32px;border-top:1px solid var(--ink-08)}
.cart-subtotal-row{display:flex;justify-content:space-between;align-items:baseline;font-family:var(--font-display);font-size:20px;font-weight:400}
.cart-subtotal-row span:last-child{color:var(--accent)}
.cart-note{font-size:11px;color:var(--ink-30);margin:10px 0 18px;letter-spacing:.04em}
.cart-checkout-btns.loading .cart-checkout{opacity:.6;pointer-events:none}
.cart-checkout{
  width:100%;
  font-family:var(--font-sans);font-size:12px;font-weight:400;
  letter-spacing:.2em;text-transform:uppercase;
  color:var(--paper);background:var(--ink);
  padding:16px;border:none;cursor:pointer;
  transition:background .4s ease;
}
.cart-checkout:hover{background:var(--accent)}

@media(max-width:768px){
  .cart-drawer{width:100%;max-width:100%}
  .cart-toggle{margin-left:4px}
}
