/* ═══════════════════════════════════════════════════════════════
   components.css  —  Shared UI components
   Toast, Cart drawer, Modal overlay
   ═══════════════════════════════════════════════════════════════ */

/* ── Toast ──────────────────────────────────────────────────── */
.toast,#main-toast,#toast,#inv-toast{
  display:none;position:fixed;bottom:24px;left:50%;transform:translateX(-50%);
  padding:11px 22px;border-radius:var(--radius-sm);
  font-size:12px;font-family:'Space Mono',monospace;
  z-index:9999;white-space:nowrap;
}
.toast.show,#main-toast.show,#inv-toast.show{display:block}
.toast.success,#main-toast.success,#toast.success,#inv-toast.success{background:rgba(22,163,74,0.9);color:#fff;border:1px solid rgba(74,222,128,0.3)}
.toast.error,#main-toast.error,#toast.error,#inv-toast.error{background:rgba(225,29,72,0.9);color:#fff;border:1px solid rgba(251,113,133,0.3)}
.toast.info,#main-toast.info,#toast.info{background:rgba(37,99,235,0.9);color:#fff;border:1px solid rgba(96,165,250,0.3)}

/* ── Cart Drawer ─────────────────────────────────────────────── */
.cart-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,0.7);z-index:600;backdrop-filter:blur(4px)}
.cart-overlay.open{display:block;animation:fade-in .2s ease}
@keyframes fade-in{from{opacity:0}to{opacity:1}}

.cart-drawer{position:fixed;top:0;right:0;bottom:0;width:400px;max-width:92vw;background:var(--bg2);border-left:1px solid var(--border);z-index:700;display:flex;flex-direction:column;transform:translateX(100%);transition:transform .35s var(--ease-out-expo)}
.cart-drawer.open{transform:translateX(0)}
.cart-head{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--border);flex-shrink:0}
.cart-title{font-family:'Orbitron',monospace;font-size:14px;font-weight:700;color:#fff;letter-spacing:.06em}
.cart-close{background:none;border:none;color:var(--muted);cursor:pointer;font-size:20px;padding:4px;line-height:1;transition:color .2s}
.cart-close:hover{color:var(--text)}
.cart-items{flex:1;overflow-y:auto;padding:16px}
.cart-empty{text-align:center;padding:60px 20px;color:var(--muted);font-family:'Space Mono',monospace;font-size:12px;letter-spacing:.1em}
.cart-item{display:flex;gap:14px;align-items:flex-start;padding:14px 0;border-bottom:1px solid var(--border2)}
.cart-item-info{flex:1;min-width:0}
.cart-item-name{font-size:13px;font-weight:500;color:var(--text);margin-bottom:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cart-item-cat{font-size:10px;color:var(--muted);font-family:'Space Mono',monospace;letter-spacing:.08em}
.cart-item-price{font-family:'Orbitron',monospace;font-size:13px;color:var(--red-light);font-weight:700;white-space:nowrap}
.cart-rm{background:none;border:none;color:var(--muted);cursor:pointer;font-size:14px;padding:4px 6px;border-radius:4px;transition:color .15s;margin-left:auto}
.cart-rm:hover{color:var(--red-light)}
.cart-foot{padding:16px 24px;border-top:1px solid var(--border);flex-shrink:0}
.cart-total-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}
.cart-total-label{font-size:12px;color:var(--muted);font-family:'Space Mono',monospace;letter-spacing:.08em}
.cart-total-amount{font-family:'Orbitron',monospace;font-size:20px;font-weight:900;background:linear-gradient(135deg,var(--red-light),var(--orange-light));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.checkout-cta{width:100%;font-family:'Orbitron',monospace;font-size:11px;font-weight:700;letter-spacing:.12em;color:#fff;background:linear-gradient(135deg,var(--purple),var(--red));border:none;padding:13px;cursor:pointer;border-radius:var(--radius-sm);transition:opacity .2s,transform .2s;position:relative;overflow:hidden}
.checkout-cta:hover{opacity:.9;transform:translateY(-1px)}

/* ── Price counter animation ─────────────────────────────────── */
.price-counter-wrap{display:flex;align-items:baseline;gap:4px;margin-bottom:8px}
.price-currency{font-family:'Orbitron',monospace;font-size:22px;font-weight:700;background:linear-gradient(135deg,var(--red-light),var(--orange-light));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.price-counter{font-family:'Orbitron',monospace;font-size:42px;font-weight:900;background:linear-gradient(135deg,var(--red-light),var(--orange-light));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1;transition:opacity .1s;min-width:80px}
.price-quote-big{font-family:'Orbitron',monospace;font-size:28px;font-weight:700;color:var(--muted);line-height:1}
.price-label{font-size:10px;letter-spacing:.2em;color:var(--muted);text-transform:uppercase;font-family:'Space Mono',monospace;margin-bottom:8px}

/* shop-specific cart extensions (qty control, icon) */
.cart-item-icon{width:44px;height:44px;border-radius:var(--radius-sm);background:var(--bg3);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0}
.cart-item-qty{display:flex;align-items:center;gap:6px;margin-top:6px}
.qty-btn{background:var(--bg3);border:1px solid var(--border);color:var(--text2);width:22px;height:22px;border-radius:4px;cursor:pointer;font-size:14px;display:flex;align-items:center;justify-content:center;transition:all .15s;flex-shrink:0}
.qty-btn:hover{border-color:var(--purple-light);color:var(--purple-light)}
.qty-val{font-family:'Space Mono',monospace;font-size:12px;min-width:20px;text-align:center}
