.product__media-wrapper {

  .relative {
    position: relative;
  }
  .w-full {
    width: 100%;
  }
  .scroll-smooth {
    scroll-behavior: smooth;
  }

  gallery-slider .swiper-container {
    overflow: hidden;
  }

  .swiper-pagination-prev,
  .swiper-pagination-next {
    svg {
      filter: invert(60%);

      &.swiper-button-disabled {
        filter: invert(0%);
      }
    }
  }

  .swiper-pagination.swiper-pagination-progressbar.swiper-pagination-horizontal {
    position: relative;
    z-index: 0;

    .swiper-pagination-progressbar-fill {
      background: #222222;
    }
  }

  media-gallery {
    .swiper-pagination {
      z-index: 2;
    }

    .swiper-pagination-bullet {
      height       : 0.6rem;
      width        : 0.6rem;
      background   : #cccccc;
      border-radius: 25%;
    }

    .swiper-pagination-bullet-active {
      background: #232a4e;
    }
  }

  pdp-thumbnails {
    display: block;
    max-height: calc(100vh - var(--header-height));
    overflow-y: auto;

    .swiper-slide {
      max-height: calc(100vh - var(--header-height));
      scroll-behavior: smooth;
    }

    &::-webkit-scrollbar {
      display: none;
    }

    a.active img {
      border-bottom: 2px solid black;
    }

    li img {
      width: 100%;
    }

    ul {
      gap           : 1.5rem;
      display       : flex;
      flex-direction: column;
      padding-right : 3.5rem;
      padding-left  : 3.5rem;
    }
  }

  modal-opener > .svg-wrapper {
    right: 1.5rem;
  }

  .swiper-wrapper .swiper-slide:last-child .product-media-container {
    padding-bottom: 0;
  }

  .product-media-container {
    --aspect-ratio: var(--preview-ratio);
    --ratio-percent: calc(1 / var(--aspect-ratio) * 100%);
    position: relative;
    width: 100%;
    max-width: calc(100% - calc(var(--media-border-width) * 2));
    background-color: white;
    padding-bottom: 3.5rem;

    &.constrain-height {
      --viewport-offset: 400px;
      --constrained-min-height: 300px;
      --constrained-height: max(
        var(--constrained-min-height),
        calc(100vh - var(--viewport-offset))
      );

      &.media-fit-contain {
        --contained-width: calc(
          var(--constrained-height) * var(--aspect-ratio)
        );
        width: min(var(--contained-width), 100%);
      }

      .media img {
        position: static;
      }
    }
  }

  .media-noimg {
    display: none;
  }

  .product-media-container.media-fit-cover {
    display: flex;
    align-self: stretch;
    .media {
      position: initial;
    }
  }

  @media screen and (max-width: 989px) {
    .slider.slider--tablet .scroll-trigger.animate--slide-in,
    .slider.slider--mobile .scroll-trigger.animate--slide-in {
      animation: none;
      opacity: 1;
      transform: inherit;
    }

    .scroll-trigger:not(.scroll-trigger--offscreen) .slider--tablet {
      animation: var(--animation-slide-in);
    }
  }

  .scroll-trigger.animate--fade-in,
  .scroll-trigger.animate--slide-in {
    opacity: 0.01;
  }

  .scroll-trigger.animate--slide-in {
    transform: translateY(2rem);
  }

  .scroll-trigger:not(.scroll-trigger--offscreen).animate--fade-in {
    opacity: 1;
    animation: var(--animation-fade-in);
  }

  .scroll-trigger:not(.scroll-trigger--offscreen).animate--slide-in {
    animation: var(--animation-slide-in);
    animation-delay: calc(var(--animation-order) * 75ms);
  }

  .scroll-trigger.scroll-trigger--design-mode.animate--fade-in,
  .scroll-trigger.scroll-trigger--design-mode.animate--slide-in,
  .scroll-trigger.scroll-trigger--design-mode .slider,
  .scroll-trigger:not(.scroll-trigger--offscreen).scroll-trigger--cancel {
    opacity: 1;
    animation: none;
    transition: none;
    transform: none;
  }

  .scroll-trigger.scroll-trigger--design-mode.animate--slide-in {
    transform: translateY(0);
  }

  ol,
  ul,
  menu {
    list-style: none;
    margin: 0;
    padding: 0;
  }

  @media screen and (min-width: 750px) {
    .mainContainerGallery {
      position: sticky;
      top: var(--header-height);
      display: block;
      max-height: calc(100vh - var(--header-height));
      /*flex: 0 0 25%;*/
    }

    gallery-slider {
      display: block;

      .swiper-wrapper,
      .swiper-wrapper > .swiper-wrapper {
        display: grid;
      }

      .swiper-slide,
      .swiper-slide > .swiper-slide {
        width: 100%;
      }
    }

    .media-noimg {
      display: block;
      max-width: 100%;
      width: 100%;
      height: auto;
      overflow: hidden;
      video,
      iframe {
        max-width: 100%;
        max-height: 100%;
        width: 100%;
        min-width: 100%;
        height: auto;
        object-fit: contain;
      }
    }

    .product__column-sticky {
      display: block;
      position: sticky;
      top: 12rem;
      z-index: 2;
    }

    .product-media-container {
      max-width: 100%;

      &:not(.media-type-image) {
        --aspect-ratio: var(--ratio);
      }

      &.constrain-height {
        --viewport-offset: 170px;
        --constrained-min-height: 500px;
      }

      &.media-fit-cover,
      &.media-fit-cover .product__modal-opener,
      &.media-fit-cover .media {
        width: 100%;
      }

      &.media-fit-cover .deferred-media__poster img {
        object-fit: cover;
        width: 100%;
      }
      .product__modal-opener {
        display: block;
        position: relative;
      }
    }

    .product-media-container
      .product__modal-opener:not(.product__modal-opener--image) {
      display: none;
    }
  }

}
