/* Equal catalog photo frames, including home carousels and search results. */
#app [data-os-product-photo] {
  display: block;
  position: relative;
  width: 100%;
  aspect-ratio: 1.06;
  overflow: hidden;
  background: #fff;
}
#app [data-os-product-photo].os-list-photo { width: 250px; max-width: 100%; }
#app [data-os-product-photo] > img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  background: #fff;
}
.os-lightbox-media.os-product-photo-fitted {
  position: relative;
  overflow: hidden;
}
.os-lightbox { height: min(var(--os-lightbox-fit-height, 860px), calc(100dvh - 64px)); }
#app [data-os-product-photo].os-product-photo-fitted > img,
.os-lightbox-media.os-product-photo-fitted > img {
  position: absolute;
  width: var(--os-photo-width) !important;
  height: var(--os-photo-height) !important;
  min-width: 0 !important;
  min-height: 0 !important;
  max-width: none !important;
  max-height: none !important;
  left: var(--os-photo-left);
  top: var(--os-photo-top);
  padding: 0 !important;
  margin: 0;
  aspect-ratio: auto;
  object-fit: fill !important;
  transform: none !important;
  transition: none;
  border-radius: 0;
}
@media (max-width: 767px) {
  .os-lightbox { height: min(var(--os-lightbox-fit-height, 860px), calc(100dvh - 28px)); }
  #app .dc-catalog-layout { flex-direction: column; }
  #app .dc-catalog-layout > div { width: 100%; min-width: 0; }
  #app .dc-catalog-layout .panel-side { width: 100%; min-width: 0; max-width: none; }
  #app .dc-catalog-results { flex: none; width: 100%; min-width: 0; }
}
