/* ===== Списки с иконками + фото ===== */
.icon-lists__inner {
  display: flex;
  flex-direction: column;
  gap: 30px;

  @media (max-width: 767px) {
    gap: 20px;
  }
}

.icon-lists__body {
  display: flex;
  flex-direction: column;
  gap: 30px;

  @media (max-width: 767px) {
    gap: 20px;
  }
}

.icon-lists__group {
  --icon-color: var(--color-orange);

  display: flex;
  flex-direction: column;
  gap: 14px;
}

.icon-lists__group--gray {
  --icon-color: var(--color-gray);
}

.icon-lists__group--black {
  --icon-color: var(--color-black);
}

.icon-lists__group-title {
  font-family: var(--font-body);
  font-weight: 600;
  font-size: 28px;
  line-height: 32px;
  color: var(--color-black);

  @media (max-width: 767px) {
    font-size: 20px;
  }
}

.icon-lists__list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px 40px;
  list-style: none;

  @media (max-width: 1024px) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px 30px;
  }

  @media (max-width: 767px) {
    grid-template-columns: minmax(0, 1fr);
    gap: 10px;
  }
}

.icon-lists__item {
  display: flex;
  align-items: flex-start;
  gap: 14px;
}

/* Иконка из медиатеки красится маской в цвет группы */
.icon-lists__icon {
  flex-shrink: 0;
  width: 48px;
  height: 54px;
  background-color: var(--icon-color);
  -webkit-mask: var(--icon) top center / contain no-repeat;
  mask: var(--icon) top center / contain no-repeat;
}

.icon-lists__text {
  flex: 1 1 0;
  min-width: 0;
  font-family: var(--font-body);
  font-size: 15px;
  line-height: 1.4;
  color: var(--color-black);

  @media (max-width: 767px) {
    font-size: 14px;
  }
}

/* Фото: 3 в ряд; на мобильном — Swiper (классы добавляет js/swiper.js), лента до края экрана */
.icon-lists__gallery-track {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 30px;
}

.icon-lists__photo {
  display: block;
  width: 100%;
  aspect-ratio: 3 / 2;
  object-fit: cover;
}

@media (max-width: 767px) {
  .icon-lists__gallery {
    margin-right: -12px;
  }

  /* Лента для Swiper: грид отключаем, отступы между слайдами даёт spaceBetween */
  .icon-lists__gallery-track {
    display: flex;
    gap: 0;
  }

  .icon-lists__slide {
    flex-shrink: 0;
    width: auto;
  }

  .icon-lists__photo {
    width: auto;
    height: 160px;
  }
}

.icon-lists__note {
  font-family: var(--font-body);
  font-size: 15px;
  line-height: 1.4;
  color: var(--color-gray);

  @media (max-width: 767px) {
    font-size: 14px;
  }
}
