.related-products {
  display: grid;
  gap: var(--product-gap-md, var(--v2-space-3));
}

.related-products__carousel {
  display: grid;
  gap: var(--product-gap-md, var(--v2-space-3));
  overflow: hidden;
}

.related-products__carousel--desktop {
  display: none;
}

.related-products__track {
  display: flex;
  transition: transform 260ms ease;
  will-change: transform;
}

.related-products__slide {
  min-width: 100%;
  flex: 0 0 100%;
}

.related-products__slide-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--product-gap-md, var(--v2-space-3));
}

.related-products__title {
  margin: 0;
  padding-block: var(--v2-space-2);
  color: var(--v2-color-primary);
  font-size: 1.2rem;
  font-weight: 700;
}

.related-products__slide .catalog-card {
  min-height: 100%;
}

.related-products .catalog-card__body {
  padding: 0.65rem 0.65rem 0.45rem;
}

.related-products .catalog-card__actions {
  padding: 0 0.65rem 0.65rem;
}

.related-products__dots {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: var(--product-gap-sm, var(--v2-space-2));
}

.related-products__dot {
  width: 0.45rem;
  height: 0.45rem;
  border: 0;
  border-radius: 999px;
  background: color-mix(in srgb, var(--v2-color-border) 70%, var(--v2-color-info) 30%);
  padding: 0;
}

.related-products__dot.is-active {
  width: 1rem;
  background: color-mix(in srgb, var(--v2-color-info) 65%, var(--v2-color-primary) 35%);
}

@media (min-width: 900px) {
  .related-products__carousel--mobile {
    display: none;
  }

  .related-products__carousel--desktop {
    display: grid;
  }

  .related-products__slide-grid--desktop {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.75rem;
  }

  .related-products__title {
    font-size: 2rem;
  }
}

