.catalog-item-photo {
    position: relative;
}

.catalog-item-photo .label {
    position: absolute;
    left: 0;
    top: 0;
    font-size: 11px;
    border-radius: 0;
}

.catalog-item-photo .label + .label {
    top: 19px;
}

.catalog-item-photo .label:nth-child(2) {
    top: 25px;
}

.catalog-item-photo .label:nth-child(3) {
    top: 50px;
}

.catalog-item-photo .label:nth-child(4) {
    top: 57px;
}

.catalog-item-photo span.no-border {
    padding: 5px 10px;
    font-family: 'Playfair Display';
    font-weight: normal;
    border-radius: 6px;
    margin-left: 5px;
    line-height: 1;
}

.block_leaders .catalog-item-photo span.no-border,
.block_actions .catalog-item-photo span.no-border {
    padding: 1px 10px;
    margin-left: 5px;
}

.catalog-item-photo span.delivery,
.product-name span.delivery {
    background-color: #F0BD00;
    color: #000000;
}

.catalog-item-photo span.hit {
    background-color: #8C1B5B;
    color: #fff;
}

.catalog-item-photo span.new {
    background-color: #B7D58F;
    color: #000000;
}

.catalog-item-photo span.expert,
.product-name span.expert {
    background-color: #154339;
    color: #fff;
}

.catalog-item-name span.stock {
    background-color: #f9f9f9;
    color: #888
}

.catalog-item-name span.our {
    background-color: #D87878;
    color: #fff
}

.catalog-item-photo-label {
    top: 10px;
    z-index: 10;
}

.block_leaders .catalog-item-photo-label,
.block_actions .catalog-item-photo-label{
    top: 10px;
}


.block_leaders .catalog-item-photo .label:nth-child(2),
.block_actions .catalog-item-photo .label:nth-child(2){
    top: 29px;
}

.block_leaders .catalog-item-photo .label:nth-child(3),
.block_actions .catalog-item-photo .label:nth-child(3){
    top: 58px;
}

.block_leaders .catalog-item-photo .label:nth-child(4),
.block_actions .catalog-item-photo .label:nth-child(4){
    top: 87px;
}
/* Галерея фото в карточке каталога */
.img_wrapper { position: relative; }

.pc-gallery {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
  aspect-ratio: 1 / 1; /* чтобы не пропала высота */
}

.pc-gallery__img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  opacity:0;
  transition:opacity .15s ease;
  pointer-events:none;
}

.pc-gallery__img.is-active{ opacity:1; }
/* 3:2 и скругление как было */
.img_wrapper { position: relative; }

.pc-gallery{
  position: relative;
  width: 100%;
  aspect-ratio: 3 / 2;   /* ВАЖНО: 3:2 */
  overflow: hidden;
  border-radius: 12px;  /* подстрой под твой дизайн */
}

.pc-gallery__img{
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0;
  transition: opacity .15s ease;
  pointer-events: none;
}

.pc-gallery__img.is-active{ opacity: 1; }

/* если раньше скруглялся именно img, а не контейнер — добавь */
.pc-gallery__img{ border-radius: 12px; }
/* Точки под фото */
/* контейнер фото */
.pc-gallery{
  position: relative;
}
/* точки ПОД фото */
.pc-dots{
  position: static;
  margin-top: 5px;        /* отступ от фото */
  margin-bottom: 6px;     /* было 12 — уменьшаем */
  display: flex;
  justify-content: center;
  gap: 5px;

  padding: 2px 0;         /* было 3 — уменьшаем, но чтобы не резалось */
  line-height: 1;
  overflow: visible;
}

/* сами точки */
.pc-dot{
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #8c1b5b;
  border: none;
  padding: 0;
  margin: 0;
  cursor: pointer;

  display: inline-flex;
  transition: transform .15s ease;
}

/* ВАЖНО: по умолчанию активная НЕ увеличивается */
.pc-dot.is-active{
  transform: none;
}

/* Увеличение активной точки ТОЛЬКО при наведении на фото (ПК) */
@media (hover: hover) and (pointer: fine){
  .pc-gallery:hover + .pc-dots .pc-dot.is-active{
    transform: scale(1.35);
  }
}
/* 📱 Мобилка: активная точка чуть темнее */
@media (hover: none){
  .pc-dot.is-active{
    background: #5e0f3b; /* чуть темнее, чем #8c1b5b */
  }
}