:root{--printo-purple: #5b2a8c;--printo-purple-deep: #3f1e63;--printo-orange: #f37121;--ink: #1f1f24;--muted: #6b6b73;--line: #e7e7ec;--bg: #ffffff;--quirky-ink: #0f0f12;--quirky-yellow: #ffe566}*{box-sizing:border-box}html,body{margin:0;padding:0;background:#fafafa;color:var(--ink);font-family:Inter,system-ui,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer;border:0;background:none;color:inherit}img{max-width:100%;display:block}.util{display:flex;justify-content:space-between;align-items:stretch;background:#f3f3f5;font-size:13px;color:#3a3a40}.util .left{padding:9px 28px}.util .right{display:flex;align-items:stretch;gap:18px;padding-left:18px}.util .right>span{display:flex;align-items:center;gap:6px;padding:9px 0}.util .right .biz{background:var(--printo-orange);color:#fff;padding:9px 18px;font-weight:600}.pin{display:inline-block;width:8px;height:8px;border-radius:50% 50% 50% 0;background:var(--printo-purple);transform:rotate(-45deg)}header{background:#fff;display:flex;align-items:center;gap:28px;padding:14px 28px;border-bottom:1px solid var(--line)}.logo{display:flex;align-items:center;gap:8px;font-family:Fraunces,serif;font-weight:600;font-size:30px;letter-spacing:-.5px}.logo .dot{width:34px;height:34px;border-radius:50%;background:var(--printo-purple);display:inline-block;margin-right:-12px;position:relative;z-index:0}.logo .word{position:relative;z-index:1;color:#1f1f24}.logo .tag{display:block;font-family:Inter,sans-serif;font-size:10px;letter-spacing:.5px;color:#666;font-weight:500;margin-top:-4px}.search{flex:1;max-width:520px;position:relative}.search input{width:100%;padding:12px 44px 12px 16px;border:1px solid #d9d9e0;border-radius:6px;font-size:14px;background:#fff;outline:none}.search .icon{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:30px;height:30px;border-radius:50%;background:#ececf1;display:grid;place-items:center;color:#666}.header-right{display:flex;align-items:center;gap:24px;font-size:14px;color:#3a3a40}.header-right .item{display:flex;align-items:center;gap:8px}.header-right .cart{position:relative}.header-right .cart .badge{position:absolute;top:-6px;right:-10px;background:var(--printo-purple);color:#fff;font-size:11px;font-weight:600;width:20px;height:20px;border-radius:50%;display:grid;place-items:center}nav.cats{background:#fff;border-bottom:1px solid var(--line);display:flex;gap:34px;padding:14px 28px;font-size:14px;font-weight:500;color:#3a3a40}nav.cats .active{color:var(--printo-orange);font-weight:600}.crumb{padding:14px 28px;font-size:13px;color:#666;background:#fff}.quirky-callout{margin:0 28px 14px;background:linear-gradient(120deg,var(--printo-purple) 0%,var(--printo-purple-deep) 100%);color:#fff;border-radius:6px;overflow:hidden;display:flex;align-items:stretch;cursor:pointer;transition:transform .15s ease,box-shadow .2s ease;position:relative;border:1px solid var(--printo-purple-deep)}.quirky-callout:hover{transform:translateY(-1px);box-shadow:0 10px 24px -12px #5b2a8c8c}.quirky-callout .qc-left{display:flex;align-items:center;gap:14px;padding:14px 22px;flex:1}.quirky-mark{font-family:Fraunces,serif;font-weight:600;font-style:italic;font-size:22px;background:#fff;color:var(--printo-purple);padding:4px 14px;border-radius:999px;letter-spacing:-.3px;display:inline-flex;align-items:center;gap:6px;flex-shrink:0}.quirky-mark:after{content:"";width:6px;height:6px;border-radius:50%;background:var(--printo-orange);display:inline-block}.qc-headline{font-size:15.5px;font-weight:500;letter-spacing:-.1px}.qc-headline b{font-weight:700}.qc-sub{font-size:12.5px;color:#ffffffb8;margin-left:6px}.qc-cta{display:flex;align-items:center;gap:10px;padding:0 22px;font-size:13.5px;font-weight:600;color:#fff;background:var(--printo-orange)}.qc-cta .arrow{width:24px;height:24px;border-radius:50%;background:#fff;color:var(--printo-orange);display:grid;place-items:center;transition:transform .2s ease}.quirky-callout:hover .qc-cta .arrow{transform:translate(3px)}.qc-spark{position:absolute;top:6px;right:42%;font-family:Caveat,cursive;font-size:14px;color:var(--printo-orange);background:#fff;padding:0 8px;border-radius:99px;transform:rotate(-6deg);font-weight:700}.delivery-banner{margin:0 28px;background:var(--printo-purple);color:#fff;text-align:center;padding:13px 12px;font-size:14.5px;font-weight:500;border-radius:4px;display:flex;align-items:center;justify-content:center;gap:10px}.delivery-banner .scoot{font-size:18px}.hero{margin:24px 28px 0;position:relative;border-radius:6px;overflow:hidden;aspect-ratio:1000/300;background:linear-gradient(120deg,#5a5040,#3a342a 60%,#2a2620);display:flex;align-items:center;color:#f3ead8}.hero-text{padding:0 56px;max-width:55%}.hero-text h1{font-family:Fraunces,serif;font-weight:400;font-size:46px;line-height:1.08;margin:0 0 14px;color:#f3ead8;letter-spacing:-.5px}.hero-text p{font-size:15px;color:#e3dcc6;margin:0 0 22px;max-width:380px}.hero-text .shop{background:var(--printo-orange);color:#fff;font-weight:600;padding:11px 28px;border-radius:3px;font-size:15px;display:inline-block}.hero-img{position:absolute;right:0;top:0;bottom:0;width:48%;background:linear-gradient(135deg,#2c3e60,#1a2540 60%,#0f1830);display:grid;place-items:center;color:#aab}.hero-img:after{content:"premium photo album · placeholder";font-family:JetBrains Mono,ui-monospace,monospace;font-size:11px;letter-spacing:.5px;color:#7d8aa8}.arrow-btn{position:absolute;top:50%;transform:translateY(-50%);width:36px;height:36px;border-radius:50%;background:#ffffff26;color:#fff;display:grid;place-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.arrow-btn.left{left:14px}.arrow-btn.right{right:14px}.dots{position:absolute;bottom:14px;left:50%;transform:translate(-50%);display:flex;gap:6px}.dots i{width:8px;height:8px;border-radius:50%;background:#fff6}.dots i.on{background:#fff;width:18px;border-radius:4px}.order-section{margin:80px 28px 60px;padding:48px 56px;background:#fff;border:1px solid var(--line);border-radius:8px;scroll-margin-top:24px}.order-section.glow{box-shadow:0 0 0 3px var(--quirky-yellow),0 20px 40px -20px #00000026;animation:pulseGlow 1.6s ease}@keyframes pulseGlow{0%{box-shadow:0 0 0 6px var(--quirky-yellow)}to{box-shadow:0 0 0 3px var(--quirky-yellow),0 20px 40px -20px #00000026}}.order-section .eyebrow{font-size:12px;letter-spacing:1.5px;text-transform:uppercase;color:var(--printo-orange);font-weight:600;margin-bottom:10px}.order-section h2{font-family:Fraunces,serif;font-weight:500;font-size:38px;letter-spacing:-.5px;margin:0 0 24px;color:var(--ink)}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:8px}.step{border:1px solid var(--line);border-radius:6px;padding:24px;background:#fafafa;display:flex;flex-direction:column;gap:8px}.step .num{font-family:Fraunces,serif;font-size:34px;color:var(--printo-purple);line-height:1}.step h3{margin:6px 0 4px;font-size:16px;font-weight:600}.step p{margin:0;font-size:13.5px;color:var(--muted);line-height:1.5}.order-section .actions{display:flex;align-items:center;gap:14px;margin-top:32px;flex-wrap:wrap}.btn-primary{background:var(--printo-orange);color:#fff;font-weight:600;padding:13px 28px;border-radius:3px;font-size:15px}.btn-ghost{border:1px solid var(--line);padding:12px 22px;border-radius:3px;font-size:14px;font-weight:500;color:#3a3a40;display:inline-flex;align-items:center;gap:8px}.wa{display:inline-flex;align-items:center;gap:8px;color:#1a8a4a;font-size:14px;font-weight:600}.wa .wa-dot{width:24px;height:24px;border-radius:50%;background:#25d366;color:#fff;display:grid;place-items:center}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f0f128c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:none;align-items:center;justify-content:center;z-index:50;padding:24px;opacity:0;transition:opacity .25s ease}.modal-backdrop.open{display:flex;opacity:1}.modal{width:min(560px,100%);background:#fff;border-radius:10px;overflow:hidden;box-shadow:0 30px 80px -20px #0006;transform:translateY(8px) scale(.98);transition:transform .25s ease;max-height:calc(100vh - 48px);display:flex;flex-direction:column}.modal .scroll-body{flex:1;overflow-y:auto;overscroll-behavior:contain}.modal .scroll-body::-webkit-scrollbar{width:8px}.modal .scroll-body::-webkit-scrollbar-thumb{background:#d9d9e0;border-radius:99px}.modal-backdrop.open .modal{transform:translateY(0) scale(1)}.modal .head{display:flex;align-items:center;justify-content:space-between;padding:18px 24px;background:linear-gradient(120deg,var(--printo-purple) 0%,var(--printo-purple-deep) 100%);color:#fff}.modal .head .left{display:flex;align-items:center;gap:10px}.modal .head .mark{font-family:Fraunces,serif;font-style:italic;font-weight:600;background:#fff;color:var(--printo-purple);padding:3px 14px;border-radius:999px;font-size:16px;letter-spacing:-.3px}.modal .head .sub{font-size:12px;color:#ffffffbf}.modal .close{color:#ffffffd9;font-size:22px;line-height:1;padding:4px 8px;transition:color .15s ease}.modal .close:hover{color:#fff}.modal .body{padding:28px 28px 26px}.modal h2{font-family:Fraunces,serif;font-weight:500;font-size:26px;letter-spacing:-.3px;margin:0 0 4px;color:var(--ink)}.modal .lede{font-size:13.5px;color:var(--muted);margin:0 0 22px}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.field label{font-size:13px;font-weight:600;color:#2a2a30}.field label em{font-style:normal;color:var(--printo-orange)}.field .hint{font-size:12px;color:#9a9aa3;font-weight:400;margin-left:6px}.field input,.field textarea{width:100%;padding:12px 14px;border:1px solid #d9d9e0;border-radius:6px;font-size:14px;font-family:inherit;outline:none;transition:border .15s ease,box-shadow .15s ease;background:#fff;color:var(--ink)}.field textarea{min-height:80px;resize:vertical}.field input:focus,.field textarea:focus{border-color:var(--printo-purple);box-shadow:0 0 0 3px #5b2a8c2e}.field .example{font-size:12px;color:#9a9aa3;margin-top:6px;font-style:italic}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.modal .submit{width:100%;background:var(--printo-orange);color:#fff;padding:14px;border-radius:4px;font-size:14.5px;font-weight:600;letter-spacing:.2px;display:flex;align-items:center;justify-content:center;gap:10px;margin-top:6px;transition:background .15s ease,transform .05s ease}.modal .submit:hover{background:#d95f10}.modal .submit:active{transform:translateY(1px)}.modal .submit:disabled{opacity:.5;cursor:not-allowed}.modal .submit .arr{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#fff;color:var(--printo-orange)}.photo-step{padding:28px;display:flex;flex-direction:column;gap:16px}.photo-step h2{margin:0}.photo-step .dropzone{border:2px dashed #d9d9e0;border-radius:8px;padding:36px 16px;text-align:center;cursor:pointer;transition:border .15s ease,background .15s ease}.photo-step .dropzone:hover,.photo-step .dropzone.over{border-color:var(--printo-purple);background:#f7f3fb}.dropzone.compact{border:2px dashed #d9d9e0;border-radius:8px;padding:14px 16px;cursor:pointer;transition:border .15s ease,background .15s ease}.dropzone.compact:hover,.dropzone.compact.over{border-color:var(--printo-purple);background:#f7f3fb}.dropzone-empty{display:flex;align-items:center;gap:12px;font-size:13px;color:var(--muted)}.dropzone-empty .dz-icon{font-size:22px;flex-shrink:0}.dropzone-empty b{color:var(--ink);font-weight:600}.dropzone-with-file{display:flex;align-items:center;gap:14px}.preview-thumb-small{width:56px;height:56px;object-fit:cover;border-radius:6px;border:1px solid var(--line);flex-shrink:0}.dropzone-text{display:flex;flex-direction:column;gap:4px;font-size:13px;flex:1;min-width:0}.dropzone-text b{font-weight:600;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.link-btn{background:none;border:0;padding:0;color:var(--printo-purple);font-size:12.5px;font-weight:500;cursor:pointer;text-align:left}.link-btn:hover{text-decoration:underline}.privacy-note{margin:14px 0 0;font-size:11.5px;color:#9a9aa3;text-align:center;line-height:1.45}.photo-step .dropzone p{margin:6px 0 0;font-size:13px;color:var(--muted)}.photo-step .preview-thumb{margin:0 auto;max-width:200px;max-height:200px;border-radius:8px;border:1px solid var(--line)}.photo-step .actions{display:flex;gap:10px;justify-content:flex-end}.photo-step .actions .primary{background:var(--printo-orange);color:#fff;padding:11px 20px;border-radius:4px;font-weight:600;font-size:14px}.photo-step .actions .primary:hover{background:#d95f10}.photo-step .actions .primary:disabled{opacity:.5;cursor:not-allowed}.photo-step .actions .ghost{background:transparent;color:var(--ink);padding:11px 18px;border-radius:6px;font-weight:500;font-size:14px;border:1px solid var(--line)}.photo-step .upload-error{color:#c64141;font-size:13px;font-style:italic}.loading{padding:48px 28px;text-align:center}.loading .spinner{width:64px;height:64px;margin:0 auto 22px;position:relative}.loading .spinner:before,.loading .spinner:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;border:3px solid transparent}.loading .spinner:before{border-top-color:var(--printo-purple);border-right-color:var(--printo-purple);animation:spin 1s linear infinite}.loading .spinner:after{border-bottom-color:var(--printo-orange);border-left-color:var(--printo-orange);animation:spin 1.4s linear infinite reverse}@keyframes spin{to{transform:rotate(360deg)}}.loading h3{font-family:Fraunces,serif;font-weight:500;font-size:22px;margin:0 0 6px;letter-spacing:-.2px}.loading .secs{font-size:13px;color:var(--muted);margin:0 0 18px}.loading .bar{height:6px;background:#f0f0f4;border-radius:99px;overflow:hidden;max-width:280px;margin:0 auto}.loading .bar i{display:block;height:100%;background:linear-gradient(90deg,var(--printo-purple),var(--printo-orange));width:0;border-radius:99px;transition:width 1s linear}.loading .ticker{margin-top:18px;font-family:JetBrains Mono,ui-monospace,monospace;font-size:11px;color:#9a9aa3;min-height:14px}.loading .printo-fact{margin:22px auto 0;max-width:360px;min-height:44px;padding:12px 16px;background:#faf7fd;border:1px solid #ece4f5;border-radius:8px;font-size:13.5px;color:var(--printo-purple-deep);line-height:1.5;font-weight:500}.loading .printo-fact span{animation:factFade .6s ease}@keyframes factFade{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.result{padding:16px 24px 20px;display:flex;flex-direction:column}.result .preview{border:1px solid var(--line);border-radius:8px;overflow:hidden;background:#fafafa;display:grid;place-items:center;position:relative}.result .preview img{display:block;max-width:100%;max-height:calc(100vh - 360px);object-fit:contain}.result .meta{display:flex;justify-content:space-between;align-items:baseline;margin-top:10px;gap:12px}.result .meta h4{font-family:Fraunces,serif;font-weight:500;font-size:18px;margin:0;letter-spacing:-.2px}.result .meta .for{font-size:12px;color:var(--muted)}.result .ask{font-size:14.5px;font-weight:600;margin-top:14px;color:var(--ink)}.result .row{display:flex;gap:10px;margin-top:8px;flex-wrap:wrap}.result .yes{background:var(--printo-orange);color:#fff;padding:11px 20px;border-radius:6px;font-weight:600;font-size:14px;display:inline-flex;align-items:center;gap:8px}.result .yes .check{width:18px;height:18px;border-radius:50%;background:#fff;color:var(--printo-orange);display:grid;place-items:center;font-size:11px;font-weight:700}.result .change-row{margin-top:18px;border-top:1px dashed var(--line);padding-top:18px}.result .change-row label{display:block;font-size:13px;font-weight:600;color:#2a2a30;margin-bottom:6px}.result .change-row .input-row{display:flex;gap:8px}.result .change-row input{flex:1;padding:11px 14px;border:1px solid #d9d9e0;border-radius:6px;font-size:14px;outline:none}.result .change-row input:focus{border-color:var(--printo-purple);box-shadow:0 0 0 3px #5b2a8c2e}.result .change-row .try{background:var(--printo-orange);color:#fff;padding:0 18px;border-radius:4px;font-size:13.5px;font-weight:600;display:inline-flex;align-items:center;gap:6px}.result .change-row .try:hover{background:#d95f10}.result .change-row .try:disabled{opacity:.5;cursor:not-allowed}.result .tries-left{align-self:flex-start;font-size:12px;font-weight:600;color:var(--printo-purple);background:#f3edf9;padding:5px 12px;border-radius:999px;margin-top:12px}.success{padding:16px 28px 26px;text-align:center;position:relative}.success>.back-link{position:static;display:flex;width:fit-content;margin:0 0 8px -4px}.back-link{position:absolute;top:14px;left:14px;display:inline-flex;align-items:center;gap:4px;background:none;border:0;padding:6px 10px;border-radius:6px;font-size:13px;font-weight:600;color:var(--printo-purple);cursor:pointer;transition:background .15s ease}.back-link:hover{background:#f3edf9}.result .back-link{position:static;align-self:flex-start;margin:0 0 4px -4px}.success .check-big{width:56px;height:56px;margin:0 auto 14px;border-radius:50%;background:#25d36622;color:#1a8a4a;display:grid;place-items:center;font-size:30px;font-weight:700}.success h3{font-family:Fraunces,serif;font-weight:500;font-size:24px;margin:0 0 6px;letter-spacing:-.3px}.success p{font-size:14px;color:var(--muted);margin:0}.success .success-sub{font-size:13.5px;color:var(--muted);margin:0 0 18px}.success .order-id{display:inline-block;margin-top:14px;padding:4px 12px;border-radius:99px;border:1px dashed var(--line);font-family:JetBrains Mono,ui-monospace,monospace;font-size:11.5px;color:#555}.success .preview,.success .success-preview{margin:0 auto 14px;max-width:220px;border:1px solid var(--line);border-radius:8px;overflow:hidden}.success .preview img,.success .success-preview img{width:100%;display:block}.how-to-steps{list-style:none;padding:0;margin:0 0 22px;text-align:left;display:flex;flex-direction:column;gap:12px}.how-to-steps li{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;background:#faf7fd;border:1px solid #ece4f5;border-radius:8px}.how-to-steps .step-num{flex-shrink:0;width:26px;height:26px;border-radius:50%;background:var(--printo-purple);color:#fff;font-family:Fraunces,serif;font-weight:600;font-size:14px;display:grid;place-items:center;margin-top:1px}.how-to-steps li b{display:block;font-size:14px;font-weight:600;color:var(--ink);margin-bottom:2px}.how-to-steps li p{margin:0;font-size:12.5px;color:var(--muted);line-height:1.45}.success-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:4px}.success-actions .btn-primary,.success-actions .btn-ghost{display:inline-flex;align-items:center;gap:6px;cursor:pointer}.cta-download.cta-full{width:100%;max-width:380px;margin:4px auto 0}.how-card{margin:16px auto 0;max-width:420px;background:#faf7fd;border:1px solid #ece4f5;border-radius:10px;padding:13px 16px 14px;text-align:left}.how-card-title{font-size:11px;font-weight:700;letter-spacing:.8px;color:var(--printo-purple-deep);margin-bottom:10px}.how-steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px}.how-steps li{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--ink);line-height:1.3}.how-num{flex-shrink:0;width:20px;height:20px;border-radius:50%;background:var(--printo-purple);color:#fff;font-size:11px;font-weight:700;display:grid;place-items:center}.order-on{margin:16px auto 0;max-width:420px}.order-on-label{display:block;font-size:11px;letter-spacing:1.2px;text-transform:uppercase;color:var(--muted);font-weight:600;margin-bottom:10px}.order-on-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.product-pick{display:flex;flex-direction:column;gap:3px;padding:13px 14px;border:1.5px solid var(--line);border-radius:9px;background:#fff;text-align:left;text-decoration:none;cursor:pointer;transition:border-color .15s ease,transform .06s ease,box-shadow .18s ease}.product-pick:hover{border-color:var(--printo-purple);box-shadow:0 10px 22px -14px #5b2a8c99;transform:translateY(-1px)}.product-pick-name{font-size:14px;font-weight:600;color:var(--ink)}.product-pick-go{font-size:12px;font-weight:600;color:var(--printo-purple)}.product-pick-other{border-style:dashed;background:#fafafa}.product-pick-other .product-pick-name{color:var(--muted)}@media (max-width: 480px){.order-on-grid{grid-template-columns:1fr}}.success-cta-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin:20px auto 6px;max-width:540px}.cta-download,.cta-browse{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:13px 18px;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;border:1.5px solid transparent;transition:background .15s ease,transform .05s ease,box-shadow .15s ease;text-decoration:none}.cta-download{background:var(--printo-orange);color:#fff;border-color:var(--printo-orange)}.cta-download:hover{background:#d95f10;border-color:#d95f10}.cta-browse{background:#fff;color:var(--printo-purple);border-color:var(--printo-purple)}.cta-browse:hover{background:var(--printo-purple);color:#fff}.cta-download:active,.cta-browse:active{transform:translateY(1px)}@media (max-width: 480px){.success-cta-row{grid-template-columns:1fr}}.modal-wide{width:min(700px,100%)}.success .final-title{color:var(--printo-purple);font-size:20px;font-weight:700;margin:0 0 16px}.final-cols{display:grid;grid-template-columns:280px 1fr;gap:24px;align-items:start;text-align:left}.final-left{justify-self:center}.final-preview{width:280px;height:320px;background:#fdf6ee;border-radius:12px;display:grid;place-items:center;overflow:hidden;cursor:zoom-in}.final-preview img{max-width:100%;max-height:100%;object-fit:contain}.final-right{display:flex;flex-direction:column;gap:14px}.final-step{display:flex;flex-direction:column;gap:3px}.final-step-label{font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#999}.final-step-text{font-size:13px;font-weight:600;color:var(--ink);line-height:1.4}.cta-download.final-download{align-self:flex-start;width:auto;max-width:none;margin:0;padding:10px 16px;font-size:13px;font-weight:600;border-radius:8px;text-transform:none;letter-spacing:normal;background:#ff6b2b}.cta-download.final-download:hover{background:#e85d1f}.final-order{display:flex;flex-direction:column}.final-products{display:flex;flex-direction:column;gap:8px}.final-product{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border:1px solid #e8e4f0;border-radius:8px;background:#fff;text-decoration:none;transition:border-color .15s ease,box-shadow .18s ease}.final-product:hover{border-color:var(--printo-purple);box-shadow:0 8px 18px -14px #5b2a8c99}.final-product-name{font-size:13px;font-weight:600;color:var(--ink)}.final-product-go{font-size:12px;font-weight:700;color:var(--printo-orange);white-space:nowrap}.final-browse{margin-top:8px;font-size:12px;font-weight:600;color:var(--printo-purple);text-decoration:none}.final-browse:hover{text-decoration:underline}.final-footer{margin:14px -28px -26px;padding:10px 20px;border-top:1px solid #eee;font-size:11px;color:#999;text-align:center;line-height:1.5}@media (max-width: 620px){.final-cols{grid-template-columns:1fr}}.error-banner{background:#fdecec;color:#a01818;border:1px solid #f3b9b9;border-radius:6px;padding:10px 14px;font-size:13px;margin-bottom:12px}.zoomable{cursor:zoom-in;transition:filter .15s ease}.zoomable:hover{filter:brightness(.96)}.image-lightbox{position:fixed;top:0;right:0;bottom:0;left:0;background:#08080ceb;display:flex;align-items:center;justify-content:center;z-index:100;padding:32px;cursor:zoom-out;animation:lightboxFade .18s ease}@keyframes lightboxFade{0%{opacity:0}to{opacity:1}}.image-lightbox img{max-width:100%;max-height:100%;object-fit:contain;border-radius:6px;box-shadow:0 30px 80px -10px #0009;cursor:default}.lightbox-close{position:fixed;top:20px;right:24px;width:40px;height:40px;border-radius:50%;background:#ffffff1f;color:#fff;font-size:26px;line-height:1;display:grid;place-items:center;cursor:pointer;transition:background .15s ease}.lightbox-close:hover{background:#ffffff40}.demo-hint{position:fixed;left:18px;bottom:18px;font-size:11px;color:#9a9aa3;font-family:JetBrains Mono,ui-monospace,monospace;letter-spacing:.5px;background:#fff;padding:6px 10px;border-radius:99px;border:1px solid var(--line);z-index:10}
