/* Product info wrapper - Media - START */
.product-info-wrapper .product-media-wrapper,
.product-info-wrapper .product-detail-wrapper,
.product-info-wrapper .product-detail__media-gallery {
  position: sticky;
  top: calc(var(--header-height) + var(--floating-top, 0px) + 2rem);
}

.header-section:has(.header-wrapper.sticky-none)~#MainContent .product-info-wrapper .product-media-wrapper,
.header-section:has(.header-wrapper.sticky-none)~#MainContent .product-detail-wrapper,
.header-section:has(.header-wrapper.sticky-none)~#MainContent .product-info-wrapper .product-detail__media-gallery {
  top: 2rem;
}

.product-info-wrapper .breadcrumbs-wrapper {
  margin-bottom: calc(1.5rem * var(--body-scale));
}

.product-info-wrapper .column-wrapper {
  position: relative;
}

.product-info-wrapper .skip-link {
  width: auto;
  left: calc(var(--_column-spacer) + 4px);
  z-index: 1;
}

.product-info-wrapper .product-media-wrapper.layout-grid {
  display: grid;
  gap: calc(0.625rem * var(--body-scale));
  grid-template-columns: repeat(2, 1fr);
  container: media-grid / inline-size;
}

.product-info-wrapper .product-media-wrapper .media-background {
  background-color: rgb(var(--secondary-background) / 0.2);
}

.product-info-wrapper .product-media-wrapper.layout-grid>*:nth-child(3n + 1) {
  grid-column: span 2;
}

@container media-grid (width < 550px) {
  .product-info-wrapper .product-media-wrapper.layout-grid>* {
    grid-column: span 2;
  }
}

.product-info-wrapper .image-container,
.product-info-wrapper .video-container {
  position: relative;
  z-index: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: hidden;
}

.product-info-wrapper .image-container,
.product-info-wrapper .video-container {
  border-radius: calc(var(--_card-radius) * var(--layout-radius));
}

.product-info-wrapper .product-media-wrapper {
  --_card-radius: 0.2px;
}

.product-info-wrapper .media-main-swiper {
  --_card-radius: 0.2px;
}

.product-info-wrapper .media-thumb-swiper,
.product-info-wrapper .thumb-pagination-wrapper,
.product-info-wrapper .media-preview-thumb-swiper {
  --_card-radius: 0.1px;
}

.product-info-wrapper .external-video,
.product-info-wrapper .internal-video {
  width: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 1;
  display: none;
  background-color: #000;
}

.product-info-wrapper .external-video.active,
.product-info-wrapper .internal-video.active {
  display: block;
}



.product-info-wrapper .video-preview.image-aspect-ratio-adapt+.external-video,
.product-info-wrapper .video-preview.image-aspect-ratio-adapt+.internal-video {
  aspect-ratio: var(--_media-ratio, 1);
}

.product-info-wrapper .video-preview:not(.image-aspect-ratio-adapt)+.external-video,
.product-info-wrapper .video-preview:not(.image-aspect-ratio-adapt)+.internal-video {
  height: 100%;
}

.product-info-wrapper .video-preview {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  z-index: 0;
  background-color: #000;
}

.product-info-wrapper .video-preview.image-aspect-ratio-adapt.media-contain {
  aspect-ratio: var(--_media-ratio, 1);
}

.product-info-wrapper .thumb-pagination-wrapper .video-preview.image-aspect-ratio-adapt.media-contain {
  aspect-ratio: unset;
}

.product-info-wrapper .video-preview:not(.image-aspect-ratio-adapt.media-contain) {
  height: 100%;
}



.product-info-wrapper .product-media-wrapper img.image-fit-contain {
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%;
}

.product-info-wrapper .product-media-wrapper img.image-fit-cover,
.product-info-wrapper .product-media-wrapper *:not(.image-aspect-ratio-adapt) img {
  width: 100%;
  height: 100%;
}

