.woocommerce{
  .col2-set{
    .col-1,
    .col-2{
      max-width: 100%;
      padding-left: 0;
      padding-right: 0;
    }
  }

  .woocommerce-thankyou-order-received{
    font-size: 140%;
    text-align: center;
  }
  .woocommerce-order-details,
  .woocommerce-customer-details{
    margin-top: 4rem;
  }
  @include media-breakpoint-up(md) {
    .woocommerce-order-details{
      float: left;
      width: 60%;
    }
    .woocommerce-customer-details{
      float: right;
      width: 30%;
    }
  }
  .woocommerce-order{
    overflow: hidden;
  }

  .shop_attributes{
    p{
      margin-bottom: 0;
    }
  }

  .woocommerce-order-overview{
    display: flex;
    list-style: none;
    margin: 0;
    padding: 0;
    justify-content: space-between;
    position: relative;
    padding: 1rem 3rem;
    flex-direction: column;

    @include media-breakpoint-up(md) {
      flex-direction: row;
    }

    &::before{
      content: '';
      display: block;
      top: 0;
      right: 0;
      bottom: 0;
      left:0;
      position: absolute;
      background-color: currentColor;
      opacity: 0.05;
    }

    strong{
      display: block;
      margin-top: .5rem;
      font-size: 120%;
    }
    li{
      padding: 1rem 0;
    }
  }

  .woocommerce-shipping-methods{
    list-style: none;
    padding: 0;
    margin: 0;
  }
  .woocommerce-checkout{
    overflow: hidden;

    #order_comments{
      height: 6rem;
    }
    .order-review{
      padding: 4rem;
    }
    @include media-breakpoint-up(md) {
      .order-details{
        width: 50%;
        float: left;
      }
      .order-review{
        float: right;
        width: 45%;
      }
    }
    .form-row{
      margin-left: 0;
      margin-right: 0;
      display: block;
    }
    .select2-selection{
      height: 2.4rem;
    }
    .select2-selection__rendered{
      line-height: 2.4rem;
    }
    .select2-selection__arrow{
      height: 2.4rem;
    }
    .select2-container--default .select2-selection--single{
      border-radius: 0
    }
  }

  .ct-sidebar{
    margin-top: 0;
  }

  .cart-collaterals{
    margin-top: 4rem;
    max-width: 600px;
  }

  .checkout-button.button,
  #place_order{
    @extend .btn;
    @extend .btn-lg;
  }

  .shop_table{

    .product-quantity{
      width: 6rem;
    }
    .product-thumbnail{
      width: 6rem;
    }
    .product-price{
      width: 6rem;
    }
    .product-subtotal{
      width: 6rem;
    }
    .product-remove{
      width: 2rem;
    }
    th, td{
      vertical-align: middle;
    }
    .actions{
      text-align: right;
      padding: 2rem;
      .coupon{
        float: left;
        display: flex;
        max-width: 50%;
        align-items: center;
        label{
          display: none;
        }
        .input-text{
          margin-right: 1rem;
        }
      }
      input[type=submit]{

      }
    }
  }

  .checkout_coupon{
    overflow: hidden;

    .form-row{
      margin-left: 0;
      margin-right: 2rem;
      float: left;
    }

  }

  .wc_payment_methods{
    list-style: none;
    display: block;
    margin: 0;
    padding: 0;
    > li{
      margin-bottom: 2rem;
      label{
        margin-left: .5rem;
        display: inline-block;
      }
    }
  }

  .woocommerce-message,
  .woocommerce-info,
  .woocommerce-notice{
    position: relative;
    padding: 1rem 1rem 1rem 2rem;
    margin-bottom: 2rem;
    clear: both;
    overflow: hidden;
    line-height: 40px;

    &::before{
      content: '';
      border: 1px solid;
      opacity: 0.1;
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      z-index: -1;
    }
    .button{
      @extend .btn;
      @extend .btn-link;
      margin-left: 2rem;
      float: right;
    }
  }

  .woocommerce-error{
    @extend .alert;
    @extend .alert-danger;
    list-style: none;
    margin-bottom: 2rem;
  }

  .woocommerce-pagination{
    margin: 2.8rem 0 1.4rem;

    ul.page-numbers{
      border: none;
      display: flex;
      flex-wrap: wrap;
      margin: 0;
      padding: 0;
      list-style: none;
      text-align: center;
      justify-content: center;

      li{
        border-right: none;
        border-left: none;

        & + li{
          margin-left: 1em;
        }

        .page-numbers{
          display: inline-block;
          width: 3rem;
          height: 3rem;
          line-height: 3rem;
          padding: 0;
          border-radius: 3px;

          &:hover{
            background: none;
          }

          &.prev,
          &.next{
            border: 1px solid;
            border-radius: 100rem;
          }
        }
      }
    }
  }

  .woocommerce-loop-before{
    display: flex;
    align-items: flex-end;
    width: 100%;
    margin-bottom: 2rem;
    font-size: .85rem;
    flex-direction: row-reverse;
    flex-wrap: wrap;

    p,
    form{
      margin-bottom: 0;
      opacity: 0.8;
    }
    .woocommerce-result-count{
      flex-basis: 50%;
      flex-grow: 1;
      opacity: 0.5;
      padding: 0;
      text-align: right;
    }
    .orderby{
      border-right: none;
      border-left: none;
      border-top: none;
      padding-left: 2px;
    }
  }

  ul.products{
    margin: 0 -0.5rem !important;
    display: flex;
    flex-wrap: wrap;
    list-style: none;
    padding: 0;

    @include media-breakpoint-up(md) {
      &.columns-2 > .product {
        flex-basis: 50%;
      }
      &.columns-3 > .product {
        flex-basis: 33.33%;
      }
      &.columns-4 > .product {
        flex-basis: 25%;
      }
      &.columns-5 > .product {
        flex-basis: 20%;
      }
      &.columns-6 > .product {
        flex-basis: 16.66%;
      }
    }

    li.product{
      margin-bottom: 4rem !important;
      padding: 0 .5rem !important;
      flex-basis: 50%;
      position: relative;

      @include media-breakpoint-up(md) {
        flex-basis: 25%;
      }

      a,
      a:hover{
        text-decoration: none;
      }
      h2.woocommerce-loop-product__title.woocommerce-loop-product__title{
        font-size: 140%;
        letter-spacing: 0px;
        padding: .25rem 0;
        margin-bottom: 0;
      }

      .price{
        font-size: 100% !important;
        display: block;
        transition: all 120ms ease;
      }

      .wp-post-image{
        margin-bottom: 1rem;
        transition: all 120ms ease;
      }

      &:hover{
        .add_to_cart_button.button{
          transform: translateY(0);
          opacity: 1;
        }
        .price{
          opacity: 0;
          transform: translateY(-100%);
          z-index: -1;
        }
        .wp-post-image{
        }
      }

      .added_to_cart{
        display: block;
        font-size: .8rem;
        opacity: 0.6;
        position: absolute;
        top: 100%;
        margin-top: .5rem;
        width: 100%;
        left: 0;
      }
    }
  }
  div.product .woocommerce-tabs ul.tabs li::after,
  div.product .woocommerce-tabs ul.tabs li::before{
    display: none !important;
  }
  span.onsale{
    font-size: 12px;
    display: inline-block;
    line-height: 1.6rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    padding: .35rem 1rem;
    position: absolute;
    right: .5rem;
  }
  .single_add_to_cart_button.button{
    font-size: 12px;
    letter-spacing: 1px;
    padding-left: 2rem;
    padding-right: 2rem;
    line-height: 1.8;
  }
  .add_to_cart_button.button{
    font-size: .75rem;
    padding: 0.2rem 0;
    letter-spacing: 1px;
    transition: all 120ms ease;
    opacity: 0;
    position: relative;
    display: block;
    margin-top: -1.5rem;
    transform: translateY(100%);
  }

  .woocommerce-loop-product__link{
    display: block;
  }


  &.single-product{
    div.product[id]{
      display: block;
      width: 100%;

      .woocommerce-product-gallery__image + .woocommerce-product-gallery__image{
        margin-top: 2rem;
      }

      .woocommerce-product-gallery{
        float: left;
      }
      .gallery-summary{
        overflow: hidden;
      }

      .summary{

      }

      .product_title{
        margin-bottom: .5rem;
      }

      .price{
        font-size: 200%;
      }
      .quantity{
        float: left;
        width: 5rem;
        margin-right: 1rem;
      }

      .product_meta{
        font-size: 11px;
        margin-top: 2rem;
        padding-top: 1rem;
        opacity: 0.6;
        font-weight: normal;
        position: relative;
        letter-spacing: 0;
        margin-bottom: 2rem;

        &::before{
          content: '';
          position: absolute;
          top: 0;
          width: 4rem;
          border-top: 1px solid;
          opacity: 0.2;
        }

        span{
          display: block;
        }
      }

      @include media-breakpoint-up(md) {
        .woocommerce-product-gallery{
          width: 50%;
          margin-right: 10%;
        }
        .summary{
          width: 40%;
          float: right;
        }
      }
    }
  }

  .woocommerce-product-details__short-description{
    @extend .lead;
  }
  .tinv-wishlist.tinvwl-after-add-to-cart .tinvwl_add_to_wishlist_button{
    margin-top: 2rem;
  }

  .woocommerce-Tabs-panel{
    > h2:first-child{
      display: none;
    }
  }

  section.related.products{
    margin-top: 4rem;
  }

  .woocommerce-tabs{
    padding-top: 4rem;
    clear: both;

    @include media-breakpoint-up(md) {
      max-width: 50%;
    }
    ul.tabs{
      display: flex;
      list-style: none;
      margin: 0;
      padding: 0;
      flex-wrap: wrap;
      margin-bottom: 2rem;

      li{
        margin-right: 2rem;

        a,
        a:hover{
          color: inherit;
          text-decoration: none;
        }

        &:not(.active){
          a:hover{
            text-decoration: underline;
          }
        }
      }
    }
  }

}


