@use "../abstracts/index" as *;

.product-item {
  .img-style {
    border-radius: 24px;
    overflow: hidden;
    margin-bottom: 17px;
    position: relative;
    @include transition3();
    border: 4px solid transparent;
    width: 100%;

    img {
      object-fit: cover;
    }
  }
  .on-sale-wrap {
    position: absolute;
    display: flex;
    top: 5px;
    right: 5px;
    left: 5px;
    z-index: 5;
    .on-sale-item {
      height: 28px;
      @include flex(center, center);
      background-color: #ef2a10;
      padding: 0 14px;
      border-radius: 8px;
      color: var(--White);
      font-weight: 500;
      font-size: 14;
      line-height: 24;
    }
  }
  .content {
    display: flex;
    justify-content: space-between;
    gap: 12px;
  }
  .info {
    max-width: 296px;
    flex: 1;
  }
  .product-name {
    a {
      display: inline;
      @include transition3();
      background-image: -webkit-gradient(
        linear,
        left top,
        left bottom,
        from(currentColor),
        color-stop(98%, currentColor)
      );
      background-image: linear-gradient(
        to bottom,
        currentColor 0%,
        currentColor 98%
      );
      background-size: 0 1px;
      background-repeat: no-repeat;
      background-position: left 100%;
    }
  }
  // .price {
  //     color: var(--White);
  // }
  .new-price {
    color: #ef2a10;
  }
  .old-price {
    color: var(--mono-gray2);
    text-decoration: line-through;
  }
  .add-cart {
    margin-top: 7px;
    width: 46px;
    height: 46px;
    border: 1.11px solid #bbbbbb;
    border-radius: 999px;
    @include flex(center, center);
    font-size: 18px;
    color: var(--Black);
    @include transition3();
    &:hover {
      background-color: var(--Primary);
      border-color: var(--Primary);
      color: var(--White);
    }
  }
  &:hover {
    .img-style {
      border-color: var(--primary);
    }
    .product-name {
      a {
        background-size: 100% 1px;
      }
    }
  }
  &.style-list {
    display: flex;
    align-items: center;
    gap: 24px;
    .img-style {
      width: 48%;
      margin-bottom: 0;
    }
    .content {
      flex-direction: column;
      width: 100%;
    }
    .info {
      max-width: unset;
    }
    .box-icon {
      position: relative;
      .tooltip {
        top: -100%;
        margin-top: 5px;
        margin-right: 0;
        transform: translateY(8px);
        right: unset;
        &::before {
          top: 85%;
          left: 50%;
          transform: translateX(-50%) rotate(45deg);
          right: unset;
        }
      }
      &:hover {
        .tooltip {
          transform: none;
        }
      }
    }
    .add-cart {
      max-width: 272px;
      height: 32px;
      width: 100%;
    }
  }
  &.style-cart {
    display: flex;
    align-items: center;
    gap: 12px;
    .img-style {
      max-width: 263px;
    }
    .content {
      max-width: 299px;
      width: 100%;
      .info {
        max-width: unset;
      }
    }
  }
  .box-icon {
    cursor: pointer;
    width: 32px;
    height: 32px;
    min-width: 32px;
    border-radius: 3px;
    background-color: var(--White);
    color: var(--Mono-dark-9);
    position: relative;
    z-index: 6;
    border-radius: 50%;
    @include flex(center, center);
    @include transition3();
    border: 1px solid var(--Mono-gray-2);
    .icon {
      font-size: 20px;
    }
    svg {
      width: 18px;
      path {
        @include transition4;
      }
    }
    &.active,
    &:hover {
      background-color: var(--Primary) !important;
      color: var(--White) !important;
    }
    &:hover {
      .tooltip {
        opacity: 1;
        visibility: visible;
        transform: translateX(-8px);
        transition-delay: 0.1s;
      }
      svg {
        path {
          stroke: var(--White);
        }
      }
    }
  }
  .tooltip {
    z-index: 202;
    opacity: 0;
    visibility: hidden;
    display: none;
    position: absolute;
    right: 100%;
    border-radius: 4px;
    white-space: nowrap;
    background-color: var(--Primary);
    color: var(--White);
    font-weight: 400;
    font-size: 12px;
    line-height: 12px;
    padding: 6px 8px 8px;
    max-width: 250px;
    width: max-content;
    transition: opacity 0.3s ease, visibility 0.3s ease,
      transform 0.3s cubic-bezier(0.71, 1.7, 0.77, 1.24),
      -webkit-transform 0.3s cubic-bezier(0.71, 1.7, 0.77, 1.24);
    &::before {
      content: "";
      top: 50%;
      left: unset;
      transform: translateY(-50%) rotate(45deg);
      right: -4px;
      position: absolute;
      background: var(--Primary);
      width: 8px;
      height: 8px;
      z-index: 100;
    }
  }
  .list-product-btn {
    width: 100%;
    display: flex;
    gap: 10px;
  }
}

