.product-loop {
  padding: 0;
  display: grid;
  grid-template-columns: repeat(3, minmax(1px, 280px));
  justify-content: center;
  gap: 52px 64px;
  list-style: none;
}

.product-loop__item {
  width: 100%;
  display: flex;
  justify-content: center;
}

.product-loop__item-link {
  width: 100%;
}

.product-loop__figure {
  display: table;
}

.product-loop__image-container {
  max-width: 280px;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
}

.product-loop__image {
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
}

.product-loop__overlay {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  display: none;
  justify-content: center;
  align-items: center;
  background: rgba(14, 14, 14, 0.7);
}

.product-loop__overlay_hovered {
  display: flex;
}

.product-loop__image-container:hover .product-loop__overlay {
  display: flex;
}

.product-loop__price {
  font-size: 32px;
  font-weight: 700;
  color: var(--primary-color);
}

.product-loop__item-name,
.product-loop__item-sub-name {
  margin: 0 8px 0;
  text-align: center;
  font-size: 24px;
}

.product-loop__item-name {
  max-height: 109px;
  overflow: hidden;
  display: table-caption;
  caption-side: bottom;
}

.product-loop__item-name > span {
  white-space: nowrap;
  display: contents;
}

.product-loop__item-sub-name {
  margin-top: 8px;
}

@media (max-width: 992px) {
  .product-loop__item-name {
    max-height: 91px;
  }

  .product-loop__item-name,
  .product-loop__item-sub-name {
    font-size: 20px;
  }
}

@media (max-width: 768px) {
  .product-loop {
    grid-template-columns: repeat(2, minmax(1px, 280px));
    gap: 40px 32px;
  }
}

@media (max-width: 576px) {
  .product-loop {
    gap: 32px 20px;
  }

  .category-view .product-loop {
    grid-template-columns: minmax(1px, 280px);
    gap: 40px;
  }
}

@media (max-width: 400px) {
  .product-loop__item-name {
    max-height: 73px;
  }

  .product-loop__item-name,
  .product-loop__item-sub-name {
    font-size: 16px;
  }
}