.product-info-wrapper .internal-video video {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.product-info-wrapper .external-video iframe {
  display: block;
  width: 100%;
  height: 100%;
}

.product-info-wrapper .video-button,
.product-info-wrapper .video-badge {
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  z-index: 1;
}

.product-info-wrapper .video-button {
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: calc(3.75rem * var(--body-scale));
  height: calc(3.75rem * var(--body-scale));
  background-color: rgb(var(--primary-background));
  color: rgb(var(--heading-color));
  border: 1px solid rgb(var(--heading-color) / 0.05);
  border-radius: calc(0.3px * var(--button-radius));
  cursor: pointer;
}

.product-info-wrapper .video-button {
  padding: calc(0.625rem * var(--body-scale));
}

.product-info-wrapper .video-badge {
  top: 0.25rem;
  right: 0.25rem;
  width: 24px;
  aspect-ratio: 1;
  min-width: 20px;
  min-height: 20px;
  max-width: calc(100% / 3);
  max-height: calc(100% / 3);
  background-color: rgb(var(--primary-background));
  color: rgb(var(--heading-color) / 0.6);
  border: 1px solid rgb(var(--heading-color) / 0.05);
  border-radius: calc(0.12px * var(--button-radius));
}

.product-info-wrapper .video-badge {
  padding: 0.25rem;
}

.product-info-wrapper .video-badge svg {
  max-width: 100%;
  max-height: 100%;
}

.product-info-wrapper .product-media-wrapper.layout-grid .media-slideshow-wrapper {
  display: none;
}

.product-info-wrapper .media-slide {
  height: auto;
}

.product-info-wrapper .media-slideshow-wrapper .image-container,
.product-info-wrapper .media-slideshow-wrapper .video-container,
.product-info-wrapper .media-grid-container .image-container.image-aspect-ratio-adapt,
.product-info-wrapper .media-grid-container .video-container.media-ratio-adapt {
  height: 100%;
}

.product-info-wrapper .product-media-wrapper.constrain-height {
  --_off-section-padding: var(--_section-padding);
}

.product-info-wrapper .media-grid-container {
  position: relative;
}

.product-info-wrapper .product-media-wrapper.constrain-height.layout-grid .media-grid-container img,
.product-info-wrapper .product-media-wrapper.constrain-height.layout-grid .media-grid-container .image-container,
.product-info-wrapper .product-media-wrapper.constrain-height.layout-grid .media-grid-container .video-container .video-preview,
.product-info-wrapper .product-media-wrapper.constrain-height.layout-grid .media-grid-container .video-container .video-preview+.external-video,
.product-info-wrapper .product-media-wrapper.constrain-height.layout-grid .media-grid-container .video-container .video-preview+.internal-video {
  max-height: max(200px, calc(100svh - var(--header-area-height) - var(--_off-section-padding) - 20px));
}

.product-info-wrapper .product-media-wrapper.constrain-height .media-main-swiper[navigation="true"] {
  --_nav-height: 60px;
}

.product-info-wrapper .product-media-wrapper.constrain-height .media-main-swiper[navigation="false"] {
  --_nav-height: 130px;
}



.product-info-wrapper .product-media-wrapper.constrain-height .media-main-swiper img,
.product-info-wrapper .product-media-wrapper.constrain-height .media-main-swiper .image-container,
.product-info-wrapper .product-media-wrapper.constrain-height .media-main-swiper .video-preview,
.product-info-wrapper .product-media-wrapper.constrain-height .media-main-swiper .video-preview+.external-video,
.product-info-wrapper .product-media-wrapper.constrain-height .media-main-swiper .video-preview+.internal-video {
  max-height: max(200px, calc(100svh - var(--header-area-height) - var(--_off-section-padding) - var(--_nav-height) - var(--_view-btn-height, 0px)));
}

/* Constrain height for the media gallery elements. */
.product-info-wrapper .product-media-wrapper.constrain-height .media-gallery__content {
  --_nav-height: 130px;
}

.product-info-wrapper .product-media-wrapper.constrain-height .media-gallery__list {
  max-height: max(200px, calc(100svh - var(--header-area-height) - var(--_off-section-padding) - var(--_nav-height, 130px) - var(--_view-btn-height, 0px)));
}

.product-info-wrapper .product-media-wrapper.constrain-height .media-gallery__content img,
.product-info-wrapper .product-media-wrapper.constrain-height .media-gallery__content .image-container,
.product-info-wrapper .product-media-wrapper.constrain-height .media-gallery__content .video-container {
  max-height: max(200px, calc(100svh - var(--header-area-height) - var(--_off-section-padding) - var(--_nav-height) - var(--_view-btn-height, 0px)));
}

.product-info-wrapper .product-media-wrapper .media-thumb-swiper .image-container.image-aspect-ratio-adapt,
.product-info-wrapper .product-media-wrapper .media-thumb-swiper .video-container.media-ratio-adapt,
.product-info-wrapper .product-media-wrapper .thumb-pagination-wrapper .image-container.image-aspect-ratio-adapt,
.product-info-wrapper .product-media-wrapper .thumb-pagination-wrapper .video-container.media-ratio-adapt,
.product-info-wrapper .media-preview-wrapper .media-preview-thumb-swiper .image-container.image-aspect-ratio-adapt,
.product-info-wrapper .media-preview-wrapper .media-preview-thumb-swiper .video-container.media-ratio-adapt {
  max-height: 100px;
}

.product-info-wrapper .media-thumb-swiper .image-container.image-aspect-ratio-adapt img,
.product-info-wrapper .media-thumb-swiper .image-container.image-aspect-ratio-adapt img.image-fit-contain,
.product-info-wrapper .thumb-pagination-wrapper .image-container.image-aspect-ratio-adapt img,
.product-info-wrapper .thumb-pagination-wrapper .image-container.image-aspect-ratio-adapt img.image-fit-contain,
.product-info-wrapper .media-preview-thumb-swiper .image-container.image-aspect-ratio-adapt img,
.product-info-wrapper .media-preview-thumb-swiper .image-container.image-aspect-ratio-adapt img.image-fit-contain {
  max-height: 100%;
}

.product-info-wrapper .media-thumb-swiper .video-preview.image-aspect-ratio-adapt,
.product-info-wrapper .thumb-pagination-wrapper .video-preview.image-aspect-ratio-adapt {
  height: 100%;
}

.product-info-wrapper .media-thumb-swiper {
  --_btn-padding: calc(0.625rem * var(--body-scale));
  --_icon-size: calc(1.5rem * var(--body-scale));
  --_active-space: 0.5rem;
  margin-top: 1rem;
  padding-inline: calc(var(--_icon-size) + (var(--_btn-padding) * 2) + var(--_slide-gap));
  padding-bottom: var(--_active-space);
  overflow: hidden;
  position: relative;
}

.product-info-wrapper .media-thumb-swiper:has(.swiper-button-lock) {
  padding-inline: 0;
}

.product-info-wrapper .media-thumb-swiper::part(container),
.product-info-wrapper .media-preview-thumb-swiper::part(container) {
  overflow: visible;
}

.product-info-wrapper .media-thumb-swiper::part(container)::before,
.product-info-wrapper .media-thumb-swiper::part(container)::after,
.product-info-wrapper .media-preview-thumb-swiper::part(container)::before,
.product-info-wrapper .media-preview-thumb-swiper::part(container)::after {
  content: "";
  display: block;
  width: calc(var(--_icon-size) + (var(--_btn-padding) * 2));
  height: calc(100% + var(--_active-space));
  background-color: rgb(var(--primary-background));
  position: absolute;
  top: 0;
  z-index: 2;
}

.product-info-wrapper .media-thumb-swiper::part(container)::before,
.product-info-wrapper .media-preview-thumb-swiper::part(container)::before {
  left: calc(0px - var(--_slide-gap));
  transform: translateX(-100%);
}

.product-info-wrapper .media-thumb-swiper::part(container)::after,
.product-info-wrapper .media-preview-thumb-swiper::part(container)::after {
  right: calc(0px - var(--_slide-gap));
  transform: translateX(100%);
}

.product-info-wrapper .media-thumb-swiper .btn-prev,
.product-info-wrapper .media-thumb-swiper .btn-next,
.product-info-wrapper .media-preview-thumb-swiper .btn-prev,
.product-info-wrapper .media-preview-thumb-swiper .btn-next {
  position: absolute;
  top: 50%;
  z-index: 3;
  cursor: pointer;
  padding: var(--_btn-padding);
  border-radius: calc(.22px* var(--button-radius));
}

.product-info-wrapper .media-thumb-swiper .btn-prev.swiper-button-lock,
.product-info-wrapper .media-thumb-swiper .btn-next.swiper-button-lock,
.product-info-wrapper .media-preview-thumb-swiper .btn-prev.swiper-button-lock,
.product-info-wrapper .media-preview-thumb-swiper .btn-next.swiper-button-lock {
  display: none;
}

.product-info-wrapper .media-thumb-swiper .btn-prev[disabled],
.product-info-wrapper .media-thumb-swiper .btn-next[disabled],
.product-info-wrapper .media-preview-thumb-swiper .btn-prev[disabled],
.product-info-wrapper .media-preview-thumb-swiper .btn-next[disabled] {
  cursor: default;
  opacity: 0.5;
}

.product-info-wrapper .media-thumb-swiper .btn-prev,
.product-info-wrapper .media-preview-thumb-swiper .btn-prev {
  left: calc(0px - var(--_slide-gap));
  transform: translate(-100%, -50%);
}

.product-info-wrapper .media-thumb-swiper .btn-next,
.product-info-wrapper .media-preview-thumb-swiper .btn-next {
  right: calc(0px - var(--_slide-gap));
  transform: translate(100%, -50%);
}

.product-info-wrapper .media-thumb-swiper .media-slide,
.product-info-wrapper .media-preview-thumb-swiper .media-slide,
.product-info-wrapper .thumb-pagination-wrapper .swiper-pagination-bullet {
  position: relative;
  cursor: pointer;
}

.product-info-wrapper .media-thumb-swiper .media-slide::after,
.product-info-wrapper .media-preview-thumb-swiper .media-slide::after,
.product-info-wrapper .thumb-pagination-wrapper .swiper-pagination-bullet::after {
  content: "";
  display: block;
  height: 0.1875rem;
  width: 100%;
  background-color: rgb(var(--border-color));
  position: absolute;
  bottom: -0.3125rem;
  transform: translateY(100%);
  opacity: 0;
  transition: opacity 300ms ease-in-out;
}

.product-info-wrapper .media-thumb-swiper .media-slide.swiper-slide-thumb-active::after,
.product-info-wrapper .media-preview-thumb-swiper .media-slide.swiper-slide-thumb-active::after,
.product-info-wrapper .thumb-pagination-wrapper .swiper-pagination-bullet.swiper-pagination-bullet-active::after {
  opacity: 1;
}

.product-info-wrapper .media-thumb-paginations {
  display: none;
}

.product-info-wrapper .thumb-pagination-wrapper {
  --_thumb-count-value: var(--_thumb-count);
  display: grid;
  grid-template-columns: repeat(var(--_thumb-count-value), 1fr);
  column-gap: 0.625rem;
  row-gap: 1rem;
  margin-top: calc(1rem * var(--body-scale));
  padding-bottom: 0.5rem;
}

.product-info-wrapper .media-slideshow-wrapper .pagination-container {
  display: flex;
  margin-top: 0.5rem;
}

.product-info-wrapper .media-main-swiper .product_slider-nav-action {
  display: flex;
  flex-direction: row;
  align-items: center;
  position: relative;
  margin-inline-start: auto;
  color: rgb(var(--text-color));
  text-align: center;
  font-size: var(--text-size);
  font-style: normal;
  font-weight: 400;
  line-height: normal;
}

.product-info-wrapper .media-main-swiper .product_slider-nav-action .btn-prev,
.product-info-wrapper .media-main-swiper .product_slider-nav-action .btn-next,
.product-info-wrapper .media-main-swiper .product_slider-nav-action .product_slider-pagination {
  padding: 0.625rem;
}

.product-info-wrapper .media-main-swiper .product_slider-nav-action .btn-prev,
.product-info-wrapper .media-main-swiper .product_slider-nav-action .btn-next {
  cursor: pointer;
  background-color: transparent;
  color: rgb(var(--text-color));
  transition: opacity 300ms ease-in-out;
}

.product-info-wrapper .media-main-swiper .product_slider-nav-action .btn-prev[disabled],
.product-info-wrapper .media-main-swiper .product_slider-nav-action .btn-next[disabled] {
  opacity: 0.5;
  cursor: default;
}

.product-info-wrapper .media-main-swiper .product_slider-nav-action .product_slider-pagination {
  letter-spacing: calc(var(--preheading-letter-spacing) * 1px);
}

.product-info-wrapper .media-main-swiper .product_slider-nav-action:after {
  position: absolute;
  content: '';
  width: 100%;
  height: 2px;
  background: rgb(var(--line-color));
  bottom: 0px;
  left: 0px;
}

.product-info-wrapper .fullscreen-button {
  position: absolute;
  top: 0.5rem;
  right: 0.5rem;
  z-index: 1;
  border-radius: calc(0.22px * var(--button-radius));
  cursor: pointer;
  background-color: rgb(var(--primary-background));
  color: rgb(var(--heading-color));
  border: 1px solid rgb(var(--heading-color) / .05);
}

.product-info-wrapper .media-preview-wrapper {
  position: fixed;
  top: 0;
  left: max(calc((100vw - (var(--page-width) * 1px)) / 2), 0px);
  z-index: 100;
  width: 100%;
  height: 100svh;
  padding-block: calc(2rem * var(--body-scale));
  display: none;
}

.product-info-wrapper .media-preview-wrapper.is-active {
  display: block;
}

.product-info-wrapper .media-preview-wrapper .close-btn {
  position: absolute;
  top: 2.5rem;
  right: 2.5rem;
  z-index: 2;
  background-color: rgb(var(--primary-background) / 0.7);
  border: 1px solid rgb(var(--heading-color) / .05);
  color: rgb(var(--heading-color));
  transition: background-color 300ms ease-in-out;
}

.product-info-wrapper .media-preview-wrapper .close-btn:focus-visible {
  background-color: rgb(var(--primary-background));
}

@media (hover: hover) and (pointer: fine) {
  .product-info-wrapper .media-preview-wrapper .close-btn:hover {
    background-color: rgb(var(--primary-background));
  }
}

@media (hover: none),
(pointer: coarse) {
  .product-info-wrapper .media-preview-wrapper .close-btn {
    background-color: rgb(var(--primary-background));
  }
}

.product-info-wrapper .media-preview-container {
  height: 100%;
  background-color: rgb(var(--primary-background));
  border: 1px solid rgb(var(--border-color));
  border-radius: calc(0.2px * var(--layout-radius));
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  box-shadow: 0 1px 6px 1px rgb(var(--text-color) / 0.2);
}

.product-info-wrapper .media-preview-swiper {
  max-height: 100%;
  flex-grow: 1;
}

.product-info-wrapper .media-preview-swiper .image-container,
.product-info-wrapper .media-preview-swiper .video-container {
  height: 100%;
}

.product-info-wrapper .media-preview-swiper .image-container .preview-image-container {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}



.product-info-wrapper .media-preview-container:has(.media-preview-thumb-swiper) .media-preview-swiper img,
.product-info-wrapper .media-preview-container:has(.media-preview-thumb-swiper) .media-preview-swiper .image-container,
.product-info-wrapper .media-preview-container:has(.media-preview-thumb-swiper) .media-preview-swiper .video-preview,
.product-info-wrapper .media-preview-container:has(.media-preview-thumb-swiper) .media-preview-swiper .video-preview+.external-video,
.product-info-wrapper .media-preview-container:has(.media-preview-thumb-swiper) .media-preview-swiper .video-preview+.internal-video {
  max-height: max(200px, calc(100svh - 206px - var(--_view-btn-height, 0px)));
}

.product-info-wrapper .media-preview-container .media-preview-swiper:only-child img,
.product-info-wrapper .media-preview-container .media-preview-swiper:only-child .image-container,
.product-info-wrapper .media-preview-container .media-preview-swiper:only-child .video-preview,
.product-info-wrapper .media-preview-container .media-preview-swiper:only-child .video-preview+.external-video,
.product-info-wrapper .media-preview-container .media-preview-swiper:only-child .video-preview+.internal-video {
  max-height: max(200px, calc(100vh - ((2rem * var(--body-scale)) * 2) - 2px));
}

.product-info-wrapper .media-preview-thumb-swiper {
  --_btn-padding: calc(.625rem * var(--body-scale));
  --_icon-size: calc(1.5rem * var(--body-scale));
  --_active-space: .5rem;
  --_slide-count: 3;
  --_swiper-padding: calc(var(--_icon-size) + (var(--_btn-padding) * 2) + var(--_slide-gap));
  width: 100%;
  max-width: min(calc((var(--_slide-count) * 100px) + (var(--_slide-gap) * (var(--_slide-count) - 1)) + (var(--_swiper-padding) * 2)), calc(100% - 20px));
  margin-inline: auto;
  padding-inline: var(--_swiper-padding);
  padding-bottom: var(--_active-space);
  margin-block: 1rem;
  overflow: hidden;
  position: relative;
  flex-shrink: 0;
}

@media (min-width: 380px) {
  .product-info-wrapper .media-preview-thumb-swiper {
    --_slide-count: 3;
  }
}

@media (min-width: 540px) {
  .product-info-wrapper .media-preview-thumb-swiper {
    --_slide-count: 5;
  }
}

@media (min-width: 1200px) {
  .product-info-wrapper .media-preview-thumb-swiper {
    --_slide-count: 7;
  }
}

.product-info-wrapper .media-preview-thumb-swiper:has(.swiper-button-lock) {
  max-width: min(calc((var(--_slide-count) * 100px) + (var(--_slide-gap) * (var(--_slide-count) - 1))), calc(100% - 20px));
  padding-inline: 0;
}

.product-info-wrapper .media-preview-thumb-swiper::part(container) {
  overflow: visible;
}

.product-info-wrapper .media-preview-thumb-swiper::part(container)::before,
.product-info-wrapper .media-preview-thumb-swiper::part(container)::after {
  content: "";
  display: block;
  width: calc(var(--_icon-size) + (var(--_btn-padding) * 2));
  height: calc(100% + var(--_active-space));
  background-color: rgb(var(--primary-background));
  position: absolute;
  top: 0;
  z-index: 2;
}

.product-info-wrapper .media-preview-thumb-swiper::part(container)::before {
  left: calc(0px - var(--_slide-gap));
  transform: translateX(-100%);
}

.product-info-wrapper .media-preview-thumb-swiper::part(container)::after {
  right: calc(0px - var(--_slide-gap));
  transform: translateX(100%);
}

.product-info-wrapper .media-preview-thumb-swiper .media-slide {
  width: 100px;
  height: 100px;
  transform: scale(0.8);
  transition: transform 300ms ease-in-out;
}

.product-info-wrapper .media-preview-thumb-swiper .media-slide.swiper-slide-thumb-active {
  transform: scale(1);
}

.product-info-wrapper .media-preview-thumb-swiper .media-slide>* {
  height: 100%;
}

.product-info-wrapper .media-preview-thumb-swiper .image-container img,
.product-info-wrapper .media-preview-thumb-swiper .video-preview,
.product-info-wrapper .media-preview-thumb-swiper .video-preview img {
  height: 100%;
}

:is(.product-info-wrapper .product-media-wrapper, .product-info-wrapper .media-preview-wrapper) img {
  user-drag: none;
  -webkit-user-drag: none;
}





@media(min-width: 768px) {
  .product-info-wrapper .media-main-swiper[data-navigation-style="thumbnails"]~.media-thumb-swiper {
    display: none;
  }
}

@media(max-width: 1023px) {
  .product-info-wrapper .thumb-pagination-wrapper {
    --_thumb-count-value: calc(var(--_thumb-count) - 1);
  }
}

@media(max-width: 767px) {
  .product-info-wrapper .product-media-wrapper.layout-grid:has(.media-slideshow-wrapper)>*:not(.media-slideshow-wrapper) {
    display: none;
  }

  .product-info-wrapper .product-media-wrapper.layout-grid {
    display: block;
  }

  .product-info-wrapper .product-media-wrapper.layout-grid .media-slideshow-wrapper {
    display: block;
  }

  .product-info-wrapper .thumb-pagination-wrapper {
    display: none;
  }
}

@media(max-width: 749px) {
  .product-info-wrapper .product-media-wrapper.constrain-height {
    --_off-section-padding: var(--_section-mobile-padding);
  }
}

/* Product info wrapper - Media - END */

/* Product info wrapper - Details - START */
.product-info-wrapper .product-detail-wrapper>*:not(:last-child) {
  margin-bottom: calc(1.25rem * var(--body-scale));
}

.product-info-wrapper .product-detail-wrapper>.optional-wrapper {
  margin-bottom: 0;
}

.product-info-wrapper .product-detail-wrapper>.optional-wrapper:not(:last-child)>* {
  margin-bottom: calc(1.25rem * var(--body-scale));
}

.product-info-wrapper .product-detail-wrapper .collapsible-wrapper:not(:last-of-type):has(+ .collapsible-wrapper) {
  margin-bottom: 0;
}

.product-info-wrapper .product-vendor p {
  font-size: var(--text-size);
  color: rgb(var(--preheading-color));
  font-weight: 500;
  letter-spacing: calc(var(--preheading-letter-spacing) * 1px);
}

.product-info-wrapper .product-vendor:not(:last-child) {
  margin-bottom: calc(0.625rem * var(--body-scale));
}

.product-info-wrapper .product-price .price-container {
  align-items: center;
}

.product-info-wrapper .product-price .price-container .price-wrapper {
  align-items: center;
}

.product-info-wrapper .product-price .price-container .price-text {
  font-size: var(--text-size-xl);
}

.product-info-wrapper .product-price .price-container .compare-price,
.product-info-wrapper .product-price .price-container .discount-text {
  font-size: var(--text-size);
}

.product-info-wrapper .product-price .price-container .discount-container:before {
  max-width: 4rem;
}

.product-info-wrapper .product-price .tax-detail {
  font-size: var(--text-size-sm);
}

.product-info-wrapper .product-badge {
  color: rgb(var(--heading-color));
  text-transform: uppercase;
  letter-spacing: calc(var(--preheading-letter-spacing) * 1px);
}

.product-info-wrapper .variant-selector,
.product-info-wrapper .variant-selector .variant-selector-item,
.product-info-wrapper .variant-selector .variant-selector-item-option-list,
.product-info-wrapper .variant-selector .variant-selector-item-options label:not(.variant-swatch-item) {
  display: flex;
  flex-direction: row;
  align-items: center;
  flex-wrap: wrap;
  gap: 1rem;
}

.product-info-wrapper .variant-selector {
  gap: 1.25rem;
  flex-direction: column;
  align-items: stretch;
  margin-bottom: calc(1.5rem * var(--body-scale));
}

.product-info-wrapper .variant-selector .variant-selector-item {
  flex-direction: column;
  align-items: stretch;
}

.product-info-wrapper .variant-selector .variant-selector-item:has(.variant-selector-select) {
  row-gap: calc(0.5rem * var(--body-scale));
}

.product-info-wrapper .variant-selector .variant-selector-item .variant-selector-select {
  --_active-border-color: rgb(var(--accent-color));
  --_swatch-padding: 0.125rem;
  --_swatch-radius: 16px;
  --_swatch-size: 2rem;
  max-width: 25rem;
  position: relative;
  z-index: 0;
}

.product-info-wrapper .variant-selector .variant-selector-select .variant-swatch-wrapper {
  position: absolute;
  inset-inline-start: calc(0.375rem * var(--body-scale));
  top: 50%;
  transform: translateY(-50%);
  z-index: 1;
  pointer-events: none;
}

.product-info-wrapper .variant-selector .variant-selector-item .variant-selector-select select {
  width: 100%;
  padding-block: calc(0.625rem * var(--body-scale));
  padding-inline-start: calc(1.125rem * var(--body-scale));
  padding-inline-end: calc(2.75rem * var(--body-scale));
  border-radius: calc(0.22px * var(--button-radius));
  background-color: rgb(var(--primary-background));
  color: rgb(var(--text-color));
  border: 1px solid rgb(var(--border-color));
  font-size: var(--text-size);
  appearance: none;
  -webkit-appearance: none;
  line-height: 1.5717em;
}

.product-info-wrapper .variant-selector .variant-selector-item .variant-selector-select .variant-swatch-wrapper+select {
  padding-inline-start: calc(2.75rem * var(--body-scale));
}

.product-info-wrapper .variant-selector .variant-selector-item .variant-selector-select select::-ms-expand {
  display: none;
}

.product-info-wrapper .variant-selector .variant-selector-item .variant-selector-select .variant-select-arrow {
  position: absolute;
  inset-inline-end: calc(0.625rem * var(--body-scale));
  top: 50%;
  transform: translateY(-50%);
  z-index: 1;
  pointer-events: none;
}

.product-info-wrapper .variant-selector .variant-selector-item-option-list {
  width: 100%;
  margin-bottom: 15px;
}

.product-info-wrapper .variant-selector .variant-selector-item-options label:not(.variant-swatch-item) {
  line-height: 1.5717em;
  max-width: 100%;
  padding-inline: 1.125rem;
  padding-block: .625rem;
  justify-content: center;
  gap: 10px;
  position: relative;
  border-radius: calc(0.22px * var(--button-radius));
  border: 1px solid rgb(var(--border-color));
}

.product-info-wrapper .variant-selector .variant-selector-item-options input~label {
  --_active-border-color: rgb(var(--accent-color));
  cursor: pointer;
}

.product-info-wrapper .variant-selector .variant-selector-item-options input~label:after {
  content: '';
  display: block;
  position: absolute;
  bottom: -8px;
  left: 0px;
  height: 0.1875rem;
  background-color: var(--_active-border-color);
  border-radius: calc(0.02px * var(--button-radius));
  width: 0%;
}

.product-info-wrapper .variant-selector .variant-selector-item-options input:checked~label {
  border-color: var(--_active-border-color);
}

.product-info-wrapper .variant-selector .variant-selector-item-options input:focus-visible~label {
  outline: -webkit-focus-ring-color auto 1px;
}

.product-info-wrapper .variant-selector .variant-selector-item-options input:checked~label:after {
  transition: all 0.2s ease-in-out;
  width: 100%;
  transition: all 0.2s ease-in-out;
}

.product-info-wrapper .variant-selector .variant-selector-item-options input~label:after {
  transition: all 0.2s ease-in-out;
  width: 0%;
  transition: all 0.2s ease-in-out;
}

.product-info-wrapper .variant-selector .variant-selector-item .option-selected {
  display: flex;
  flex-wrap: wrap;
  column-gap: calc(1rem * var(--body-scale));
  row-gap: calc(0.5rem * var(--body-scale));
  align-items: center;
}

.product-info-wrapper .variant-selector .variant-selector-item .option-name {
  color: var(--text-color);
  font-size: var(--text-size);
  font-style: normal;
  font-weight: 400;
  line-height: normal;
  letter-spacing: 2.8px;
  text-transform: uppercase;
  display: flex;
  align-items: center;
  column-gap: calc(1rem * var(--body-scale));
  row-gap: calc(0.5rem * var(--body-scale));
}

.product-info-wrapper .variant-selector .variant-selector-item .option-selected:has(.option-value) .option-name::after {
  content: "";
  display: block;
  width: 2.5rem;
  height: 0.0625rem;
  background-color: rgb(var(--line-color));
}

.product-info-wrapper .variant-selector .variant-selector-item .option-value {
  color: var(--heading-color);
  font-size: var(--text-size);
  font-style: normal;
  font-weight: 700;
  line-height: normal;
  letter-spacing: 2.8px;
}

.product-info-wrapper .variant-selector .variant-selector-item-options input.disabled~label:not(.variant-swatch-item) {
  border-style: dashed;
  background-color: rgb(var(--disabled-background));
  border-color: rgb(var(--disabled-border));
  color: rgb(var(--disabled-label));
  text-decoration: line-through;
}

.product-info-wrapper .variant-selector .variant-swatch-item {
  --_swatch-padding: 0.25rem;
  --_swatch-radius: 18px;
  --_swatch-size: 2.25rem;
  display: flex;
  align-items: center;
  gap: 0.375rem;
  position: relative;
}

.product-info-wrapper .variant-selector .variant-swatch-item::after {
  content: "";
  display: block;
  width: 100%;
  height: 0.1875rem;
  background-color: var(--_active-border-color);
  border-radius: calc(0.02px * var(--button-radius));
  opacity: 0;
  transition: opacity 200ms ease-in-out;
}

.product-info-wrapper .variant-selector input:checked~.variant-swatch-item::after {
  opacity: 1;
}

.product-info-wrapper .variant-selector input:not(.disabled)~.variant-swatch-item:hover::after,
.product-info-wrapper .variant-selector input:focus-visible~.variant-swatch-item::after {
  opacity: 0.5;
}

.product-info-wrapper .variant-selector .variant-swatch-wrapper {
  display: block;
  width: var(--_swatch-size);
  aspect-ratio: 1;
  border: 1px solid rgb(var(--border-color));
  border-radius: calc((var(--_swatch-radius) / 100) * var(--button-radius));
  padding: var(--_swatch-padding);
  position: relative;
  overflow: hidden;
  z-index: 0;
}

.product-info-wrapper .variant-selector input:checked~.variant-swatch-item .variant-swatch-wrapper {
  border-color: var(--_active-border-color);
}

.product-info-wrapper .variant-selector input:focus-visible~.variant-swatch-item .variant-swatch-wrapper {
  outline: -webkit-focus-ring-color auto 1px;
}

.product-info-wrapper .variant-selector .variant-swatch {
  width: 100%;
  height: 100%;
  display: block;
  border-radius: calc(((var(--_swatch-radius) - var(--_swatch-padding)) / 100) * var(--button-radius));
  background: var(--_swatch-background);
  background-size: cover;
  background-position: center;
  box-shadow: 0 0 2px 2px rgb(var(--border-color) / 0.4);
  position: relative;
}

.product-info-wrapper .variant-selector input.disabled~.variant-swatch-item .variant-swatch-wrapper {
  opacity: 0.6;
  border-color: rgb(var(--disabled-border));
}

.product-info-wrapper .variant-selector input.disabled~.variant-swatch-item .variant-swatch-wrapper::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(-45deg);
  transform-origin: 50% 50%;
  width: calc(100% + (var(--_swatch-size) / 2));
  height: 0.125rem;
  background-color: rgb(var(--disabled-border));
}

