.pdp-gallery__main { position: relative; }
.pdp-gallery__main-img[role="button"] { cursor: zoom-in; }
.pdp-gallery__main-img[role="button"]:focus-visible { outline: 3px solid #007fb5; outline-offset: -4px; }
.pdp-gallery__zoom-trigger {
  position: absolute; right: 16px; bottom: 16px;
  width: 44px; height: 44px; padding: 0;
  display: grid; place-items: center;
  border: 1px solid #052f5d; border-radius: 6px;
  background: #fff; color: #052f5d;
  font: 28px/1 sans-serif; cursor: zoom-in;
}
.pdp-gallery__zoom-trigger[hidden] { display: none; }
.pdp-gallery__zoom-trigger--video { top: 16px; bottom: auto; }
.pdp-gallery__thumb.is-video { position: relative; }
.pdp-gallery__thumb.is-video::after {
  content: ''; position: absolute; left: 50%; top: 50%;
  width: 0; height: 0; transform: translate(-40%, -50%);
  border-top: 10px solid transparent; border-bottom: 10px solid transparent;
  border-left: 16px solid #fff; filter: drop-shadow(0 1px 3px #001b3a);
  pointer-events: none;
}
.alesco-gallery-video { display: grid; place-items: center; }
.alesco-gallery-video video { width: 100%; height: 100%; object-fit: contain; background: #001b3a; }
.pdp-gallery__zoom-icon {
  width: 24px; height: 24px; background-color: currentColor;
  -webkit-mask: url('../icons/zoom-in.svg') center / contain no-repeat;
  mask: url('../icons/zoom-in.svg') center / contain no-repeat;
}
.pdp-gallery__zoom-trigger:focus-visible { outline: 3px solid #007fb5; outline-offset: 3px; }
.alesco-gallery-viewer { --pswp-bg: #001b3a; --pswp-icon-color: #fff; --pswp-icon-color-secondary: #052f5d; }
.alesco-gallery-viewer .pswp__img { background: #fff; }
/* Keep WooCommerce's legacy sprite sheet out of the modern viewer controls. */
.alesco-gallery-viewer .pswp__button { background: none !important; }
.alesco-gallery-viewer .pswp__button::before,
.alesco-gallery-viewer .pswp__button::after { content: none !important; }
.alesco-gallery-viewer .pswp__bg { background: #001b3a; }
.alesco-gallery-viewer .pswp__button--arrow .alesco-gallery-arrow {
  width: 28px; height: 28px; left: 16px; top: 36px;
  fill: none; transform: none;
}
@media (max-width: 575px) {
  .pdp-gallery__zoom-trigger { right: 10px; bottom: 10px; }
}
