.cart-root{z-index:2000;pointer-events:none;position:fixed;inset:0}.cart-root.is-open{pointer-events:auto}.cart-backdrop{cursor:pointer;background:0 0;border:none;transition:background .3s;position:absolute;inset:0}.cart-root.is-open .cart-backdrop{background:#00000073}.cart-panel{background:#fff;flex-direction:column;width:min(100%,26rem);height:100%;transition:transform .3s;display:flex;position:absolute;top:0;right:0;transform:translate(100%);box-shadow:-4px 0 24px #0000001f}.cart-root.is-open .cart-panel{transform:translate(0)}.cart-panel__header{border-bottom:1px solid #eee;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;display:flex}.cart-panel__header h2{margin:0;font-size:1.1rem}.cart-panel__close{cursor:pointer;background:0 0;border:none;font-size:1.75rem;line-height:1}.cart-panel__empty{color:#666;padding:2rem 1.5rem}.cart-lines{flex:1;margin:0;padding:0;list-style:none;overflow-y:auto}.cart-line{border-bottom:1px solid #f0f0f0;grid-template-columns:5rem 1fr;gap:1rem;padding:1rem 1.5rem;display:grid}.cart-line__image{aspect-ratio:1;background:#f7f7f7;border-radius:.35rem;overflow:hidden}.cart-line__title{margin:0 0 .25rem;font-size:.92rem;font-weight:600}.cart-line__price{color:#555;margin:0 0 .75rem;font-size:.88rem}.cart-line__qty{align-items:center;gap:.65rem;margin-bottom:.5rem;display:inline-flex}.cart-line__qty button{cursor:pointer;background:#fff;border:1px solid #ddd;border-radius:.25rem;width:1.75rem;height:1.75rem}.cart-line__remove{color:#888;cursor:pointer;background:0 0;border:none;padding:0;font-size:.82rem;text-decoration:underline;display:block}.cart-panel__footer{border-top:1px solid #eee;padding:1.25rem 1.5rem 1.5rem}.cart-panel__subtotal{justify-content:space-between;margin-bottom:1rem;font-size:1rem;display:flex}.cart-panel__error{color:#b00020;margin:0 0 .75rem;font-size:.88rem}.cart-panel__checkout{color:#fff;cursor:pointer;background:#111;border:none;border-radius:.25rem;width:100%;padding:.95rem;font-size:.95rem;font-weight:600}.cart-panel__checkout:disabled{opacity:.6;cursor:wait}