.range-price {
  .box-price-product {
    display: flex;
    justify-content: space-between;
    max-width: 326px;
  }
  .box-price-item {
    height: 44px;
    width: 113px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    color: var(--Mono-gray-8);
    &.min {
      border: 1px solid #8c8c8c;
      background-color: var(--White);
    }
    &.max {
      background-color: var(--White);
    }
  }
  .btn-go {
    background-color: var(--Primary);
    border-radius: 12px;
    color: var(--White);
    padding: 0 17px;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 44px;
    @include transition3();
    &:hover {
      background-color: var(--Mono-dark-9);
    }
  }
}

.thumbs-slider {
  gap: 24px;
}

.tf-product-media-thumbs {
  .swiper-slide {
    height: max-content;
    width: auto;
    border-radius: 4px;
    overflow: hidden;
    .item {
      position: relative;
      cursor: pointer;
      img {
        border-radius: 16px;
      }
      &::after {
        position: absolute;
        inset: 0;
        content: "";
        border-radius: inherit;
        border-radius: 16px;
        border: 1px solid transparent;
        @include transition3();
      }
    }
    &.swiper-slide-thumb-active {
      .item {
        &::after {
          border-color: var(--Primary);
        }
      }
    }
  }
}
.tf-product-media-main {
  border-radius: 12px;
  overflow: hidden;
  .pagination-wrap {
    position: absolute;
    justify-content: space-between;
    left: 0;
    right: 0;
    max-width: 100%;
    top: 50%;
    transform: translateY(-50%);
    z-index: 99;
    padding: 0 33px;
    i {
      color: var(--black);
      font-size: 26px;
    }
  }
  .item {
    border-radius: 16px;
    overflow: hidden;
    width: 100%;
    img {
      height: 100%;
      width: 100%;
      object-fit: cover;
    }
  }
}
.tf-product-info-wrap {
  .list {
    display: grid;
    gap: 12px;
    li {
      position: relative;
      display: flex;
      gap: 10px;
      align-items: center;
      padding-left: 10px;
      &::before {
        position: relative;
        content: "";
        width: 6px;
        height: 6px;
        border-radius: 999px;
        background-color: var(--Color-dark);
        flex-shrink: 0;
        @include transition3();
      }
      &:hover,
      &.active {
        &::before {
          background-color: var(--Primary);
        }
        a {
          color: var(--Primary);
        }
      }
    }
  }
}
.tf-product-wrap-btn {
  max-width: 392px;
}

