@keyframes fade-in {
  0% {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
image-wrapper:has(.image-element-placeholder) {
  background-color: var(--media-background);
}
image-wrapper {
  width: 100%;
  height: auto;
  aspect-ratio: var(--aspect-ratio, auto);
  flex-direction: column;
  display: flex;
  overflow: hidden;
}
image-wrapper[loaded][in-view] {
  animation: 0.5s forwards fade-in;
}
image-wrapper[loaded][no-animate] {
  opacity: 1;
  animation: none !important;
}
image-wrapper img,
image-wrapper svg {
  width: 100%;
  height: 100%;
}
image-wrapper.cover img {
  object-fit: cover;
}
image-wrapper.contain img {
  object-fit: contain;
}
