.cat-view-3d{display:block;margin:8px auto;padding:9px 22px;border:1px solid #5a3767;border-radius:24px;color:#35133e;background:#fff;font:600 14px Manrope,Arial,sans-serif;cursor:pointer}
.cat-view-3d[hidden]{display:none}.cat-product-visual.has-3d{cursor:grab}.cat-product-visual.has-3d:focus-visible{outline:3px solid #97b72f;border-radius:14px}
.cat-3d-dialog{padding:0;border:1px solid #9a8b58;border-radius:22px;width:min(660px,calc(100vw - 24px));max-height:calc(100dvh - 24px);background:#fff9f0;color:#301a3a;overflow:auto}
.cat-3d-dialog::backdrop{background:#160b20b8;backdrop-filter:blur(4px)}
.cat-3d-dialog header{display:flex;align-items:center;gap:16px;padding:14px 20px}.cat-3d-dialog h2{flex:1;margin:0;font-size:19px;line-height:1.3}
.cat-3d-close{padding:10px 15px;flex-shrink:0;border:0;border-radius:24px;background:#34133e;color:white;cursor:pointer}
.cat-3d-body{height:min(610px,calc(100dvh - 140px));min-height:260px;background-size:cover;background-position:center;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden}
.cat-3d-body canvas{width:100%;height:calc(100% - 80px);min-height:150px;touch-action:none;cursor:grab;filter:drop-shadow(0 12px 10px #0003)}
.cat-3d-body #model-fallback{width:80%;height:calc(100% - 90px);object-fit:contain}.cat-3d-body [hidden]{display:none!important}
.cat-3d-body #model-status{margin:4px 12px;padding:5px 12px;background:#ffffffd9;border-radius:20px;font-size:12px;text-align:center}
.cat-3d-zoom{display:flex;align-items:center;gap:12px;padding:8px 18px;background:#ffffffb8;border-radius:22px;margin:5px 0 12px}.cat-3d-zoom input{accent-color:#8baf2d;max-width:50vw}
@media(max-width:480px){.cat-3d-dialog header{padding:12px}.cat-3d-dialog h2{font-size:16px}.cat-3d-close{padding:10px}}

.cat-product-actions{display:flex;justify-content:center;gap:8px;margin:8px auto;width:min(100%,340px)}
.cat-product-actions .cat-view-3d{flex:1;min-width:0;margin:0;padding:9px 8px;font-size:12px}
.cat-product-actions[hidden]{display:none}
.cat-3d-dialog[data-mode="label"]{width:min(1100px,calc(100vw - 24px))}
.cat-3d-dialog[data-mode="label"] .cat-3d-body{height:auto;display:block;min-height:0;padding:0 16px 16px}
.cat-3d-dialog[data-mode="label"] .cat-3d-body>p{font-size:13px;line-height:1.5}
.glow-label-scroll{overflow:auto;background:white;border-radius:10px;max-height:70dvh;padding:20px;overscroll-behavior:contain}
.glow-label-scroll{cursor:grab;user-select:none}
.glow-label-scroll.is-dragging{cursor:grabbing}
.glow-label-scroll img{display:block;width:3000px;max-width:none;height:auto;-webkit-user-drag:none}
.glow-label-zoom{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:12px 0}.glow-label-zoom label{display:flex;align-items:center;gap:8px;flex:1}.glow-label-zoom input{width:100%;min-width:90px;accent-color:#d1ed56}.glow-label-zoom output{min-width:45px}.glow-label-zoom button{border:0;border-radius:50%;width:36px;height:36px;font-size:22px;cursor:pointer}.cat-3d-dialog[data-mode="label"] .glow-label-scroll{max-height:60dvh}
.glow-label-zoom{width:min(100%,340px);margin:8px auto 14px;gap:8px;flex-wrap:nowrap;font:12px Manrope,Arial,sans-serif}
.glow-label-zoom label{min-width:0;gap:7px}.glow-label-zoom input{min-width:0;flex:1;width:110px}
.glow-label-zoom button{flex:0 0 32px;width:32px;height:32px;font-size:20px}.glow-label-zoom output{min-width:38px;text-align:center}
.cat-3d-dialog[data-mode="label"] .glow-label-scroll{height:min(58dvh,560px);max-height:58dvh;padding:16px;display:flex;align-items:safe center}
.glow-label-scroll img{width:100%;flex:none;max-width:none;margin:auto}
