.evd-viewer-wrap{display:flex;gap:20px;align-items:flex-start}
.evd-canvas{position:relative;flex:1;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden;background:#f9fafb}
.evd-stage{position:relative;width:100%;height:100%;transform-origin:var(--zx,50%) var(--zy,50%);transition:transform .25s ease}
.evd-overlay{position:absolute;left:0;top:0;right:0;bottom:0}
.evd-hotspot{position:absolute;border:2px solid rgba(59,130,246,.9);background:rgba(59,130,246,.12);border-radius:4px;cursor:pointer}
.evd-hotspot[data-active="1"]{border-color:#111827;background:rgba(17,24,39,.12)}
.evd-side{width:840px;max-width:28%;position:sticky;top:20px}
.evd-parts{max-height:70vh;overflow:auto;border:1px solid #e5e7eb;border-radius:12px;background:#fff}
.evd-part{padding:12px 14px;border-bottom:1px solid #eee;cursor:pointer;display:flex;flex-direction:column;gap:6px}
.evd-part:hover{background:#f9fafb}
.evd-row-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.evd-btn{display:inline-block;padding:6px 10px;border:1px solid #111827;border-radius:8px;font-size:12px;text-decoration:none;background:#fff;cursor:pointer}
.evd-btn.secondary{border-color:#e5e7eb}
.evd-qty{width:56px}
#evd-editor{border:1px dashed #cbd5e1;border-radius:12px;position:relative;background:#f3f4f6;margin-top:10px}
#evd-editor .hs.sel{border-color:#111827; box-shadow:0 0 0 2px rgba(17,24,39,.25) inset;}
#evd-editor .hs .label{font-size:12px}
.evd-editor-overlay{position:absolute;inset:0}
.evd-hotspot {
  position: absolute;
  transform-origin: center center; /* ensures scaling happens from center */
}

.evd-hotspot:hover {
  transform: scale(1.15);
}
