:root{--xprint-accent:#ee4d2d;--xprint-ink:#222;--xprint-muted:#666;--xprint-border:#e5e5e5;--xprint-soft:#fafafa}
.xprint-flow-ready .cart-btn,.xprint-flow-ready .drawer-layer{display:none!important}
.xprint-flow-ready .buy-row .buy-btn{flex:1}
.xprint-choice-error{margin:10px 0 0;padding:10px 12px;border:1px solid #dc2626;background:#fff7f7;color:#a31616;font-size:13px;line-height:1.4}
.xprint-checkout-layer[hidden],.xprint-doc-layer[hidden],.xprint-mobile-bar[hidden]{display:none!important}
.xprint-checkout-layer,.xprint-doc-layer{position:fixed;inset:0;z-index:9999;display:flex;justify-content:flex-end}
.xprint-checkout-backdrop,.xprint-doc-backdrop{position:absolute;inset:0;border:0;background:rgba(0,0,0,.48);cursor:pointer}
.xprint-checkout-dialog{position:relative;width:min(760px,100%);height:100%;max-height:100svh;background:#fff;display:flex;flex-direction:column;box-shadow:-16px 0 48px rgba(0,0,0,.18)}
.xprint-checkout-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 22px;border-bottom:1px solid var(--xprint-border)}
.xprint-checkout-brand{display:flex;align-items:center;gap:12px}
.xprint-checkout-brand .brand-mark{flex:0 0 auto}
.xprint-checkout-brand small{display:block;color:var(--xprint-accent);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.xprint-checkout-brand h2{margin:2px 0 0;font-size:20px;color:var(--xprint-ink)}
.xprint-icon-button{width:40px;height:40px;border:1px solid var(--xprint-border);background:#fff;color:#333;font-size:24px;line-height:1;cursor:pointer}
.xprint-icon-button:focus-visible,.xprint-checkout-dialog button:focus-visible,.xprint-checkout-dialog input:focus-visible,.xprint-checkout-dialog select:focus-visible,.xprint-checkout-dialog a:focus-visible,.xprint-mobile-bar button:focus-visible{outline:3px solid rgba(238,77,45,.35);outline-offset:2px}
.xprint-progress{list-style:none;margin:0;padding:14px 22px;display:grid;grid-template-columns:repeat(3,1fr);gap:6px;border-bottom:1px solid var(--xprint-border);background:var(--xprint-soft)}
.xprint-progress li{display:flex;align-items:center;gap:8px;color:#777;font-size:12px;min-width:0}
.xprint-progress span{display:grid;place-items:center;width:26px;height:26px;border:1px solid #ccc;border-radius:50%;background:#fff;font-weight:800;flex:0 0 auto}
.xprint-progress b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.xprint-progress li.active,.xprint-progress li.done{color:var(--xprint-ink)}
.xprint-progress li.active span{border-color:var(--xprint-accent);background:var(--xprint-accent);color:#fff}
.xprint-progress li.done span{border-color:#15803d;background:#15803d;color:#fff}
.xprint-checkout-scroll{overflow:auto;overscroll-behavior:contain;flex:1;padding:22px}
.xprint-stage-heading{margin:0 0 5px;font-size:21px}
.xprint-stage-intro{margin:0 0 20px;color:var(--xprint-muted);font-size:14px;line-height:1.45}
.xprint-form-section{border:1px solid var(--xprint-border);padding:18px;margin:0 0 16px;background:#fff}
.xprint-form-section h3{margin:0 0 15px;font-size:16px}
.xprint-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.xprint-field{display:flex;flex-direction:column;gap:6px;min-width:0}
.xprint-field.full{grid-column:1/-1}
.xprint-field label{font-size:13px;font-weight:700;color:#333}
.xprint-field input,.xprint-field select{width:100%;height:44px;border:1px solid #cfcfcf;border-radius:2px;background:#fff;padding:0 12px;font:inherit;color:#222}
.xprint-field input[aria-invalid=true],.xprint-field select[aria-invalid=true]{border-color:#c62828;background:#fff8f8}
.xprint-field-error{min-height:16px;color:#b42318;font-size:12px;line-height:1.3}
.xprint-cep-status{min-height:18px;margin:7px 0 0;font-size:12px;color:#555}
.xprint-cep-status.error{color:#b42318}
.xprint-form-actions{display:flex;justify-content:space-between;gap:12px;margin-top:20px}
.xprint-secondary,.xprint-primary{min-height:46px;padding:0 20px;border-radius:2px;font-weight:800;text-transform:uppercase;cursor:pointer}
.xprint-secondary{border:1px solid #bbb;background:#fff;color:#333}
.xprint-primary{border:1px solid var(--xprint-accent);background:var(--xprint-accent);color:#fff}
.xprint-primary:disabled{cursor:not-allowed;opacity:.5}
.xprint-review-product{display:grid;grid-template-columns:96px 1fr;gap:14px;align-items:start}
.xprint-review-product img{width:96px;height:96px;object-fit:contain;border:1px solid var(--xprint-border);background:#fff}
.xprint-review-product h3{margin:0 0 4px;font-size:16px}
.xprint-review-product p{margin:0 0 10px;color:#555;font-size:13px}
.xprint-review-list{display:grid;grid-template-columns:1fr 1fr;gap:8px 18px;margin:0}
.xprint-review-list div{display:flex;justify-content:space-between;gap:12px;border-bottom:1px dashed #ddd;padding:6px 0;font-size:13px}
.xprint-review-list dt{color:#666}.xprint-review-list dd{margin:0;text-align:right;font-weight:700}
.xprint-review-address{font-style:normal;color:#444;font-size:14px;line-height:1.55}
.xprint-edit-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
.xprint-edit-row button{border:1px solid #bbb;background:#fff;padding:8px 12px;font-weight:700;cursor:pointer}
.xprint-totals{margin:0}.xprint-totals div{display:flex;justify-content:space-between;gap:16px;padding:7px 0;font-size:14px}.xprint-totals .discount{color:#15803d}.xprint-totals .total{margin-top:7px;padding-top:13px;border-top:2px solid #222;font-size:19px;font-weight:900}
.xprint-terms{display:grid;grid-template-columns:22px 1fr;gap:9px;align-items:start;margin:18px 0 0;font-size:13px;line-height:1.5}
.xprint-terms input{width:20px;height:20px;margin:1px 0;accent-color:var(--xprint-accent)}
.xprint-terms a{color:#9d2f18;text-decoration:underline;font-weight:700}
.xprint-payment-error{min-height:18px;margin:10px 0 0;color:#b42318;font-size:13px}
.xprint-doc-layer{align-items:center;justify-content:center;z-index:10000;padding:18px}
.xprint-doc-dialog{position:relative;width:min(680px,100%);max-height:min(700px,90svh);overflow:auto;background:#fff;padding:24px;border-radius:3px;box-shadow:0 18px 60px rgba(0,0,0,.24)}
.xprint-doc-dialog header{display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid var(--xprint-border);padding-bottom:12px;margin-bottom:14px}
.xprint-doc-dialog h2{margin:0;font-size:20px}.xprint-doc-dialog h3{font-size:15px;margin:18px 0 6px}.xprint-doc-dialog p,.xprint-doc-dialog li{font-size:14px;line-height:1.6;color:#444}
.xprint-mobile-bar{display:none}
@media(max-width:768px){
 body.xprint-checkout-open{overflow:hidden}
 .xprint-flow-ready body{padding-bottom:86px}
 .xprint-flow-ready .mobile-bar{display:none!important}
 .xprint-mobile-bar{position:fixed;z-index:9000;left:0;right:0;bottom:0;height:76px;background:#fff;border-top:1px solid #ddd;display:grid;grid-template-columns:1fr minmax(180px,58%);align-items:center;gap:10px;padding:8px max(8px,env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left));box-shadow:0 -4px 16px rgba(0,0,0,.1)}
 .xprint-mobile-copy{min-width:0}.xprint-mobile-copy b,.xprint-mobile-copy strong,.xprint-mobile-copy small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.xprint-mobile-copy b{font-size:12px}.xprint-mobile-copy strong{font-size:15px}.xprint-mobile-copy small{font-size:10px;color:#15803d}
 .xprint-mobile-buy{height:52px;border:0;background:var(--xprint-accent);color:#fff;font-weight:900;text-transform:uppercase;padding:0 10px;font-size:13px}
 .xprint-checkout-layer{justify-content:stretch}
 .xprint-checkout-dialog{width:100%;height:100svh;max-height:100svh;box-shadow:none}
 .xprint-checkout-header{padding:12px 14px}.xprint-checkout-brand h2{font-size:17px}.xprint-icon-button{width:38px;height:38px}
 .xprint-progress{padding:10px 14px}.xprint-progress li{gap:5px;font-size:10px}.xprint-progress span{width:23px;height:23px}.xprint-progress b{white-space:normal;line-height:1.15}
 .xprint-checkout-scroll{padding:16px 14px 104px}.xprint-stage-heading{font-size:19px}
 .xprint-form-section{padding:14px}.xprint-form-grid{grid-template-columns:1fr;gap:10px}.xprint-field.full{grid-column:auto}
 .xprint-form-actions{position:sticky;bottom:-104px;background:#fff;border-top:1px solid #ddd;margin:20px -14px -104px;padding:10px 14px calc(10px + env(safe-area-inset-bottom));z-index:2}
 .xprint-secondary,.xprint-primary{padding:0 12px;font-size:12px}
 .xprint-review-list{grid-template-columns:1fr}.xprint-doc-layer{padding:8px}.xprint-doc-dialog{max-height:94svh;padding:18px}
}
@media(max-width:359px){.xprint-progress b{font-size:9px}.xprint-mobile-bar{grid-template-columns:1fr minmax(165px,56%)}.xprint-mobile-buy{font-size:12px}}