html.cart-drawer-open{overflow:hidden}
#cart-drawer{position:fixed;inset:0 0 0 auto;margin:0;width:min(480px,100%);max-width:100%;height:100%;height:100dvh;max-height:100dvh;padding:0;border:0;border-radius:0;color:var(--ink);background:#fff;box-shadow:-10px 0 45px #0002}
#cart-drawer[open]{display:flex;flex-direction:column;animation:drawer-in .2s ease-out}
#cart-drawer::backdrop{background:#18263880}
.drawer-header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 24px;border-bottom:1px solid #dce0e4;flex-shrink:0}
.drawer-header h2{font-size:24px;margin:0}
.drawer-close{border:0;font-size:30px;width:44px;height:44px;line-height:1}
.drawer-body{overflow:auto;flex:1;padding:0 24px 24px;overscroll-behavior:contain}
.drawer-item{display:grid;grid-template-columns:90px minmax(0,1fr);gap:18px;padding:24px 0;border-bottom:1px solid #dce0e4}
.drawer-item img{width:90px;height:115px;object-fit:contain}
.drawer-item h3{font-size:16px;margin:0 0 8px;line-height:1.4}
.drawer-item p{font-size:14px;margin:6px 0}
.drawer-item label{margin:12px 0 4px}
.drawer-quantity{display:flex;align-items:center;gap:18px}
.drawer-quantity input{width:82px;padding:8px!important}
.drawer-quantity button{border:0;text-decoration:underline;font-size:14px;padding:10px 0}
.drawer-summary{padding-top:24px}.drawer-summary p{font-size:14px}.drawer-summary .drawer-subtotal{display:flex;justify-content:space-between;font-size:20px;gap:16px}
.drawer-summary .button{width:100%;min-height:48px}.drawer-summary .text-link{display:block;text-align:center}
.drawer-empty{padding:40px 0;text-align:center}.drawer-message{margin:0;padding:12px 24px;font-size:14px}.drawer-message:empty{display:none}
@keyframes drawer-in{from{transform:translateX(100%)}to{transform:translateX(0)}}
@media(prefers-reduced-motion:reduce){#cart-drawer[open]{animation:none}}
