.cart-drawer__overlay{z-index:110;background:rgb(var(--color-text-rgb) / .45);justify-content:flex-end;display:flex;position:fixed;inset:0}.cart-drawer{z-index:111;background:var(--color-bg);flex-direction:column;width:100%;max-width:420px;height:100%;display:flex;overflow-y:auto;box-shadow:-12px 0 32px #0003}.cart-drawer__header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:1.1rem 1.25rem;display:flex}.cart-drawer__title,.cart-page__title{font-family:var(--font-heading);text-transform:uppercase;color:var(--color-text);margin:0;font-size:1.15rem;font-weight:700}.cart-drawer__close{color:var(--color-text);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:.25rem;display:inline-flex}.cart-drawer__empty,.cart-page__empty p{color:var(--color-text-muted);text-align:center;padding:2rem 1.25rem}.cart-drawer__lines,.cart-page__lines{flex-direction:column;flex:1;margin:0;padding:0 1.25rem;list-style:none;display:flex}.cart-line{border-bottom:1px solid var(--color-border);align-items:flex-start;gap:.85rem;padding:1rem 0;display:flex}.cart-line__image{border-radius:var(--radius);background:var(--color-border);flex:none;width:64px;height:64px;overflow:hidden}.cart-line__image img{object-fit:cover;width:100%;height:100%;display:block}.cart-line__info{flex:1;min-width:0}.cart-line__name{color:var(--color-text);margin:0 0 .15rem;font-size:.95rem;font-weight:700}.cart-line__sku{color:var(--color-text-muted);margin:0 0 .35rem;font-size:.78rem}.cart-line__price{color:var(--color-primary);margin:0 0 .5rem;font-weight:700}.cart-line__qty{align-items:center;gap:.5rem;display:flex}.cart-line__qty button{border:1.5px solid var(--color-primary);background:var(--color-bg);width:2rem;height:2rem;color:var(--color-primary);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;transition:background-color .12s;display:inline-flex}.cart-line__qty button svg{width:16px;height:16px}.cart-line__qty button:hover:not(:disabled){background:rgb(var(--color-primary-rgb) / .06)}.cart-line__qty button:active:not(:disabled){background:rgb(var(--color-primary-rgb) / .12)}.cart-line__qty button:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.cart-line__qty button:disabled{border-color:var(--color-border);color:var(--color-text-muted);cursor:not-allowed}.cart-line__qty span{text-align:center;min-width:1.4rem;font-size:.95rem;font-weight:600}.cart-line__remove{color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;flex:none;justify-content:center;align-items:center;padding:.25rem;display:inline-flex}.cart-line__remove:hover{color:var(--color-error)}.cart-drawer__footer{border-top:1px solid var(--color-border);background:var(--color-bg);flex-direction:column;gap:.75rem;padding:1rem 1.25rem 1.25rem;display:flex;position:sticky;bottom:0;box-shadow:0 -8px 20px #0000000f}.cart-drawer__extra{color:var(--color-text-muted);justify-content:space-between;margin-bottom:-.35rem;font-size:.9rem;display:flex}.cart-drawer__milestones{padding:.75rem 1.25rem .25rem}.cart-drawer__subtotal,.cart-page__subtotal{color:var(--color-text);justify-content:space-between;align-items:center;font-size:1.05rem;font-weight:700;display:flex}.cart-drawer__checkout,.cart-page__checkout{text-align:center;border-radius:var(--radius);background:var(--color-accent);color:var(--color-primary);font-family:var(--font-heading);text-transform:uppercase;cursor:pointer;border:none;padding:.85rem 1rem;font-weight:700;display:block}.cart-drawer__view-cart,.cart-page__continue{text-align:center;color:var(--color-primary);font-size:.9rem;font-weight:700;text-decoration:underline}.cart-page{max-width:var(--max-width);margin:0 auto;padding:2rem 1rem 4rem}.cart-page__title{margin-bottom:1.5rem;font-size:1.6rem}.cart-page__empty{flex-direction:column;align-items:center;gap:1rem;display:flex}.cart-page__content{grid-template-columns:1fr;gap:2rem;display:grid}.cart-page__lines{padding:0}.cart-page__summary{flex-direction:column;gap:1rem;display:flex}@media (min-width:768px){.cart-page__content{grid-template-columns:2fr 1fr}.cart-page__summary{max-width:320px}}.cart-milestones{border-radius:var(--radius);background:linear-gradient(135deg, rgb(var(--color-accent-rgb) / .14), rgb(var(--color-accent-rgb) / .05));margin:0 0 .9rem;padding:.85rem .9rem 2.1rem;position:relative;overflow:hidden}.cart-milestones__headline{color:var(--color-text);align-items:center;gap:.5rem;margin:0 0 .75rem;font-size:.95rem;font-weight:700;line-height:1.3;display:flex}.cart-milestones__headline svg{width:20px;height:20px;color:var(--color-accent);flex-shrink:0}.cart-milestones__sub{color:var(--color-text-muted);margin:-.4rem 0 .75rem 1.75rem;font-size:.82rem}.cart-milestones__track{background:rgb(var(--color-text-rgb) / .12);border-radius:999px;height:8px;margin:0 .7rem;position:relative}.cart-milestones__fill{border-radius:inherit;background:linear-gradient(90deg, var(--color-accent), #ffb15c);height:100%;box-shadow:0 0 10px rgb(var(--color-accent-rgb) / .5);transition:width .5s cubic-bezier(.22,1,.36,1);display:block}.cart-milestones__marker{flex-direction:column;align-items:center;display:flex;position:absolute;top:50%;transform:translate(-50%,-50%)}.cart-milestones__dot{width:26px;height:26px;color:var(--color-text-muted);background:#fff;border:2px solid #fff;border-radius:50%;place-items:center;font-size:13px;line-height:1;display:grid;box-shadow:0 1px 4px #0000002e}.cart-milestones__dot svg{width:14px;height:14px}.cart-milestones__label{letter-spacing:.02em;text-align:center;width:max-content;max-width:7.5rem;color:var(--color-text-muted);font-size:.68rem;font-weight:600;line-height:1.2;position:absolute;top:28px}.cart-milestones__marker:last-child .cart-milestones__label{transform:translate(calc(13px - 50%))}.cart-milestones__marker--done .cart-milestones__dot{color:#fff;background:#2f8a4a;border-color:#2f8a4a;animation:.45s cubic-bezier(.34,1.56,.64,1) cart-pop}.cart-milestones__marker--done .cart-milestones__label{color:#2f8a4a}.cart-milestones--reached{background:linear-gradient(135deg,#2f8a4a29,#2f8a4a0d)}.cart-milestones--reached .cart-milestones__headline svg{color:#2f8a4a}.cart-milestones--reached .cart-milestones__fill{background:linear-gradient(90deg,#2f8a4a,#5fc17a);box-shadow:0 0 10px #2f8a4a73}@keyframes cart-pop{0%{transform:scale(.6)}60%{transform:scale(1.25)}to{transform:scale(1)}}.cart-drawer__count{background:var(--color-accent);color:#fff;vertical-align:middle;border-radius:999px;place-items:center;min-width:1.5rem;height:1.5rem;margin-left:.5rem;padding:0 .4rem;font-size:.8rem;display:inline-grid}.cart-drawer__body{flex:1}.cart-upsells{padding:1rem 1.25rem .5rem}.cart-page__content .cart-upsells{padding:1.25rem 0 0}.cart-upsells__title{font-family:var(--font-heading);text-transform:uppercase;letter-spacing:.04em;color:var(--color-text);margin:0 0 .6rem;font-size:.9rem;font-weight:700}.cart-upsells__list{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.cart-upsell{border:1.5px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg);align-items:center;gap:.7rem;padding:.6rem .75rem;transition:border-color .12s,background-color .12s,box-shadow .12s;display:flex}.cart-upsell--on{border-color:var(--color-accent);background:rgb(var(--color-primary-rgb) / .03)}.cart-upsell--nudge{border-color:var(--color-accent);box-shadow:0 0 0 3px rgb(var(--color-accent-rgb) / .15);animation:1.8s ease-in-out 2 cart-nudge}@keyframes cart-nudge{0%,to{box-shadow:0 0 0 3px rgb(var(--color-accent-rgb) / .15)}50%{box-shadow:0 0 0 7px rgb(var(--color-accent-rgb) / .05)}}.cart-upsell--unavailable>:not(.cart-upsell__pill){opacity:.55}.cart-upsell__image{object-fit:cover;background:var(--color-border);border-radius:8px;flex:none;width:48px;height:48px}.cart-upsell__icon{background:rgb(var(--color-primary-rgb) / .1);width:48px;height:48px;color:var(--color-accent);border-radius:8px;flex:none;place-items:center;display:grid}.cart-upsell__info{flex:1;min-width:0}.cart-upsell__name{flex-wrap:wrap;align-items:center;gap:.35rem;margin:0;font-size:.9rem;font-weight:600;display:flex}.cart-upsell__pill{background:rgb(var(--color-text-rgb) / .08);color:var(--color-text-muted);letter-spacing:.04em;text-transform:uppercase;border-radius:999px;padding:.1rem .45rem;font-size:.66rem;font-weight:700;display:inline-block}.cart-upsell__pill--free{color:#fff;background:#2f8a4a}.cart-upsell__pill--on{background:rgb(var(--color-accent-rgb) / .15);color:var(--color-accent)}.cart-upsell__tagline{color:var(--color-text-muted);margin:.1rem 0 0;font-size:.78rem;line-height:1.35}.cart-upsell__side{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:.35rem;display:flex}.cart-upsell__price{font-family:var(--font-heading);font-size:.95rem;font-weight:700}.cart-upsell__switch{cursor:pointer;background:#cfcac3;border:0;border-radius:999px;width:44px;height:24px;padding:0;transition:background-color .12s;position:relative}.cart-upsell__switch[aria-checked=true]{background:var(--color-accent)}.cart-upsell__switch:disabled{cursor:not-allowed}.cart-upsell__switch:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.cart-upsell__knob{background:#fff;border-radius:50%;width:18px;height:18px;transition:transform .12s;position:absolute;top:3px;left:3px;box-shadow:0 1px 2px #00000040}.cart-upsell__switch[aria-checked=true] .cart-upsell__knob{transform:translate(20px)}@media (prefers-reduced-motion:reduce){.cart-milestones__fill,.cart-upsell,.cart-upsell__switch,.cart-upsell__knob{transition:none}.cart-milestones__marker--done .cart-milestones__dot,.cart-upsell--nudge{animation:none}}.cart-line__preorder{margin:-.25rem 0 .55rem}
