.stl-figure,
.stl-viewer,
.step-figure,
.step-viewer {
  display: block;
  width: 100%;
  max-width: none;
  box-sizing: border-box;
  clear: both;
}

.stl-viewer,
.step-viewer {
  position: relative;
  min-height: 320px;
  height: 50vh;
  /* border: 1px solid var(--main_color); */
  overflow: hidden;
  background: var(--secondary_color);
  align-self: stretch;
}

.stl-viewer canvas,
.step-viewer canvas {
  display: block;
  width: 100% !important;
  height: 100% !important;
  max-width: none;
}

.stl-viewer-status {
  position: absolute;
  left: 0.5rem;
  right: 0.5rem;
  bottom: 0.5rem;
  margin: 0;
  box-sizing: border-box;
  padding: 0.2rem 0.35rem;
  background: var(--main_color);
  color: var(--secondary_color);
  font-size: var(--small_font_size, 0.8rem);
  line-height: 1.2;
  overflow-wrap: anywhere;
  white-space: normal;
}

.stl-viewer-status:empty {
  display: none;
}

.stl-viewer-status[data-state='error'] {
  display: block;
}

.stl-figure,
.step-figure {
  margin: 1.2rem 0;
}

.stl-figure figcaption,
.step-figure figcaption {
  margin-top: 0.4rem;
}
