/* Calcuera cart drawer: slides in from the right */
.cx.cart-drawer{position:fixed;inset:0;z-index:70;visibility:hidden;pointer-events:none}
.cx.cart-drawer.open{visibility:visible;pointer-events:auto}
.cx.cart-drawer .cd-overlay{position:absolute;inset:0;background:rgba(18,30,29,.45);opacity:0;transition:opacity .35s ease}
.cx.cart-drawer.open .cd-overlay{opacity:1}
.cx.cart-drawer .cd-panel{position:absolute;top:0;right:0;bottom:0;width:min(440px,90%);background:var(--cx-paper);color:var(--cx-ink);transform:translateX(100%);transition:transform .45s cubic-bezier(.6,0,.2,1);box-shadow:-24px 0 48px -32px rgba(18,30,29,.5);outline:0;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);padding-right:env(safe-area-inset-right,0px)}
.cx.cart-drawer.open .cd-panel{transform:none}
.cx.cart-drawer .cd-inner{display:flex;flex-direction:column;height:100%;transition:opacity .2s}
.cx.cart-drawer.is-busy .cd-inner{opacity:.55;pointer-events:none}

.cx .cd-head{display:flex;justify-content:space-between;align-items:center;height:68px;padding-inline:24px;border-bottom:1px solid var(--cx-line);flex:none}
.cx .cd-head h2{font-family:var(--cx-body);font-size:.85rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase}
.cx .cd-count{color:var(--cx-mute);font-weight:500}
.cx .cd-close{width:42px;height:42px;display:grid;place-items:center;margin-right:-10px}
.cx .cd-close svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.6}

.cx .cd-progress{padding:16px 24px;border-bottom:1px solid var(--cx-line);display:grid;gap:10px;flex:none}
.cx .cd-progress p{font-size:.82rem;color:var(--cx-mute)}
.cx .cd-progress strong{color:var(--cx-ink);font-weight:600}
.cx .cd-bar{position:relative;height:3px;background:var(--cx-tile);overflow:visible}
.cx .cd-bar span{display:block;height:100%;background:var(--cx-ink);transition:width .5s ease}
.cx .cd-mark{position:absolute;top:50%;width:9px;height:9px;margin:-4.5px 0 0 -4.5px;border-radius:50%;background:var(--cx-paper);border:1.5px solid var(--cx-mute)}
.cx .cd-mark.is-done{background:var(--cx-ink);border-color:var(--cx-ink)}
.cx .cd-gift-teaser{display:flex;align-items:center;gap:12px;padding:8px;background:var(--cx-tile);font-size:.8rem;line-height:1.35}
.cx .cd-gift-teaser img{width:44px;height:55px;object-fit:cover;flex:none}
.cx .cd-gift-teaser strong{color:var(--cx-ink);font-weight:600}
.cx .cd-gift-note{font-size:.78rem;color:var(--cx-mute);margin-top:6px}
.cx .cd-item-gift .cd-price{font-weight:600}

.cx .cd-items{list-style:none;margin:0;padding:0 24px;overflow-y:auto;flex:1;overscroll-behavior:contain}
.cx .cd-item{display:grid;grid-template-columns:88px minmax(0,1fr);gap:16px;padding-block:20px;border-bottom:1px solid var(--cx-line)}
.cx .cd-item:last-child{border-bottom:0}
.cx .cd-img{position:relative;display:block;aspect-ratio:4/5;background:var(--cx-tile);overflow:hidden}
.cx .cd-img img,.cx .cd-img svg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.cx .cd-img svg{fill:#9AA8A2}
.cx .cd-info{display:grid;gap:4px;align-content:start;min-width:0}
.cx .cd-row{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.cx .cd-name{font-weight:600;font-size:.95rem;line-height:1.35}
.cx .cd-name:hover{text-decoration:underline;text-underline-offset:3px}
.cx .cd-price{font-variant-numeric:tabular-nums;font-size:.92rem;white-space:nowrap}
.cx .cd-price s{color:var(--cx-mute);margin-right:6px}
.cx .cd-var{font-size:.82rem;color:var(--cx-mute)}
.cx .cd-actions{align-items:center;margin-top:10px}
.cx .cd-qty{display:inline-flex;align-items:center;border:1px solid var(--cx-line);height:34px}
.cx .cd-qty button{width:32px;height:100%;display:grid;place-items:center;font-size:1rem;color:var(--cx-ink)}
.cx .cd-qty button:hover{background:var(--cx-chalk)}
.cx .cd-qty span{min-width:28px;text-align:center;font-size:.88rem;font-variant-numeric:tabular-nums}
.cx .cd-remove{font-size:.78rem;color:var(--cx-mute);text-decoration:underline;text-underline-offset:3px}
.cx .cd-remove:hover{color:var(--cx-ink)}

.cx .cd-foot{flex:none;padding:20px 24px 24px;border-top:1px solid var(--cx-line);display:grid;gap:10px;background:var(--cx-paper)}
.cx .cd-line{display:flex;justify-content:space-between;font-size:.88rem;font-variant-numeric:tabular-nums}
.cx .cd-sub{font-weight:600;font-size:1rem}
.cx .cd-note{font-size:.78rem;color:var(--cx-mute)}
.cx .cd-form{margin:4px 0 0}
.cx .cd-checkout{width:100%;background:var(--cx-ink)!important;color:var(--cx-chalk)!important;padding:16px!important;font-size:.85rem;font-weight:600;letter-spacing:.1em!important;text-transform:uppercase!important;transition:background .2s}
.cx .cd-checkout:hover{background:var(--cx-pista)!important}
.cx .cd-view{justify-self:center;font-size:.8rem;text-decoration:underline;text-underline-offset:3px;color:var(--cx-mute)}
.cx .cd-view:hover{color:var(--cx-ink)}

.cx .cd-empty{flex:1;display:grid;place-content:center;justify-items:center;gap:20px;padding:24px;text-align:center}
.cx .cd-empty p{font-size:1rem}
.cx .cd-empty-links{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}
.cx .cd-empty-links a{border:1.5px solid var(--cx-ink);padding:12px 20px;font-size:.78rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;transition:background .2s,color .2s}
.cx .cd-empty-links a:hover{background:var(--cx-ink);color:var(--cx-chalk)}

@media(max-width:479px){
  .cx .cd-head,.cx .cd-progress,.cx .cd-foot{padding-inline:16px}
  .cx .cd-items{padding-inline:16px}
  .cx .cd-item{grid-template-columns:76px minmax(0,1fr)}
}
@media(prefers-reduced-motion:reduce){.cx.cart-drawer .cd-panel,.cx.cart-drawer .cd-overlay{transition:none}}

.cx .cd-points{font-size:.8rem;color:var(--cx-mute);margin:2px 0 0}
.cx .cd-points strong{color:var(--cx-ink);font-weight:600}
.cx .cd-points a{text-decoration:underline;text-underline-offset:2px;color:var(--cx-ink)}
