.ls-bag-title{background:var(--ls-color-canvas)}.ls-bag-title__inner{max-width:1360px;padding:clamp(8px, 1.5vw, 20px) var(--ls-gutter) 0;box-sizing:border-box;max-width:1360px;margin:0 auto}.ls-bag-title__h1{font-family:var(--ls-font-display-stack);letter-spacing:-.02em;text-transform:uppercase;color:var(--ls-color-ink);text-wrap:balance;margin:0;font-size:clamp(34px,4.4vw,60px);font-weight:700;line-height:1.02}.ls-bag-title--sub .ls-bag-title__inner{padding-top:12px}.ls-bag-title__sub{color:var(--ls-color-ink-soft);max-width:56ch;margin:0;font-size:16px;line-height:1.6}.ls-bag-hydrating__inner{max-width:1360px;padding:clamp(24px, 3vw, 40px) var(--ls-gutter) clamp(48px, 6vw, 88px);box-sizing:border-box;margin:0 auto}.ls-bag-hydrating__panel{border-radius:var(--ls-radius-panel);background:var(--ls-color-surface-warm);min-height:320px}.ls-bag-empty{max-width:1360px;padding:clamp(28px, 3.4vw, 44px) var(--ls-gutter) clamp(64px, 8vw, 112px);box-sizing:border-box;margin:0 auto}.ls-bag-empty__panel{background:var(--ls-color-surface-warm);border-radius:var(--ls-radius-panel);text-align:center;animation:ls-panel-in .32s var(--ls-ease-standard);flex-direction:column;align-items:center;gap:18px;padding:clamp(40px,6vw,84px) clamp(24px,4vw,56px);display:flex;position:relative;overflow:hidden}.ls-bag-empty__pearl{pointer-events:none;position:absolute}.ls-bag-empty__pearl--a{opacity:.5;width:clamp(44px,6vw,78px);animation:22s cubic-bezier(.45,0,.55,1) infinite ls-drift-b;top:18%;left:14%}.ls-bag-empty__pearl--b{opacity:.4;width:clamp(26px,3.4vw,44px);animation:26s cubic-bezier(.45,0,.55,1) -9s infinite ls-drift-c;top:30%;right:16%}.ls-bag-empty__icon{border-radius:var(--ls-radius-pill);background:var(--ls-color-surface);width:60px;height:60px;color:var(--ls-color-ink);border:1px solid #e4dfd6;justify-content:center;align-items:center;display:inline-flex;position:relative}.ls-bag-empty__text{flex-direction:column;align-items:center;gap:12px;max-width:44ch;display:flex;position:relative}.ls-bag-empty__heading{font-family:var(--ls-font-display-stack);letter-spacing:.01em;text-transform:uppercase;color:var(--ls-color-ink);margin:0;font-size:clamp(24px,3vw,36px);font-weight:700}.ls-bag-empty__body{color:var(--ls-color-ink-soft);margin:0;font-size:16px;line-height:1.6}.ls-bag-empty__cta{border-radius:var(--ls-radius-pill);background:var(--ls-color-ink);min-height:54px;color:var(--ls-color-inverse);letter-spacing:.06em;text-transform:uppercase;transition:background var(--ls-motion-standard) var(--ls-ease-standard);justify-content:center;align-items:center;gap:10px;margin-top:6px;padding:15px 32px;font-size:13px;font-weight:600;text-decoration:none;display:inline-flex}.ls-bag-empty__cta:hover{background:var(--ls-color-ink-soft)}.ls-bag-empty__cta:focus-visible{outline:2px solid var(--ls-color-ink);outline-offset:3px}.ls-bag-layout{max-width:1360px;padding:clamp(24px, 3vw, 40px) var(--ls-gutter) clamp(48px, 6vw, 88px);box-sizing:border-box;grid-template-columns:1fr;align-items:start;gap:clamp(24px,3vw,52px);margin:0 auto;display:grid}@media (min-width:1024px){.ls-bag-layout{grid-template-columns:minmax(0,1fr) 380px}}.ls-bag-items{flex-direction:column;gap:32px;min-width:0;display:flex}@media (min-width:1024px){.ls-bag-items{gap:40px}}.ls-bag-group{flex-direction:column;gap:16px;display:flex}.ls-bag-group__head{border-bottom:1px solid var(--ls-color-ink);justify-content:space-between;align-items:baseline;gap:12px;padding-bottom:14px;display:flex}.ls-bag-group__heading{font-family:var(--ls-font-display-stack);letter-spacing:.14em;text-transform:uppercase;color:var(--ls-color-ink);margin:0;font-size:15px;font-weight:600}.ls-bag-group__heading:focus{outline:none}.ls-bag-group__count{color:var(--ls-color-text-muted);font-variant-numeric:tabular-nums;font-size:12px}.ls-bag-group__edit{color:var(--ls-color-ink);text-underline-offset:3px;align-items:center;padding:6px 2px;font-size:12px;font-weight:600;text-decoration:underline;display:inline-flex;position:relative}.ls-bag-group__edit:after{content:"";width:max(100%,44px);height:max(100%,44px);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.ls-bag-group__edit:hover{opacity:.7}.ls-bag-group__edit:focus-visible{outline:2px solid var(--ls-color-ink);outline-offset:2px}.ls-bag-group__foot{flex-wrap:wrap;align-items:center;gap:8px;padding-top:4px;display:flex}.ls-bag-group__back{letter-spacing:.06em;text-transform:uppercase;min-height:44px;color:var(--ls-color-ink);align-items:center;gap:8px;padding:8px 4px;font-size:12px;font-weight:600;text-decoration:none;display:inline-flex}.ls-bag-group__back:hover{opacity:.7}.ls-bag-group__back:focus-visible{outline:2px solid var(--ls-color-ink);outline-offset:2px}.ls-bag-appt{border:1px solid var(--ls-color-border);border-radius:var(--ls-radius-panel);background:#fbfaf8;flex-direction:column;gap:16px;padding:clamp(18px,2.4vw,26px);display:flex}.ls-bag-appt__meta{grid-template-columns:1fr;gap:16px;display:grid}@media (min-width:480px){.ls-bag-appt__meta{grid-template-columns:repeat(3,minmax(0,1fr))}}.ls-bag-appt__metaitem{flex-direction:column;gap:3px;display:flex}.ls-bag-appt__metalabel{letter-spacing:.12em;text-transform:uppercase;color:var(--ls-color-text-quiet);font-size:11px;font-weight:600}.ls-bag-appt__metavalue{color:var(--ls-color-ink);font-size:15px;font-weight:600}.ls-bag-appt__metapending{color:var(--ls-color-warning-on-tint);font-size:14px;font-weight:600}.ls-bag-appt__list{border-top:1px solid #ede8e0;flex-direction:column;gap:10px;padding-top:14px;display:flex}.ls-bag-appt__row{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.ls-bag-appt__rowtext{flex-direction:column;gap:2px;min-width:0;display:flex}.ls-bag-appt__rowtitle{color:var(--ls-color-ink);font-size:14px;font-weight:600}.ls-bag-appt__rowmeta{color:var(--ls-color-text-muted);font-size:12px}.ls-bag-appt__rowprice{font-variant-numeric:tabular-nums;color:var(--ls-color-ink);flex:none;font-size:14px;font-weight:700}.ls-bag-appt__subtotal{border-top:1px solid #ede8e0;justify-content:space-between;align-items:baseline;gap:12px;padding-top:14px;display:flex}.ls-bag-appt__subtotallabel{color:var(--ls-color-ink);font-size:13px;font-weight:600}.ls-bag-appt__subtotalvalue{font-variant-numeric:tabular-nums;color:var(--ls-color-ink);font-size:15px;font-weight:700}.ls-bag-appt__note{color:var(--ls-color-text-muted);margin:0;font-size:12px;line-height:1.5}.ls-bag-rows{flex-direction:column;gap:14px;display:flex}.ls-bag-row{border:1px solid var(--ls-color-border);border-radius:14px;grid-template-columns:1fr;align-items:start;gap:16px;padding:14px;display:grid}@media (min-width:480px){.ls-bag-row{grid-template-columns:auto 1fr;padding:clamp(14px,1.8vw,18px)}}.ls-bag-row__thumb{aspect-ratio:1;border-radius:var(--ls-radius-media);background:var(--ls-color-surface-product);flex:none;width:100%;height:100%;display:block;position:relative;overflow:hidden}@media (min-width:480px){.ls-bag-row__thumb{aspect-ratio:auto;width:92px;height:92px}}.ls-bag-row__thumb:focus-visible{outline:2px solid var(--ls-color-ink);outline-offset:2px}.ls-bag-row__img{object-fit:cover;width:100%;height:100%;display:block;position:absolute;inset:0}.ls-bag-row__body{flex-direction:column;gap:10px;min-width:0;display:flex}.ls-bag-row__top{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.ls-bag-row__meta{flex-direction:column;gap:3px;min-width:0;display:flex}.ls-bag-row__title{color:var(--ls-color-ink);font-size:15px;font-weight:600}.ls-bag-row__option,.ls-bag-row__unit{color:var(--ls-color-text-muted);font-size:13px}.ls-bag-row__unit{font-variant-numeric:tabular-nums}.ls-bag-row__linetotal{font-variant-numeric:tabular-nums;color:var(--ls-color-ink);flex:none;font-size:15px;font-weight:700}.ls-bag-row__controls{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.ls-bag-row__actions{flex-wrap:wrap;align-items:center;gap:6px 16px;display:flex}.ls-bag-row__view{min-height:44px;color:var(--ls-color-ink);text-underline-offset:3px;align-items:center;padding:6px 2px;font-size:12px;font-weight:600;text-decoration:underline;display:inline-flex}.ls-bag-row__view:hover{opacity:.7}.ls-bag-row__view:focus-visible{outline:2px solid var(--ls-color-ink);outline-offset:2px}.ls-bag-row__remove{appearance:none;min-height:44px;font-family:var(--ls-font-ui-stack);color:var(--ls-color-text-muted);cursor:pointer;transition:color var(--ls-motion-standard) var(--ls-ease-standard);background:0 0;border:none;align-items:center;gap:6px;padding:6px 2px;font-size:12px;font-weight:600;display:inline-flex}.ls-bag-row__remove:hover{color:var(--ls-color-error-on-tint)}.ls-bag-row__remove:focus-visible{outline:2px solid var(--ls-color-ink);outline-offset:2px}.ls-bag-row__confirm{background:var(--ls-color-warning-tint);border:1px solid var(--ls-color-warning-border);border-radius:var(--ls-radius-control);animation:ls-panel-in .2s var(--ls-ease-standard);flex-direction:column;gap:10px;padding:12px 14px;display:flex}.ls-bag-row__confirmtext{color:var(--ls-color-warning-on-tint);font-size:13px;line-height:1.45}.ls-bag-row__confirmactions{flex-wrap:wrap;gap:8px;display:flex}.ls-bag-row__confirmremove,.ls-bag-row__confirmkeep{appearance:none;border-radius:var(--ls-radius-pill);min-height:44px;font-family:var(--ls-font-ui-stack);cursor:pointer;justify-content:center;align-items:center;padding:10px 18px;font-size:13px;font-weight:600;display:inline-flex}.ls-bag-row__confirmremove{background:var(--ls-color-ink);color:var(--ls-color-inverse);transition:background var(--ls-motion-standard) var(--ls-ease-standard);border:none}.ls-bag-row__confirmremove:hover{background:var(--ls-color-ink-soft)}.ls-bag-row__confirmkeep{border:1px solid var(--ls-color-ink);color:var(--ls-color-ink);transition:background var(--ls-motion-standard) var(--ls-ease-standard);background:0 0}.ls-bag-row__confirmkeep:hover{background:var(--ls-color-surface-warm)}.ls-bag-row__confirmremove:focus-visible,.ls-bag-row__confirmkeep:focus-visible{outline:2px solid var(--ls-color-ink);outline-offset:2px}.ls-bag-summarycol{align-self:stretch;min-width:0}.ls-bag-summary{background:var(--ls-color-surface-warm);border-radius:var(--ls-radius-media);flex-direction:column;gap:16px;padding:clamp(22px,1.8vw,30px) clamp(20px,1.5vw,26px);display:flex;position:static;top:24px}@media (min-width:1024px){.ls-bag-summary{position:sticky}}.ls-bag-summary__heading{font-family:var(--ls-font-display-stack);letter-spacing:.12em;text-transform:uppercase;color:var(--ls-color-ink);margin:0;font-size:14px;font-weight:600}.ls-bag-summary__group{flex-direction:column;gap:10px;display:flex}.ls-bag-summary__group--divided{border-top:1px solid #e4dfd6;padding-top:14px}.ls-bag-summary__grouplabel{letter-spacing:.14em;text-transform:uppercase;color:var(--ls-color-blush-text);font-size:11px;font-weight:600}.ls-bag-summary__row{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.ls-bag-summary__rowlabel{color:var(--ls-color-ink-soft);font-size:13px}.ls-bag-summary__rowvalue{font-variant-numeric:tabular-nums;color:var(--ls-color-ink);font-size:14px;font-weight:600}.ls-bag-summary__rowmeta{color:var(--ls-color-ink);font-size:13px;font-weight:600}.ls-bag-summary__pending{color:var(--ls-color-warning-on-tint);font-size:13px;font-weight:600}.ls-bag-summary__totalrow{border-top:1px solid var(--ls-color-ink);justify-content:space-between;align-items:baseline;gap:10px;padding-top:16px;display:flex}.ls-bag-summary__totallabel{letter-spacing:.1em;text-transform:uppercase;color:var(--ls-color-ink);font-size:12px;font-weight:600}.ls-bag-summary__total{font-family:var(--ls-font-display-stack);font-variant-numeric:tabular-nums;color:var(--ls-color-ink);font-size:26px;font-weight:700}.ls-bag-summary__note{color:var(--ls-color-text-muted);align-items:flex-start;gap:8px;font-size:12px;line-height:1.5;display:flex}.ls-bag-summary__notemark{flex:none;margin-top:1px}.ls-bag-summary__cta{border-radius:var(--ls-radius-pill);background:var(--ls-color-ink);min-height:56px;color:var(--ls-color-inverse);font-family:var(--ls-font-ui-stack);letter-spacing:.04em;text-transform:uppercase;cursor:pointer;transition:background var(--ls-motion-standard) var(--ls-ease-standard);border:none;justify-content:center;align-items:center;gap:10px;font-size:14px;font-weight:600;text-decoration:none;display:inline-flex}.ls-bag-summary__cta:hover{background:var(--ls-color-ink-soft)}.ls-bag-summary__cta:focus-visible{outline:2px solid var(--ls-color-ink);outline-offset:2px}.ls-bag-summary__secondary{letter-spacing:.06em;text-transform:uppercase;min-height:44px;color:var(--ls-color-ink);align-self:center;align-items:center;gap:8px;padding:8px 4px;font-size:12px;font-weight:600;text-decoration:none;display:inline-flex}.ls-bag-summary__secondary:hover{opacity:.7}.ls-bag-summary__secondary:focus-visible{outline:2px solid var(--ls-color-ink);outline-offset:2px}.ls-bag-stickybar{display:none}@media (max-width:639.98px){.ls-bag-stickybar{z-index:40;box-sizing:border-box;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-top:1px solid var(--ls-color-border);max-width:100%;padding:10px max(16px, env(safe-area-inset-right)) calc(10px + env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));background:#fffffff5;display:block;position:fixed;bottom:0;left:0;right:0}.ls-bag-stickybar--hidden{display:none}}.ls-bag-stickybar__inner{justify-content:space-between;align-items:center;gap:12px;max-width:640px;margin:0 auto;display:flex}.ls-bag-stickybar__meta{flex-direction:column;gap:2px;min-width:0;display:flex}.ls-bag-stickybar__label{letter-spacing:.08em;text-transform:uppercase;color:var(--ls-color-text-muted);font-size:11px;font-weight:600}.ls-bag-stickybar__value{font-variant-numeric:tabular-nums;color:var(--ls-color-ink);white-space:nowrap;font-size:17px;font-weight:700}.ls-bag-stickybar__cta{appearance:none;border-radius:var(--ls-radius-pill);background:var(--ls-color-ink);min-height:50px;color:var(--ls-color-inverse);font-family:var(--ls-font-ui-stack);letter-spacing:.04em;text-transform:uppercase;cursor:pointer;border:none;flex:none;justify-content:center;align-items:center;gap:8px;padding:12px 22px;font-size:13px;font-weight:600;text-decoration:none;display:inline-flex}.ls-bag-stickybar__cta:focus-visible{outline:2px solid var(--ls-color-ink);outline-offset:2px}
