.idle__placeholder {
  position: relative;
  grid-row: 1;
  grid-column: 1;
}
.idle__placeholder > img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: var(--intrinsic-height, 100%);
  object-fit: cover;
}

.idle__placeholder--done {
  opacity: 0;
  transition: opacity 0.5s 0.25s;
}

.idle__template,
.idle__done {
  grid-row: 1;
  grid-column: 1;
  position: relative;
}
.idle__template img,
.idle__done img {
  width: 100%;
}
.idle--height-intrinsic .idle__template img,
.idle--height-intrinsic .idle__done img {
  width: auto;
}

.idle {
  display: grid;
  height: var(--intrinsic-height, auto);
}

.idle__fallback {
  vertical-align: bottom;
  height: var(--intrinsic-height, auto);
}

.idle--fit .idle__done img {
  object-fit: cover;
}

.idle--height-full {
  height: 100%;
}
