body.cart-drawer-open{overflow:hidden}
.cart-drawer{position:fixed;inset:0 0 0 auto;margin:0;padding:0;width:min(480px,100vw);max-width:100vw;height:100%;height:100dvh;max-height:100dvh;border:0;border-radius:24px 0 0 24px;background:var(--cream);color:var(--ink);box-shadow:-12px 0 60px #29263a24;overflow:hidden}
.cart-drawer[open]{display:flex;flex-direction:column}
.cart-drawer::backdrop{background:#211b3a66;backdrop-filter:blur(3px)}
.drawer-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:26px 26px 22px;border-bottom:1px solid var(--line);flex-shrink:0}
.drawer-heading .eyebrow{font-size:10px;margin:0 0 8px}
.drawer-heading h2{font-size:29px;letter-spacing:-.04em}
.drawer-count{font-size:15px;color:var(--muted);font-weight:400;letter-spacing:0;margin-left:8px}
.drawer-close{width:44px;height:44px;flex:0 0 44px;display:grid;place-content:center;border:1px solid var(--line);border-radius:50%;font-size:28px;line-height:1;background:#fff;color:var(--ink)}
.drawer-scroll{overflow-y:auto;overscroll-behavior:contain;flex:1;min-height:0;padding:20px 26px max(24px,env(safe-area-inset-bottom))}
.drawer-status{font-size:13px;margin:0 0 16px;color:var(--purple)}
.drawer-status:empty{display:none}
.drawer-status[data-error="true"]{color:#a12626;background:#fff0ef;padding:12px;border-radius:10px}
.drawer-status a{display:block;text-decoration:underline;margin-top:5px}
.drawer-item{display:grid;grid-template-columns:76px minmax(0,1fr);gap:16px;padding:18px 0;border-bottom:1px solid var(--line)}
.drawer-item:first-child{padding-top:0}
.drawer-photo{display:block;width:76px;height:76px;background:#eeebfb;border-radius:14px;padding:4px}
.drawer-photo img{width:100%;height:100%;object-fit:contain}
.drawer-item h3{font-size:18px;line-height:1.3;letter-spacing:-.025em}
.drawer-item p{font-size:12px;margin:5px 0 12px}
.drawer-item form{display:flex;align-items:center;flex-wrap:wrap;gap:8px}
.drawer-item input[type="number"]{width:80px;min-height:38px;border:1px solid var(--line);border-radius:8px;background:white;padding:6px 8px}
.cart-drawer .small-button{min-height:38px;font-size:12px;padding:7px 10px}
.cart-drawer .remove-button{font-size:12px;min-height:34px}
.drawer-volume{font-size:12px;line-height:1.6;margin:17px 0 24px}
.drawer-summary{background:#eeebf6;border-radius:18px;padding:20px}
.drawer-summary label{font-size:13px;font-weight:600}
.drawer-country-row{display:flex;gap:8px;margin:5px 0 20px}
.drawer-country-row select{min-width:0;flex:1;border:1px solid var(--line);border-radius:8px;background:white;padding:8px;font-size:13px}
.drawer-summary .summary-row.total{font-size:23px;margin-bottom:8px}
.drawer-tax{font-size:11px;margin:0}
.drawer-summary .notice{font-size:13px;margin:16px 0 0}
.drawer-actions{position:sticky;bottom:-24px;background:var(--cream);padding:20px 0 max(8px,env(safe-area-inset-bottom));margin-bottom:-8px;display:grid;gap:7px}
.drawer-actions .button{justify-content:center;border-radius:12px;min-height:52px}
.drawer-continue{border:0;background:transparent;color:var(--ink);padding:12px;font-weight:600;font-size:13px}
.drawer-empty{text-align:center;padding:35px 4px}
.drawer-empty>span{display:block;font-size:64px;line-height:1.3;color:var(--purple)}
.drawer-empty h3{font-size:27px;margin:15px 0}
.drawer-empty p{font-size:14px}
.drawer-content[aria-busy="true"]{opacity:.6;pointer-events:none}
@media(max-width:480px){.cart-drawer{border-radius:0;width:100vw}.drawer-heading{padding:20px}.drawer-scroll{padding:18px 20px max(24px,env(safe-area-inset-bottom))}.drawer-heading h2{font-size:27px}.drawer-item{gap:12px;grid-template-columns:64px minmax(0,1fr)}.drawer-photo{width:64px;height:64px}.drawer-summary{padding:17px}}
@media(prefers-reduced-motion:reduce){.cart-drawer[open]{animation:none}}
