/* Hallmark · component-only · editorial / direct Causa commerce · emerald
 * anchored black-and-emerald · native side-sheet + optional shipment offer.
 * Pre-emit critique: P5 H5 E4 S5 R4 V4. Existing chrome / tokens preserved.
 * Contrast, mobile, focus, reduced motion and honest-copy review: pass. */
:root{--cart-modal-scrim:color-mix(in srgb,var(--e-dark-bg) 64%,transparent);}
.cart-drawer{inset:0 0 0 auto;margin:0;width:min(100%,32rem);max-width:100%;height:100dvh;max-height:100dvh;padding:0;border:0;border-left:1px solid var(--border-subtle);background:var(--surface-page);color:var(--text-primary);overflow:hidden;}
.cart-drawer[open]{display:flex;flex-direction:column;animation:cart-sheet-in 260ms var(--ease-out);}
.cart-drawer::backdrop{background:var(--cart-modal-scrim);}
.cart-drawer-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-5);border-bottom:1px solid var(--border-subtle);}
.cart-drawer-head h2{font-size:var(--text-xl);}
.cart-drawer-close{min-width:44px;min-height:44px;border:1px solid var(--border-strong);border-radius:var(--radius-pill);font-size:1.5rem;}
.cart-drawer-scroll{flex:1;overflow:auto;overscroll-behavior:contain;padding:var(--space-5);}
.cart-drawer-empty{padding-block:var(--space-7);text-align:center;}
.cart-drawer-empty p{margin:var(--space-3) 0 var(--space-5);color:var(--text-muted);}
.drawer-line{display:grid;grid-template-columns:72px minmax(0,1fr);gap:var(--space-4);padding-block:var(--space-5);border-bottom:1px solid var(--border-subtle);}
.drawer-line:first-child{padding-top:0;}
.drawer-line img{width:72px;height:88px;object-fit:contain;background:var(--surface-alt);border-radius:var(--radius-sm);}
.drawer-line-info{min-width:0;}
.drawer-line-name{font-family:var(--font-strong);font-weight:700;display:block;overflow-wrap:anywhere;}
.drawer-line-price{display:flex;gap:var(--space-2);align-items:baseline;margin:var(--space-2) 0;font-variant-numeric:tabular-nums;}
.drawer-line-price s,.drawer-note{color:var(--text-muted);font-size:var(--text-sm);}
.drawer-controls{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-top:var(--space-3);}
.drawer-qty{display:flex;align-items:center;border:1px solid var(--border-strong);border-radius:var(--radius-pill);overflow:hidden;}
.drawer-qty button,.drawer-remove{min-width:44px;min-height:44px;}
.drawer-qty output{min-width:2rem;text-align:center;font-variant-numeric:tabular-nums;}
.drawer-remove{color:var(--text-muted);text-decoration:underline;text-underline-offset:3px;}
.drawer-discount{font-size:var(--text-sm);color:var(--accent);}
.drawer-fulfillment{display:flex;gap:var(--space-4);padding:var(--space-3) 0;border:0;min-width:0;margin:0;}
.drawer-fulfillment label{display:flex;gap:var(--space-2);align-items:center;min-height:44px;cursor:pointer;}
.drawer-deals{margin-top:var(--space-5);}
.drawer-deals h3{margin-bottom:var(--space-3);}
.drawer-offers-title{margin-top:var(--space-5);}
.drawer-deal{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) 0;border-bottom:1px solid var(--border-subtle);}
.drawer-deal p{font-size:var(--text-sm);}
.drawer-deal button{flex:none;min-height:44px;padding:var(--space-2) var(--space-3);border:1px solid var(--border-strong);border-radius:var(--radius-sm);font-weight:700;}
.drawer-deal img{width:48px;height:56px;object-fit:contain;border-radius:var(--radius-sm);}
.drawer-deal-main{flex:1;min-width:0;}
.cart-drawer-foot{flex:none;padding:var(--space-4) var(--space-5);padding-bottom:max(var(--space-4),env(safe-area-inset-bottom));border-top:1px solid var(--border-subtle);background:var(--surface-page);}
.drawer-total-row{display:flex;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-2);font-variant-numeric:tabular-nums;}
.drawer-total{font-size:var(--text-xl);font-family:var(--font-strong);font-weight:700;margin-top:var(--space-3);}
.drawer-checkout{width:100%;margin-top:var(--space-4);min-height:48px;}
.drawer-status{font-size:var(--text-sm);margin-top:var(--space-3);}
.drawer-status:empty{display:none;}
.drawer-status.is-error{color:var(--danger);}
.drawer-secondary{display:flex;justify-content:space-between;gap:var(--space-4);margin-top:var(--space-3);font-size:var(--text-sm);}
.drawer-secondary a,.drawer-secondary button{text-decoration:underline;text-underline-offset:3px;min-height:44px;display:inline-flex;align-items:center;}
.cart-drawer button:disabled{opacity:.5;cursor:not-allowed;}
.cart-drawer button:not(:disabled):hover{background:var(--surface-muted);}
.cart-drawer .btn-primary:not(:disabled):hover{background:var(--accent);filter:brightness(.94);}
.cart-drawer button:not(:disabled):active{transform:translateY(1px);}
html.cart-drawer-open{overflow:hidden;}
@keyframes cart-sheet-in{from{transform:translateX(100%);}to{transform:translateX(0);}}
@media(max-width:399px){.cart-drawer-head,.cart-drawer-scroll,.cart-drawer-foot{padding:var(--space-4);}.drawer-line{grid-template-columns:60px minmax(0,1fr);gap:var(--space-3);}.drawer-line img{width:60px;height:76px;}.drawer-deal{flex-wrap:wrap;}}
/* Landscape and short windows need room for the items as well as totals. */
@media(max-height:600px){
  .cart-drawer{overflow-y:auto;overscroll-behavior:contain;}
  .cart-drawer[open]{display:block;}
  .cart-drawer-head{position:sticky;top:0;z-index:1;background:var(--surface-page);}
  .cart-drawer-scroll{overflow:visible;}
}
@media(prefers-reduced-motion:reduce){.cart-drawer[open]{animation:none;}.cart-drawer button:not(:disabled):active{transform:none;}}
.shipment-offer{margin-top:var(--space-6);padding:var(--space-5);border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface-alt);}
.shipment-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-4);margin-bottom:var(--space-4);}
.shipment-heading h2{font-size:var(--text-xl);}
.shipment-clock{flex:none;text-align:right;font-size:var(--text-sm);}
.shipment-clock span,.shipment-clock b{display:block;}
.shipment-clock b{font-family:var(--font-mono);font-size:var(--text-xl);font-variant-numeric:tabular-nums;}
.shipment-form{display:grid;gap:var(--space-3);margin-top:var(--space-5);}
.shipment-form label{font-weight:700;}
.shipment-form select{max-width:100%;min-height:44px;padding:var(--space-3);border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface-page);color:var(--text-primary);font:inherit;}
.shipment-form select:hover{border-color:var(--accent);}
.shipment-form select:disabled{opacity:.55;cursor:not-allowed;}
.cart-drawer :focus-visible,.shipment-offer :focus-visible{outline:2px solid var(--focus-ring);outline-offset:3px;}
.shipment-form button{min-height:48px;}
.shipment-form button:disabled{opacity:.5;cursor:not-allowed;}
.shipment-price{font-weight:700;}
.shipment-status{margin-top:var(--space-3);font-size:var(--text-sm);min-height:1lh;}
.shipment-addition{padding-block:var(--space-4);border-bottom:1px solid var(--border-subtle);}
.shipment-addition a{color:var(--accent);text-decoration:underline;min-height:44px;display:inline-flex;align-items:center;}
@media(max-width:399px){.shipment-heading{flex-direction:column;}.shipment-clock{text-align:left;}}
