/* ===== SHARED CART DRAWER + overlay (uses tokens from page :root / vzn.css) ===== */
.cart-overlay{
  position:fixed;inset:0;background:rgba(8,14,22,.5);backdrop-filter:blur(2px);
  opacity:0;visibility:hidden;transition:.25s;z-index:90;
}
.cart-overlay.show{opacity:1;visibility:visible}

.cart-drawer{
  position:fixed;top:0;right:0;height:100%;width:380px;max-width:92vw;z-index:95;
  background:var(--panel,#fff);box-shadow:-18px 0 50px rgba(8,14,22,.28);
  display:flex;flex-direction:column;transform:translateX(100%);transition:transform .28s cubic-bezier(.16,1,.3,1);
}
.cart-drawer.show{transform:translateX(0)}
.cart-head{display:flex;align-items:center;gap:10px;padding:20px 22px;border-bottom:1px solid var(--line,#e6e9f2)}
.cart-head h3{font-family:'Sora',sans-serif;font-size:18px;letter-spacing:-.4px;margin:0}
.cart-head .cc{font-size:12px;font-weight:800;color:var(--teal-deep,#08919e);background:rgba(6,214,196,.12);border-radius:999px;padding:3px 9px}
.cart-head .x{margin-left:auto;width:34px;height:34px;border-radius:9px;border:1px solid var(--line,#e6e9f2);background:#fff;cursor:pointer;display:grid;place-items:center;color:var(--ink-2,#5a6377);font-size:18px;transition:.13s}
.cart-head .x:hover{background:#f3f6fa;color:var(--ink,#10131c)}

.cart-items{flex:1;overflow-y:auto;padding:14px 18px;display:flex;flex-direction:column;gap:10px}
.cart-empty{text-align:center;color:var(--ink-3,#8593a8);font-size:14px;padding:50px 20px;line-height:1.6}
.cart-empty svg{display:block;margin:0 auto 14px;color:var(--line-2,#cdd6e3)}

.ci-row{display:flex;align-items:center;gap:12px;background:var(--bg-2,#f3f6fa);border:1px solid var(--line,#e6e9f2);border-radius:12px;padding:11px}
.ci-row .ci-ic{width:42px;height:42px;border-radius:10px;flex:none;display:grid;place-items:center;color:#04282b;font-family:'Sora',sans-serif;font-weight:800;font-size:18px;background:linear-gradient(135deg,var(--teal,#06d6c4),var(--teal-2,#0bb6d6))}
.ci-row .ci-mid{flex:1;min-width:0}
.ci-row .ci-nm{font-weight:700;font-size:13.5px;color:var(--ink,#10131c);line-height:1.25}
.ci-row .ci-qty{font-size:12px;color:var(--ink-2,#5a6377);margin-top:3px}
.ci-row .ci-pr{font-family:'Sora',sans-serif;font-weight:800;font-size:15px;color:var(--ink,#10131c)}
.ci-row .ci-rm{background:none;border:none;cursor:pointer;color:var(--ink-3,#8593a8);font-size:13px;padding:4px;transition:.13s;display:grid;place-items:center}
.ci-row .ci-rm:hover{color:var(--hot,#ff5d73)}

.cart-foot{border-top:1px solid var(--line,#e6e9f2);padding:18px 22px;background:linear-gradient(180deg,#fff,var(--bg-2,#f7f9fc))}
.cart-sub{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:4px}
.cart-sub .l{font-size:13px;color:var(--ink-2,#5a6377);font-weight:600}
.cart-sub .v{font-family:'Sora',sans-serif;font-weight:800;font-size:24px;color:var(--ink,#10131c);letter-spacing:-.5px}
.cart-foot .note{font-size:11.5px;color:var(--ink-3,#8593a8);margin-bottom:14px}
.cart-foot .co-btn{width:100%;background:linear-gradient(135deg,var(--teal,#06d6c4),var(--teal-2,#0bb6d6));color:#04282b;font-weight:800;font-size:14.5px;border:none;border-radius:11px;padding:14px;cursor:pointer;transition:.14s;font-family:inherit}
.cart-foot .co-btn:hover{transform:translateY(-1px)}
.cart-foot .co-btn[disabled]{opacity:.55;cursor:not-allowed;transform:none}
.cart-foot .cont{display:block;text-align:center;margin-top:10px;font-size:12.5px;font-weight:600;color:var(--ink-2,#5a6377);text-decoration:none;cursor:pointer}
.cart-foot .cont:hover{color:var(--teal-deep,#08919e)}
.cart-foot .co-btn.co-mini{font-size:13px;padding:11px;margin-bottom:7px;background:var(--slate,#142235);color:#fff}
.cart-foot .co-btn.co-mini:hover{background:var(--slate-2,#1c2f47);transform:none}

/* toast */
.cart-toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%) translateY(20px);z-index:100;background:var(--slate,#142235);color:#fff;font-size:13.5px;font-weight:600;padding:12px 18px;border-radius:11px;box-shadow:0 12px 30px rgba(0,0,0,.3);opacity:0;visibility:hidden;transition:.22s;display:flex;align-items:center;gap:9px}
.cart-toast.show{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}
.cart-toast svg{color:var(--teal,#06d6c4)}

/* ===== d1 price slider (invisible native range over the visual track) ===== */
.rail .frow{position:relative}
.rail .prng{-webkit-appearance:none;appearance:none;position:absolute;left:16px;right:16px;width:calc(100% - 32px);top:22px;height:18px;margin:0;background:transparent;cursor:pointer;z-index:4}
.rail .prng:focus{outline:none}
.rail .prng::-webkit-slider-runnable-track{background:transparent;height:18px}
.rail .prng::-webkit-slider-thumb{-webkit-appearance:none;width:20px;height:20px;border-radius:50%;background:transparent;cursor:grab}
.rail .prng::-moz-range-track{background:transparent;height:18px}
.rail .prng::-moz-range-thumb{width:20px;height:20px;border:0;background:transparent;cursor:grab}
