@import "./components/overrides";
@import "./components/tooltip";
@import "./components/star";
@import "./components/modal";
@import "./components/elementor";
@import "./components/edd-single-page-support";
//Common Css
*,
*::before,
*::after {
  box-sizing: border-box;
}

.ultimate-store-kit * {
  ins {
    background: transparent;
  }
}

//Inline font feature fixing
[class*=" elementor-widget-usk-"] {
  svg.e-font-icon-svg {
    height: 1em;
    width: 1em;
  }

  .usk-icon-compare {
    font-weight: bold;
  }
}

// Call for price css
[class*=" elementor-widget-usk-"] {
  .elementor-button-content-wrapper {
    align-items: center;
  }
}

//swiper match height css
.usk-item-match-height--yes {
  .swiper-carousel {
    .swiper-slide {
      height: initial;
    }
  }
}

/*-------------------------------------
   usk grid Widget header scss
   --------------------------------------*/

.usk-css-grid {
  .usk-grid-header {
    display: flex;
    justify-content: space-between;
    margin-bottom: 30px;
  }

  .woocommerce-result-count {
    display: flex;
    align-items: center;
    color: #8d99ae;
    font-size: 16px;
    margin: 0;
    text-transform: capitalize;
  }

  // Filter Tabs CSS
  .usk-grid-header-tabs {
    display: flex;
    align-items: center;
    justify-content: center;
    list-style: none;
    margin: 0;
    padding: 0;
  }

  .usk-grid-tabs-list {
    &.usk-tabs-active {
      a {
        color: #e6edef;
        background: #2b2d42;
      }
    }

    a {
      padding: 4px 9px;
      color: #8d99ae;
      border: var(--usk-filter-border-width, 1px) solid #cad7ef;
      border-right: 0;
      transition: all 0.3s ease;
      font-size: 14px;
      display: inline-block;

      span {
        width: auto;
      }

      &:hover {
        color: #e6edef;
        background: #2b2d42;
      }
    }

    &:nth-last-child(1) {
      a {
        border-right: var(--usk-filter-border-width, 1px) solid #cad7ef;
      }
    }
  }
}
@media screen and (min-width: 768px) {
  .usk-css-grid {
    .usk-grid {
      &.usk-grid-3 {
        grid-template-columns: repeat(2, 1fr);
      }
      &.usk-grid-1.usk-list-layout {
        grid-template-columns: repeat(1, 1fr) !important;
      }
    }
  }
}

@media screen and (min-width: 1024px) {
  .usk-css-grid {
    .usk-grid {
      &.usk-list-2 {
        grid-template-columns: repeat(2, 1fr) !important;
      }

      &.usk-grid-1 {
        grid-template-columns: repeat(1, 1fr) !important;
      }


      &.usk-grid-2 {
        grid-template-columns: repeat(2, 1fr) !important;
      }

      &.usk-grid-3 {
        grid-template-columns: repeat(3, 1fr) !important;
      }

      &.usk-grid-4 {
        grid-template-columns: repeat(4, 1fr) !important;
      }

      &.usk-grid-5 {
        grid-template-columns: repeat(5, 1fr) !important;
      }

      &.usk-grid-6 {
        grid-template-columns: repeat(6, 1fr) !important;
      }
    }
  }
}
// Common CSS for Florence Grid & Glossy Grid
.tippy-box[data-theme^="bdt-tippy-image-hotspot-"],
[class*=" elementor-widget-usk-"] {
  .usk-badge-label-content {
    gap: clamp(5px, 1vw, 10px);

    > div {
      display: inline-flex;

      .usk-badge {
        text-decoration: none;
        padding: clamp(3px, 1vw, 4px) clamp(5px, 1vw, 8px);
        font-size: clamp(10px, 1vw, 12px);
        text-transform: capitalize;
      }
    }
  }

  .usk-sale-badge {
    .usk-badge {
      background: #2b2d42;
      color: #fff;
    }
  }

  .usk-percantage-badge {
    .usk-badge {
      background: #9fa8bc;
      color: #fff;
    }
  }

  .usk-stock-status-badge {
    .usk-badge {
      background: #ef233c;
      color: #fff;
    }
  }

  .usk-trending-badge {
    .usk-badge {
      background: #ff006e;
      color: #fff;
    }
  }

  .usk-new-badge {
    .usk-badge {
      background: #d90429;
      color: #fff;
    }
  }
}

// CLS issue fix & Common CSS
.usk-brand-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
}

.usk-sub-category,
.usk-product-reviews-grid {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
}

.usk-css-grid {
  .usk-grid {
    display: grid;
  }

  .usk-grid-layout {
    grid-template-columns: repeat(1, 1fr);
  }

  .usk-list-layout {
    grid-template-columns: repeat(1, 1fr);
  }
}

