.product-preview{display:block;position:relative;width:100%;padding:0;border:0;border-radius:12px;background:transparent;text-align:inherit;color:inherit}.preview-hint{position:absolute;right:10px;bottom:10px;background:#fff;color:var(--ink);padding:8px 11px;border-radius:6px;font-size:12px;box-shadow:0 2px 8px #0001}.product-preview:hover .preview-hint{background:var(--purple);color:white}.product-preview .illustration-note{bottom:50px}.viewer-dialog{width:min(820px,calc(100% - 24px));padding:28px;max-height:94svh}.viewer-dialog .dialog-head{margin-bottom:8px}.viewer-title{font-size:26px!important}.viewer-kind{font-size:13px;color:var(--muted);margin:0 0 16px}.viewer-stage{height:390px;position:relative;border-radius:12px;overflow:hidden;background:radial-gradient(ellipse at 50% 42%,#fff 0,#eeedf2 65%,#e2dfea 100%);perspective:900px;touch-action:pan-y;cursor:grab;display:grid;place-items:center;user-select:none;-webkit-user-select:none}.viewer-stage:active{cursor:grabbing}.viewer-stage:after{content:"";position:absolute;width:240px;height:45px;bottom:30px;background:#6651bd33;filter:blur(14px);border-radius:50%;pointer-events:none}.stand-model{position:relative;width:180px;height:288px;transform-style:preserve-3d;transform:rotateX(-8deg) rotateY(var(--yaw,-24deg));z-index:1;pointer-events:none}.stand-panel{position:absolute;inset:-7px -7px -5px;border:2px solid #ffffffbc;background:#ffffff0d;box-shadow:inset 0 0 8px #b0c1cb7a;transform-style:preserve-3d;border-radius:5px}.stand-face{position:absolute;inset:5px;background:white;backface-visibility:hidden;overflow:hidden;border-radius:2px}.stand-front{transform:translateZ(3px)}.stand-back{transform:rotateY(180deg) translateZ(3px)}.stand-face img{display:block;width:100%;height:100%;object-fit:cover}.stand-edge{position:absolute;top:0;bottom:0;width:8px;background:linear-gradient(90deg,#bccbd577,#fff9,#d5e0e77a);border:1px solid #fff9}.stand-edge-left{left:0;transform:translateX(-4px) rotateY(90deg)}.stand-edge-right{right:0;transform:translateX(4px) rotateY(90deg)}.stand-top-edge{position:absolute;top:0;left:0;right:0;height:8px;background:#fff9;transform:translateY(-4px) rotateX(90deg)}.stand-foot{position:absolute;bottom:-8px;left:-24px;width:228px;height:90px;transform:translateY(45px) rotateX(90deg);background:linear-gradient(125deg,#fff9,#d1dae95e 50%,#ffffffb0);border:2px solid #ffffffdf;border-radius:5px;box-shadow:0 0 3px #9caec0;transform-style:preserve-3d}.stand-foot:after{content:"";position:absolute;inset:0;border:1px solid #b2bdc8aa;transform:translateZ(-5px);border-radius:5px;background:#d8e0e64a}.viewer-controls{margin-top:22px}.viewer-controls label{margin-top:0;display:flex;justify-content:space-between}.viewer-controls input[type=range]{padding:0;border:0;accent-color:var(--purple);width:100%;min-height:34px;cursor:ew-resize}.viewer-presets{display:flex;gap:8px;justify-content:center;margin-top:10px}.viewer-presets button{border:1px solid var(--line);background:white;border-radius:7px;padding:10px 18px;min-height:42px}.viewer-presets button:hover{border-color:var(--purple);color:var(--purple)}.viewer-note{font-size:12px;line-height:1.6;color:var(--muted);margin:20px 0 0}.viewer-custom{height:100%;padding:20px 12px;background:var(--card);color:var(--card-ink);text-align:center;display:flex;align-items:center;flex-direction:column}.viewer-custom .nfc{color:inherit;margin-bottom:18px}.viewer-custom .brand-label{font-size:12px}.viewer-custom strong{font-size:20px;line-height:1.25;margin-top:8px}.viewer-custom .qr-art{width:78px;height:78px;flex-shrink:0;margin-block:18px}.viewer-custom small{font-size:9px}.viewer-note a{text-underline-offset:3px}@media(max-width:620px){.viewer-dialog{padding:20px}.viewer-stage{height:350px}.viewer-title{font-size:23px!important}.viewer-presets button{padding-inline:16px}.stand-model{scale:.9}.viewer-dialog .dialog-head{gap:15px}}

/* The printed face keeps each original's aspect ratio, including A4 posters. */
.stand-model{height:var(--model-height,288px)}
.viewer-dialog .viewer-gallery-controls[hidden]{display:none}
.viewer-gallery-controls{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:18px}
.viewer-browse{display:flex;align-items:center;gap:12px;flex-shrink:0}
.viewer-browse p{font-size:12px;color:var(--muted);margin:0;min-width:110px;text-align:center}
.viewer-browse button{width:40px;height:40px;border:1px solid var(--line);border-radius:50%;background:white;color:var(--purple);font-size:26px;line-height:1}
.viewer-browse button:disabled{opacity:.3;cursor:default}
.viewer-gallery-controls .choose-style{width:auto;min-width:180px;margin:0}
.viewer-dialog button:focus-visible,.viewer-dialog input:focus-visible{outline:3px solid var(--purple);outline-offset:3px}
@media(max-width:620px){.viewer-gallery-controls{flex-direction:column;gap:14px}.viewer-gallery-controls .choose-style{width:100%}.viewer-stage{height:340px}.viewer-dialog{max-height:94svh}.viewer-controls{margin-top:16px}.viewer-note{margin-top:14px}}
.viewer-image-status{position:absolute;bottom:10px;left:15px;right:15px;z-index:2;text-align:center;font-size:12px;line-height:1.4;color:#51475f;background:#fffffff0;border-radius:5px;padding:8px}
