.v3d-cta{margin:12px 0 0;display:flex;flex-direction:column;gap:8px;clear:both}
.woocommerce div.product div.images+.v3d-cta{float:left;width:48%}
.v3d-open{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 18px;border:2px solid #0a0a0a;background:#fff;color:#0a0a0a;font-weight:700;border-radius:8px;cursor:pointer;font-size:15px}
.v3d-open:hover{background:#0a0a0a;color:#fff}
.v3d-pill{font-size:13px;background:#eaf8ea;border:1px solid #3CC339;color:#1d5e1b;padding:8px 10px;border-radius:6px}
html.v3d-lock{overflow:hidden}
.v3d{position:fixed;inset:0;z-index:99999;background:rgba(10,10,10,.6);display:none;align-items:center;justify-content:center;padding:16px}
.v3d.is-open{display:flex}
.v3d-box{position:relative;background:#fff;border-radius:12px;width:min(1100px,100%);height:min(720px,100%);display:grid;grid-template-columns:1fr 320px;overflow:hidden}
.v3d-stage{position:relative;background:radial-gradient(circle at 50% 40%,#fafafa,#e4e6e9);touch-action:none;min-height:0}
.v3d-stage canvas{display:block;width:100%!important;height:100%!important;cursor:grab}
.v3d-load{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#555}
.v3d-side{padding:22px 20px;overflow:auto;display:flex;flex-direction:column;gap:12px;border-left:1px solid #eee}
.v3d-side h3{margin:0;font-size:20px}
.v3d-hint,.v3d-note{margin:0;color:#666;font-size:13px}
.v3d-x{position:absolute;top:8px;right:10px;z-index:2;width:36px;height:36px;border:0;background:#fff;border-radius:50%;font-size:26px;line-height:1;cursor:pointer;box-shadow:0 1px 4px rgba(0,0,0,.2)}
.v3d-sw{display:flex;gap:8px;flex-wrap:wrap}
.v3d-up{display:block;border:2px dashed #bbb;border-radius:8px;padding:14px;text-align:center;cursor:pointer;font-weight:600;font-size:14px}
.v3d-up:hover{border-color:#3CC339}
.v3d-up input{position:absolute;width:1px;height:1px;opacity:0}
.v3d-err{color:#c62828;font-size:13px;min-height:0}
.v3d-ctl{display:flex;flex-direction:column;gap:10px}.v3d-ctl[hidden]{display:none}
.v3d-seg{display:flex;border:1px solid #ccc;border-radius:8px;overflow:hidden}
.v3d-seg button{flex:1;padding:9px 4px;border:0;background:#fff;cursor:pointer;font-size:13px;font-weight:600}
.v3d-seg button.is-on{background:#0a0a0a;color:#fff}
.v3d-range{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600}.v3d-range input{flex:1}.v3d-range output{font-weight:400;color:#555;white-space:nowrap}
.v3d-rm{align-self:flex-start;background:none;border:0;color:#c62828;text-decoration:underline;cursor:pointer;padding:0;font-size:13px}
.v3d-spin{font-size:13px;display:flex;gap:6px;align-items:center}
.v3d-done{margin-top:auto;padding:12px;border:0;border-radius:8px;background:#3CC339;color:#fff;font-weight:700;cursor:pointer;font-size:15px}
@media(max-width:860px){.woocommerce div.product div.images+.v3d-cta{float:none;width:100%}.v3d{padding:0}.v3d-box{grid-template-columns:1fr;grid-template-rows:52vh 1fr;height:100%;border-radius:0}.v3d-side{border-left:0;border-top:1px solid #eee;padding:14px 16px;gap:10px}.v3d-done{margin-top:6px}}
