.detail-block-image .detail-image-stage,
.image-position-stage {
  position: relative;
  width: 100%;
  aspect-ratio: 3 / 2;
  overflow: hidden;
  border: 1px dashed #aab8cb;
  border-radius: 12px;
  background-color: #f2f5f9;
  background-image: linear-gradient(#dce3ed 1px, transparent 1px), linear-gradient(90deg, #dce3ed 1px, transparent 1px);
  background-size: 8.333333% 12.5%;
}
.detail-block.detail-block-image { overflow:hidden; background:transparent; border:0; border-radius:0; box-shadow:none; }
.detail-block-image .detail-image-stage { width:100%; margin-left:0; aspect-ratio:auto; border:0; border-radius:0; background:transparent; min-height:1px; }
.image-position-controls { width:100%; min-width:0; }
.image-position-stage { width:100%; max-width:100%; aspect-ratio:3/2; box-sizing:border-box; }
.detail-block-image .detail-image-stage img,
.image-position-card {
  position: absolute;
  left: var(--image-left, 0);
  top: var(--image-top, 0);
  width: var(--image-width, 25%);
}
.detail-block-image .detail-image-stage img {
  height: auto;
  max-width: none;
  max-height: none;
  object-fit: contain;
  transform: scale(var(--image-zoom, 1));
  transform-origin: top left;
}
.image-position-controls { display:grid; gap:14px; border:1px solid #ccd7ea; border-radius:14px; padding:18px; background:#f7f9fd; }
.image-position-controls[hidden] { display:none; }
.image-position-heading { display:flex; flex-direction:column; gap:4px; }
.image-position-heading span,.image-position-controls output { color:var(--muted); font-size:13px; }
.image-position-card { z-index:1; cursor:move; touch-action:none; }
.image-position-card img { display:block; width:100%; height:auto; max-height:100%; object-fit:contain; transform:scale(var(--image-zoom, 1)); transform-origin:top left; box-shadow:0 2px 8px #12243a44; user-select:none; }
.image-position-fields { position:relative; z-index:2; display:grid; grid-template-columns:repeat(2,minmax(70px,1fr)); gap:4px 8px; padding:6px; background:#fffF; border:1px solid #cbd5e1; border-radius:8px; font-size:11px; cursor:default; }
.image-position-fields b { grid-column:1/-1; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.image-position-fields label { display:grid!important; grid-template-columns:1fr!important; gap:2px!important; font-size:11px; }
.image-position-fields input[type=number] { min-width:0; width:100%; padding:3px 5px; font-size:12px; }
.image-position-fields .remove-image { display:flex!important; align-items:center; grid-column:1/-1; }
.image-position-fields .zoom-setting { grid-column:1/-1; display:grid!important; grid-template-columns:auto 1fr!important; align-items:center; gap:4px 8px!important; }
.image-position-fields .zoom-setting input { grid-column:1/-1; width:100%; accent-color:var(--blue-2); }
.image-position-fields output { color:var(--blue-2); font-weight:700; }
.new-image-previews { display:contents; }
.new-image-previews:empty { display:none; }
