.woocommerce-product-gallery { opacity: 1 !important; }
.woocommerce-product-gallery__image img, .woocommerce-product-gallery img { cursor: zoom-in !important; transform: none !important; transition: none !important; }
.zoomImg, .zoomLens, .zoomWindow { display: none !important; transform: none !important; pointer-events: none !important; }
.glightbox-container { animation: none !important; }
.gslide { transition: none !important; }
body.axm-media-lightbox--product .glightbox-container, body.axm-media-lightbox--product .goverlay { background: var(--axm-media-lightbox-woocommerce-bg, rgba(255, 255, 255, 1)) !important; }
body.axm-media-lightbox--product .gclose, body.axm-media-lightbox--product .gnext, body.axm-media-lightbox--product .gprev { color: #111; }
body.axm-media-lightbox--product .gslide-media, body.axm-media-lightbox--product .gslide-image, body.axm-media-lightbox--product .gslide-image img { box-shadow: none !important; filter: none !important; border: 0 !important; outline: 0 !important; }
body.axm-media-lightbox--product .gbtn { box-shadow: none !important; }
.axm-media-lightbox--single-product .gprev, .axm-media-lightbox--single-product .gnext { display: none !important; }
.axm-media-wheel-zoomed { cursor: zoom-out !important; will-change: scale; }
body.axm-media-lightbox--blog .glightbox-container, body.axm-media-lightbox--blog .goverlay, body.axm-media-lightbox--video .glightbox-container, body.axm-media-lightbox--video .goverlay { background: var(--axm-media-lightbox-standard-bg, rgba(0, 0, 0, .95)) !important; }
.entry-content img, .post-content img, article img, .wp-block-image img { cursor: zoom-in; }
.wp-block-table a.axm-media-lightbox-link, table a.axm-media-lightbox-link { display: block; position: relative; touch-action: manipulation; }
.wp-block-table a.axm-media-lightbox-link img, table a.axm-media-lightbox-link img { pointer-events: none; display: block; width: 100%; height: auto; }
.axm-media-video-wrapper { position: relative; display: inline-block; overflow: hidden; max-width: 100%; }
.axm-media-play-overlay { position: absolute; top: 50%; left: 50%; z-index: 2; width: var(--axm-play-size, 80px); height: var(--axm-play-size, 80px); transform: translate(-50%, -50%); pointer-events: none; opacity: .9; transition: transform .2s ease, opacity .2s ease; }
.axm-media-video-wrapper:hover .axm-media-play-overlay, a.axm-media-video-link:hover .axm-media-play-overlay { transform: translate(-50%, -50%) scale(1.12); opacity: 1; }
.axm-media-video-link { position: relative; display: inline-block; cursor: pointer; }
.axm-media-video-link img { display: block; cursor: pointer; }
body.axm-media-lightbox--video .gslide-inline { width: min(1280px, calc(100vw - 40px)) !important; height: auto !important; max-width: 100% !important; padding: 0 !important; overflow: hidden !important; background: #000 !important; }
body.axm-media-lightbox--video .gslide-inline .ginlined-content { width: 100%; height: auto; padding: 0; overflow: hidden; background: #000; }
.axm-media-video-frame { position: relative; width: 100%; aspect-ratio: 16 / 9; background: #000; }
.axm-media-instagram-frame { width: min(500px, 47.8125vh, 100%); aspect-ratio: 9 / 16; margin: 0 auto; }
.axm-media-video-frame iframe { position: absolute; inset: 0; display: block; width: 100%; height: 100%; border: 0; }
.axm-media-direct-video-frame video { position: absolute; inset: 0; display: block; width: 100%; height: 100%; border: 0; background: #000; object-fit: contain; }
.glightbox-mobile .gslide-description, .gslide-description { background: transparent; color: #fff; }
body.axm-media-lightbox--product .gslide-description { color: #111; }
.gslide-media.axm-media-has-caption { flex-direction: column; align-items: stretch; box-shadow: none !important; }
.gslide-media.axm-media-has-caption.gslide-image img { max-height: calc(100vh - 46px); }
.axm-media-slide-caption { position: fixed; z-index: 5; right: 0; bottom: 0; left: 0; box-sizing: border-box; width: auto; min-height: 42px; max-height: min(25vh, 160px); padding: 11px 16px calc(11px + env(safe-area-inset-bottom, 0px)); overflow-y: auto; border: 0; border-radius: 0; background: var(--axm-media-lightbox-standard-bg, rgba(0, 0, 0, .95)); color: var(--axm-media-lightbox-standard-caption-text, #e5e7eb); font: 400 14px/1.4 Arial, sans-serif; text-align: center; overscroll-behavior: contain; }
body.axm-media-lightbox--product .axm-media-slide-caption { background: var(--axm-media-lightbox-woocommerce-bg, rgba(255, 255, 255, 1)); color: var(--axm-media-lightbox-woocommerce-caption-text, #4b5563); }
body.axm-media-lightbox--blog .gslide-description.description-bottom, body.axm-media-lightbox--video .gslide-description.description-bottom { flex: 0 0 auto; width: 100%; margin: 0; background: var(--axm-media-lightbox-standard-bg, rgba(0, 0, 0, .95)) !important; color: var(--axm-media-lightbox-standard-caption-text, #e5e7eb) !important; text-align: center; }
body.axm-media-lightbox--product .gslide-description.description-bottom { flex: 0 0 auto; width: 100%; margin: 0; background: var(--axm-media-lightbox-woocommerce-bg, rgba(255, 255, 255, 1)) !important; color: var(--axm-media-lightbox-woocommerce-caption-text, #4b5563) !important; text-align: center; }
.gslide-description.description-bottom .gdesc-inner { padding: 11px 16px !important; }
.gslide-description.description-bottom .gslide-title { margin: 0 !important; color: inherit !important; font: 400 14px/1.4 Arial, sans-serif !important; text-align: center; }
@media (max-width: 768px) { .axm-media-play-overlay { width: var(--axm-play-size-mobile, 50px); height: var(--axm-play-size-mobile, 50px); } }
@media (min-width: 769px) {
  body.axm-media-lightbox--product .gslide-image img { transition: max-width .24s cubic-bezier(.2,.8,.2,1), max-height .24s cubic-bezier(.2,.8,.2,1) !important; }
  body.axm-media-lightbox--product .gslide-image img.dragging { transition: none !important; }
  body.axm-media-lightbox--product .gslide-media.gslide-image { transition: transform .24s cubic-bezier(.2,.8,.2,1) !important; }
  body.axm-media-lightbox--product .gslide.zoomed .gslide-media.gslide-image { transform: translate3d(0, 0, 0) !important; transform-origin: center center !important; }
}

/* Hold the last decoded product photo over native WooCommerce source changes. */
.axm-media-image-host { position: relative; display: block; }
.axm-media-image-cover {
  position: absolute; inset: 0; z-index: 2; display: block;
  pointer-events: none; background: #fff; opacity: 1;
  transition: opacity 140ms ease-out;
}
.axm-media-image-cover img {
  display: block; width: 100% !important; height: 100% !important;
  object-fit: contain;
}
.axm-media-image-cover--ready { opacity: 0; }
@media (prefers-reduced-motion: reduce) {
  .axm-media-image-cover { transition: none; }
}

/* Touch follows the fingers directly: no desktop zoom transitions while moving. */
.axm-media-touch .gslider { touch-action: none; overscroll-behavior: contain; }
body.axm-media-lightbox--product .axm-media-touch .gslide-image img.axm-media-touch-image {
  transform-origin: center center !important; transition: none !important;
  will-change: transform; user-select: none; -webkit-user-select: none;
  -webkit-user-drag: none; cursor: grab;
}
body.axm-media-lightbox--product .axm-media-touch .gslide-image img.axm-media-touch-settle {
  transition: transform 160ms ease-out !important;
}
.axm-media-touch .gclose {
  min-width: 44px; min-height: 44px;
  top: max(10px, env(safe-area-inset-top)); right: max(10px, env(safe-area-inset-right));
}
@media (prefers-reduced-motion: reduce) {
  body.axm-media-lightbox--product .axm-media-touch .gslide-image img.axm-media-touch-settle { transition: none !important; }
  .axm-media-touch .gslide { animation-duration: 0.01ms !important; }
}

/* Minimal motion keeps gesture tracking, but removes decorative slide travel. */
.axm-media-motion-minimal .gslide { animation-duration: 0.01ms !important; }

/* The outgoing image survives the library's slide switch until the swap ends. */
.axm-media-touch .axm-media-swipe-cover {
  position: fixed; z-index: 2; display: block; max-width: none; max-height: none;
  margin: 0; padding: 0; border: 0; object-fit: contain; pointer-events: none;
  transition: none; animation: none; will-change: transform;
}

/* Inline product gallery: horizontal gestures leave vertical page scroll native. */
.axm-media-inline-swipe { position: relative; }
.axm-media-inline-swipe .woocommerce-product-gallery__image { touch-action: pan-y pinch-zoom; }
.axm-media-inline-host { position: relative; display: block; overflow: hidden; }
.axm-media-inline-host > img { transition: none !important; }
.axm-media-inline-track { position: absolute; inset: 0; overflow: hidden; z-index: 3; pointer-events: none; background: #fff; }
.axm-media-inline-track img { position: absolute; inset: 0; width: 100% !important; height: 100% !important; object-fit: contain; margin: 0 !important; max-height: none !important; transition: none !important; }
/* Photo selection is independent of the selected purchasing variation. */
.axm-media-photo-selection :is(.axm-thumbnail-strip, .axm-extra-gallery, .box-axm-thumbnail, .box-sth-thumbnail)
:is(.axm-finish-thumb, [data-axm-image], .axm-thumb-pr, .sth-thumb-pr) {
  border-color: #d1d5d8 !important;
  border-width: 1px !important;
  box-shadow: none !important;
  outline: none !important;
}
/* Touch focus is not a second selection; keyboard users retain a grey cue. */
.axm-thumbnail-strip :is(button, a, [role="button"], [tabindex], .axm-finish-thumb):focus,
.axm-extra-gallery :is(button, a, [role="button"]):focus,
.box-axm-thumbnail .axm-thumb-pr:focus,
.box-sth-thumbnail .sth-thumb-pr:focus {
  outline: none !important;
}
.axm-media-photo-selection :is(.axm-thumbnail-strip, .axm-extra-gallery, .box-axm-thumbnail, .box-sth-thumbnail)
.axm-media-current-photo {
  outline: 1px solid #858d94 !important;
  outline-offset: -2px !important;
}
.axm-media-photo-selection :is(.axm-thumbnail-strip, .axm-extra-gallery, .box-axm-thumbnail, .box-sth-thumbnail)
:is(button, a, [role="button"], [tabindex], .axm-finish-thumb, .axm-thumb-pr, .sth-thumb-pr):focus-visible {
  outline: 2px dotted #757d85 !important;
  outline-offset: -3px !important;
}
