.my3d-editor { border:1px solid #ddd; padding:16px; margin:16px 0; background:#fff; }
.my3d-editor select,
.my3d-editor input[type="text"] { width:100%; max-width:420px; margin:6px 0 12px; }
.my3d-album-filter,
.my3d-album-row { display:flex; gap:12px; align-items:center; flex-wrap:wrap; margin:12px 0; }
.my3d-album-filter label,
.my3d-album-row label { display:flex; flex-direction:column; min-width:260px; }
.my3d-photo-grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(120px, 1fr)); gap:10px; max-height:420px; overflow:auto; border:1px solid #eee; padding:10px; margin:12px 0; }
.my3d-photo { border:2px solid transparent; padding:4px; background:#fafafa; cursor:pointer; text-align:center; font-size:12px; }
.my3d-photo.selected { border-color:#2271b1; }
.my3d-photo img { width:100%; aspect-ratio:1/1; object-fit:cover; display:block; margin-bottom:4px; }
.my3d-crop-area { margin-top:12px; }
#my3d-preview { max-width:100%; border:2px solid #2f7d32; touch-action:none; cursor:move; background:#e8f5e9; display:block; }
.my3d-help { color:#666; font-size:13px; margin-top:6px; }
.my3d-center-row { display:flex; justify-content:center; margin:12px 0 6px; }
.my3d-crop-layout { display:flex; align-items:flex-start; gap:8px; }
.my3d-crop-area { flex:1 1 auto; margin-top:0; }
.my3d-zoom-side { display:flex; flex-direction:column; gap:8px; align-items:center; margin-top:8px; }
.my3d-zoom-button {
    width:46px;
    height:46px;
    border:2px solid #2f7d32;
    border-radius:50%;
    background:linear-gradient(180deg, #55c965 0%, #2f9c3d 100%);
    color:#fff;
    cursor:pointer;
    box-shadow:0 3px 6px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.35);
    display:flex;
    align-items:center;
    justify-content:center;
    transition:transform .08s ease, box-shadow .08s ease, background .08s ease;
}
.my3d-zoom-button .dashicons {
    width:24px;
    height:24px;
    font-size:24px;
    line-height:24px;
}
.my3d-zoom-button:hover {
    background:linear-gradient(180deg, #62d672 0%, #2f9c3d 100%);
    transform:translateY(-1px);
    box-shadow:0 4px 8px rgba(0,0,0,.32), inset 0 1px 0 rgba(255,255,255,.4);
}
.my3d-zoom-button:active {
    transform:translateY(1px);
    box-shadow:0 1px 3px rgba(0,0,0,.25), inset 0 2px 3px rgba(0,0,0,.15);
}
.my3d-zoom-button:disabled { opacity:.35; cursor:not-allowed; transform:none; }
#my3d-zoom-value { min-width:52px; text-align:center; font-weight:700; font-size:12px; color:#2f7d32; }
#my3d-center { background:#3caf4b; color:#fff; border:0; padding:12px 28px; font-weight:700; text-transform:uppercase; letter-spacing:2px; cursor:pointer; box-shadow:0 2px 4px rgba(0,0,0,.22); }
#my3d-center:hover { background:#2f9c3d; }
.my3d-admin-product { border:1px solid #ccd0d4; background:#fff; padding:12px; margin:14px 0; }
.my3d-admin-formats input { width:100%; }
@media (max-width: 700px) { .my3d-crop-layout { gap:6px; } .my3d-zoom-button { width:40px; height:40px; } .my3d-zoom-button .dashicons { width:22px; height:22px; font-size:22px; line-height:22px; } }
