/* Full viewport overlay; preserve the complete photograph at every screen size. */
dialog.mm-product-photo-viewer {
  position: fixed; inset: 0; margin: 0; padding: 0; border: 0; border-radius: 0;
  width: 100vw; height: 100vh; height: 100dvh;
  max-width: none; max-height: none; box-sizing: border-box;
  background: rgba(8, 10, 13, .97); color: #fff; overflow: hidden; cursor: zoom-out;
}
dialog.mm-product-photo-viewer[open] { display: grid; place-items: center; }
dialog.mm-product-photo-viewer::backdrop { background: #080a0d; }
dialog.mm-product-photo-viewer .mm-product-photo-full {
  display: block; width: 100%; height: 100%; max-width: 100%; max-height: 100%;
  min-height: 0; object-fit: contain; margin: 0; padding: 0; border: 0;
}
dialog.mm-product-photo-viewer .mm-product-photo-close {
  position: absolute; z-index: 2; top: max(12px, env(safe-area-inset-top));
  right: max(12px, env(safe-area-inset-right)); width: 48px; height: 48px;
  min-width: 48px; min-height: 48px; padding: 0; margin: 0;
  display: grid; place-items: center; border: 1px solid #ffffff70; border-radius: 50%;
  background: #111c; color: #fff; font: 36px/1 sans-serif; cursor: pointer;
}
dialog.mm-product-photo-viewer .mm-product-photo-close:focus-visible { outline: 3px solid #fff; outline-offset: 3px; }
dialog.mm-product-photo-viewer .mm-product-photo-hint {
  position: absolute; bottom: max(12px, env(safe-area-inset-bottom));
  left: 50%; transform: translateX(-50%); padding: 7px 13px; border-radius: 20px;
  background: #111c; color: #fff; font: 13px/1.4 sans-serif;
  width: max-content; max-width: calc(100% - 24px); text-align: center; pointer-events: none;
}
.single-product .woocommerce-product-gallery__image a { cursor: zoom-in; }