/*.woocommerce-products-header{
  flex-basis: 100%;
  text-align: center;
  margin-bottom: 2rem;
  position: relative;
  padding: 1rem;

  &::before{
    content: '';
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: -1;
    opacity: 0.05;
    background-color: currentColor;
  }
}*/


.woocommerce{
  .stars{
    > span{
      display: flex;
      flex-wrap: nowrap;

      a{
        position: relative;
        font-size: 0;

        &::before{
          font-family: 'themify';
          font-size: 1.2rem;
        }

        & + a{
          margin-left: .75rem;
          padding-left: .75rem;

          &::after{
            content: '';
            display: block;
            position: absolute;
            left: 0;
            top: 0;
            bottom: 0;
            border-left: 2px solid;
            opacity: 0.1;
          }
        }
      }
      .star-1::before{
        content: '\e60a';
      }
      .star-2::before{
        content: '\e60a \e60a';
      }
      .star-3::before{
        content: '\e60a \e60a \e60a';
      }
      .star-4::before{
        content: '\e60a \e60a \e60a \e60a';
      }
      .star-5::before{
        content: '\e60a \e60a \e60a \e60a \e60a';
      }
    }
  }
  .comment-form-rating{
    @include media-breakpoint-up(lg) {
      display: flex;
      widht: 100%;
      justify-content: space-between;
      align-items: center;

      label{
        margin-bottom: 0;
      }

      .stars{
        align-self: flex-end;
        margin-bottom: 0;
      }
    }
  }
}
.comment-form-comment{
  margin-top: 1rem;
}
#review_form{
  .comment-reply-title{
    font-size: 140%;
    margin-bottom: 1rem;
    display: block;
    text-transform: capitalize;
  }
}
#reviews{
  .commentlist{
    list-style: none;
    padding: 0;
    margin: 0;

    .comment-text .star-rating{
      text-transform: uppercase;
      letter-spacing: 2px;
    }

    .comment{
      & + .comment{
        margin-top: 3rem;
      }
    }

    .comment_container{
      padding-left: 5rem;
      position: relative;

      .avatar{
        position: absolute;
        left: 0;
        top: 0;
        width: 100%;
        max-width: 4rem;
        height: auto;
        border-radius: 1000px;
      }
      .meta{
        margin-bottom: 1rem;
        padding-bottom: 1rem;
        position: relative;

        &::before{
          position: absolute;
          content: '';
          top: 100%;
          left: 0;
          right: 0;
          border-top: 1px solid;
          opacity: 0.1;
        }
      }
    }
  }
}

#ship-to-different-address{
  font-size: inherit;
  font-weight: 500;

  label{
    display: block;
  }
  input{
    margin-right: .25rem;
    transform: translateY(-2px);
  }
}

.woocommerce{
  .col2-set{
    display: grid;
    width: 100%;

    @include media-breakpoint-up(md){
      grid-template-columns: 1fr 1fr;
      grid-column-gap: 10%;
    }
  }
}
.woocommerce-form-login,
.woocommerce-form-register{

  label{
    display: block;
  }

  .woocommerce-form-login__rememberme{
    width: 100%;
    display: block;
  }
}
.password-input{
  display: block;
  width: 100%;
}