@import '../helpers/helpers';
@import '../components/big-wins';

// sass-lint:disable no-vendor-prefixes, no-duplicate-properties
.pdp {
  &__title {
    padding-bottom: 0;
  }

  &__reviews_small {
    padding-bottom: 0;
    display: flex;
    align-items: baseline;
    margin-top: 10px;
    margin-bottom: 15px;
    min-height: 47px;
  }

  &__reviews-link-wrap {
    margin-right: $btn-padding-x;
  }

  &__full-gallery {
    margin: 0 -15px 20px;
  }

  &__description {
    padding-bottom: 0;
  }

  &__aside {
    padding-bottom: 0;
  }

  &__fulfilment {
    margin-top: 10px;

    &-mobile {
      display: block;
    }

    &-desktop {
      display: none;
    }
  }

  &__similar {
    display: none;
  }

  &__info {
    background-color: $gray-light;
    grid-column: 1 / span 3;
    grid-row: 5 / span 1;
    padding: 20px 15px;
    margin-bottom: 30px;
  }

  &__quantity {
    width: 30px;
    height: 25px;
    text-align: left;
    padding: 5px;
    margin-left: 10px;
  }

  &__main {
    padding-top: 10px;

    :where(ul, ol) {
      list-style: revert;
    }

    :where(li) {
      display: list-item;
      list-style: inherit;
    }

    .share-buttons__list {
      list-style: none;
    }
  }

  &__recently-viewed {
    padding-top: 0;

    & .recently-viewed {
      padding-top: 0;
    }
  }

  &__buyers-gallery {
    overflow: hidden;
  }

  &__suite-includes {
    margin-bottom: 24px;
  }

  &--ripple {
    & .pdp {
      &__fulfilment {
        margin-top: 0;
        margin-bottom: 24px;
      }

      &__info {
        margin-bottom: 24px;
      }
    }

    & .seo-widgets {
      padding-top: 0;
    }
  }

  &__widget {
    margin-top: 16px;
    margin-bottom: 20px;
    margin-left: -15px;
    margin-right: -15px;
  }
}

.recently-viewed {
  display: none;
}

.review-star {
  display: inline-block;
  vertical-align: text-top;

  &.product-card__reviews {
    margin-top: 0;
    background: none;
  }

  & .product-rating {
    font-size: 1rem;
  }

  &-average {
    padding-right: $btn-padding-x;
  }
}

.s7flyoutzoomview.s7flyoutzoomview.s7flyoutzoomview.s7flyoutzoomview {
  border-bottom: 1px solid $gray-light;
}

.s7container.s7container.s7container.s7container {
  border: 1px solid $gray-light;
}

.product-main-info__description.product-main-info__description {
  margin-bottom: 15px;
  position: relative;
}

.gallery_bordered {
  border: 1px solid $gray-light;
}

.gallery__main {
  border-bottom: 1px solid $gray-light;
}

.product-code-v2 {
  margin-right: 5px;
}

.review-star-average-v2 {
  font-size: 0.875rem;
  vertical-align: 15%;
}

.p-w-r .pr-snippet-stars-reco-inline .pr-snippet-read-and-write {
  // sass-lint:disable no-important
  display: block !important;

  span {
    padding-left: 0 !important;
  }
}

.product-rating-v2.product-rating-v2 {
  display: inline-block;
}

.empty-block {
  height: 200px;
}

.product-main {
  &-info {
    &__read {
      &-less {
        display: none;
        color: $blue;
        text-decoration: underline;
        text-align: right;
        font-size: 1rem;
        cursor: pointer;
      }

      &-more {
        display: none;
        color: $blue;
        background: $white;
        text-decoration: underline;
        font-size: 1rem;
        cursor: pointer;
        position: absolute;
        top: calc(240px - 25px);
        right: 0;
      }
    }
  }
}

.modal-dialog {
  overscroll-behavior: contain;
}

.pdp-reviews-wrap {
  display: flex;
  flex-direction: column;
  margin-top: auto;
}

@include media-breakpoint-up(sm) {
  .pdp {
    &__full-gallery {
      margin: 0 0 24px;
    }

    &__widget {
      margin-left: 0;
      margin-right: 0;
    }
  }
}

@include media-breakpoint-up(md) {
  .pdp {
    &__title {
      padding-right: 0;
    }

    &__reviews_small {
      margin-top: 20px;
      margin-bottom: 20px;
      padding-left: 0;
    }

    &__full-gallery {
      grid-column: 1;
      grid-row-start: 2;
    }

    &__full-description {
      grid-column: 1;
      grid-row-start: 3;
    }

    &__gallery {
      grid-column-start: 1;
      grid-row-start: 2;
    }

    &__description {
      grid-column-start: 1;
      grid-row-start: 3;
      padding-right: 15px;
    }

    &__aside {
      grid-column-start: 2;
      grid-row: 2 / span 2;
      padding-left: 15px;
    }

    &__fulfilment {
      margin-top: 10px;
      margin-bottom: 5px;
      grid-column: 1 / span 4;
      grid-row: 6 / span 1;

      &-mobile {
        display: none;
      }

      &-desktop {
        display: block;
      }
    }

    &__info {
      padding: 30px 40px;
      margin-bottom: 40px;
    }

    &__main {
      padding-top: 35px;
    }

    &__suite-includes {
      margin-bottom: 40px;
      grid-column: 1;
    }

    &__widget {
      grid-column: 1 / span 4;
      grid-row: 4 / span 1;
      margin-top: 20px;
      margin-bottom: 10px;
    }

    &__banner {
      grid-column: 1 / span 4;
      grid-row: 5 / span 1;
    }

    &--ripple {
      & .pdp {
        &__fulfilment {
          margin-top: 0;
          margin-bottom: 25px;
        }

        &__info {
          margin-bottom: 40px;
        }
      }
    }
  }

  .product-code-v2 {
    margin-right: 15px;
  }
}

@include media-breakpoint-up(lg) {
  .pdp {
    &__reviews_small {
      padding-right: 10px;
    }

    &__gallery {
      padding-right: 20px;
      padding-bottom: 20px;
    }

    &__description {
      grid-column-start: 2;
      grid-row-start: 2;
      padding-left: 10px;
      padding-right: 10px;
    }

    &__full-gallery {
      grid-column: 1 / span 2;
    }

    &__full-description {
      grid-column: 1 / span 2;
    }

    &__aside {
      grid-column-start: 3;
      grid-row: 1 / span 3;
      padding-left: 20px;
    }

    &__fulfilment {
      margin-top: 20px;
    }

    &__widget {
      margin-bottom: 0;
    }

    &__similar {
      display: block;
    }

    &__info {
      padding: 20px;
      margin-bottom: 10px;
    }

    &__main {
      padding-top: 40px;
    }

    &__suite-includes {
      grid-column: 1 / span 2;
    }
  }

  .recently-viewed {
    display: block;
  }

  .product-main-info__description.product-main-info__description {
    margin-bottom: 20px;
  }
}