.product-info-wrapper .variant-selector .variant-swatch-item .swatch-tooltip {
  --_swatch-tooltip-background: rgb(var(--secondary-background));
  font-size: var(--text-size-sm);
  white-space: nowrap;
  display: block;
  line-height: 1;
  padding: 0.25rem 0.5rem;
  background-color: var(--_swatch-tooltip-background);
  position: absolute;
  bottom: calc(100% - (var(--_swatch-size) / 2) + 2.5px);
  left: 50%;
  transform: translate(-50%, 4px);
  z-index: 1;
  border-radius: calc(0.1px * var(--button-radius));
  opacity: 0;
  transition: transform 200ms ease-in-out, opacity 200ms ease-in-out;
}

.product-info-wrapper .variant-selector .variant-swatch-item .swatch-tooltip::after {
  content: "";
  display: block;
  width: 0;
  height: 0;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform-origin: 50% 50%;
  transform: translate(-50%, calc(50% - 2px)) rotate(45deg);
  border: 5px solid transparent;
  border-right-color: var(--_swatch-tooltip-background);
  border-bottom-color: var(--_swatch-tooltip-background);
  border-radius: calc(0.02px * var(--button-radius));
}

.product-info-wrapper .variant-selector .variant-swatch-item:hover .swatch-tooltip,
.product-info-wrapper .variant-selector input:focus-visible~.variant-swatch-item .swatch-tooltip {
  transform: translate(-50%, 0px);
  opacity: 1;
}

