.product-image-zoom-target { cursor: zoom-in; }
.px-product .product-image-zoom-open {
  display: block;
  margin: 10px 0 0;
  min-height: 44px;
  padding: 4px 0;
  border: 0;
  background: transparent;
  color: #525252;
  font-size: 12px;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.product-image-viewer {
  position: fixed;
  inset: 0;
  width: min(1120px, calc(100vw - 40px));
  height: min(960px, calc(100dvh - 40px));
  max-width: none;
  max-height: none;
  margin: auto;
  padding: 0;
  border: 0;
  border-radius: 6px;
  color: #1d1d1d;
  background: #f6f5f2;
  font: 400 14px/1.4 'DM Sans', Arial, sans-serif;
  box-shadow: 0 12px 80px #0005;
  overflow: hidden;
}
.product-image-viewer[open] { display: flex; flex-direction: column; }
.product-image-viewer:not([open]) { display: none; }
.product-image-viewer::backdrop { background: rgb(0 0 0 / 75%); }
.product-image-viewer * { box-sizing: border-box; }
.product-image-viewer-header { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 10px 20px; background: #fff; }
.product-image-viewer-header h2 { margin: 0; font: 500 16px/1.4 'DM Sans',Arial,sans-serif; letter-spacing: 0; }
.product-image-viewer button { border: 1px solid #d6d6d6; border-radius: 3px; background: #fff; color: #1d1d1d; min-width: 44px; min-height: 44px; padding: 7px 12px; font: inherit; cursor: pointer; }
.product-image-viewer button:disabled { opacity: .4; cursor: default; }
.product-image-viewer [data-image-close] { border: 0; }
.product-image-viewer [data-image-close] span { margin-left: 8px; font-size: 24px; vertical-align: -2px; }
.product-image-viewer :focus-visible { outline: 3px solid #536b42; outline-offset: 2px; }
.product-image-viewer-viewport { position: relative; display: flex; flex: 1; min-height: 0; align-items: center; justify-content: center; overflow: hidden; touch-action: none; user-select: none; cursor: zoom-in; }
.product-image-viewer-viewport.is-zoomed { cursor: grab; }
.product-image-viewer-viewport.is-zoomed:active { cursor: grabbing; }
.product-image-viewer-viewport > img { display: block; flex: none; max-width: none; max-height: none; object-fit: contain; transform-origin: center; will-change: transform; pointer-events: none; }
.product-image-viewer-toolbar { display: flex; justify-content: space-between; gap: 12px; padding: 10px 20px 0; background: #fff; }
.product-image-viewer-navigation, .product-image-viewer-controls { display: flex; align-items: center; gap: 8px; }
.product-image-viewer-navigation > span { min-width: 48px; text-align: center; font-size: 12px; }
.product-image-viewer-controls output { width: 44px; text-align: center; font-size: 12px; }
.product-image-viewer-caption { margin: 0; padding: 8px 20px 2px; background: #fff; font-size: 13px; }
.product-image-viewer-help { margin: 0; padding: 0 20px 12px; background: #fff; font-size: 11px; color: #696969; }
@media(max-width: 600px) {
  .product-image-viewer { width: 100vw; height: 100dvh; border-radius: 0; }
  .product-image-viewer-header { padding: 8px 12px; }
  .product-image-viewer-toolbar { padding: 8px 10px 0; gap: 6px; flex-wrap: wrap; }
  .product-image-viewer-navigation, .product-image-viewer-controls { gap: 4px; }
  .product-image-viewer-navigation > span { min-width: 34px; }
  .product-image-viewer-controls output { width: 37px; }
  .product-image-viewer button { padding-inline: 9px; }
  .product-image-viewer-caption { padding-inline: 12px; }
  .product-image-viewer-help { padding: 0 12px max(12px,env(safe-area-inset-bottom)); }
}

/* Compact action: only the icon and text change on hover, never the row. */
body[data-page="product"] .px-product .product-image-zoom-open {
  display:inline-flex;align-items:center;justify-content:flex-start;gap:8px;
  width:fit-content;max-width:100%;min-height:44px;padding:4px 2px;
  justify-self:start;align-self:flex-start;cursor:zoom-in;
  background:transparent!important;border:0;box-shadow:none!important;
  color:#525252;text-decoration:none;
}
body[data-page="product"] .px-product .product-image-zoom-open svg { flex:none; }
body[data-page="product"] .px-product .product-image-zoom-open:hover {background:transparent!important;color:#6b2337!important;}
body[data-page="product"] .px-product .product-image-zoom-open:hover span {text-decoration:underline;text-underline-offset:3px;}
body[data-page="product"] .px-product .product-image-zoom-open:focus-visible {outline:3px solid #6b2337;outline-offset:3px;background:transparent!important;}
body[data-page="product"] .px-product button.product-image-zoom-open,
body[data-page="product"] .px-product button.product-image-zoom-open:is(:hover,:active,:focus,:focus-visible) {background:transparent!important;background-image:none!important;box-shadow:none!important;transition:none!important;}
body[data-page="product"] .px-product button.product-image-zoom-open {min-height:44px!important;color:#525252!important;}
body[data-page="product"] .px-product button.product-image-zoom-open:is(:hover,:active) {color:#6b2337!important;}
