/* Product-independent shopping bag, shared by catalogue and product page. */
.cart-drawer{color-scheme:light;position:fixed;inset:0 0 0 auto;margin:0;width:min(470px,100%);max-width:none;max-height:none;height:100dvh;padding:30px;border:0;border-radius:0;background:var(--bryth-neutral-paper);color:var(--bryth-neutral-ink);overflow:auto;overscroll-behavior:contain;box-shadow:-20px 0 80px #14171126}
.cart-drawer[open]{display:flex;flex-direction:column;align-items:stretch;gap:0}
.cart-drawer::backdrop{background:#181b1766;backdrop-filter:blur(8px)}
.cart-drawer [hidden]{display:none!important}
.cart-drawer :is(button,input,a):focus-visible{outline:2px solid var(--bryth-neutral-accent);outline-offset:3px}
.cart-heading{display:flex;justify-content:space-between;gap:20px;align-items:start}
.cart-heading .eyebrow{font-size:9px;letter-spacing:.16em;color:var(--bryth-neutral-copy);margin:0 0 10px}
.cart-heading h2{font-size:32px;line-height:1.2;letter-spacing:-.045em;font-weight:400;margin:0 0 16px}
.cart-close{background:none;border:0;color:var(--bryth-neutral-ink);font-size:29px;min-width:44px;min-height:44px;margin:-8px -10px 0 0}
.cart-empty{text-align:center;padding:65px 0 40px}
.cart-empty>span{font-size:60px;color:var(--bryth-neutral-accent)}
.cart-empty h3{font-size:23px;font-weight:400;letter-spacing:-.03em;line-height:1.4}
.cart-empty>p{font-size:13px;color:var(--bryth-neutral-copy);margin-bottom:25px}
.cart-item{display:grid;grid-template-columns:110px minmax(0,1fr);gap:22px;padding:24px 0;border-bottom:1px solid var(--bryth-neutral-stroke)}
.cart-product-image{display:flex;align-items:center;justify-content:center;overflow:hidden;background:var(--bryth-neutral-surface);border-radius:16px;height:210px}
.cart-product-image .sleep-bottle{position:relative;width:100px;height:185px;flex:none;transform:translateY(-7px) rotate(7deg);filter:drop-shadow(0 9px 9px #292b281a)}
.cart-product-image .sleep-bottle>img{display:block;width:100%;height:100%;object-fit:contain}
.cart-item-copy{padding-top:10px}
.cart-item-copy h3{font-size:20px;line-height:1.3;letter-spacing:-.03em;font-weight:500;margin:0 0 7px}
.cart-item-copy>p{font-size:11px;line-height:1.7;color:var(--bryth-neutral-copy);margin:0 0 10px}
.cart-item-copy>strong{display:block;font-size:16px;font-weight:500;margin:0 0 16px}
.cart-drawer .quantity-stepper{display:inline-flex;align-items:center;border:1px solid var(--bryth-neutral-stroke);border-radius:50px;overflow:hidden;min-height:42px}
.cart-drawer .quantity-stepper>button{border:0;background:transparent;color:var(--bryth-neutral-ink);font-size:18px;padding:0;width:38px;min-height:42px}
.cart-drawer .quantity-stepper>button:hover:not(:disabled){background:var(--bryth-neutral-hover)}
.cart-drawer .quantity-stepper>button:disabled{opacity:.35}
.cart-drawer .quantity-stepper>input{appearance:textfield;-moz-appearance:textfield;border:0;border-radius:0;background:transparent;color:var(--bryth-neutral-ink);font:13px "Avenir Next",Avenir,sans-serif;text-align:center;width:32px;padding:0;min-height:42px}
.cart-drawer input::-webkit-inner-spin-button,.cart-drawer input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.cart-drawer .remove-item{display:block;border:0;background:none;color:var(--bryth-neutral-copy);font-size:11px;text-decoration:underline;text-underline-offset:4px;min-height:40px;padding:8px 0}
.cart-drawer .shipping-progress{margin-top:24px}
.cart-drawer .shipping-progress p{font-size:12px;line-height:1.7;color:var(--bryth-neutral-copy);margin:0 0 12px}
.cart-drawer progress{display:block;width:100%;height:4px;appearance:none;border:0;border-radius:4px;overflow:hidden;background:var(--bryth-neutral-hover);accent-color:var(--bryth-neutral-ink)}
.cart-drawer progress::-webkit-progress-bar{background:var(--bryth-neutral-hover)}
.cart-drawer progress::-webkit-progress-value{background:var(--bryth-neutral-ink)}
.cart-drawer progress::-moz-progress-bar{background:var(--bryth-neutral-ink)}
.cart-totals{margin:25px 0}
.cart-totals>div{display:flex;justify-content:space-between;gap:18px;font-size:14px;margin-bottom:12px}
.cart-totals strong{font-weight:500}
.cart-totals p{font-size:11px;line-height:1.8;color:var(--bryth-neutral-copy);margin:10px 0}
.cart-drawer .cart-grand-total{border-top:1px solid var(--bryth-neutral-stroke);margin-top:18px;padding-top:18px;font-size:19px!important}
.cart-drawer .primary-cta{display:flex;justify-content:center;align-items:center;background:var(--bryth-neutral-ink);color:var(--bryth-neutral-paper);border:0;border-radius:50px;padding:15px 22px;min-height:50px;font-size:13px;box-shadow:none}
.cart-drawer .checkout-unavailable{width:100%;background:var(--bryth-neutral-hover);color:var(--bryth-neutral-muted);cursor:default;transform:none}
.cart-status{font-size:12px;line-height:1.8;color:var(--bryth-neutral-copy);margin:16px 0}
.cart-status:empty{display:none}
.continue-shopping{display:block;background:none;border:0;min-height:44px;padding:12px;margin:16px auto 0;font-size:12px;color:var(--bryth-neutral-copy);text-decoration:underline;text-underline-offset:4px}
@media(max-width:600px){.cart-drawer{padding:26px 22px}.cart-item{grid-template-columns:95px minmax(0,1fr);gap:16px}.cart-product-image{height:195px}.cart-product-image .sleep-bottle{width:94px;height:174px}}
