.artwork-image-trigger {
  position: relative;
  display: block;
  width: 100%;
  max-width: 100%;
  margin-inline: auto;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--wp--preset--color--ink, #111);
  cursor: zoom-in;
}

.artwork-image-trigger__icon,
.artwork-image-trigger__hint {
  position: absolute;
  bottom: 0.75rem;
  padding: 0.35rem;
  background: var(--wp--preset--color--canvas, #f5f5f2);
  pointer-events: none;
}

.artwork-image-trigger__icon { right: 0.75rem; display: flex; }
.artwork-image-trigger__icon svg { width: 1rem; height: 1rem; }
.artwork-image-trigger__hint { right: 2.8rem; opacity: 0; font-size: 0.6875rem; }
.artwork-image-trigger:hover .artwork-image-trigger__hint,
.artwork-image-trigger:focus-visible .artwork-image-trigger__hint { opacity: 1; }

@media (min-width: 1024px) {
  .artwork-image-trigger.is-portrait {
    max-width: min(100%, calc(var(--bf-image-viewport-height) * var(--bf-artwork-ratio)));
  }
}

.has-artwork-viewer { overflow: hidden; }

.artwork-viewer {
  box-sizing: border-box;
  width: 100vw;
  height: 100vh;
  height: 100dvh;
  max-width: none;
  max-height: none;
  margin: 0;
  padding: 0;
  border: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
  background: var(--wp--preset--color--canvas, #f5f5f2);
  color: var(--wp--preset--color--ink, #111);
}

.artwork-viewer::backdrop { background: var(--wp--preset--color--canvas, #f5f5f2); }
.artwork-viewer [hidden] { display: none !important; }
.artwork-viewer__stage { box-sizing: border-box; display: grid; width: 100%; height: 100%; place-items: center; }
.artwork-viewer__image {
  display: block;
  width: var(--bf-detail-image-width, auto);
  height: auto;
  max-width: 95vw;
  max-height: 92vh;
  max-height: 92dvh;
  margin: 0;
  object-fit: contain;
}

.artwork-viewer button {
  position: fixed;
  z-index: 1;
  display: grid;
  width: 2.75rem;
  height: 2.75rem;
  place-items: center;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  font-size: 1.5rem;
  cursor: pointer;
}

.artwork-viewer__close { top: 0.5rem; right: 0.5rem; }
.artwork-viewer__previous { left: 0.5rem; top: calc(50% - 1.375rem); }
.artwork-viewer__next { right: 0.5rem; top: calc(50% - 1.375rem); }
.artwork-viewer__status { position: fixed; inset: auto 0 0.5rem; margin: 0; text-align: center; font-size: 0.6875rem; pointer-events: none; }
.artwork-viewer__message { margin: 0; padding: 1rem; color: var(--wp--preset--color--muted, #666); font-size: 0.8125rem; pointer-events: none; }

@media (min-width: 1024px) {
  .artwork-viewer__stage {
    height: auto;
    min-height: 100vh;
    min-height: 100dvh;
    padding-block: 3rem;
    align-items: start;
  }
  .artwork-viewer__image { max-height: none; }
}