.tippy-box[data-theme^="bdt-tippy-image-hotspot-"],
.usk-grid-carousel {
  .usk-item {
    position: relative;

    &:hover {
      .usk-image {
        .image-default {
          opacity: 0;
          transform: scale(0.8);
        }

        .image-hover {
          opacity: 1;
          transform: scale(1);
        }
      }

      .usk-shoping a {
        opacity: 1;
      }
    }
  }

  .usk-item-box {
    position: relative;
    display: flex;
    flex-direction: column;
    height: 100%;
  }

  .usk-image {
    position: relative;
    overflow: hidden;
    background: #fff;
    transition: all 0.3s ease;
    // height: 100%;

    .img {
      width: 100%;
      height: auto;
      //   object-fit: cover;
      overflow: hidden;
      vertical-align: middle;
    }

    .image-default {
      opacity: 1;
      //   transform: scale(1.1);
      transition:
        transform 0.5s cubic-bezier(0, 0, 0.44, 1.18),
        opacity 0.5s;
    }
  }

  .image-hover {
    position: absolute;
    opacity: 0;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    transition: all 0.5s ease;
    transition:
      transform 0.5s cubic-bezier(0, 0, 0.44, 1.18),
      opacity 0.5s;
    transform: scale(0.9);
  }

  .usk-shoping {
    position: absolute;

    a {
      display: flex;
      align-items: center;
      justify-content: center;
      text-decoration: none;
      margin-bottom: 5px;
      box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.1);
      padding: clamp(10px, 1vw, 12px);
      // transition: all 0.3s ease;
      color: #000;
      background: #fff;
      opacity: 0;
      line-height: 1;
      font-size: clamp(12px, 1vw, 14px);

      &:hover {
        background: #2b2d42;
        color: #fff;
      }

      &:nth-last-child(1) {
        margin-bottom: 0;
      }
    }
  }

  .usk-shoping-icon-wishlist {
    transition: all 0.3s ease;

    &.usk-active {
      background-color: #d90429;
      color: #fff;
    }
  }

  .usk-compare {
    transition: all 0.4s ease;

    &.usk-active {
      background-color: #d90429;
      color: #fff;
    }
  }

  .usk-shoping-icon-quickview {
    transition: all 0.5s ease;
  }

  .usk-cart {
    transition: all 0.6s ease;

    &.added {
      display: none;

      i {
        &::before {
          display: none;
        }

        // &::after {
        //     content: "\2713";
        //     font-size: 16px;
        // }
      }
    }

    &.loading {
      .icon {
        &::before {
          display: none;
        }

        &::after {
          content: "";
          width: 16px;
          height: 16px;
          border: 2px dotted #fff;
          border-radius: 50%;
          display: inline-block;
          animation: rotation 2s linear infinite;
        }
      }
    }
  }

  .usk-shoping .added_to_cart {
    transition: all 0.6s ease;
    -webkit-text-indent: -999999px;
    text-indent: -999999px;
    margin-bottom: 0;

    &::before {
      content: "\2713";
      text-indent: 0px;
      height: 1em;
      width: 1em;
      font-family: "ultimate-store-kit" !important;
      font-style: normal;
      font-weight: normal;
      font-variant: normal;
      text-transform: none;
      line-height: 1;
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
      display: flex;
      justify-content: center;
      align-items: center;
    }
  }

  .usk-badge-label-wrapper {
    position: absolute;
    margin: clamp(10px, 1vw, 25px);
  }

  .usk-content {
    padding: clamp(15px, 1vw, 30px);
  }

  .usk-content-inner {
    // width: 100%;
    position: relative;
  }

  .usk-category {
    margin-bottom: clamp(12px, 1vw, 15px);
    display: inline-flex;
    flex-wrap: wrap;
    gap: 8px;

    a {
      font-size: clamp(10px, 1vw, 12px);
      color: #858890;
      text-transform: uppercase;
      font-weight: 500;
      display: inline-block;
      transition: all 0.3s ease;
      line-height: 1;

      &:hover {
        color: #2b2d42;
      }
    }
  }

  .usk-title {
    font-size: 20px;
    margin-bottom: 10px;
    display: block;
    color: #2b2d42;
    transition: all 0.3s ease;

    .title {
      text-transform: capitalize;
      font-weight: 700;
      font-size: clamp(16px, 1vw, 18px);
      margin: 0;
      color: inherit;
    }
  }

  .usk-price {
    font-size: clamp(12px, 1vw, 14px);
    font-weight: 700;
    color: #858890;
    margin-bottom: 10px;

    del {
      font-weight: 500;
    }

    ins {
      text-decoration: none;
      padding-left: 7px;
    }
  }

  .usk-item .usk-rating {
    margin-bottom: 0px;

    .woocommerce-product-rating {
      display: flex;
      align-items: center;
      padding: 0;
    }

    .star-rating {
      font-size: clamp(12px, 1vw, 14px);
      margin: 0;
    }
  }

  .usk-grid-layout {
    .usk-item-box {
      overflow: hidden;
    }

    .usk-desc {
      display: none;
    }
  }

  .usk-list-layout {
    .usk-item-box {
      display: flex;
      align-items: center;
      //   height: 100%;
      flex-direction: row;
    }

    .usk-image {
      width: 400px;
      height: 100%;
      .img {
        width: 100%;
        height: 100%;
        overflow: hidden;
      }
    }

    .usk-content {
      width: 100%;
      //   height: 100%;
    }

    .usk-desc {
      font-size: 14px;
      line-height: 1.6;
      color: #6f6f6f;
      display: none;
      padding-bottom: 15px;
    }
  }
}

