.iperinox-home-carousel { position: relative; min-width: 0; }
.iperinox-home-carousel .iperinox-home-carousel__track { display: grid; grid-template-columns: none; grid-auto-columns: calc(66.6667% - .25rem); grid-auto-flow: column; gap: .75rem; overflow-x: auto; overflow-y: hidden; padding: .1rem 0 .7rem; overscroll-behavior-inline: contain; scroll-behavior: smooth; scroll-snap-type: inline mandatory; scrollbar-width: none; touch-action: pan-x pan-y; }
.iperinox-home-carousel__track::-webkit-scrollbar { display: none; }
.iperinox-home-carousel__track > * { min-width: 0; scroll-snap-align: start; scroll-snap-stop: normal; }
.iperinox-home-carousel.has-overflow .iperinox-home-carousel__track { -webkit-mask-image: linear-gradient(to right,transparent 0,#000 30px,#000 calc(100% - 36px),transparent 100%); mask-image: linear-gradient(to right,transparent 0,#000 30px,#000 calc(100% - 36px),transparent 100%); }
.iperinox-home-carousel.has-overflow.is-at-start .iperinox-home-carousel__track { -webkit-mask-image: linear-gradient(to right,#000 0,#000 calc(100% - 36px),transparent 100%); mask-image: linear-gradient(to right,#000 0,#000 calc(100% - 36px),transparent 100%); }
.iperinox-home-carousel.has-overflow.is-at-end .iperinox-home-carousel__track { -webkit-mask-image: linear-gradient(to right,transparent 0,#000 30px,#000 100%); mask-image: linear-gradient(to right,transparent 0,#000 30px,#000 100%); }
.iperinox-home-carousel__arrow,
.iperinox-home-carousel__next { position: absolute; z-index: 3; top: 42%; display: grid; width: 44px; min-width: 44px; height: 44px; min-height: 44px; padding: 0; place-items: center; border: 1px solid rgba(0,69,74,.14); border-radius: 50%; color: var(--iperinox-primary-dark); background: rgba(255,255,255,.92); transform: translateY(-50%); transition: opacity 180ms ease,background-color 180ms ease,transform 180ms ease; backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); }
.iperinox-home-carousel__prev { left: .45rem; }
.iperinox-home-carousel__next { right: .45rem; }
.iperinox-home-carousel__prev .iperinox-icon { transform: rotate(180deg); }
.iperinox-home-carousel__arrow:hover,
.iperinox-home-carousel__next:hover { color: #fff; background: var(--iperinox-primary-dark); transform: translateY(-50%) scale(1.04); }
.iperinox-home-carousel__arrow .iperinox-icon,
.iperinox-home-carousel__next .iperinox-icon { width: 1.1rem; height: 1.1rem; }
.iperinox-home-carousel__arrow[hidden],
.iperinox-home-carousel__next[hidden] { display: none; }
.iperinox-home-carousel__progress { width: min(44%,22rem); height: 3px; margin: .55rem auto 0; overflow: hidden; border-radius: 999px; background: var(--iperinox-border); }
.iperinox-home-carousel__progress > span { display: block; height: 100%; border-radius: inherit; background: var(--iperinox-primary); will-change: transform; transition: transform 90ms linear; }
.iperinox-home-carousel:not(.has-overflow) .iperinox-home-carousel__progress { visibility: hidden; }
.iperinox-home-carousel.is-swipe-bouncing .iperinox-home-carousel__track { animation: iperinox-product-carousel-bounce 240ms cubic-bezier(.22,.61,.36,1); }
.woocommerce body.single-product .related,
.woocommerce body.single-product .up-sells,
body.single-product .related,
body.single-product .up-sells { min-width: 0; width: 100%; max-width: 100%; }
.woocommerce .iperinox-single-products-carousel,
.iperinox-single-products-carousel { min-width: 0; width: 100%; max-width: 100%; overflow: hidden; }
.woocommerce .iperinox-single-products-carousel ul.products.iperinox-home-carousel__track,
.iperinox-single-products-carousel ul.products.iperinox-home-carousel__track { display: grid; width: 100%; max-width: 100%; grid-template-columns: none; grid-auto-rows: 1fr; grid-auto-flow: column; margin: 0; padding: .1rem 0 .7rem; overflow-x: auto; overflow-y: hidden; }
.woocommerce .iperinox-single-products-carousel ul.products.iperinox-home-carousel__track::before,
.woocommerce .iperinox-single-products-carousel ul.products.iperinox-home-carousel__track::after { display: none; content: none; }
.woocommerce .iperinox-single-products-carousel ul.products.iperinox-home-carousel__track > li.product,
.iperinox-single-products-carousel ul.products.iperinox-home-carousel__track > li.product { display: flex; width: auto; min-width: 0; max-width: none; height: 100%; margin: 0; float: none; clear: none; scroll-snap-align: start; }
.iperinox-single-products-carousel .iperinox-product-card { width: 100%; height: 100%; }
.iperinox-lv__carousel .iperinox-lv__options { flex-wrap: nowrap; }
.iperinox-lv__carousel .iperinox-lv__option { width: 100%; max-width: none; }
.iperinox-lv__carousel .iperinox-home-carousel__next,
.iperinox-lv__carousel .iperinox-home-carousel__arrow { top: 50%; }
.iperinox-lv__carousel.is-expanded .iperinox-lv__options { display: flex; flex-wrap: wrap; gap: .55rem; overflow: visible; padding-bottom: .1rem; scroll-snap-type: none; -webkit-mask-image: none; mask-image: none; }
.iperinox-lv__carousel.is-expanded .iperinox-lv__option { width: auto; min-width: min(100%,82px); flex: 1 1 82px; }
.iperinox-lv__carousel.is-expanded .iperinox-home-carousel__arrow,
.iperinox-lv__carousel.is-expanded .iperinox-home-carousel__next,
.iperinox-lv__carousel.is-expanded .iperinox-home-carousel__progress { display: none; }

@keyframes iperinox-product-carousel-bounce { 0%,100% { transform: translateX(0); } 45% { transform: translateX(-3px); } 72% { transform: translateX(1px); } }

@media (max-width:767px) {
  body.single-product .iperinox-single-products-carousel .iperinox-home-carousel__track {
    box-sizing: border-box;
    position: relative;
    left: auto;
    width: 100%;
    max-width: 100%;
    grid-auto-columns: 50%;
    gap: 0;
    margin: 0;
    padding: 0;
    overflow-x: auto;
    overflow-y: hidden;
    border: 1px solid var(--iperinox-border);
    border-radius: 0;
    background: var(--iperinox-background, #fff);
  }
  body.single-product .iperinox-single-products-carousel ul.products.iperinox-home-carousel__track > li.product.ipx-product-card,
  body.single-product .iperinox-single-products-carousel ul.products.iperinox-home-carousel__track > li.product.ipx-product-card:nth-child(2n) {
    width: 100%;
    min-width: 0;
    max-width: none;
    height: 100%;
    margin: 0;
    padding: var(--ipx-mobile-padding, 9px);
    border: 0;
    border-right: 1px solid var(--iperinox-border);
    border-bottom: 0;
    border-radius: 0;
    box-shadow: none;
    transform: none;
  }
  body.single-product .iperinox-single-products-carousel ul.products.iperinox-home-carousel__track > li.product.ipx-product-card:last-child {
    border-right: 0;
  }
  body.single-product .iperinox-lv__carousel .iperinox-home-carousel__track {
    grid-auto-columns: calc(40% - .36rem);
    gap: .45rem;
  }
  body.single-product .iperinox-single-products-carousel.has-overflow .iperinox-home-carousel__track,
  body.single-product .iperinox-lv__carousel.has-overflow .iperinox-home-carousel__track {
    -webkit-mask-image: linear-gradient(to right,#000 0,#000 calc(100% - 36px),transparent 100%);
    mask-image: linear-gradient(to right,#000 0,#000 calc(100% - 36px),transparent 100%);
  }
  body.single-product .iperinox-single-products-carousel.has-overflow.is-at-end .iperinox-home-carousel__track,
  body.single-product .iperinox-lv__carousel.has-overflow.is-at-end .iperinox-home-carousel__track {
    -webkit-mask-image: none;
    mask-image: none;
  }
  body.single-product .iperinox-single-products-carousel > .iperinox-home-carousel__arrow,
  body.single-product .iperinox-single-products-carousel > .iperinox-home-carousel__next,
  body.single-product .iperinox-lv__carousel > .iperinox-home-carousel__arrow,
  body.single-product .iperinox-lv__carousel > .iperinox-home-carousel__next { display: none; }
}
@media (min-width:768px) {
  .iperinox-home-carousel .iperinox-home-carousel__track { grid-auto-columns: calc(28.5714% - .7143rem); gap: 1rem; }
  .iperinox-lv__carousel.is-expanded.has-ten-options .iperinox-lv__option { min-width: calc(20% - .44rem); flex-basis: calc(20% - .44rem); }
}
@media (min-width:1024px) {
  .iperinox-home-carousel .iperinox-home-carousel__track { grid-auto-columns: calc(15.3846% - .9231rem); gap: 1rem; }
  body.single-product .iperinox-single-products-carousel .iperinox-home-carousel__track { grid-auto-columns: calc(22.2222% - .8889rem); gap: 1rem; }
}
@media (prefers-reduced-motion:reduce) {
  .iperinox-home-carousel__track { scroll-behavior: auto; }
  .iperinox-home-carousel.is-swipe-bouncing .iperinox-home-carousel__track { animation: none; }
  .iperinox-home-carousel__progress > span { transition: none; }
}
