magalatu-cart,magalatu-receipt{display:block}
.cart-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,390px);gap:clamp(32px,5vw,80px);align-items:start;margin-top:36px}
.cart-layout .cart-summary{margin:0;text-align:left;min-width:0}
.cart-items{min-width:0}.cart-items .cart-row:first-child{padding-top:0}
.cart-actions{display:grid;gap:12px;margin-top:22px;text-align:center}
.cart-summary .cart-actions .button{margin:0;width:100%}
.cart-actions p{margin:0;color:var(--muted);font-size:13px}
.cart-error{padding:16px;border:1px solid #963d32;color:#792f26;background:#fff6f2}
.cart-error[hidden]{display:none}
magalatu-cart[aria-busy=true] [data-cart-remove]{pointer-events:none;opacity:.5}
.receipt-printer{width:100%;max-width:390px;margin-inline:auto;isolation:isolate}
.receipt-machine{position:relative;z-index:2;border:1px solid #333;border-radius:24px;background:linear-gradient(145deg,#454541,#292926);padding:12px 12px 32px;box-shadow:0 20px 36px -20px #1717178c,0 6px 14px -8px #1717173d,inset 0 1px 0 #ffffff24}
.receipt-header{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:46px;padding:0 4px 10px;color:#f9f7ef}
.receipt-brand{font:200 26px/1 var(--serif)}
.receipt-home{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:36px;padding:7px 10px;border:1px solid #77766d;border-radius:7px;background:#4d4d47;box-shadow:0 3px 0 #1d1d1a;color:#fff;text-decoration:none;font-size:11px}
.receipt-home:hover{background:#62625a}.receipt-home:active{transform:translateY(2px);box-shadow:0 1px 0 #1d1d1a}.receipt-home:focus-visible{outline-color:#fff}
.receipt-screen{border:1px solid #080b09;border-radius:12px;background:radial-gradient(ellipse at top,#293329,#111911);padding:20px;color:#edf2df;box-shadow:inset 0 0 24px 4px #0006;font:12px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace}
.receipt-screen-total{display:flex;justify-content:space-between;align-items:start;gap:14px;margin-bottom:20px}.receipt-screen-total p{margin:0 0 4px}.receipt-screen-total span{color:#bfc9b6;font-size:11px}.receipt-screen-total strong{white-space:nowrap;font-size:15px}
.receipt-status{display:flex;align-items:center;gap:9px;color:#c6d5bc;font-size:11px;min-height:20px}.receipt-indicator{flex:none;display:block;width:16px;height:16px;border:2px solid #a8cf90;border-radius:50%;position:relative}.receipt-indicator:after{content:'';position:absolute;left:3px;top:2px;width:4px;height:6px;border:solid #a8cf90;border-width:0 2px 2px 0;transform:rotate(45deg)}
.receipt-slot{position:absolute;inset:auto 24px 12px;height:8px;border:1px solid #080808;border-radius:4px;background:#090909;box-shadow:inset 0 2px 4px #000}
.receipt-output{position:relative;z-index:3;margin:-16px 24px 0;padding:0 0 14px;overflow:hidden;filter:drop-shadow(0 10px 8px #17171716)}
.receipt-output:after{content:'';pointer-events:none;position:absolute;inset:0 0 auto;height:9px;background:linear-gradient(#0006,transparent);z-index:1}
.receipt-paper{position:relative;min-height:320px;padding:30px 22px 24px;background:repeating-linear-gradient(0deg,#d9cdb508 0 1px,transparent 1px 3px),#faf8f1;color:#292923;font:11px/1.65 ui-monospace,SFMono-Regular,Consolas,monospace;clip-path:polygon(0 0,100% 0,100% calc(100% - 4px),98% 100%,96% calc(100% - 4px),94% 100%,92% calc(100% - 4px),90% 100%,88% calc(100% - 4px),86% 100%,84% calc(100% - 4px),82% 100%,80% calc(100% - 4px),78% 100%,76% calc(100% - 4px),74% 100%,72% calc(100% - 4px),70% 100%,68% calc(100% - 4px),66% 100%,64% calc(100% - 4px),62% 100%,60% calc(100% - 4px),58% 100%,56% calc(100% - 4px),54% 100%,52% calc(100% - 4px),50% 100%,48% calc(100% - 4px),46% 100%,44% calc(100% - 4px),42% 100%,40% calc(100% - 4px),38% 100%,36% calc(100% - 4px),34% 100%,32% calc(100% - 4px),30% 100%,28% calc(100% - 4px),26% 100%,24% calc(100% - 4px),22% 100%,20% calc(100% - 4px),18% 100%,16% calc(100% - 4px),14% 100%,12% calc(100% - 4px),10% 100%,8% calc(100% - 4px),6% 100%,4% calc(100% - 4px),2% 100%,0 calc(100% - 4px))}
.receipt-paper header,.receipt-paper footer{text-align:center}.receipt-paper .receipt-wordmark{font:200 34px/1.1 var(--serif);margin-bottom:12px}.receipt-paper h2{font:700 11px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace;text-transform:uppercase;letter-spacing:.12em;margin-bottom:7px}
.receipt-caption,.receipt-detail{color:#65645a;font-size:10px}.receipt-paper p{margin-bottom:8px}.receipt-items{list-style:none;margin:18px 0;padding:16px 0;border-block:1px dashed #a4a294}.receipt-items li+li{margin-top:18px}.receipt-line{display:flex;justify-content:space-between;align-items:baseline;gap:14px}.receipt-line>strong,.receipt-line>dt{min-width:0;overflow-wrap:anywhere}.receipt-line>span,.receipt-line>dd{flex-shrink:0;white-space:nowrap}.receipt-paper dd{margin:0}.receipt-properties{margin:4px 0;color:#65645a;font-size:10px;overflow-wrap:anywhere}.receipt-properties div{margin-top:3px}.receipt-properties dt,.receipt-properties dd{display:inline}.receipt-totals{margin:0 0 14px}.receipt-subtotal{font-size:13px;font-weight:700;margin:10px 0}.receipt-paper footer{border-top:1px dashed #a4a294;margin-top:18px;padding-top:18px;color:#65645a;font-size:10px}.receipt-barcode{display:block;width:100px;height:24px;margin:16px auto;background:repeating-linear-gradient(90deg,#4e4c42 0 1px,transparent 1px 3px,#4e4c42 3px 5px,transparent 5px 6px,#4e4c42 6px 7px,transparent 7px 11px)}
.receipt-printer[data-stage=processing] .receipt-indicator,.receipt-printer[data-stage=printing] .receipt-indicator{border-color:#9caa91;border-right-color:transparent;animation:receipt-spin .8s linear infinite}
.receipt-printer[data-stage=processing] .receipt-indicator:after,.receipt-printer[data-stage=printing] .receipt-indicator:after{display:none}
.receipt-printer[data-stage=processing] .receipt-paper{opacity:.35}
.receipt-printer[data-stage=error] .receipt-indicator{border-color:#f5c595}.receipt-printer[data-stage=error] .receipt-indicator:after{display:none}
@keyframes receipt-spin{to{transform:rotate(360deg)}}
@media(max-width:1000px){.cart-layout{grid-template-columns:minmax(0,1fr) 330px;gap:28px}.cart-items .cart-row{grid-template-columns:65px minmax(0,1fr);gap:16px}.cart-items .cart-row>div:last-child{grid-column:2}.receipt-paper{padding-inline:16px}}
@media(max-width:760px){.cart-layout{grid-template-columns:minmax(0,1fr);gap:40px}.cart-layout .cart-summary{width:100%;max-width:390px;justify-self:center}.receipt-home{min-height:44px}.receipt-screen{padding:16px}.receipt-screen-total strong{font-size:14px}}
@media(prefers-reduced-motion:reduce){.receipt-printer .receipt-indicator{animation:none!important}}
