#cart-overlay { position:fixed; inset:0; background:rgba(0,0,0,0.55); z-index:80; opacity:0; pointer-events:none; transition:opacity .3s; }
#cart-overlay.open { opacity:1; pointer-events:auto; }
#cart-drawer { position:fixed; top:0; right:0; height:100%; width:420px; max-width:90vw;
  background:#0a0a0a; z-index:85; transform:translateX(100%); transition:transform .35s ease;
  display:flex; flex-direction:column; }
#cart-drawer.open { transform:translateX(0); }
.cart-h { display:flex; justify-content:space-between; align-items:center; padding:28px 28px 20px; border-bottom:1px solid var(--line); }
.cart-h h3 { font-family:var(--display); font-weight:500; font-size:18px; }
.cart-close { background:none; border:none; color:var(--text); font-size:26px; cursor:pointer; line-height:1; }
#cart-items { flex:1; overflow-y:auto; padding:8px 28px; }
.cart-empty { padding:40px 0; text-align:center; color:var(--muted); font-size:14px; }
.citem { display:flex; gap:16px; padding:20px 0; border-bottom:1px solid var(--line); }
.ci-thumb { width:60px; height:60px; background:#141414; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.ci-thumb svg { width:70%; height:70%; }
.ci-name  { font-size:14px; margin-bottom:4px; }
.ci-var   { font-size:11px; color:var(--muted); letter-spacing:0.1em; text-transform:uppercase; }
.ci-bot   { display:flex; justify-content:space-between; align-items:center; margin-top:10px; font-size:14px; }
.ci-qty   { display:flex; align-items:center; gap:10px; }
.ci-qty button { background:none; border:none; color:var(--text); font-size:18px; cursor:pointer; padding:0 4px; }
.ci-rm    { display:block; font-size:11px; letter-spacing:0.1em; text-transform:uppercase; color:var(--muted); cursor:pointer; margin-top:8px; }
.ci-rm:hover { color:var(--text); }
.cart-foot { padding:20px 28px 32px; border-top:1px solid var(--line); }
.cart-foot .sub { display:flex; justify-content:space-between; font-size:15px; margin-bottom:10px; }
.cart-foot .note { font-size:12px; color:var(--muted); margin-bottom:20px; }
.cart-foot .btn { width:100%; justify-content:center; }

/* Toast */
.toast { position:fixed; bottom:26px; left:50%; transform:translateX(-50%) translateY(20px);
  background:var(--text); color:var(--bg); padding:12px 24px; font-size:12px;
  letter-spacing:0.1em; text-transform:uppercase; opacity:0; transition:all .3s; pointer-events:none; z-index:100; white-space:nowrap; }
.toast.show { opacity:1; transform:translateX(-50%) translateY(0); }
