.cart{padding:0;border:0;margin:0 0 0 auto;width:min(420px,100vw);max-width:100vw;height:100dvh;max-height:100dvh;background:var(--light);color:var(--ink);box-shadow:-20px 0 60px -30px rgba(var(--dark-deep-rgb),.6)}.cart[open]{animation:cart-in .28s var(--ease)}@keyframes cart-in{0%{transform:translate(24px);opacity:0}to{transform:none;opacity:1}}.cart-panel{display:flex;flex-direction:column;height:100%;overflow-y:auto;overscroll-behavior:contain}.cart-head{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;padding:16px 18px;background:var(--light);border-bottom:1px solid var(--light-2)}.cart-head h2{font-size:1.25rem;font-stretch:110%}.cart-head-count{font-family:var(--font-mono);font-size:.8rem;color:var(--ink-soft);font-stretch:100%}.cart-x{width:44px;height:44px;display:grid;place-items:center;border-radius:12px;border:1px solid var(--light-2);background:var(--card);color:var(--ink)}.cart-body{padding:14px 18px 4px}.cart-lines{list-style:none;margin:0;padding:0;display:grid;gap:10px}.cart-line{position:relative;display:grid;grid-template-columns:64px 1fr;gap:12px;padding:12px 40px 12px 12px;border-radius:14px;background:var(--card);border:1px solid var(--light-2)}.cart-line img{width:64px;height:64px;border-radius:10px;object-fit:cover;background:var(--media-bg)}.cart-line-info{min-width:0}.cart-line-title{margin:0;font-weight:800;font-family:var(--font-display);font-stretch:115%}.cart-line-variant{margin:2px 0 8px;font-size:.82rem;color:var(--ink-soft);line-height:1.35}.cart-line-foot{display:flex;align-items:center;justify-content:space-between;gap:8px}.cart-qty{display:inline-flex;align-items:center;border:1px solid var(--light-2);border-radius:10px;overflow:hidden}.cart-step{width:36px;height:36px;border:0;background:transparent;font-size:1.1rem;color:var(--ink)}.cart-step:hover{background:var(--light)}.cart-step:disabled{opacity:.35;cursor:not-allowed}.cart-qty-n{min-width:28px;text-align:center;font-weight:700;font-size:.92rem}.cart-line-price{margin:0;font-weight:800;white-space:nowrap}.cart-remove{position:absolute;top:8px;right:8px;width:32px;height:32px;border-radius:9px;border:0;background:transparent;color:var(--ink-soft);font-size:1.2rem}.cart-remove:hover{background:var(--light);color:var(--danger-ink)}.cart-upsell{display:grid;grid-template-columns:56px 1fr auto;gap:10px;align-items:center;margin-top:10px;padding:10px 12px;border-radius:14px;background:var(--dark);color:var(--on-dark)}.cart-upsell img{width:56px;height:56px;border-radius:10px;object-fit:cover}.cart-upsell-title{margin:0;font-weight:700;font-size:.9rem}.cart-upsell-sub{margin:2px 0 0;font-size:.76rem;color:var(--on-dark-soft);line-height:1.35}.cart-upsell-add{min-height:40px;padding:0 14px;border-radius:10px;border:0;background:var(--accent);color:var(--ink);font-weight:800}.cart-empty{display:grid;gap:16px;justify-items:start;padding:24px 0}.cart-empty p{margin:0;color:var(--ink-soft)}.cart-foot{position:sticky;bottom:0;z-index:2;margin-top:8px;padding:14px 18px calc(16px + env(safe-area-inset-bottom));background:var(--light);border-top:1px solid var(--light-2);display:grid;gap:10px}.cart-foot[hidden]{display:none}.cart-sums{margin:0;display:grid;gap:4px}.cart-sums div{display:flex;justify-content:space-between;gap:12px}.cart-sums dt{color:var(--ink-soft)}.cart-sums dd{margin:0;font-weight:800;font-size:1.1rem}.cart-ship dd{font-weight:500;font-size:.86rem;color:var(--ink-soft);text-align:right}.cart-save{border:1px solid var(--light-2);border-radius:12px;background:var(--card)}.cart-save summary{cursor:pointer;padding:11px 14px;font-weight:600;font-size:.9rem;list-style:none;display:flex;justify-content:space-between}.cart-save summary:after{content:"+";font-family:var(--font-mono)}.cart-save[open] summary:after{content:"−"}.cart-save-body{display:grid;gap:6px;padding:0 14px 14px;font-size:.84rem}.cart-save-body input[type=email]{min-height:46px;padding:0 12px;border-radius:10px;border:1.5px solid var(--light-2);background:var(--light);color:var(--ink)}.cart-save-body input[aria-invalid=true]{border-color:var(--danger-ink)}.cart-save-body small{color:var(--ink-soft);line-height:1.4}.cart-consent{display:grid;grid-template-columns:22px 1fr;gap:8px;align-items:start;margin-top:6px;line-height:1.4}.cart-consent input{width:18px;height:18px;margin-top:2px;accent-color:var(--ink)}.cart-error{margin:0;padding:10px 12px;border-radius:10px;background:var(--danger-bg);color:var(--danger-ink);font-size:.86rem;font-weight:600}.cart-pay{min-height:56px}.cart-note{margin:0;font-size:.76rem;color:var(--ink-soft);text-align:center;line-height:1.4}.cart-note--preview{color:var(--notice-ink)}.cart-continue{justify-self:center;border:0;background:transparent;color:var(--ink);text-decoration:underline;font-weight:600;min-height:40px}@media(max-width:520px){.cart{width:100vw;height:fit-content;max-height:92dvh;margin:auto 0 0;border-radius:20px 20px 0 0}.cart[open]{animation:cart-up .28s var(--ease)}.cart-panel{max-height:92dvh;height:auto}.cart-head{border-radius:20px 20px 0 0}}@keyframes cart-up{0%{transform:translateY(30px);opacity:0}to{transform:none;opacity:1}}html.cart-is-open{overflow:hidden}.consent{position:fixed;top:0;left:0;right:0;z-index:2147483000;display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;justify-content:center;padding:10px 16px;background:#16131a;color:#f4f1ea;font:14px/1.4 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;box-shadow:0 2px 12px #00000040}.consent[hidden]{display:none!important}.consent p{margin:0;max-width:640px}.consent a{color:inherit;text-decoration:underline}.consent-actions{display:flex;gap:8px}.consent button{min-width:112px;min-height:40px;padding:8px 14px;border-radius:8px;border:1.5px solid #f4f1ea;background:transparent;color:#f4f1ea;font:600 14px system-ui,-apple-system,Segoe UI,Roboto,sans-serif;cursor:pointer}.consent button[data-consent-choice=granted]{background:#f4f1ea;color:#16131a}.consent-change{margin:24px auto;display:block;padding:10px 16px;border-radius:8px;border:1.5px solid currentColor;background:transparent;color:inherit;font:600 14px system-ui,sans-serif;cursor:pointer}@media(max-width:520px){.consent{font-size:13px;padding:8px 12px}.consent button{min-width:0;flex:1}.consent-actions{width:100%}}