.product-info-wrapper .quantity-error-message,
.product-info-wrapper .cart-error-message,
.product-info-wrapper .recipient-error-message {
  align-items: center;
  gap: calc(0.25rem * var(--body-scale));
}

.product-info-wrapper .recipient-error-message {
  align-items: flex-start;
  padding-top: calc(0.125rem * var(--body-scale));
}

.product-info-wrapper .cart-error-message,
.product-info-wrapper .recipient-error-message {
  margin-bottom: calc(0.5rem * var(--body-scale));
}

.product-info-wrapper .quantity-error-message:not([hidden]),
.product-info-wrapper .cart-error-message:not([hidden]),
.product-info-wrapper .recipient-error-message:not([hidden]) {
  display: flex;
}

.product-info-wrapper .quantity-error-message .warning-icon,
.product-info-wrapper .cart-error-message .warning-icon,
.product-info-wrapper .recipient-error-message .warning-icon {
  color: rgb(var(--error-color));
}

.product-info-wrapper .recipient-error-message .warning-icon {
  margin-top: calc(-0.125rem * var(--body-scale));
}

.product-info-wrapper .recipient-error-message ul {
  margin-top: calc(0.25rem * var(--body-scale));
}

.product-info-wrapper .recipient-error-message ul li:not(:last-child) {
  margin-bottom: calc(0.25rem * var(--body-scale));
}