@keyframes rotation {
  0% {
    transform: rotate(0deg);
  }

  100% {
    transform: rotate(360deg);
  }
}

@media (min-width: 768px) {
  .usk-grid-carousel {
    .usk-list-layout {
      .usk-desc {
        display: inherit;
      }
    }
  }

  .usk-sub-category,
  .usk-product-reviews-grid,
  .usk-css-grid .usk-grid-layout {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (min-width: 1024px) {
  .usk-css-grid {
    .usk-grid-layout {
      grid-template-columns: repeat(3, 1fr);
    }

    .usk-list-layout {
      grid-template-columns: repeat(2, 1fr);
    }
  }

  .usk-sub-category,
  .usk-product-reviews-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

// Swiper CLS issue fix
[class*=" elementor-widget-usk-"] {
  .swiper:not(.swiper-initialized) {
    opacity: 0;
    visibility: hidden;
  }
}

/*------------------------------------------
    Ultimate Store Kit Pagination Style
  -------------------------------------------*/
[class*=" elementor-widget-usk-"] {
  .usk-pagination {
    display: flex;
    flex-direction: row;
    list-style: none;
    margin: 30px 0;
    font-weight: 500;
    padding: 0;
    gap: 10px;

    li {
      a {
        color: #2b2d42;
        font-size: 12px;
        margin: 0;
        transition: all 0.3s ease;
        border: 1px solid #2b2d42;
        padding: 4px 10px;
        border-radius: 2px;

        &:hover {
          background: #2b2d42;
          color: #edf2f4;
        }
      }

      &:nth-child(1) {
        a {
          margin-left: 0;
        }
      }
    }

    .usk-active {
      a {
        background: #2b2d42;
        color: #edf2f4;
      }
    }
  }

  .usk-item .usk-shoping a .icon {
    width: 1em;
    height: 1em;
  }

  .swiper-slide {
    border-style: solid;
    border-width: 0;
    overflow: hidden;
  }
}

/*------------------------------------------
   usk Shiny Widget rating position scss
   -------------------------------------------*/

//Swiper css
.ultimate-store-kit {
  .swiper-coverflow {
    padding-top: 15px;

    .swiper-slide {
      transition-property: transform, border, background;
    }
  }

  .swiper-horizontal > .swiper-pagination-progress {
    top: auto;
    bottom: 0;
  }

  .swiper-pagination-fraction,
  .swiper-pagination-custom,
  .swiper-horizontal .swiper-pagination-bullets,
  .swiper-horizontal + .swiper-pagination-bullets {
    bottom: -50px;
    width: 100%;

    .swiper-pagination-bullet {
      width: 10px;
      height: 10px;
      margin: 0 5px;
    }
  }

  .usk-navigation-type-arrows-fraction {
    .swiper-pagination {
      position: initial;
    }
  }

  /* Swiper */
  .swiper {
    .elementor-lightbox-content-source {
      display: none;
    }
  }



  .swiper-horizontal + .swiper-pagination-progressbar,
  .swiper-vertical
    + .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite {
    width: 100%;
    height: 4px;
  }

  .swiper-pagination-progressbar {
    background: rgba(0, 0, 0, 0.25);
    position: absolute;
  }

  .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
    background: #007aff;
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    transform: scale(0);
    transform-origin: left top;
  }

  .elementor-pagination-position-inside {
    .swiper-pagination-fraction,
    .swiper-horizontal > .swiper-pagination-bullets {
      bottom: 10px;
    }
  }

  .elementor-pagination-position-outside {
    .swiper {
      padding-bottom: 40px;
    }

    .swiper-pagination-fraction,
    .swiper-horizontal > .swiper-pagination-bullets {
      bottom: 0;
    }
  }
}

/* Button icon align */
.usk-button-icon-align-left {
  float: left;
}

.usk-button-icon-align-right {
  float: right;
}

.usk-flex-align-left {
  order: -1;
}

.usk-flex-align-right {
  order: 99;
}

// Uikit css
[class*="usk-position-top"],
[class*="usk-position-bottom"],
[class*="usk-position-left"],
[class*="usk-position-right"],
[class*="usk-position-center"] {
  position: absolute !important;
  max-width: 100%;
}

.usk-position-top {
  top: 0;
  left: 0;
  right: 0;
}

.usk-position-bottom {
  bottom: 0 !important;
  left: 0;
  right: 0;
  top: auto !important;
}

.usk-position-left {
  top: 0;
  bottom: 0;
  left: 0;
}

.usk-position-right {
  top: 0;
  bottom: 0;
  right: 0;
}

.usk-position-top-left {
  top: 0;
  left: 0;
}

.usk-position-top-right {
  top: 0;
  right: 0;
}

.usk-position-bottom-left {
  bottom: 0;
  left: 0;
}

.usk-position-bottom-right {
  bottom: 0;
  right: 0;
}

.usk-position-center {
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  // width: max-content;
  max-width: 100%;
  box-sizing: border-box;
}

[class*="usk-position-center-left"],
[class*="usk-position-center-right"] {
  top: 50%;
  transform: translateY(-50%);
}

.usk-position-center-left {
  left: 0;
}

.usk-position-center-right {
  right: 0;
}

.usk-position-center-left-out {
  right: 100%;
  width: max-content;
}

.usk-position-center-right-out {
  left: 100%;
  width: max-content;
}

.usk-position-top-center,
.usk-position-bottom-center {
  left: 50%;
  transform: translateX(-50%);
  width: max-content;
  max-width: 100%;
  box-sizing: border-box;
}

.usk-position-top-center {
  top: 0;
}

.usk-position-bottom-center {
  bottom: 0;
}

.usk-position-cover {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}

.usk-position-relative {
  position: relative !important;
}

.usk-position-absolute {
  position: absolute !important;
}

.usk-position-fixed {
  position: fixed !important;
}

.usk-position-z-index {
  z-index: 1;
}

.usk-position-small {
  max-width: calc(100% - (15px * 2));
  margin: 15px;
}

.usk-position-small.usk-position-center {
  transform: translate(-50%, -50%) translate(-15px, -15px);
}

.usk-position-small[class*="usk-position-center-left"],
.usk-position-small[class*="usk-position-center-right"] {
  transform: translateY(-50%) translateY(-15px);
}

.usk-position-small.usk-position-top-center,
.usk-position-small.usk-position-bottom-center {
  transform: translateX(-50%) translateX(-15px);
}

.usk-position-medium {
  max-width: calc(100% - (30px * 2));
  margin: 30px;
}

.usk-position-medium.usk-position-center {
  transform: translate(-50%, -50%) translate(-30px, -30px);
}

.usk-position-medium[class*="usk-position-center-left"],
.usk-position-medium[class*="usk-position-center-right"] {
  transform: translateY(-50%) translateY(-30px);
}

.usk-position-medium.usk-position-top-center,
.usk-position-medium.usk-position-bottom-center {
  transform: translateX(-50%) translateX(-30px);
}

.usk-position-large {
  max-width: calc(100% - (30px * 2));
  margin: 30px;
}

.usk-position-large.usk-position-center {
  transform: translate(-50%, -50%) translate(-30px, -30px);
}

.usk-position-large[class*="usk-position-center-left"],
.usk-position-large[class*="usk-position-center-right"] {
  transform: translateY(-50%) translateY(-30px);
}

.usk-position-large.usk-position-top-center,
.usk-position-large.usk-position-bottom-center {
  transform: translateX(-50%) translateX(-30px);
}

@media (min-width: 1200px) {
  .usk-position-large {
    max-width: calc(100% - (50px * 2));
    margin: 50px;
  }

  .usk-position-large.usk-position-center {
    transform: translate(-50%, -50%) translate(-50px, -50px);
  }

  .usk-position-large[class*="usk-position-center-left"],
  .usk-position-large[class*="usk-position-center-right"] {
    transform: translateY(-50%) translateY(-50px);
  }

  .usk-position-large.usk-position-top-center,
  .usk-position-large.usk-position-bottom-center {
    transform: translateX(-50%) translateX(-50px);
  }
}

.usk-transition-toggle {
  -webkit-tap-highlight-color: transparent;
}

.usk-transition-toggle:focus {
  outline: none;
}

.usk-transition-fade,
[class*="usk-transition-scale"],
[class*="usk-transition-slide"] {
  transition: 0.3s ease-out;
  transition-property: opacity, transform, filter;
  opacity: 0;
}

.usk-transition-toggle:hover .usk-transition-fade,
.usk-transition-toggle:focus .usk-transition-fade,
.usk-transition-active.usk-active .usk-transition-fade {
  opacity: 1;
}

.usk-transition-scale-up {
  transform: scale(1, 1);
}

.usk-transition-scale-down {
  transform: scale(1.1, 1.1);
}

.usk-transition-toggle:hover .usk-transition-scale-up,
.usk-transition-toggle:focus .usk-transition-scale-up,
.usk-transition-active.usk-active .usk-transition-scale-up {
  opacity: 1;
  transform: scale(1.1, 1.1);
}

.usk-transition-toggle:hover .usk-transition-scale-down,
.usk-transition-toggle:focus .usk-transition-scale-down,
.usk-transition-active.usk-active .usk-transition-scale-down {
  opacity: 1;
  transform: scale(1, 1);
}

.usk-transition-slide-top {
  transform: translateY(-100%);
}

.usk-transition-slide-bottom {
  transform: translateY(100%);
}

.usk-transition-slide-left {
  transform: translateX(-100%);
}

.usk-transition-slide-right {
  transform: translateX(100%);
}

.usk-transition-slide-top-small {
  transform: translateY(-10px);
}

.usk-transition-slide-bottom-small {
  transform: translateY(10px);
}

.usk-transition-slide-left-small {
  transform: translateX(-10px);
}

.usk-transition-slide-right-small {
  transform: translateX(10px);
}

.usk-transition-slide-top-medium {
  transform: translateY(-50px);
}

.usk-transition-slide-bottom-medium {
  transform: translateY(50px);
}

.usk-transition-slide-left-medium {
  transform: translateX(-50px);
}

.usk-transition-slide-right-medium {
  transform: translateX(50px);
}

.usk-transition-toggle:hover [class*="usk-transition-slide"],
.usk-transition-toggle:focus [class*="usk-transition-slide"],
.usk-transition-active.usk-active [class*="usk-transition-slide"] {
  opacity: 1;
  transform: translate(0, 0);
}

.usk-transition-opaque {
  opacity: 1;
}

.usk-transition-slow {
  transition-duration: 0.7s;
}

[hidden],
.usk-hidden {
  display: none !important;
}

@media (min-width: 640px) {
  .usk-hidden\@s {
    display: none !important;
  }
}

@media (min-width: 960px) {
  .usk-hidden\@m {
    display: none !important;
  }
}

@media (min-width: 1200px) {
  .usk-hidden\@l {
    display: none !important;
  }
}

@media (min-width: 1600px) {
  .usk-hidden\@xl {
    display: none !important;
  }
}

@media (max-width: 639px) {
  .usk-visible\@s {
    display: none !important;
  }
}

@media (max-width: 959px) {
  .usk-visible\@m {
    display: none !important;
  }
}

@media (max-width: 1199px) {
  .usk-visible\@l {
    display: none !important;
  }
}

@media (max-width: 1599px) {
  .usk-visible\@xl {
    display: none !important;
  }
}

.usk-invisible {
  visibility: hidden !important;
}

.usk-flex {
  display: flex;
}

.usk-flex-inline {
  display: inline-flex;
}

.usk-flex::before,
.usk-flex::after,
.usk-flex-inline::before,
.usk-flex-inline::after {
  display: none;
}

.usk-flex-left {
  justify-content: flex-start;
}

.usk-flex-center {
  justify-content: center;
}

.usk-flex-right {
  justify-content: flex-end;
}

.usk-flex-between {
  justify-content: space-between;
}

.usk-flex-around {
  justify-content: space-around;
}

@media (min-width: 640px) {
  .usk-flex-left\@s {
    justify-content: flex-start;
  }

  .usk-flex-center\@s {
    justify-content: center;
  }

  .usk-flex-right\@s {
    justify-content: flex-end;
  }

  .usk-flex-between\@s {
    justify-content: space-between;
  }

  .usk-flex-around\@s {
    justify-content: space-around;
  }
}

@media (min-width: 960px) {
  .usk-flex-left\@m {
    justify-content: flex-start;
  }

  .usk-flex-center\@m {
    justify-content: center;
  }

  .usk-flex-right\@m {
    justify-content: flex-end;
  }

  .usk-flex-between\@m {
    justify-content: space-between;
  }

  .usk-flex-around\@m {
    justify-content: space-around;
  }
}

@media (min-width: 1200px) {
  .usk-flex-left\@l {
    justify-content: flex-start;
  }

  .usk-flex-center\@l {
    justify-content: center;
  }

  .usk-flex-right\@l {
    justify-content: flex-end;
  }

  .usk-flex-between\@l {
    justify-content: space-between;
  }

  .usk-flex-around\@l {
    justify-content: space-around;
  }
}

@media (min-width: 1600px) {
  .usk-flex-left\@xl {
    justify-content: flex-start;
  }

  .usk-flex-center\@xl {
    justify-content: center;
  }

  .usk-flex-right\@xl {
    justify-content: flex-end;
  }

  .usk-flex-between\@xl {
    justify-content: space-between;
  }

  .usk-flex-around\@xl {
    justify-content: space-around;
  }
}

.usk-flex-stretch {
  align-items: stretch;
}

.usk-flex-top {
  align-items: flex-start;
}

.usk-flex-middle {
  align-items: center;
}

.usk-flex-bottom {
  align-items: flex-end;
}

.usk-flex-row {
  flex-direction: row;
}

.usk-flex-row-reverse {
  flex-direction: row-reverse;
}

.usk-flex-column {
  flex-direction: column;
}

.usk-flex-column-reverse {
  flex-direction: column-reverse;
}

.usk-flex-nowrap {
  flex-wrap: nowrap;
}

.usk-flex-wrap {
  flex-wrap: wrap;
}

.usk-flex-wrap-reverse {
  flex-wrap: wrap-reverse;
}

.usk-flex-wrap-stretch {
  align-content: stretch;
}

.usk-flex-wrap-top {
  align-content: flex-start;
}

.usk-flex-wrap-middle {
  align-content: center;
}

.usk-flex-wrap-bottom {
  align-content: flex-end;
}

.usk-flex-wrap-between {
  align-content: space-between;
}

.usk-flex-wrap-around {
  align-content: space-around;
}

.usk-flex-first {
  order: -1;
}

.usk-flex-last {
  order: 99;
}

@media (min-width: 768px) {
  .usk-flex-first\@s {
    order: -1;
  }

  .usk-flex-last\@s {
    order: 99;
  }

  .usk-flex-row\@s {
    flex-direction: row;
  }

  .usk-flex-column\@s {
    flex-direction: column;
  }
}

@media (min-width: 1024px) {
  .usk-flex-first\@m {
    order: -1;
  }

  .usk-flex-last\@m {
    order: 99;
  }
}

@media (min-width: 1200px) {
  .usk-flex-first\@l {
    order: -1;
  }

  .usk-flex-last\@l {
    order: 99;
  }
}

@media (min-width: 1600px) {
  .usk-flex-first\@xl {
    order: -1;
  }

  .usk-flex-last\@xl {
    order: 99;
  }
}

.usk-flex-none {
  flex: none;
}

.usk-flex-auto {
  flex: auto;
}

.usk-flex-1 {
  flex: 1;
}

.usk-slidenav {
  padding: 5px 10px;
  color: rgba(102, 102, 102, 0.5);
}

.usk-slidenav:hover,
.usk-slidenav:focus {
  color: rgba(102, 102, 102, 0.9);
  outline: none;
}

.usk-slidenav:active {
  color: rgba(102, 102, 102, 0.5);
}

.usk-slidenav-large {
  padding: 10px 10px;
}

.usk-slidenav-container {
  display: flex;
}

.usk-icon {
  margin: 0;
  border: none;
  border-radius: 0;
  overflow: visible;
  font: inherit;
  color: inherit;
  text-transform: none;
  padding: 0;
  background-color: transparent;
  display: inline-block;
  fill: currentcolor;
  line-height: 0;
}

/*--------------------------------------------------------
  Ultimate Store Kit
  All Widget content-position css
---------------------------------------------------------*/
// .usk-shiny-grid,
// .usk-shiny-carousel,
// .usk-glossy-grid,
// .usk-glossy-carousel,
// .usk-florence-carousel,
// .usk-brand-carousel,
// .usk-sub-category-carousel,
// .usk-product-review-carousel,
// .usk-edd-category-carousel,
// .usk-edd-beauty-carousel,
// .usk-edd-classic-carousel,
// .usk-edd-standard-carousel,
// .usk-edd-trendy-carousel,
// .usk-florence-grid {
.usk-content-position-left {
  .usk-content {
    text-align: left;
  }

  .usk-rating {
    justify-content: flex-start;
  }
}

.usk-content-position-right {
  .usk-content {
    text-align: right;
  }

  .usk-rating {
    justify-content: flex-end;
  }
}

.usk-content-position-center {
  .usk-content {
    text-align: center;
  }

  .usk-rating {
    justify-content: center;
  }
}

/* Shado Mode */
.usk-shadow-mode-yes {
  .usk-brand-carousel {
    .swiper {
      padding: 10px;
      margin: 0 -10px;
    }
  }
}

.usk-shadow-mode-yes {
  &:before,
  &:after {
    content: "";
    position: absolute;
    width: 20%;
    height: 100%;
    top: 0;
    z-index: 2;
    pointer-events: none;
  }

  &:before {
    background: linear-gradient(
      to right,
      rgba(255, 255, 255, 1) 5%,
      rgba(255, 255, 255, 0) 100%
    );
    left: -10px;
  }

  &:after {
    background: linear-gradient(
      to right,
      rgba(255, 255, 255, 0) 0%,
      rgba(255, 255, 255, 1) 95%
    );
    right: -10px;
  }
}

@media (max-width: 767px) {
  .usk-shadow-mode-yes {
    &:before,
    &:after {
      content: none;
    }
  }
}

/* HIDE ON SPECIFIC DEVICES*/
@media (min-width: 768px) and (max-width: 1023px) {
  [class*=" elementor-widget-usk-"] {
    .usk-hide-tablet {
      display: none !important;
    }
  }
}

@media (min-width: 1024px) {
  [class*=" elementor-widget-usk-"] {
    .usk-hide-desktop {
      display: none !important;
    }
  }
}

@media (max-width: 767px) {
  [class*=" elementor-widget-usk-"] {
    .usk-hide-mobile {
      display: none !important;
    }
  }
}

/**
 * Ultimate Store Kit single product css
 */
// .usk-product-rating {
//     .star-rating {
//         span {
//             display: none;
//         }
//     }
// }

.usk-product-meta {
  .product_meta {
    display: flex;
    flex-wrap: wrap;
  }
}

.usk-product-image {
  .woocommerce-product-gallery {
    width: 100% !important;
  }
}

.elementor-widget-usk-product-stock {
  .usk-progress-bar-wrap {
    display: flex;
    align-items: center;
    flex-direction: row-reverse;
    gap: 20px;
    position: relative;
  }

  .usk-progress-bar {
    display: block;
    width: 100%;
    height: 15px;
    background-color: #dee9fd;
    margin: 0;
    padding: 0;
    border-radius: 5px;
  }

  .usk-progress {
    display: block;
    height: 100%;
    background-color: #4286ff;
    padding: 0;
    border-radius: 5px;
  }

  .usk-progress-percentage {
    font-size: 14px;
    font-weight: 600;
    color: #000;
  }

  .usk-product-stock {
    font-weight: 600;
    font-size: 22px;
    margin: 0 0 12px;
    .usk-status {
      display: inline-block;
    }
  }

  .usk-order-info-content {
    display: flex;
    justify-content: space-between;
    margin-bottom: 12px;
  }

  .usk-order-text {
    font-size: 16px;
    color: #494a50;
  }

  .usk-order-count {
    font-weight: 700;
    color: #000;
  }
}

.usk-additional-information {
  h2 {
    display: none;
  }
}
.usk-show-heading-yes {
  .usk-additional-information {
    h2 {
      display: block;
    }
  }
}

.elementor-widget-usk-page-single,
.elementor-widget-usk-add-to-cart {
  .single_variation_wrap {
    display: flex;
    flex-direction: column;
  }
  .usk-variation-swatches {
    display: flex;
  }
  .swatches-support {
    table.variations {
      display: flex;
    }
  }
  table.variations {
    border-collapse: separate;
    border-spacing: 0 10px;
    margin-bottom: 0 !important;
  }
  form.cart {
    tr {
      position: relative;
    }
    * {
      text-align: left;
    }
  }
  .usk-variation-swatches--image {
    display: flex;
  }

  .quantity button {
    padding: 15px;
    border-style: solid;
    border-width: 1px 1px 1px 1px;
    border-color: #a4afb7;
    border-radius: 3px 3px 3px 3px;
    color: #444;
    line-height: 1;
    cursor: pointer;
    background: transparent;
    &:hover {
      background: #f9f9f9;
    }
  }
  form.cart div.quantity {
    display: flex !important;
    gap: 5px;
    .qty {
      margin-right: 0 !important;
      padding: 14px;
    }
  }

  .woocommerce-variation-add-to-cart {
    display: flex;
  }

  table th,
  table td {
    padding: 0;
  }
  form.cart table td,
  div.product form.cart table td {
    padding-left: 20px !important;
  }
  table tbody tr:hover > td,
  table tbody tr:hover > th,
  table tbody > tr:nth-child(odd) > td,
  table tbody > tr:nth-child(odd) > th {
    background-color: transparent;
  }
  .woocommerce-variation-price {
    margin-bottom: 15px;
  }
}
.usk-product-description {
  .woocommerce-product-details__short-description {
    margin-top: 0 !important;
  }
}
.usk-product-rating {
  display: flex;
  flex-direction: row-reverse;
  justify-content: space-between;
  .woocommerce-review-link {
    line-height: 1;
    display: flex;
  }
}

// product variation

.usk-variations-container.usk-sequential-variations {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.usk-variations-container .usk-variation-group {
  display: flex;
  gap: 8px;
}

.usk-variations-container .usk-variation-button {
  font-size: 11px;
  font-weight: 700;
  border: 1px solid #d6d8e5;
  color: #9194a5;
  border-radius: 6px;
  padding: 5px;
  display: block;
  line-height: 1;
  text-transform: uppercase;
}

.usk-variations-container .usk-variation-button:hover,
.usk-variations-container .usk-variation-button.active {
  border-color: #2b2d42;
  color: #fff;
  background-color: #2b2d42;
}


.usk-variations-container .usk-color-button{
  --usk-variation-size: 20px;
  width: var(--usk-variation-size);
  height: var(--usk-variation-size);
  padding: 0;
  border-radius: 50%;
  border: 0;
  position: relative;
  min-width: auto;
}

.usk-variations-container .usk-color-button::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: calc(var(--usk-variation-size) / 2);
  height: calc(var(--usk-variation-size) / 2);
  border-radius: inherit;
  background-color: #fff;
  opacity: 0;
}

.usk-variations-container .usk-color-button.active::before {
  opacity: 1;
}

.usk-variations-container {
  .usk-reset-variations,
  .usk-back-variation {
    background: transparent;
    border: 0;
    padding: 0;
    color: #ddd;
    margin-bottom: 6px;
    line-height: 1;
    transition: all 0.3s ease;
    cursor: pointer;

    svg {
      width: 20px;
      height: 20px;
      display: block;
      transition: transform 0.3s ease;
    }

    &:hover {
      color: #2b2d42;
    }
  }

  .usk-reset-variations:hover svg {
    transform: rotate(360deg);
  }

  .usk-back-variation:hover svg {
    transform: translateX(-5px);
  }
}

// Special animation for back button
.usk-variations-container .usk-back-variation {
  &:hover {
    svg {
      transform: translateX(-5px);
    }
  }
}

/**
 * TEMPORARY CSS FOR VARIATIONS
 */

/* Simple variation buttons styling */
.usk-variations-container {
  &[data-sequential="true"] {
    .usk-variation-group:not(:first-of-type) {
      display: none;
    }
  }
}

.usk-variation-group {
  margin-bottom: 8px;
}

.usk-variation-label {
  display: block;
  font-size: 12px;
  font-weight: 600;
  margin-bottom: 5px;
}

.usk-variation-options {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}

.usk-variation-button {
  position: relative;

  .usk-tooltip-text {
    position: absolute;
    background: #2b2d42;
    color: #fff;
    padding: 5px 10px;
    border-radius: 4px;
    font-size: 11px;
    line-height: 1.4;
    white-space: nowrap;
    visibility: hidden;
    opacity: 0;
    bottom: 100%;
    left: 50%;
    transform: translateX(-50%) translateY(-8px);
    transition: all 0.2s ease;
    pointer-events: none;
    z-index: 100;

    &::after {
      content: '';
      position: absolute;
      top: 100%;
      left: 50%;
      margin-left: -5px;
      border-width: 5px;
      border-style: solid;
      border-color: #2b2d42 transparent transparent transparent;
    }
  }

  &:hover {
    .usk-tooltip-text {
      visibility: visible;
      opacity: 1;
      transform: translateX(-50%) translateY(-4px);
    }
  }
}

/* Color variation button specific styles */
.usk-color-button {
  .usk-tooltip-text {
    bottom: 100%;
    margin-bottom: 5px;
  }
}

/* Disabled variation options styling */
.usk-variation-swatches__item.disabled,
.usk-variation-button.disabled {
  opacity: 0.4;
  cursor: not-allowed;
  position: relative;
  pointer-events: none;

  &::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(255, 255, 255, 0.3);
    z-index: 1;
  }

  &::after {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(to top right,
      transparent calc(50% - 1px),
      rgba(0, 0, 0, 0.3) calc(50% - 0.5px),
      rgba(0, 0, 0, 0.3) calc(50% + 0.5px),
      transparent calc(50% + 1px));
    z-index: 2;
  }
}

/* Add cart success message styling */
.usk-cart-success-message {
  position: absolute;
  bottom: 60px;
  left: 0;
  width: 100%;
  background-color: #4CAF50;
  color: white;
  text-align: center;
  padding: 8px 0;
  z-index: 100;
  font-size: 14px;
  font-weight: 500;
  animation: fadeIn 0.3s ease-in-out;
}

@keyframes fadeIn {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes rotation {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}


