.cart-drawer{position:fixed;inset:0 0 0 auto;margin:0;width:min(480px,100%);max-width:100%;height:100dvh;max-height:100dvh;border:0;padding:24px;background:#f3ece7;color:#48172d;box-shadow:-12px 0 50px #0002;overflow:hidden;font-family:'Fraunces',Georgia,serif}.cart-drawer[open]{display:flex;flex-direction:column;animation:cart-enter .25s ease-out}.cart-drawer::backdrop{background:#0006}.cart-drawer__head{display:flex;align-items:center;justify-content:space-between;gap:12px}.cart-drawer__head h2{font-size:22px;margin:0}.cart-drawer__head button{margin:0;padding:0;width:44px;height:44px;border:0;background:transparent;color:inherit;font-size:30px}.cart-drawer [data-cart-status]{font-size:13px;min-height:18px;margin:12px 0}.cart-drawer__items{flex:1;overflow-y:auto;overscroll-behavior:contain;min-height:0}.cart-drawer__item{display:grid;grid-template-columns:84px minmax(0,1fr);gap:16px;padding:20px 0;border-bottom:1px solid #48172d30}.cart-drawer__image{width:84px;height:116px;background:white;overflow:hidden;border-radius:10px;position:relative}.cart-drawer__image img{width:100%;height:100%;object-fit:contain}.cart-drawer__image .shop-reference-photo{width:100%;height:100%}.cart-drawer__item h3{font-size:15px;margin:0 0 8px}.cart-drawer__item p{font-size:13px;margin:4px 0}.cart-drawer__controls{display:flex;align-items:center;gap:0;margin-top:12px}.cart-drawer__controls button{margin:0;width:36px;height:36px;padding:0;background:white;color:#48172d;border:1px solid #aa8f9a}.cart-drawer__controls span{min-width:36px;text-align:center;font-size:14px}.cart-drawer__controls .cart-remove{width:auto;margin-left:14px;border:0;background:transparent;text-decoration:underline;font-size:12px}.cart-drawer__footer{padding-top:20px}.cart-drawer__subtotal{display:flex;justify-content:space-between;font-size:18px}.cart-drawer__footer p{font-size:12px}.cart-drawer__footer .button{display:block;text-align:center;border-radius:10px;background:#48172d;color:white}.cart-continue{width:100%;background:transparent;color:#48172d;border:0;margin:8px 0 0;font-size:13px;padding:12px}.cart-drawer a[aria-disabled=true]{pointer-events:none;opacity:.45}body.cart-is-open{overflow:hidden}@keyframes cart-enter{from{transform:translateX(100%)}to{transform:translateX(0)}}@media(max-width:767px){.cart-drawer{padding:12px;width:50vw;box-sizing:border-box}.cart-drawer__head h2{font-size:14px}.cart-drawer__item{grid-template-columns:minmax(0,1fr);gap:8px}.cart-drawer__controls{flex-wrap:wrap;row-gap:8px}.cart-drawer__controls .cart-remove{margin-left:0}.cart-drawer__subtotal{font-size:13px}.cart-drawer__footer .button{padding:12px 4px;font-size:12px}.cart-drawer__head h2{font-size:20px}}@media(prefers-reduced-motion:reduce){.cart-drawer[open]{animation:none}}
/* Keep catalog thumbnails at their original portrait proportions. */
.cart-drawer__item{align-items:start}
.cart-drawer__image{height:auto;aspect-ratio:320/584;flex-shrink:0}
.cart-drawer__image .shop-reference-photo{position:absolute;inset:0;display:block;aspect-ratio:auto;border-radius:0;transform:none;mask-image:none;filter:none}
.cart-drawer__image img{display:block;width:100%;height:100%;object-fit:contain;object-position:center;background:#fff}


.dos-header .bag>.cart-count-badge,body:not(.template-index) .dos-header .bag>.cart-count-badge{position:absolute;top:-6px;right:-6px;display:flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 4px;border-radius:50%;background:#f3ece7;color:#48172d;border:1px solid #48172d;font:700 11px/1 Arial,sans-serif;pointer-events:none}
.dos-header .bag>.cart-count-badge[hidden]{display:none!important}
.dos-header--home .bag{position:relative}


/* Keep the quantity visible outside the closed drawer on every page. */
body .dos-header .bag>[data-cart-badge]:not([hidden]){display:flex!important;visibility:visible!important;opacity:1;z-index:2}
body .dos-header .bag{overflow:visible}


/* Anchor the homepage quantity badge to its bag button. */
body.template-index .header-inner>.bag{position:relative}
body.template-index .header-inner>.bag>[data-cart-badge]{top:-7px;right:-7px;min-width:20px;height:20px;letter-spacing:0;transform:none}


/* Mobile cart: generous space with the storefront visible beside it. */
@media(max-width:767px){.cart-drawer{width:85vw;max-width:420px;padding:20px 16px;border-radius:18px 0 0 18px;box-sizing:border-box}.cart-drawer__head h2{font-size:18px}.cart-drawer__item{grid-template-columns:72px minmax(0,1fr);gap:12px;padding:16px 0}.cart-drawer__image{width:72px}.cart-drawer__item h3{font-size:13px;line-height:1.3}.cart-drawer__controls{flex-wrap:wrap;gap:0;row-gap:8px}.cart-drawer__controls button{width:32px;height:34px}.cart-drawer__controls span{min-width:30px}.cart-drawer__controls .cart-remove{width:auto;margin-left:8px}.cart-drawer__subtotal{font-size:16px}.cart-drawer__footer .button{padding:14px 8px;font-size:14px}}