.product-info-wrapper .gift-card-recipient {
  margin-bottom: calc(1rem * var(--body-scale));
}

.product-info-wrapper .gift-card-recipient .recipient-form {
  margin-top: calc(.625rem * var(--body-scale));
}

.product-info-wrapper .gift-card-recipient .recipient-field {
  display: flex;
  flex-direction: column;
  gap: calc(.375rem * var(--body-scale));
}

.product-info-wrapper .gift-card-recipient .recipient-field:not(:last-child) {
  margin-bottom: calc(.875rem * var(--body-scale));
}

.product-info-wrapper .gift-card-recipient .recipient-info {
  font-size: var(--text-size-sm);
}

.product-info-wrapper .gift-card-recipient .checkbox-label {
  display: flex;
  column-gap: calc(.625rem * var(--body-scale));
  align-items: center;
  padding-block: calc(.625rem * var(--body-scale));
  cursor: pointer;
}

.product-info-wrapper .gift-card-recipient .checkbox-input:focus-visible+.checkbox-label {
  outline: -webkit-focus-ring-color auto 1px;
}

.product-info-wrapper .gift-card-recipient .icon-checkbox {
  flex-shrink: 0;
  display: block;
  width: calc(1rem * var(--body-scale));
  aspect-ratio: 1;
  border: 1px solid rgb(var(--accent-color));
  border-radius: calc(.04px * var(--layout-radius));
  color: rgb(var(--accent-color));
}

