.l-image__wrapper {
  position: relative;
  background: var(--td-bg-color-secondarycontainer);
  z-index: 1;
}
.l-image__wrapper--shape-square {
  border-radius: 0;
}
.l-image__wrapper--shape-round {
  border-radius: var(--td-radius-medium);
}
.l-image__wrapper--shape-circle {
  border-radius: 50%;
}
.l-image__wrapper--gallery {
  border-radius: var(--td-radius-medium);
}
.l-image__wrapper--gallery .l-image {
  position: relative;
  z-index: 5;
}
.l-image__wrapper--need-hover {
  cursor: pointer;
}
.l-image {
  width: 100%;
  height: 100%;
  border-radius: inherit;
  position: relative;
  z-index: inherit;
}
.l-image--fit-fill {
  object-fit: fill;
}
.l-image--fit-contain {
  object-fit: contain;
}
.l-image--fit-cover {
  object-fit: cover;
}
.l-image--fit-scale-down {
  object-fit: scale-down;
}
.l-image--fit-none {
  object-fit: none;
}
.l-image--position-center {
  object-position: center;
}
.l-image--position-bottom {
  object-position: bottom;
}
.l-image--position-top {
  object-position: top;
}
.l-image--position-left {
  object-position: left;
}
.l-image--position-right {
  object-position: right;
}
.l-image__gallery-shadow {
  position: absolute;
  left: 0;
  right: -24px;
  top: 24px;
  bottom: 24px;
  background: rgba(238, 238, 238, 0.26);
  border-radius: var(--td-radius-medium);
  z-index: calc(5 - 2);
}
.l-image__gallery-shadow::before,
.l-image__gallery-shadow::after {
  content: '';
  position: absolute;
  left: 0;
  border-radius: var(--td-radius-medium);
}
.l-image__gallery-shadow::after {
  top: -16px;
  right: 16px;
  bottom: -16px;
  background: rgba(238, 238, 238, 0.8);
  z-index: calc(5 - 1);
}
.l-image__gallery-shadow::before {
  top: -8px;
  right: 8px;
  bottom: -8px;
  background: rgba(238, 238, 238, 0.5);
  z-index: calc(5 - 3);
}
.l-image__placeholder {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 0;
}
.l-image__overlay-content {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: calc(5 + 1);
  opacity: 1;
  visibility: visible;
  transition: visibility 0s, opacity 0.2s linear;
}
.l-image__overlay-content--hidden {
  visibility: hidden;
  opacity: 0;
}
.l-image__loading,
.l-image__error {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: calc(0 + 1);
}
.l-image__loading {
  color: var(--td-text-color-secondary);
}
.l-image__error {
  color: var(--td-text-color-disabled);
}