.tf-product-info-price {
  display: flex;
  align-items: center;
  gap: 17px;
  .price-on-sale {
    color: #ef2a10;
  }
  .compare-at-price {
    text-decoration: line-through;
  }
}
.variant-picker-item {
  .variant-picker-values {
    display: flex;
    gap: 10px 20px;
    align-items: center;
    flex-wrap: wrap;
    &.gap12 {
      gap: 12px;
    }
    &.type-click {
      input {
        &:checked + label {
          border: 1px solid var(--Onsurface);
          padding: 3px;
        }
        &:checked + label.style-text-1 {
          background-color: var(--Onsurface);
          border: 1px solid var(--Onsurface);
          span {
            color: var(--White);
          }
        }
      }
    }
    input {
      position: absolute !important;
      overflow: hidden;
      width: 1px;
      height: 1px;
      margin: -1px;
      padding: 0;
      border: 0;
      clip: rect(0 0 0 0);
      word-wrap: normal !important;
      &:checked + label.style-text {
        background-color: var(--primary);
        border: 1px solid var(--primary);
        span {
          color: var(--White);
        }
      }
    }
    label {
      position: relative;
      width: 40px;
      height: 40px;
      display: flex;
      align-items: center;
      justify-content: center;
      text-align: center;
      padding: 0px;
      border: 1px solid transparent;
      background-color: var(--White);
      border-radius: 999px;
      cursor: pointer;
      font-weight: 400;
      line-height: 22.4px;
      @include transition3;
      padding: 4px;
      .btn-checkbox {
        width: 100%;
        height: 100%;
        display: block;
        border-radius: 50%;
        border: 1px solid transparent;
        @include transition3;
      }
    }
    .color-btn {
      &.line {
        border-color: var(--line);
      }
      &.active {
        padding: 4px;
        color: var(--White);
        border-color: var(--Primary);
        // .btn-checkbox {
        //     border-color: var(--White);
        // }
      }
    }
  }
}
.tf-product-info-rate {
  display: flex;
  gap: 32px;
  align-items: center;
  .ratings {
    position: relative;
    &::after {
      content: "";
      position: absolute;
      height: 100%;
      width: 1px;
      background-color: #5f697c;
      right: -16px;
    }
    i {
      font-size: 18px;
      color: #f4752d;
    }
  }
}
.tf-product-info-by-btn {
  gap: 12px;
  .box-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    flex-shrink: 0;
    border-radius: 50%;
    border: 1px solid var(--mono-gray7);
    font-size: 14px;
    color: var(--White);
    &:hover,
    &.active {
      background-color: var(--primary);
      border-color: var(--primary);
    }
  }
}
.tf-product-info-quantity {
  gap: 23px;
}

.wg-quantity {
  width: 117px;
  height: 48px;
  display: flex;
  justify-content: space-between;
  border: 1px solid #bbc1ce;
  border-radius: 999px;
  overflow: hidden;
  input {
    width: 60px;
    height: 44px;
    padding: 0;
    background-color: transparent;
    border: 0;
    text-align: center;
    font-size: 16px;
    line-height: 24px;
    color: var(--Primary);
    pointer-events: none;
  }
  .btn-quantity {
    width: 44px;
    height: 42px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;

    cursor: pointer;
    @include transition3;
    &:hover {
      color: var(--Primary);
    }
  }
  &.style-1 {
    width: 140px;
    .btn-quantity {
      height: 44px;
      font-size: 30px;
    }
    input {
      pointer-events: none;
      width: 50px;
    }
  }
}

.sildebar-fiiler {
  transition: transform 0.5s cubic-bezier(0.645, 0.045, 0.355, 1);
  .point::before {
    background-color: var(--primary);
  }
  .filter,
  .categories,
  .wrap-range {
    border-radius: 24px;
    background-color: #e2ecf9;
  }
  .wrap-range {
    padding: 31px 40px 45px;
  }
  .categories {
    padding: 35px 42px 33px;
    margin-bottom: 39px;
    .list {
      li {
        position: relative;
        display: flex;
        gap: 10px;
        align-items: center;
        padding-left: 10px;
        &::before {
          position: relative;
          content: "";
          width: 6px;
          height: 6px;
          border-radius: 999px;
          background-color: var(--Color-dark);
          flex-shrink: 0;
          @include transition3();
        }
        &:hover,
        &.active {
          &::before {
            background-color: var(--Primary);
          }
          a {
            color: var(--Primary);
          }
        }
      }
    }
  }
  .wrap-categories {
    display: grid;
    gap: 17px;
  }

  .filter {
    padding: 32px 40px 33px;
  }
  form.style-line-bot {
    fieldset input {
      padding: 6px 40px 12px 0px;
      font-size: 18px;
      font-weight: 400;
      &::placeholder {
        font-size: 18px;
        font-weight: 400;
      }
    }
    button svg path {
      stroke: var(--mono-gray2);
    }
  }
  &.show {
    transform: none;
  }
}

