/**
 * Design-safe image delivery for Visitak.
 * picture { display: contents } keeps existing `.foo img` CSS working.
 */

picture.imaginit-image,
.imaginit-image-wrap picture,
picture:has(> img.imaginit-image) {
  display: contents;
}

.imaginit-image-wrap {
  position: relative;
  display: block;
  overflow: hidden;
  max-width: 100%;
}

.imaginit-image-wrap__placeholder {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  filter: blur(12px);
  transform: scale(1.05);
  transition: opacity 0.35s ease;
  pointer-events: none;
  z-index: 1;
}

.imaginit-image-wrap.is-loaded .imaginit-image-wrap__placeholder {
  opacity: 0;
}

.imaginit-image-wrap picture,
.imaginit-image-wrap > picture,
.imaginit-image-wrap > img {
  position: relative;
  z-index: 2;
  display: block;
  width: 100%;
  height: auto;
}

.imaginit-image--cover,
.imaginit-image-wrap .imaginit-image--cover {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.brand .imaginit-image-wrap,
.builder-header .brand .imaginit-image-wrap {
  display: inline-block;
  width: auto;
  max-width: 100%;
  overflow: visible;
}

.brand img.brand-logo,
.brand .imaginit-image-wrap img,
.builder-header .brand img {
  width: auto;
  height: auto;
  max-height: 40px;
  max-width: 160px;
}

.live-avatar,
img.live-avatar {
  width: 96px;
  height: 96px;
  object-fit: cover;
}

.hero-card .imaginit-image-wrap,
.hero-card picture {
  display: contents;
}

.hero-card img {
  width: 100%;
  height: auto;
}

@media (prefers-reduced-motion: reduce) {
  .imaginit-image-wrap__placeholder {
    transition: none;
    filter: none;
    transform: none;
  }
}
