.shopping-list {
  .empty-shopping-list {
    .save-to-shopping-list {
      .btn {
        margin-right: 10px;
        padding: 5px 10px;
        cursor: default;
      }

      .btn-outline-primary:hover {
        color: $blue;
        background-color: $white;
        border-color: $blue;
      }
    }

    .fa-heart {
      color: $blue;
    }
  }

  .my-shopping-list {
    .shop-list-info {
      padding-bottom: 1rem;
      flex-wrap: wrap;

      &__ref {
        padding-top: 10px;
        font-size: 1rem;

        &_value {
          overflow-wrap: anywhere;
          word-break: break-all;
        }
      }

      &_item {
        width: 50%;
        font-weight: 400;
      }

      &_call-action {
        flex-direction: row;
        width: 50%;

        a {
          white-space: nowrap;
          margin: 0 6px;
          height: 25px;
          outline: none;
        }

        .icon {
          height: 20px;
          width: 20px;
          margin: 0 17px 0 0;
        }

        .share-call {
          &__mobile {
            display: block;
          }

          &__desktop {
            display: none;
          }
        }

        .share-email-via {
          display: flex;
          justify-content: space-between;
        }

        .share-call_not-register {
          font-weight: 500;
          color: $warm-grey;

          @include media-breakpoint-up(lg) {
            margin-right: 15px;
          }
        }
      }

      @include media-breakpoint-down(sm) {
        flex-direction: column-reverse;

        div {
          width: 100%;
        }

        &_call-action {
          display: flex;
          justify-content: space-between;
        }

        &_item {
          margin-top: 30px;
          text-align: center;
        }
      }

      @include media-breakpoint-only(md) {
        div {
          width: auto;
        }

        &_item {
          margin-right: 50px;
        }
      }
    }
  }

  .ref {
    display: grid;
    grid-template-columns: 1fr 2fr 100px;
    align-items: center;
    padding-top: 15px;
    margin-bottom: -5px;

    &__add {
      grid-column: 1 / span 1;
      display: flex;

      &-label {
        margin-left: 10px;

        &_hide {
          display: none;
        }
      }

      & .icon-info-component {
        vertical-align: middle;
        margin-right: 5px;
      }

      &-text {
        text-transform: capitalize;
        font-size: 1rem;
        font-weight: 400;
      }
    }

    &__field {
      grid-column: 2 / span 1;
      width: 100%;
      padding: 0 20px;

      &_error {
        .ref__error {
          visibility: visible;
        }

        .ref__label input {
          border-color: $red;
        }
      }
    }

    &__count {
      text-align: right;

      &_max {
        color: $red;
      }

      &_hide {
        visibility: hidden;
      }
    }

    &__label {
      width: 100%;
    }

    &__action {
      grid-column: 3 / span 1;
      padding-left: 2px;
      padding-bottom: 5px;
    }

    &__link {
      font-weight: 500;
      text-transform: capitalize;
    }

    &__remove {
      padding-left: 20px;
      font-size: 1.25rem;

      &_hide {
        visibility: hidden;
      }
    }

    &__info {
      &_hide {
        visibility: hidden;
        display: none;
      }
    }

    &__error {
      font-size: 0.75rem;
      line-height: 1rem;
      margin: 0;
      color: $red;
      visibility: hidden;
    }
  }

  .ios-custom-share-icon {
    margin-right: 13px;

    path {
      transition: fill 0.2s ease;
    }
  }

  .btn-secondary:hover,
  .btn-secondary:active,
  .btn-secondary:focus {
    .ios-custom-share-icon path {
      fill: $white !important;
    }
  }
}

.shopping-list {
  &:not(.shopping-list-note) {
    .my-shopping-list {
      .shop-list-info {
        &::after {
          content: '';
          position: absolute;
          bottom: 0;
          left: 0;
          width: calc(100% - 30px);
          height: 1px;
          margin-left: 15px;
          border-bottom: 1px solid $gray;
        }
      }
    }
  }
}