.product-info-wrapper .gift-card-recipient .icon-checkbox svg {
  opacity: 0;
}

.product-info-wrapper .gift-card-recipient .checkbox-input:checked+.checkbox-label .icon-checkbox svg {
  opacity: 1;
}

.product-info-wrapper .gift-card-recipient input[type="date"] {
  width: 100%;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-image: none;
}

.product-info-wrapper .add-to-cart-wrapper {
  max-width: 460px;
}

.product-info-wrapper .buy-buttons {
  display: block;
}

.product-info-wrapper .add-to-cart {
  width: 100%;
  margin-bottom: calc(1rem * var(--body-scale));
  text-align: center;
  justify-content: center;
}

.shopline-payment-button-wrapper .pay-button-common-item {
  justify-content: center;
  border-radius: calc(0.22px * var(--button-radius)) !important;
  box-shadow: calc(var(--button-shadow-horizontal-offset) * 1px) calc(var(--button-shadow-vertical-offset) * 1px) calc(var(--button-shadow-blur) * 1px) rgba(0, 0, 0, var(--button-shadow-opacity)) !important;
}

.shopline-payment-button-wrapper [aria-disabled="true"] {
  opacity: 0.5;
  cursor: default;
}

.product-info-wrapper .inventory-wrapper .stock-text.available {
  color: rgb(var(--success-color));
}

.product-info-wrapper .inventory-wrapper .stock-text.warning {
  color: rgb(var(--text-color));
}

.product-info-wrapper .inventory-wrapper .stock-text.out-of-stock {
  color: rgb(var(--error-color));
}

.product-info-wrapper .share-wrapper {
  max-width: 460px;
}

.product-info-wrapper .icon-and-text {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: calc(1rem * var(--body-scale));
}

.product-info-wrapper .icon-and-text .icon-contaioner {
  flex-shrink: 0;
}

.product-info-wrapper .icon-and-text .title {
  font-size: var(--text-size-lg);
}

.product-info-wrapper .icon-and-text .title:not(:last-child) {
  margin-bottom: 0.25em;
}

/* Product info wrapper - Details - END */
