.social {
  margin-top: 128px;

  &--inner {
    margin-bottom: 128px;

    @media (max-width: $mobile) {
      margin-bottom: 80px;
    }
  }

  &--feature {
    margin-top: 56px;
  }

  @media (max-width: $desktop) {
    margin-top: 100px;
  }

  @media (max-width: $tablet) {
    margin-top: 88px;
  }

  @media (max-width: $mobile) {
    margin-top: 84px;
  }

  &__title {
    letter-spacing: -0.88px;
    text-align: center;

    @media (max-width: $desktop) {
      font-size: 36px;
    }

    @media (max-width: $tablet) {
      font-size: 32px;
    }

    @media (max-width: $mobile) {
      font-size: 28px;
    }

    .social--feature & {
      color: #253737;
    }
  }

  &__list {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 24px;
    margin-bottom: 0;
    margin-top: 46px;

    @media (max-width: $desktop) {
      grid-template-columns: repeat(3, 1fr);
      gap: 32px;
    }

    @media (max-width: $tablet) {
      grid-template-columns: repeat(2, 1fr);
      gap: 20px;
      margin-top: 32px;
    }

    @media (max-width: $mobile) {
      grid-template-columns: repeat(1, 100%);
      gap: 16px;
    }
  }

  &__item {
    position: relative;
    border: 1px solid transparent;
    border-radius: 4px;

    &:after {
      z-index: -1;
      content: "";
      position: absolute;
      left: 50%;
      top: 54%;
      width: 92%;
      height: 92%;
      transform: translate(-50%, -50%);
      opacity: 0;
      transition: opacity 0.3s ease-in-out;
    }

    &:focus,
    &:hover {
      &:after {
        opacity: 0.8;
      }
    }
  }

  &__link {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 28px 37px;
    font-weight: 700;
    font-size: 22px;
    line-height: 1.375;
    text-align: center;
    color: #253737;

    @media (max-width: $mobile) {
      flex-direction: row;
      gap: 16px;
      padding: 24px;
      font-size: 18px;
    }

    img {
      width: 64px;
      height: auto;
      margin-bottom: 16px;
      border-radius: 50%;
      box-shadow: 0 3px 8px 0 #0000000d, 0 3px 8px 0 #0000001a;

      @media (max-width: $mobile) {
        width: 36px;
        margin-bottom: 0;
      }
    }

    span {
      max-width: 148px;

      @media (max-width: $tablet) {
        max-width: none;
      }

      @media (max-width: $mobile) {
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
      }
    }

    &:hover {
      color: #253737;
    }
  }

  &__item--green {
    background-color: #f4fbf5;
    border-color: #d6f5d6;

    &:after {
      background: #84e194;
      filter: blur(14px);
    }
  }

  &__item--blue {
    background-color: #f4fbfb;
    border-color: #c6f1f1;

    &:after {
      background: #42d7d7;
      filter: blur(14px);
    }
  }

  &__item--violet {
    background-color: #f1f5fe;
    border-color: #cfdefc;

    &:after {
      background: #70a0ff;
      filter: blur(14px);
    }
  }

  &__item--dark-blue {
    background-color: #f1f8fe;
    border-color: #cfe7fc;

    &:after {
      background: #70b2ff;
      filter: blur(14px);
    }
  }
}