@include media-breakpoint-up(md) {
  .shopping-list {
    .my-shopping-list {
      .shop-list-info {
        &_call-action {
          .share-call {
            margin-right: 65px;

            &__mobile {
              display: none;
            }

            &__desktop {
              display: inline-block;
            }
          }
        }
      }

      .shop-list {
        &__ref {
          height: 73px;
        }
      }

      .ref {
        &__count {
          position: absolute;
          top: 5px;
          right: 136px;
        }

        &__label {
          position: relative;
          top: 10px;
        }

        &__error {
          position: relative;
          top: 5px;
        }
      }
    }
  }
}

@include media-breakpoint-up(lg) {
  .shopping-list {
    .my-shopping-list {
      .shop-list-info {
        &_item {
          width: 40%;
        }

        &_call-action {
          width: 60%;

          .share-call_not-register {
            margin-right: 15px;
          }
        }
      }
    }
  }
}

@include media-breakpoint-down(lg) {
  .shopping-list {
    .ref {
      grid-template-columns: 2fr 3fr 100px;
    }
  }
}

@include media-breakpoint-down(sm) {
  .shopping-list {
    .ref {
      grid-template-columns: 4fr 1fr;
      padding-top: 15px;
      margin-bottom: -10px;

      &_wide {
        grid-template-columns: 2fr 1fr;
      }

      &__add {
        grid-column: 1 / span 1;
        order: 1;
      }

      &__field {
        order: 3;
        grid-column: 1 / span 2;
        padding: 10px 0 0;
      }

      &__action {
        grid-column: 2 / span 1;
        order: 2;
        text-align: right;
        padding-bottom: 2px;
        padding-left: 0;
      }

      &__remove {
        padding-left: 10px;

        &_hide {
          display: none;
        }
      }

      &__info {
        &_hide {
          visibility: hidden;
          display: none;
        }
      }
    }

    .my-shopping-list {
      .shop-list-info {
        &_item {
          width: 40%;
        }

        &_call-action {
          width: 60%;

          .share-call_not-register {
            margin-right: 15px;
          }
        }
      }
    }
  }
}

@include media-breakpoint-down(sm) {
  .shopping-list {
    .header-line-break {
      display: none;
    }

    .empty-shopping-list {
      a {
        text-decoration: none;
      }
    }

    .my-shopping-list {
      .download-pdf {
        display: none;
      }

      .shop-list-info {
        flex-direction: column-reverse;

        div {
          width: 100%;
        }

        &_call-action {
          display: flex;
          justify-content: space-between;

          &.user-reg {
            flex-direction: column;
          }

          & .share-via {
            text-align: center;
            width: 200px;
            align-self: flex-end;

            & .socials {
              padding: 5px 0;
            }

            & .socials__item {
              margin-left: 0;
            }
          }
        }

        &_item {
          margin-top: 30px;
          text-align: center;
        }
      }
    }
  }
}

@include media-breakpoint-down(xs) {
  .tooltip-inner {
    // sass-lint:disable no-important
    max-width: 260px !important;
  }
}

.btn-back-to-project-list {
  display: flex;
  justify-content: center;
  align-items: center;
  max-width: 212px;
  padding-right: 16px;
  padding-left: 19px;

  svg {
    margin-right: 7px;
  }
}

#print-list {
  .header-wrapper {
    .header {
      height: 80px;
    }
  }

  h1 {
    text-align: center;
    margin-bottom: 0;
    padding-bottom: 0.67em;
    font-size: 34px !important;
  }

  .b-bottom-grey {
    border-bottom: 1px solid $gray;
  }

  .order-line-shop-list {
    padding: 35px 0 35px 10px;
    min-height: 215px;

    &__img {
      width: 148px;
      margin-right: 22px;

      img {
        width: 100%;
      }
    }

    &__calcs {
      width: 240px;

      .order-line__value {
        .product-card__price {
          &__value {
            font-size: 16px;
            font-weight: $btn-font-weight;
          }
        }
      }
    }
  }

  .shopping-list {
    .my-shopping-list {
      .shop-list-info {
        &__ref {
          max-width: 100%;
        }

        &_item {
          text-align: left;
          font-weight: 400;
        }
      }
    }
  }
}
