.overlay{position:fixed;inset:0;background:var(--scrim);z-index:40;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .18s}.overlay.show{opacity:1;visibility:visible;pointer-events:auto}.cart{position:fixed;top:var(--cart-top,0px);right:0;height:calc(100vh - var(--cart-top,0px));width:400px;max-width:92vw;z-index:51;background:var(--panel);border-left:1px solid var(--line);display:flex;flex-direction:column;transform:translateX(100%);transition:transform .22s ease,box-shadow .22s ease;box-shadow:none}.cart.show{transform:translateX(0);box-shadow:var(--shadow-3)}.cart.cart-g{top:var(--cart-top,66px);height:calc(100% - var(--cart-top,66px))}.cart-head{display:flex;align-items:center;justify-content:space-between;padding:20px;border-bottom:1px solid var(--line)}.cart-head h3{margin:0;font-size:18px;color:var(--text)}.cart-head .x{background:none;border:none;color:var(--muted);font-size:24px;cursor:pointer;line-height:1}.cart-body{flex:1;overflow:auto;padding:14px 20px;display:flex;flex-direction:column;gap:10px}.cart-row{display:flex;align-items:center;gap:12px}.cart-row img{width:72px;height:34px;object-fit:cover;border-radius:var(--radius);background:var(--panel-2);flex:0 0 auto}.cart-row .nm{flex:1;min-width:0;font-size:13.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text)}.cart-row .pr{font-weight:800;color:var(--text)}.cart-row .rm{background:none;border:none;color:var(--muted);font-size:18px;cursor:pointer;line-height:1}.cart-empty{color:var(--muted);text-align:center;padding:40px 0}.cart-foot{padding:18px 20px;border-top:1px solid var(--line)}.cart-foot .totrow{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:6px}.cart-foot .totrow .t{font-size:22px;font-weight:800}.cart-foot .savings{color:var(--info-ink);background:var(--cyan-tint);border:1px solid var(--cyan-edge);border-radius:var(--radius);padding:8px 12px;text-align:center;font-weight:700;font-size:12.5px;margin-bottom:10px}.cart-foot .combo{color:var(--text);background:linear-gradient(135deg,var(--violet-edge),var(--cyan-tint));border:1px solid var(--violet-edge);border-radius:var(--radius);padding:9px 12px;text-align:center;font-weight:700;font-size:12.5px;margin-bottom:10px}.cart-foot .after{color:var(--muted);font-size:12.5px;margin-bottom:14px}.cart-foot .pay{width:100%;border:none;border-radius:var(--radius);padding:14px;font-family:var(--font-display);text-transform:uppercase;letter-spacing:.05em;font-weight:700;font-size:18px;color:var(--on-accent);cursor:pointer;background:var(--grad-btn)}.cart-foot .pay:hover{filter:brightness(1.08)}.cart-foot .pay:disabled{opacity:.5;cursor:default;filter:none}.cart-foot .pay.pay-autobuy{background:var(--grad-ok)}.cart-foot .pay.pay-autobuy:hover{filter:brightness(1.08)}.cart-ack{display:flex;gap:9px;align-items:flex-start;margin-bottom:12px;font-size:12px;line-height:1.45;color:var(--muted);background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:10px 12px;cursor:pointer}.cart-ack input{margin-top:1px;flex:0 0 auto;width:16px;height:16px;accent-color:var(--violet);cursor:pointer}.cart-ack b{color:var(--text)}.cart-ack a{color:var(--info-ink)}.cart-ack.shake{animation:ackshake .45s;border-color:var(--red)}@keyframes ackshake{0%,100%{transform:translateX(0)}20%,60%{transform:translateX(-5px)}40%,80%{transform:translateX(5px)}}.cart-breakdown{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:10px 12px;margin-bottom:12px;display:flex;flex-direction:column;gap:6px;font-size:12.5px}.cart-bd-row{display:flex;justify-content:space-between;align-items:center;color:var(--muted)}.cart-bd-row b{color:var(--text);font-weight:700}.cart-bd-row.disc,.cart-bd-row.disc b{color:var(--ok-ink)}.cart-bd-row.tot{border-top:1px solid var(--line);padding-top:6px;font-size:14px;font-weight:800;color:var(--text)}.cart-bd-row.tot b{font-size:16px;color:var(--text)}.cart-bd-row.bal,.cart-bd-row.bal b{color:var(--link)}.cart-bd-row.rec{border-top:1px dashed var(--line);padding-top:6px;color:var(--text);font-weight:700}.cart-bd-row.rec b.cyan{color:var(--info-ink);font-size:14px}@media (max-width:720px){.cart{width:100%;max-width:none;top:0;height:calc(100dvh - var(--bnav-h,56px))}.cart.cart-g{top:60px;height:calc(100dvh - 60px - var(--bnav-h,56px))}}.cart-coupon{display:flex;gap:8px;margin:10px 0 6px}.cart-coupon .cp-input{flex:1;min-width:0;background:var(--panel2);border:1px solid var(--line);border-radius:var(--radius);padding:9px 12px;color:var(--text);font-size:13.5px;outline:none}.cart-coupon .cp-input:focus{border-color:var(--cyan)}.cart-coupon .cp-apply{background:var(--panel2);border:1px solid var(--line);border-radius:var(--radius);padding:9px 16px;color:var(--text);font-weight:700;font-size:13px;cursor:pointer;transition:border-color .15s,background .15s}.cart-coupon .cp-apply:hover{border-color:var(--cyan)}.cart-coupon.on{align-items:center;justify-content:space-between;background:linear-gradient(135deg,var(--cyan-tint),var(--violet-tint));border:1px solid var(--cyan-edge);border-radius:var(--radius);padding:9px 12px}.cart-coupon.on .cp-tag{font-size:13px;color:var(--info-ink)}.cart-coupon.on .cp-tag b{color:var(--on-accent);letter-spacing:.3px}.cart-coupon .cp-remove{background:none;border:none;color:var(--muted);font-size:12.5px;font-weight:600;cursor:pointer;text-decoration:underline;text-underline-offset:2px}.cart-coupon .cp-remove:hover{color:var(--text)}.cp-msg{font-size:12px;margin:2px 0 6px;min-height:0}