.related-products {
  padding: 56px 0 24px;
  background: linear-gradient(180deg, rgba(246, 248, 242, 0), #f7f8f3 22%, #f7f8f3 100%);
}

.related-products__wrap {
  width: min(100% - 32px, 1180px);
  margin: 0 auto;
}

.related-products__head {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 10px 18px;
  margin-bottom: 18px;
}

.related-products__title {
  margin: 0;
  color: #152436;
  font-size: clamp(20px, 2.2vw, 28px);
  line-height: 1.15;
  font-weight: 800;
}

.related-products__subtitle {
  margin: 0;
  color: #49606b;
  font-size: 14px;
  line-height: 1.5;
}

.related-products__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 320px));
  justify-content: start;
  gap: 24px;
}

.related-products__card {
  position: relative;
  display: flex;
  flex-direction: column;
  width: 100%;
  max-width: 320px;
  min-height: 100%;
  padding: 20px;
  border: 1px solid #e8efe8;
  border-radius: 24px;
  background: #fff;
  box-shadow: 0 18px 46px rgba(28, 58, 37, 0.08);
}

.related-products__badge {
  position: absolute;
  top: 12px;
  left: 12px;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  min-height: 38px;
  padding: 0 14px;
  border-radius: 999px;
  background: #21b24b;
  color: #fff;
  font-size: 14px;
  font-weight: 800;
}

.related-products__media {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  max-width: 280px;
  aspect-ratio: 1 / 1;
  margin-bottom: 18px;
  border-radius: 18px;
  background: linear-gradient(180deg, #fcfdfb 0%, #f5f8f1 100%);
  overflow: hidden;
}

.related-products__media img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.related-products__placeholder {
  padding: 18px;
  color: #688071;
  font-size: 14px;
  text-align: center;
  line-height: 1.5;
}

.related-products__category {
  margin: 0 0 6px;
  color: #148546;
  font-size: 14px;
  font-weight: 800;
  text-transform: uppercase;
}

.related-products__product-title {
  margin: 0;
  color: #102033;
  font-size: 24px;
  line-height: 1.15;
  font-weight: 800;
}

.related-products__meta {
  margin-top: 8px;
  color: #355267;
  font-size: 15px;
  line-height: 1.5;
}

.related-products__reviews {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 10px;
  color: #f5aa00;
  font-size: 16px;
  line-height: 1;
}

.related-products__reviews small {
  color: #f5aa00;
  font-size: 16px;
  font-weight: 500;
}

.related-products__summary {
  margin-top: 12px;
  color: #28414f;
  font-size: 16px;
  line-height: 1.6;
}

.related-products__prices {
  display: flex;
  align-items: flex-end;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 18px;
  margin-bottom: 14px;
}

.related-products__price {
  color: #13253a;
  font-size: 22px;
  line-height: 1.1;
  font-weight: 800;
}

.related-products__old-price {
  color: #98a1a7;
  font-size: 15px;
  line-height: 1.1;
  font-weight: 700;
  text-decoration: line-through;
}

.related-products__cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 48px;
  margin-top: auto;
  padding: 0 20px;
  border-radius: 14px;
  background: #21b24b;
  color: #fff;
  font-size: 16px;
  font-weight: 800;
  text-decoration: none;
}

.related-products__cta-icon {
  width: 18px;
  height: 18px;
  flex: 0 0 auto;
}

@media (max-width: 767px) {
  .related-products {
    padding: 42px 0 20px;
  }

  .related-products__head {
    display: block;
  }

  .related-products__subtitle {
    margin-top: 8px;
  }

  .related-products__grid {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .related-products__card,
  .related-products__media {
    max-width: none;
  }

  .related-products__product-title {
    font-size: 22px;
  }
}
