.bag{position:fixed;inset:0;z-index:80}.bag[data-open=false]{pointer-events:none}.bag__overlay{position:absolute;inset:0;padding:0;border:0;background:color-mix(in srgb,var(--color-ink, #2b2622) 30%,transparent);opacity:0;cursor:default;transition:opacity .3s ease}.bag[data-open=true] .bag__overlay{opacity:1}.bag__panel{position:absolute;top:0;right:0;bottom:0;display:flex;flex-direction:column;width:min(100%,440px);background:var(--color-paper, #f7f4ef);box-shadow:-24px 0 48px #2b26221a;transform:translate(100%);visibility:hidden;transition:transform .32s cubic-bezier(.2,.7,.2,1),visibility 0s linear .32s}.bag[data-open=true] .bag__panel{transform:none;visibility:visible;transition:transform .32s cubic-bezier(.2,.7,.2,1),visibility 0s}.bag__head{display:flex;align-items:center;justify-content:space-between;flex:none;min-height:72px;padding:0 24px;border-bottom:1px solid var(--hairline, color-mix(in srgb, var(--color-gold, #916e4a) 40%, transparent))}.bag__title{font:300 22px/1.2 var(--font-serif, serif);color:var(--color-ink, #2b2622)}.bag__close{display:grid;place-items:center;width:40px;height:40px;margin-right:-10px;border:0;background:transparent;color:var(--color-ink, #2b2622);cursor:pointer}.bag__body{flex:1 1 auto;min-height:0;overflow-y:auto;padding:0 24px}.bag__empty{padding:40px 0;font:400 15px/1.6 var(--font-sans, sans-serif);color:var(--color-ink, #2b2622)}.bag__lines{margin:0;padding:0;list-style:none}.bag__line{display:flex;gap:16px;padding:20px 0;border-bottom:1px solid var(--hairline, color-mix(in srgb, var(--color-gold, #916e4a) 40%, transparent))}.bag__line:last-child{border-bottom:0}.bag__thumb{flex:none;width:72px;aspect-ratio:4 / 5;overflow:hidden;background:var(--color-tile, #f4f1eb)}.bag__line--excluded .bag__thumb{opacity:.6}.bag__thumb img{width:100%;height:100%;object-fit:cover}.bag__info{flex:1 1 auto;min-width:0}.bag__row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.bag__name{font:400 15px/1.3 var(--font-serif, serif);color:var(--color-ink, #2b2622)}.bag__price{flex:none;font:400 14px/1.3 var(--font-sans, sans-serif);color:var(--color-ink, #2b2622)}.bag__opt{margin-top:4px;font:400 13px/1.4 var(--font-sans, sans-serif);color:var(--color-ink-soft, #6b625a)}.bag__opt span+span:before{content:"·";margin:0 6px}.bag__note{margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:400 12px/1.5 var(--font-sans, sans-serif);color:var(--color-ink-soft, #6b625a)}.bag__notice{margin-top:8px;font:400 13px/1.5 var(--font-sans, sans-serif);color:var(--color-ink, #2b2622)}.bag__fine{font:400 12px/1.5 var(--font-sans, sans-serif);color:var(--color-ink-soft, #6b625a)}.bag__remove{display:inline-flex;align-items:center;min-height:32px;margin-top:6px;padding:0;border:0;background:transparent;font:400 12px/1 var(--font-sans, sans-serif);color:var(--color-ink-soft, #6b625a);text-decoration:underline;text-decoration-color:var(--hairline, color-mix(in srgb, var(--color-gold, #916e4a) 40%, transparent));text-underline-offset:4px;cursor:pointer;transition:color .2s ease}.bag__remove:hover{color:var(--color-ink, #2b2622);text-decoration-color:currentColor}.bag__foot{flex:none;padding:20px 24px max(20px,env(safe-area-inset-bottom));border-top:1px solid var(--hairline, color-mix(in srgb, var(--color-gold, #916e4a) 40%, transparent))}.bag__subtotal{display:flex;align-items:baseline;justify-content:space-between;font:400 15px/1.3 var(--font-sans, sans-serif);color:var(--color-ink, #2b2622)}.bag__subtotal strong{font-size:16px;font-weight:500}.bag__skeleton{display:inline-block;width:56px;height:16px;background:color-mix(in srgb,var(--color-ink, #2b2622) 10%,transparent)}.bag__msg{margin-top:12px;padding-left:12px;border-left:1px solid var(--color-bronze, #7e5e3b);font:400 13px/1.5 var(--font-sans, sans-serif);color:var(--color-ink, #2b2622)}.bag__cta{margin-top:16px}.bag__cta .cta-bar{width:100%}.bag__links{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:14px}.bag__textbtn{padding-left:0;padding-right:0;border:0;background-color:transparent;cursor:pointer}@media(prefers-reduced-motion:reduce){.bag__overlay,.bag__panel,.bag__remove{transition:none}}
