.cart-drawer{height:100vh;height:100dvh;display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden}
.cart-scroll-body{min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-gutter:stable}
.cart-items{flex:none;overflow:visible}
.cart-order-summary{padding:0 16px 12px}
.cart-footer{padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:#fff;box-shadow:0 -6px 18px rgba(15,52,40,.08)}
.cart-summary-row>span{min-width:0;overflow-wrap:anywhere}
.cart-summary-row>span:last-child{text-align:right;font-variant-numeric:tabular-nums}
.cart-summary-row.discount.none,.cart-summary-row.tip.none{display:none}
.cart-total{gap:12px;margin:0 0 8px;padding-top:0;border-top:0}
.cart-total>span{min-width:0;overflow-wrap:anywhere}
.cart-total>span:last-child{text-align:right;font-variant-numeric:tabular-nums}
.promo-disclosure{margin:8px 0;border:1px solid var(--line);border-radius:10px;background:#fff;overflow:hidden}
.promo-disclosure>summary{min-height:48px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 12px;color:var(--green-d);font-size:13px;font-weight:800;cursor:pointer;list-style:none}
.promo-disclosure>summary::-webkit-details-marker{display:none}
.promo-disclosure>summary::after{content:'+';font-size:20px;font-weight:500;line-height:1}
.promo-disclosure[open]>summary::after{content:'−'}
.promo-disclosure>summary:focus-visible{outline:3px solid #005fcc;outline-offset:-3px}
.promo-disclosure-body{padding:0 10px 10px;border-top:1px solid var(--line)}
.promo-disclosure-body label{display:block;font-size:13px;font-weight:700;color:var(--ink);margin:9px 0 5px}
.promo-disclosure.is-applied .promo-disclosure-body>label,.promo-disclosure.is-applied .promo-entry{display:none}
.promo-disclosure.is-applied .promo-status{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.promo-disclosure.is-applied .promo-summary{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px}
.promo-disclosure.is-applied .promo-summary-details{min-width:0}
.promo-disclosure.is-applied .promo-summary-details p{margin:0}
.promo-disclosure.is-applied .promo-remove{width:auto;min-width:76px;margin:0;padding:0 10px}
