html.has-cart-drawer{overflow:hidden}
.cart-drawer{position:fixed;inset:0 0 0 auto;width:min(460px,100%);height:100dvh;max-width:100%;max-height:100dvh;margin:0;padding:0;border:0;background:#fff;color:#34383b;box-shadow:-12px 0 50px #192b3b26;overflow:hidden}
.cart-drawer[open]{display:flex;flex-direction:column}
.cart-drawer::backdrop{background:#18232b70}
.cart-drawer-header{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:24px;border-bottom:1px solid #e7ebed;flex-shrink:0}
.cart-drawer-eyebrow{font-size:11px;letter-spacing:.1em;font-weight:700;color:#008bbb}
.cart-drawer-header h2{font-size:25px;line-height:1.3;margin-top:5px;letter-spacing:-.03em}
.cart-drawer-header h2 span{font-size:15px;font-weight:500;color:#6d7379;margin-left:6px}
.cart-drawer-close{display:grid;place-items:center;width:42px;height:42px;border:1px solid #e3e7e9;border-radius:50%;background:#fff;font-size:28px;line-height:1;color:#34383b}
.cart-drawer-body{padding:0 24px;flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain}
.drawer-item{display:grid;grid-template-columns:84px minmax(0,1fr);gap:16px;padding:22px 0;border-bottom:1px solid #edf0f2}
.drawer-item-image{display:block;align-self:start;border:1px solid #edf0f2;border-radius:9px;padding:6px;background:#fff}
.drawer-item-image img{width:100%;height:88px;object-fit:contain}
.drawer-item h3{font-size:16px;line-height:1.45;letter-spacing:-.02em;margin:0 0 4px}
.drawer-item-meta{font-size:13px;color:#737c82;line-height:1.5}
.drawer-item-price{display:block;font-size:17px;margin:8px 0 10px;line-height:1.4}
.drawer-item-controls{display:flex;justify-content:space-between;align-items:center;gap:8px}
.drawer-quantity{display:flex;align-items:center;border:1px solid #dae2e7;border-radius:7px;overflow:hidden}
.drawer-quantity button{width:34px;height:36px;border:0;background:#f5f8fa;font-size:20px;padding:0}
.drawer-quantity button:disabled{opacity:.35;cursor:default}
.drawer-quantity input{width:44px;min-width:0;height:36px;min-height:0;border:0;background:#fff;text-align:center;padding:0;margin:0;font-size:14px;appearance:textfield;-moz-appearance:textfield}
.drawer-quantity input::-webkit-inner-spin-button,.drawer-quantity input::-webkit-outer-spin-button{appearance:none;margin:0}
.drawer-remove{padding:6px 0;border:0;background:transparent;color:#737c82;font-size:13px;text-decoration:underline;text-underline-offset:3px}
.drawer-remove:hover{color:#ed0033}
.cart-drawer-footer{flex-shrink:0;padding:20px 24px max(20px,env(safe-area-inset-bottom));border-top:1px solid #e3e9ed;background:#f8fafb}
.cart-drawer-footer[hidden]{display:none}
.drawer-total{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:15px;font-size:16px}
.drawer-total strong{font-size:23px;letter-spacing:-.02em}
.cart-drawer-footer .button{width:100%;background:#ed0033;color:#fff;border:0;min-height:46px;font-size:15px}
.drawer-continue{display:block;width:100%;border:0;background:transparent;color:#53616a;padding:12px 0 0;font-size:14px}
.drawer-empty{display:flex;min-height:300px;height:100%;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:16px;padding:30px 4px}
.drawer-empty>svg{width:60px;height:60px;stroke:#009edb}
.drawer-empty h3{font-size:23px;line-height:1.3}
.drawer-empty p{font-size:15px;line-height:1.6;color:#68757e;max-width:310px}
.drawer-empty .button{background:#ed0033;color:#fff}
.cart-drawer :focus-visible{outline:2px solid #00a2df;outline-offset:2px}
@media(max-width:480px){.cart-drawer-header{padding:18px}.cart-drawer-body{padding:0 18px}.cart-drawer-footer{padding:16px 18px max(16px,env(safe-area-inset-bottom))}.drawer-item{gap:12px;grid-template-columns:74px minmax(0,1fr);padding:18px 0}.drawer-item-image img{height:78px}}
