/* Purchase presentation only. All monetary totals come from the existing API. */
[hidden]{display:none!important}
.postcode-city p:empty{display:none}
.delivery-summary{margin-top:16px;overflow-wrap:anywhere}.delivery-summary p{margin:0 0 8px}.delivery-summary .delivery-destination{font-weight:600}.delivery-summary .delivery-zone,.delivery-summary .delivery-progress{font-size:.85rem;color:#57645a}.delivery-amounts{margin:12px 0}.delivery-amounts>div{display:flex;justify-content:space-between;gap:12px;margin:6px 0}.delivery-amounts dt,.delivery-amounts dd{margin:0}.delivery-amounts dd{white-space:nowrap;font-weight:600}.delivery-amounts .delivery-total{border-top:1px solid #d4dacf;padding-top:10px;margin-top:10px;font-weight:700}.delivery-summary .delivery-progress{margin-bottom:0}
.quick-add{margin-top:.8rem;width:100%;font-size:.86rem;min-height:44px}
.drawer-open{overflow:hidden}
.drawer-close{display:grid;place-items:center;flex:none;width:44px;height:44px;border:1px solid #d4dacf;border-radius:50%;color:#203e34;background:transparent;cursor:pointer}.drawer-close:hover{background:#e8ede3}.drawer-close:focus-visible{outline:3px solid #a46d49;outline-offset:3px}.add-feedback{font-size:.85rem;min-height:1.3em;color:#203e34;margin:6px 0}.drawer-subtotal{padding:16px 0;border-top:1px solid #d4dacf;font-weight:700}
.address-suggestions{border:1px solid #c5cec0;border-radius:6px;background:#fff;max-height:240px;overflow-y:auto;margin-top:4px;box-shadow:0 4px 12px #203e3415}.address-suggestions [role=option]{padding:12px;min-height:44px;cursor:pointer;overflow-wrap:anywhere}.address-suggestions [role=option]:hover,.address-suggestions [aria-selected=true]{background:#e8ede3;color:#203e34}.address-help{font-size:.75rem;color:#57645a}
.cart-drawer{position:fixed;inset:0 0 0 auto;margin:0;width:min(480px,96vw);max-width:96vw;height:100dvh;max-height:100dvh;border:0;background:#faf8f2;color:#263b33;padding:24px;overflow-y:auto;overscroll-behavior:contain;box-shadow:-10px 0 45px #172c3526}
.cart-drawer::backdrop{background:#122a2490}
.drawer-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:28px}.drawer-heading h2{font-size:1.3rem;margin:0}
.drawer-product,.drawer-accessory{display:grid;grid-template-columns:88px minmax(0,1fr);gap:16px;margin-bottom:24px}.drawer-product img,.drawer-accessory img{width:88px;height:88px;object-fit:cover;border-radius:8px}.drawer-product h3{font-size:1.2rem;margin:0}.drawer-product p{margin:6px 0}
.drawer-product{grid-template-columns:72px minmax(0,1fr) 44px;gap:12px}.drawer-product img{width:72px;height:80px}.drawer-delete{align-self:center;width:44px;height:44px;display:grid;place-items:center;padding:0;color:#a34137;background:transparent;border:0;border-radius:50%;cursor:pointer}.drawer-delete:hover{background:#f5e6e1}.drawer-product>div{min-width:0;overflow-wrap:anywhere}@media(max-width:430px){.drawer-product{grid-template-columns:52px minmax(0,1fr) 44px;gap:8px}.drawer-product img{width:52px;height:64px}.drawer-product h3{font-size:1rem}}
.drawer-recommendations{border-top:1px solid #dcded4;padding-top:20px}.drawer-recommendations h3{font-size:1.05rem;margin-bottom:24px}.drawer-accessory p{margin:0 0 4px}.drawer-accessory .quick-add{padding:8px 12px;margin-top:8px;width:auto}
.drawer-actions{position:sticky;bottom:-24px;padding:16px 0 max(24px,env(safe-area-inset-bottom));background:#faf8f2;display:grid;gap:10px;border-top:1px solid #dcded4}.drawer-actions .button{width:100%}
.cart-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,1fr);gap:32px;align-items:start}.cart-summary{position:sticky;top:24px}.cart-summary h2{font-size:1.4rem}.cart-summary .panel{padding:0;border:0;box-shadow:none;background:transparent}.cart-summary [data-delivery-check]{margin:20px 0}.cart-summary input,.cart-summary select{min-width:0;max-width:100%}
.cart-row{display:grid;grid-template-columns:80px minmax(0,1fr) auto;gap:12px 16px;padding:24px 0;border-bottom:1px solid #dbded5;align-items:center}.cart-row>img{width:80px;height:90px;object-fit:cover;border-radius:8px}.cart-row h2{font-size:1.05rem;margin:0 0 6px}.cart-row p{margin:0 0 6px}.cart-row-details{min-width:0}.cart-quantity{display:flex;align-items:center;gap:10px;grid-column:2}.cart-quantity button{border:1px solid #d7dacf;border-radius:50%;width:36px;height:36px;background:#fff;cursor:pointer;font-size:1.2rem}.cart-quantity button:disabled{opacity:.35;cursor:default}.cart-line-total{grid-column:3;grid-row:1;text-align:right}.cart-delete{grid-column:3;grid-row:2;justify-self:end;color:#a34137;background:transparent;border:0;width:44px;height:44px;cursor:pointer;border-radius:50%}.cart-delete:hover{background:#f5e6e1}.cart-row-error{grid-column:1/-1;color:#a34137;font-size:.85rem}.cart-row-error:empty{display:none}.cart-mobile-action{display:none}
.checkout-progress{list-style:none;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;counter-reset:steps;margin:0 0 30px}.checkout-progress li{font-size:.72rem;border-top:3px solid #dce1d8;padding-top:8px;overflow-wrap:anywhere;counter-increment:steps}.checkout-progress li:before{content:counter(steps) '. ';}.checkout-progress li[aria-current=step]{border-color:#234638;font-weight:700;color:#234638}.checkout-navigation{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}.checkout-navigation .button{min-width:0;white-space:normal}.progressive-checkout h2{font-size:1.6rem}.progressive-checkout [data-checkout-review]{overflow-wrap:anywhere}.progressive-checkout [data-checkout-review] h3{font-size:1rem;margin:20px 0 8px}.progressive-checkout [data-checkout-step]{scroll-margin-top:20px}.progressive-checkout .radio-row{flex-wrap:wrap}.progressive-checkout input,.progressive-checkout textarea{font-size:16px;min-width:0;max-width:100%}
:is(.cart-drawer,.cart-layout,.progressive-checkout) :focus-visible{outline:3px solid #b16b47;outline-offset:4px}
@media(max-width:1023px){.cart-layout{grid-template-columns:minmax(0,1fr)}.cart-summary{position:static}.cart-mobile-action.is-sticky{display:flex;gap:12px;align-items:center;justify-content:space-between;position:fixed;z-index:30;bottom:0;left:0;right:0;padding:12px max(16px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom));background:#f9f7f0;box-shadow:0 -3px 20px #203e3420}.cart-mobile-action strong{font-size:.82rem}.cart-mobile-action .button{font-size:.85rem;padding:12px;white-space:normal}.cart-sticky-active{padding-bottom:100px}}
@media(max-width:430px){.cart-drawer{padding:18px}.drawer-actions{bottom:-18px}.cart-row{grid-template-columns:60px minmax(0,1fr) auto;gap:10px}.cart-row>img{width:60px;height:70px}.cart-row h2{font-size:.95rem}.cart-quantity{gap:6px}.cart-quantity span{font-size:.85rem}.cart-line-total{font-size:.9rem}.cart-summary{padding:20px}.progressive-checkout{padding:20px}.checkout-progress{gap:4px}.checkout-progress li{font-size:.66rem}.checkout-navigation .button{width:100%}}
@media(prefers-reduced-motion:reduce){.cart-drawer *,.progressive-checkout *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