.wrap-shop {
  .top {
    display: flex;
    align-items: center;
    gap: 12px;
    .wrap-sort {
      flex: 54%;
    }
    .wrap {
      flex: 25%;
    }
    .wrap-layout {
      flex: 10%;
      .nav-tab-filter {
        justify-content: flex-end;
      }
    }
    .result-count {
      flex: 20%;
    }
  }
  .nav-tab-filter {
    display: flex;
    gap: 14px;
    .nav-link-item {
      padding: 13px;
      border-radius: 999px;
      background-color: var(--Mono-dark-9);
      svg {
        path,
        circle,
        rect {
          stroke: white;
        }
      }
      &.active {
        background-color: var(--Primary);
        svg {
          path,
          circle,
          rect {
            stroke: white;
          }
        }
      }
    }
  }
}

.filterShop {
  position: fixed;
  top: 50%;
  left: 0;
  display: flex;
  justify-content: center;
  width: 50px;
  aspect-ratio: 1;
  border-radius: 0 12px 12px 0;
  background-color: rgba(255, 255, 255, 0.2);
  backdrop-filter: blur(100px);
  font-size: 18px;
  box-shadow: 0 0 3px #0c5af5;
  color: var(--Black);
  cursor: pointer;
  z-index: 3;
  display: none;
  align-items: center;
  justify-content: center;
  z-index: 9999;
}

.cart-product {
  .left {
    padding: 24px 15px;
    border: 1px solid var(--Primary);
    border-radius: 24px;
  }
}

.tf-cart-item_product {
  display: flex;
  justify-content: space-between;
  padding: 40px 0;
  &:not(:last-child) {
    border-bottom: 1px solid var(--Mono-gray-2);
  }

  .product-item {
    width: 100%;
  }
  .remove-cart {
    font-size: 24px;
    @include transition3();
    cursor: pointer;
    &:hover {
      color: var(--Primary);
    }
  }
  .tf-check {
    background-color: var(--Mono-gray-3) !important;
    &:checked {
      background-color: var(--Primary) !important;
    }
  }
}

.cart-totals {
  border-radius: 24px;
  border: 1px solid var(--Primary);
  padding: 27px 40px 40px;
  .title {
    margin-bottom: 21px;
  }
  .info {
    margin-bottom: 20px;
    justify-content: space-between;
    .price {
      color: var(--Error);
    }
  }
  .nice-select {
    padding: 18px 0 30px;
  }
  .sub-total {
    padding: 26px 0 22px;
    border-bottom: 1px solid var(--Mono-gray-2);
    border-top: 1px solid var(--Mono-gray-2);
    margin-bottom: 53px;
  }
  .total {
    padding: 32px 0;
    margin-bottom: 12px;
  }
  &.v2 {
    padding: 27px 38px 25px;
    .nice-select {
      padding: 33px 0 29px;
    }
    .total {
      padding: 22px 0;
    }
    .info {
      margin-bottom: 0;
      justify-content: space-between;
      padding: 10px 0 5px;
      border-bottom: 1px;
      border-bottom: 1px solid var(--Mono-gray-2);

      .price {
        color: var(--Mono-gray-6);
      }
    }
    .sub-total {
      margin-bottom: 0;
    }
  }
}

.bg-color-blue-sapphire {
  background: #234674;
}
.bg-color-seafoam-green {
  background: #75d1af;
}
.bg-color-dusty-rose {
  background: #c6637d;
}
.bg-color-light-gray {
  background: #cccdcf;
}
