/* Native watermarked images: no canvas renderer or host restriction. */
img.jneh-photo{max-width:100%;height:auto;vertical-align:middle}
img.jneh-photo[hidden],canvas.jneh-animation-frame[hidden]{display:none!important}
.s7-photo-background{position:relative;isolation:isolate}
img.s7-photo-background-image{position:absolute;inset:0;display:block;width:100%;height:100%;max-width:none;z-index:-1;object-fit:none;object-position:center;pointer-events:none}
img.s7-photo-background-image.s7-bg-stretch{object-fit:fill;object-position:center top}
#s7-technical-dialog .s7-technical-status{padding:30px 15px;text-align:center;color:#526983}
#s7-technical-dialog .s7-technical-recovery{margin-top:14px;display:flex;gap:12px;justify-content:center;align-items:center}
#s7-technical-dialog [hidden]{display:none!important}
#s7-technical-dialog button:disabled{opacity:.5;cursor:wait}
canvas.jneh-animation-frame{display:block;max-width:100%;height:auto;margin:auto}
/* Keep the existing print-only policy; screen images remain native images. */
@media print{html body img.jneh-photo,canvas.jneh-animation-frame{display:none!important;visibility:hidden!important;opacity:0!important}}

/* Limit native touch-and-hold image menus; keep images indexable and interactive. */
img.jneh-photo,
canvas.jneh-animation-frame,
[data-s7-zoom-src] {
  -webkit-touch-callout: none;
}
/* Separate selector: older browsers without :has() still apply the image rule above. */
a:has(img.jneh-photo) {
  -webkit-touch-callout: none;
}

/* JNEH mobile image shield, 20261110-native-1; native images stay visible. */
.s7-touch-shield {
  position: absolute;
  display: block;
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  border: 0;
  z-index: 4;
  background: transparent;
  pointer-events: auto;
  touch-action: pan-x pan-y pinch-zoom;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  user-select: none;
}
.s7-touch-shield[hidden] { display: none !important; }
html.s7-touch-shield-enabled img.s7-touch-shield-image {
  pointer-events: none;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  user-select: none;
}

@media print { .s7-touch-shield { display:none!important; } }

/* Preserve the native animated diagram and QR behavior. */
img[data-erhuan-animated]{max-width:100%;height:auto;-webkit-touch-callout:none}

/* A stable block box for the mobile homepage picture/shield pair. */
.fullSlide .bd .li picture{display:block;width:100%}

/* 20261110-shield-fix-1: isolate the touch shield from product caption styles.
   Some pages style all spans inside .bds-zoom as blue labels. The shield is
   also a span, so its appearance and box edges must not inherit those rules.
   Inline left/top/width/height remain controlled by the existing image script. */
html body span.s7-touch-shield {
  position: absolute !important;
  display: block !important;
  box-sizing: border-box !important;
  right: auto !important;
  bottom: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  outline: 0 !important;
  opacity: 1 !important;
  filter: none !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
  mix-blend-mode: normal !important;
  z-index: 4 !important;
  pointer-events: auto !important;
  touch-action: pan-x pan-y pinch-zoom !important;
  -webkit-touch-callout: none !important;
  -webkit-user-select: none !important;
  user-select: none !important;
}
html body span.s7-touch-shield::before,
html body span.s7-touch-shield::after {
  content: none !important;
  display: none !important;
}
html body span.s7-touch-shield[hidden] { display: none !important; }
@media print { html body span.s7-touch-shield { display: none !important; } }
