/* TOPX Epsilon Safe Slider 3.2.0 — original Epsilon img stays in place. */
.simple-prod .img-wrap.topx-safe-active > a.img {
  position: absolute; inset: 0; display: block; width: 100%; height: 100%;
  border-radius: 6px; overflow: hidden; z-index: 0; touch-action: pan-y;
  -webkit-tap-highlight-color: transparent;
}
/* The original <img> remains a direct child of <a.img>, so Epsilon keeps styling/loading it. */
.simple-prod .img-wrap.topx-safe-active > a.img > img {
  display: block; visibility: visible;
}
.simple-prod .img-wrap.topx-safe-active > a.img > .topx-safe-layer {
  position: absolute; inset: 0; width: 100%; height: 100%;
  pointer-events: none; z-index: 1; overflow: hidden;
  opacity: 0; visibility: hidden; transition: opacity .2s ease;
}
.simple-prod .img-wrap.topx-safe-active > a.img > .topx-safe-layer.is-visible {
  opacity: 1; visibility: visible;
}
.simple-prod .img-wrap.topx-safe-active > a.img > .topx-safe-layer > img {
  position: absolute; inset: 0; display: block; width: 100%; height: 100%;
  max-height: none; max-width: none; object-fit: cover; border-radius: 6px;
  pointer-events: none; user-select: none;
}
/* Epsilon bar: price left + discreet 1/15 counter right, same baseline. */
.simple-prod .img-wrap.topx-safe-active > a.bar {
  z-index: 2; display: flex; align-items: flex-end;
  justify-content: space-between; gap: 6px; padding-right: 8px;
}
.simple-prod .img-wrap.topx-safe-active > a.bar .price {
  float: none; flex: 0 0 auto; white-space: nowrap;
}
.simple-prod .img-wrap.topx-safe-active > a.bar .image-counter { display: none !important; }
.simple-prod .img-wrap.topx-safe-active .topx-safe-counter {
  box-sizing: border-box; flex: 0 0 auto; position: static; display: inline-flex;
  align-items: center; justify-content: center; align-self: flex-end;
  font-size: 11px; font-weight: 700; line-height: 14px; font-variant-numeric: tabular-nums;
  white-space: nowrap; margin: 0 0 1px auto; padding: 3px 6px;
  color: white; background: rgba(0,0,0,.62); border-radius: 5px;
  pointer-events: none;
}
.simple-prod .img-wrap.topx-safe-active .topx-safe-counter[hidden] { display: none !important; }
.simple-prod .img-wrap.topx-safe-active > .topx-safe-counter-fallback {
  position: absolute; z-index: 4; right: 8px; bottom: 8px;
}
.simple-prod .img-wrap.topx-safe-active .favorite,
.simple-prod .img-wrap.topx-safe-active .svi-save-btn,
.simple-prod .img-wrap.topx-safe-active .user-image { z-index: 5; }
.simple-prod .img-wrap.topx-safe-active .premium-mark,
.simple-prod .img-wrap.topx-safe-active .day-offer-mark { z-index: 4; }
/* Navigation buttons. Hide disabled arrows; no dots anywhere. */
.simple-prod .img-wrap.topx-safe-active > .topx-safe-arrow {
  box-sizing: border-box; position: absolute; z-index: 4;
  top: 50%; transform: translateY(-50%); width: 34px; height: 34px;
  display: inline-flex; align-items: center; justify-content: center; padding: 0;
  border: 1px solid rgba(255,255,255,.7); border-radius: 50%;
  color: #171717; background: rgba(255,255,255,.95);
  box-shadow: 0 3px 13px rgba(0,0,0,.16); cursor: pointer;
  opacity: 0; transition: opacity .15s, box-shadow .15s;
  -webkit-appearance: none; appearance: none;
}
.simple-prod .img-wrap.topx-safe-active > .topx-safe-arrow svg {
  width: 19px; height: 19px; fill: none; stroke: currentColor;
  stroke-linecap: round; stroke-linejoin: round; stroke-width: 2.4;
}
.simple-prod .img-wrap.topx-safe-active > .topx-safe-prev { left: 8px; }
.simple-prod .img-wrap.topx-safe-active > .topx-safe-next { right: 8px; }
.simple-prod .img-wrap.topx-safe-active:hover > .topx-safe-arrow:not(:disabled),
.simple-prod .img-wrap.topx-safe-active:focus-within > .topx-safe-arrow:not(:disabled) { opacity: 1; }
.simple-prod .img-wrap.topx-safe-active > .topx-safe-arrow:disabled { opacity: 0 !important; pointer-events: none; }
.simple-prod .img-wrap.topx-safe-active > .topx-safe-arrow:focus-visible {
  outline: 2px solid #3b49df; outline-offset: 2px;
}
.products.list .simple-prod .img-wrap.topx-safe-active > a.bar,
.products.detail .simple-prod .img-wrap.topx-safe-active > a.bar {
  justify-content: flex-end; align-items: flex-end; padding: 0 4px 3px;
}
.products.list .simple-prod .img-wrap.topx-safe-active .topx-safe-counter,
.products.detail .simple-prod .img-wrap.topx-safe-active .topx-safe-counter {
  font-size: 10px; padding: 2px 4px; margin: 0;
}
.products.list .simple-prod .img-wrap.topx-safe-active > .topx-safe-arrow,
.products.detail .simple-prod .img-wrap.topx-safe-active > .topx-safe-arrow {
  width: 24px; height: 24px;
}
.products.list .simple-prod .img-wrap.topx-safe-active > .topx-safe-prev,
.products.detail .simple-prod .img-wrap.topx-safe-active > .topx-safe-prev { left: 2px; }
.products.list .simple-prod .img-wrap.topx-safe-active > .topx-safe-next,
.products.detail .simple-prod .img-wrap.topx-safe-active > .topx-safe-next { right: 2px; }
@media (hover: none), (pointer: coarse) {
  .simple-prod .img-wrap.topx-safe-active > .topx-safe-arrow:not(:disabled) { opacity: .83; }
}
@media (max-width: 450px) {
  .simple-prod .img-wrap.topx-safe-active .topx-safe-counter { font-size: 10px; padding: 2px 5px; }
  .simple-prod .img-wrap.topx-safe-active > .topx-safe-arrow { width: 29px; height: 29px; }
}
@media (prefers-reduced-motion: reduce) {
  .simple-prod .img-wrap.topx-safe-active > a.img > .topx-safe-layer,
  .simple-prod .img-wrap.topx-safe-active > .topx-safe-arrow { transition-duration: 0ms !important; }
}

/* Photo shown here is independently decoded, so theme lazy-loading placeholders never sit on top of it. */
.simple-prod .img-wrap.topx-safe-active > a.img > .topx-safe-layer.is-visible {
  z-index: 3; opacity: 1; visibility: visible;
}
.simple-prod .img-wrap.topx-safe-active > a.img > .topx-safe-layer > img {
  opacity: 1 !important; visibility: visible !important;
}
