.cart-drawer{position:fixed;inset:0 0 0 auto;margin:0;border:0;border-left:1px solid var(--line);width:min(540px,100vw);max-width:100vw;height:100dvh;max-height:100dvh;padding:0;background:var(--paper,#f8f5ee);color:var(--ink);display:none;flex-direction:column;box-shadow:-16px 0 60px #2b21151a;overflow:hidden}
.cart-drawer[open]{display:flex;animation:cart-slide-in .22s ease-out}
.cart-drawer::backdrop{background:rgb(35 25 18 / .35)}
.cart-drawer-header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:28px 30px 20px;flex:none}
.cart-drawer-kicker{font-size:10px;letter-spacing:.18em;color:var(--accent);margin-bottom:5px}
.cart-drawer h2{font-family:Display,serif;font-size:38px;line-height:1.1;margin:0}
.cart-drawer-close{border:1px solid var(--line);border-radius:50%;background:transparent;color:var(--ink);font-size:29px;width:44px;height:44px;flex:none;cursor:pointer}
.cart-drawer-status{font-size:14px;color:#326747;padding:0 30px;flex:none;min-height:21px;margin:0 0 8px}
.cart-drawer-scroll{overflow-y:auto;overscroll-behavior:contain;padding:0 30px;flex:1;min-height:70px}
.cart-drawer-row{display:grid;grid-template-columns:96px minmax(0,1fr);gap:18px;border-bottom:1px solid var(--line);padding:20px 0}
.cart-drawer-row img{width:96px;height:112px;object-fit:cover;border-radius:9px}
.cart-drawer-product{font-family:Display,serif;font-size:23px;line-height:1.15;text-decoration:none;display:block}
.cart-drawer-variant{font-size:13px;color:var(--muted);margin-top:7px;line-height:1.4}
.cart-drawer-price{font-size:13px;margin-top:5px}
.cart-drawer-controls{display:grid;grid-template-columns:1fr auto;align-items:end;gap:8px 12px;margin-top:12px}
.cart-drawer-controls label{font-size:11px;display:grid;gap:4px}.cart-drawer-controls input{width:72px;height:40px;padding:6px 9px;border:1px solid var(--line);border-radius:7px;background:#fff;font:inherit;font-size:16px;color:var(--ink)}
.cart-drawer-controls strong{font-size:16px;padding-bottom:8px;white-space:nowrap}.cart-drawer-controls button{grid-column:1/-1;justify-self:start;background:none;border:0;text-decoration:underline;text-underline-offset:3px;color:var(--muted);font:inherit;font-size:12px;min-height:32px;padding:0;cursor:pointer}
.cart-drawer-footer{padding:20px 30px 24px;border-top:1px solid var(--line);flex:none}.cart-drawer-total{display:flex;justify-content:space-between;align-items:center;gap:15px;font-size:14px}.cart-drawer-total strong{font-size:23px;white-space:nowrap}.cart-drawer-shipping{font-size:12px;color:var(--muted);margin:4px 0 18px}.cart-drawer-checkout{width:100%;justify-content:space-between;min-height:52px;font-size:16px}.cart-drawer-continue{width:100%;min-height:42px;border:0;background:transparent;text-decoration:underline;text-underline-offset:4px;color:var(--ink);font:inherit;font-size:14px;cursor:pointer;margin-top:6px}.cart-drawer-explanation{font-size:12px;line-height:1.55;color:var(--muted);margin-top:12px}.cart-drawer-empty{text-align:center;padding:35px 0}.cart-drawer-empty p{font-family:Display,serif;font-size:27px;margin-bottom:24px}.cart-drawer [hidden]{display:none!important}.cart-drawer :focus-visible{outline:2px solid var(--accent);outline-offset:3px}
@keyframes cart-slide-in{from{transform:translateX(100%)}to{transform:translateX(0)}}
@media(max-width:700px){.cart-drawer{inset:auto 0 0;width:100%;height:90dvh;max-height:90dvh;border:0;border-radius:22px 22px 0 0}.cart-drawer[open]{animation-name:cart-slide-up}.cart-drawer-header{padding:20px 20px 14px}.cart-drawer h2{font-size:32px}.cart-drawer-status{padding-inline:20px}.cart-drawer-scroll{padding-inline:20px}.cart-drawer-footer{padding:16px 20px max(16px,env(safe-area-inset-bottom))}.cart-drawer-row{grid-template-columns:76px minmax(0,1fr);gap:14px;padding:16px 0}.cart-drawer-row img{width:76px;height:92px}.cart-drawer-product{font-size:21px}.cart-drawer-explanation{font-size:11px;margin-top:8px}.cart-drawer-shipping{margin-bottom:12px}}
@keyframes cart-slide-up{from{transform:translateY(100%)}to{transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.cart-drawer[open]{animation:none}}
@media(max-height:560px){.cart-drawer{overflow-y:auto}.cart-drawer-scroll{flex:none;overflow:visible;min-height:0}.cart-drawer-footer{flex:none}.cart-drawer-header{padding-top:16px;padding-bottom:12px}}
