.cart-overlay{position:fixed;inset:0;background:#0008;z-index:400;opacity:0;transition:opacity .3s}
.cart-overlay.is-open{opacity:1}
.cart{position:fixed;top:0;right:0;bottom:0;width:min(420px,100%);background:#fff;z-index:401;display:flex;flex-direction:column;transform:translateX(100%);transition:transform .35s ease}
.cart.is-open{transform:none}
.cart__head{display:flex;justify-content:space-between;align-items:center;padding:22px 24px;border-bottom:1px solid var(--divider-col)}
.cart__lines{flex:1;overflow:auto;overscroll-behavior:contain;padding:8px 24px}
.line{display:grid;grid-template-columns:76px 1fr auto;gap:16px;padding:18px 0;border-bottom:1px solid var(--divider-col)}
.line img{width:76px;height:76px;object-fit:contain;background:var(--product-bg)}
.line h3{font-size:13px;text-transform:uppercase;font-weight:500;color:rgb(var(--heading-color))}
.line h3 a:hover{text-decoration:underline}
.line p{margin:2px 0 8px;font-size:13px}
.qty{display:inline-flex;border:1px solid var(--input-border-color)}
.qty button,.qty span{width:30px;height:30px;display:grid;place-items:center;font-size:14px}
.qty button:hover:not(:disabled){background:var(--product-bg)}.qty button:disabled{opacity:.3;cursor:default}
.line__r{text-align:right;display:flex;flex-direction:column;justify-content:space-between;align-items:flex-end}
.line__rm{font-size:12px;text-decoration:underline}.line__rm:hover{color:rgb(var(--heading-color))}
.cart__lines .empty{padding:60px 0}
.cart__foot{padding:20px 24px 24px;border-top:1px solid var(--divider-col)}
.cart__sub{display:flex;justify-content:space-between;margin-bottom:16px;font-size:16px}
.cart__foot .btn{width:100%}.cart__foot .btn:disabled{opacity:.4;cursor:not-allowed}
