/* Categories catalogue — loaded on categories page (live cache-safe) */
.sj-categories-page .product-card .img-wrap {
  position: relative;
  aspect-ratio: 1;
  overflow: hidden;
}
.sj-categories-page .product-card .img-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.sj-categories-page .product-card .img-wrap.is-clickable {
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}

/* Product price modal — core layout (paired with sj-theme / sj-responsive) */
#productPriceModal.modal.fade:not(.show) {
  display: none !important;
}
#productPriceModal .sj-ppm__media-placeholder[hidden],
#productPriceModal .sj-ppm__zoom-wrap[hidden] {
  display: none !important;
}
#productPriceModal .sj-ppm__zoom-wrap:not([hidden]) {
  display: block;
}
#productPriceModal .sj-ppm__main-img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  display: block;
}

@media (max-width: 991.98px) {
  #productPriceModal .sj-ppm__split.row {
    --bs-gutter-x: 0;
    margin: 0;
  }
  #productPriceModal .sj-ppm__detail-col {
    flex: 0 0 auto !important;
    min-height: auto !important;
    display: block !important;
  }
  #productPriceModal .sj-ppm__scroll {
    overflow: visible !important;
    min-height: auto !important;
    flex: none !important;
  }
  #productPriceModal .sj-ppm__breakdown,
  #productPriceModal .sj-ppm__rows {
    display: block;
    width: 100%;
  }
  #productPriceModal .sj-ppm__row {
    display: flex;
    width: 100%;
  }
}
