product-media.product-media-slider {
	position: relative
}

product-media.product-media-slider div[data-product-badge] {
	position: absolute;
	top: 5px;
	left: 5px;
	width: fit-content;
	max-width: 200px
}

@media (min-width:768px) {
	product-media.product-media-slider div[data-product-badge] {
		left: 15px;
		top: 15px
	}
}

@media screen and (max-width:767px) {
	product-media.product-media-slider div[data-product-badge].product-media-badge--extra-spacing {
		top: 8px;
		left: 8px
	}
}

product-media.product-media-slider div[data-product-badge] .custom-badge,
product-media.product-media-slider div[data-product-badge] .preorder-badge,
product-media.product-media-slider div[data-product-badge] .sale-badge,
product-media.product-media-slider div[data-product-badge] .sold-out-badge {
	position: relative;
	top: unset;
	left: unset;
	max-width: unset
}

product-media.product-media-slider .product-medias__view-in-space {
	width: 100%;
	max-width: calc(100% - 2px);
	box-sizing: border-box;
	min-height: 44px;
	margin: 0 auto;
	padding: 10px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--view-in-space-button-background);
	color: var(--text-color)
}

product-media.product-media-slider .product-medias__view-in-space[data-shopify-xr-hidden] {
	display: none
}

product-media.product-media-slider .product-medias__view-in-space svg {
	margin-right: 10px
}

product-media.product-media-slider .custom-aspect-ratio .view-in-space--wrapper {
	position: absolute;
	bottom: 0;
	left: 0;
	z-index: 100;
	display: flex;
	width: 100%;
	align-items: center;
	justify-content: center
}

product-media.media-type-paginated,
product-media.media-type-slider {
	display: block;
	overflow: hidden;
	position: relative
}

product-media.media-type-paginated [data-slider-main],
product-media.media-type-slider [data-slider-main] {
	width: 100%;
	height: 100%;
	max-width: 100%;
	max-height: 100%;
	position: relative
}

product-media.media-type-paginated .media-ratio--square,
product-media.media-type-paginated .media-ratio--tall,
product-media.media-type-paginated .media-ratio--wide,
product-media.media-type-slider .media-ratio--square,
product-media.media-type-slider .media-ratio--tall,
product-media.media-type-slider .media-ratio--wide {
	object-fit: cover
}

product-media.media-type-paginated .media-ratio--square,
product-media.media-type-slider .media-ratio--square {
	aspect-ratio: 1/1
}

product-media.media-type-paginated .media-ratio--tall,
product-media.media-type-slider .media-ratio--tall {
	aspect-ratio: 2/3
}

product-media.media-type-paginated .media-ratio--wide,
product-media.media-type-slider .media-ratio--wide {
	aspect-ratio: 4/3
}

product-media.media-type-paginated .media-ratio--adapt_to_first_image:not(.icon--placeholder),
product-media.media-type-slider .media-ratio--adapt_to_first_image:not(.icon--placeholder) {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover
}
product-media.media-type-thumbnails .media-ratio--square {
  object-fit: contain;
  width: 95% !important;
    margin-left: auto;
    margin-right: auto;
}


product-media.media-type-paginated .responsive-image-wrapper,
product-media.media-type-paginated a[data-main-media-link],
product-media.media-type-slider .responsive-image-wrapper,
product-media.media-type-slider a[data-main-media-link] {
	display: flex;
	height: fit-content;
	width: 100%;
	position: relative
}

product-media.media-type-paginated .media-slider-navigation,
product-media.media-type-slider .media-slider-navigation {
	display: flex;
	align-items: center;
	position: absolute;
	margin: 5px;
	gap: 10px;
	right: 0;
	top: 0;
	z-index: 10;
	color: var(--text-color);
	background-color: var(--body-color-transparent50)
}

@media (min-width:768px) {
	product-media.media-type-paginated .media-slider-navigation,
	product-media.media-type-slider .media-slider-navigation {
		margin: 15px
	}
}

product-media.media-type-paginated .media-slider-navigation .flex-next,
product-media.media-type-paginated .media-slider-navigation .flex-prev,
product-media.media-type-slider .media-slider-navigation .flex-next,
product-media.media-type-slider .media-slider-navigation .flex-prev {
	display: flex;
	align-items: center;
	justify-content: center
}

product-media.media-type-thumbnails {
	overflow: hidden;
	display: grid;
	gap: 15px
}

product-media.media-type-thumbnails .thumb-next,
product-media.media-type-thumbnails .thumb-prev {
	position: absolute;
	top: 50%;
	z-index: 10;
	transform: translateY(-50%);
	display: flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	border-radius: var(--alt-btn-border-radius);
	color: var(--text-color);
	background-color: var(--body-color)
}

@media (min-width:768px) {
	product-media.media-type-thumbnails .thumb-next,
	product-media.media-type-thumbnails .thumb-prev {
		opacity: 0
	}
}

@media screen and (min-width:768px) and (prefers-reduced-motion:no-preference) {
	product-media.media-type-thumbnails .thumb-next,
	product-media.media-type-thumbnails .thumb-prev {
		transition: opacity .2s ease-out, transform .2s ease-out
	}
}

product-media.media-type-thumbnails .thumb-prev {
	display: flex;
	left: 10px
}

@media screen and (min-width:768px) {
	product-media.media-type-thumbnails .thumb-prev {
		left: 0
	}
}

product-media.media-type-thumbnails .thumb-prev svg {
	position: relative;
	left: -1px
}

product-media.media-type-thumbnails .thumb-next {
	display: flex;
	right: 10px
}

@media screen and (min-width:768px) {
	product-media.media-type-thumbnails .thumb-next {
		right: 0
	}
}

product-media.media-type-thumbnails .thumb-next svg {
	position: relative;
	right: -1px
}

product-media.media-type-thumbnails .thumbnail-media--main-media:hover .thumb-next,
product-media.media-type-thumbnails .thumbnail-media--main-media:hover .thumb-prev {
	opacity: 1
}

@media screen and (min-width:768px) {
	product-media.media-type-thumbnails .thumbnail-media--main-media:hover .thumb-prev {
		transform: translate(100%, -50%)
	}
	product-media.media-type-thumbnails .thumbnail-media--main-media:hover .thumb-next {
		transform: translate(-100%, -50%)
	}
}

product-media.media-type-thumbnails .thumbnail-media--main-media.media--single .thumb-next,
product-media.media-type-thumbnails .thumbnail-media--main-media.media--single .thumb-prev {
	display: none
}

product-media.media-type-thumbnails .thumbnail-media--main-media:not(.media--single) .swiper-slide .icon--placeholder,
product-media.media-type-thumbnails .thumbnail-media--main-media:not(.media--single) .swiper-slide iframe,
product-media.media-type-thumbnails .thumbnail-media--main-media:not(.media--single) .swiper-slide img,
product-media.media-type-thumbnails .thumbnail-media--main-media:not(.media--single) .swiper-slide model-viewer,
product-media.media-type-thumbnails .thumbnail-media--main-media:not(.media--single) .swiper-slide video {
	opacity: 0;
	transition: opacity .7s cubic-bezier(.02, .01, 0, .95), 2s transform
}

product-media.media-type-thumbnails .thumbnail-media--main-media:not(.media--single) .swiper-slide-active .icon--placeholder,
product-media.media-type-thumbnails .thumbnail-media--main-media:not(.media--single) .swiper-slide-active iframe,
product-media.media-type-thumbnails .thumbnail-media--main-media:not(.media--single) .swiper-slide-active img,
product-media.media-type-thumbnails .thumbnail-media--main-media:not(.media--single) .swiper-slide-active model-viewer,
product-media.media-type-thumbnails .thumbnail-media--main-media:not(.media--single) .swiper-slide-active video {
	opacity: 1
}

product-media.media-type-thumbnails .thumbnail-media--main-media .swiper-slide:not(.swiper-slide-active) .round-icon-btn-lg {
	display: none
}

product-media.media-type-thumbnails.thumbnails-right {
	grid-template-columns: 1fr minmax(0, 70px);
	grid-template-rows: 1fr
}

product-media.media-type-thumbnails.thumbnails-right .thumbnail-media--main-media {
	grid-column: 1/2;
	grid-row: 1/2
}

product-media.media-type-thumbnails.thumbnails-right .thumbnail-media--thumbnails {
	grid-column: 2/3;
	grid-row: 1/2
}

product-media.media-type-thumbnails.thumbnails-below {
	grid-template-columns: 1fr;
	grid-template-rows: 1fr minmax(0, auto)
}

product-media.media-type-thumbnails.thumbnails-below .thumbnail-media--main-media {
	grid-column: 1/2;
	grid-row: 1/2
}

product-media.media-type-thumbnails.thumbnails-below .thumbnail-media--thumbnails {
	width: 100%;
	max-width: 100%;
	grid-column: 1/2;
	grid-row: 2/3;
	position: relative
}

product-media.media-type-thumbnails.thumbnails-below .thumbnail-media--thumbnails.swiper-center-slides .swiper-wrapper {
	width: fit-content;
	left: 50%;
	transform: translateX(-50%) !important
}

product-media.media-type-thumbnails.thumbnails-below .thumbnail-media--thumbnails:not(.swiper-initialized) .swiper-wrapper .swiper-slide {
	width: 70px;
	margin-right: 15px
}

product-media.media-type-thumbnails.thumbnails-below .thumbnail-media--thumbnails:before {
	content: "";
	display: block;
	position: absolute;
	width: 30px;
	height: 100%;
	background: linear-gradient(to left, rgba(0, 0, 0, 0), var(--body-color));
	left: 0;
	bottom: 0;
	z-index: 10;
	pointer-events: none;
	opacity: 0
}

@media screen and (prefers-reduced-motion:no-preference) {
	product-media.media-type-thumbnails.thumbnails-below .thumbnail-media--thumbnails:before {
		transition: opacity .4s ease
	}
}

product-media.media-type-thumbnails.thumbnails-below .thumbnail-media--thumbnails:after {
	content: "";
	display: block;
	position: absolute;
	width: 30px;
	height: 100%;
	background: linear-gradient(to right, rgba(0, 0, 0, 0), var(--body-color));
	right: 0;
	bottom: 0;
	z-index: 10;
	pointer-events: none
}

@media screen and (prefers-reduced-motion:no-preference) {
	product-media.media-type-thumbnails.thumbnails-below .thumbnail-media--thumbnails:after {
		transition: opacity .4s ease
	}
}

product-media.media-type-thumbnails.thumbnails-below .thumbnail-media--thumbnails.is-translated:before {
	opacity: 0
}

product-media.media-type-thumbnails.thumbnails-below .thumbnail-media--thumbnails.end-reached:after,
product-media.media-type-thumbnails.thumbnails-below .thumbnail-media--thumbnails.swiper-center-slides:after,
product-media.media-type-thumbnails.thumbnails-below .thumbnail-media--thumbnails.swiper-center-slides:before {
	opacity: 0
}

product-media.media-type-thumbnails.thumbnails-below .thumbnail-media--thumbnails .swiper-wrapper {
	display: flex
}

product-media.media-type-thumbnails.thumbnails-below .thumbnail-media--thumbnails .swiper-wrapper .swiper-slide {
	padding: 1px 0
}

product-media.media-type-thumbnails.thumbnails-below .thumbnail-media--thumbnails .swiper-wrapper .swiper-slide:last-child {
	margin-right: 0 !important
}

product-media.media-type-thumbnails.thumbnails-left {
	grid-template-columns: minmax(0, 70px) 1fr;
	grid-template-rows: 1fr
}

product-media.media-type-thumbnails.thumbnails-left .thumbnail-media--main-media {
	grid-column: 2/3;
	grid-row: 1/2
}

product-media.media-type-thumbnails.thumbnails-left .thumbnail-media--thumbnails {
	grid-column: 1/2;
	grid-row: 1/2
}

product-media.media-type-thumbnails.thumbnails-left .thumbnail-media--thumbnails,
product-media.media-type-thumbnails.thumbnails-right .thumbnail-media--thumbnails {
	position: relative
}

product-media.media-type-thumbnails.thumbnails-left .thumbnail-media--thumbnails:after,
product-media.media-type-thumbnails.thumbnails-right .thumbnail-media--thumbnails:after {
	content: "";
	display: block;
	position: absolute;
	height: 30px;
	background: linear-gradient(rgba(0, 0, 0, 0), var(--body-color));
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 10;
	pointer-events: none
}

product-media.media-type-thumbnails .media-ratio--tall,
product-media.media-type-thumbnails .media-ratio--wide {
	object-fit: cover
}

product-media.media-type-thumbnails .media-ratio--square {
	aspect-ratio: 1/1
}

product-media.media-type-thumbnails .media-ratio--tall {
	aspect-ratio: 2/3
}

product-media.media-type-thumbnails .media-ratio--wide {
	aspect-ratio: 4/3
}

product-media.media-type-thumbnails .media-ratio--adapt_to_first_image:not(.icon--placeholder) {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover
}

product-media.media-type-thumbnails .responsive-image-wrapper,
product-media.media-type-thumbnails a[data-main-media-link] {
	display: flex;
	height: fit-content;
	width: 100%;
	position: relative
}

product-media.media-type-thumbnails .thumbnail-media--main-media {
	width: 100%;
	height: 100%;
	max-width: 100%;
	max-height: 100%
}

product-media.media-type-thumbnails .thumbnail-media--thumbnails {
	max-height: 100%;
	width: 100%
}

product-media.media-type-thumbnails .thumbnail-media--thumbnails .swiper-wrapper .swiper-slide {
	cursor: pointer;
	position: relative;
	min-width: 60px
}

product-media.media-type-thumbnails .thumbnail-media--thumbnails .swiper-wrapper .swiper-slide .icon--placeholder,
product-media.media-type-thumbnails .thumbnail-media--thumbnails .swiper-wrapper .swiper-slide .responsive-image-wrapper {
	box-sizing: border-box;
	border: 1px solid var(--text-color)
}

product-media.media-type-thumbnails .thumbnail-media--thumbnails .swiper-wrapper .swiper-slide .icon--placeholder:hover,
product-media.media-type-thumbnails .thumbnail-media--thumbnails .swiper-wrapper .swiper-slide .responsive-image-wrapper:hover
{
  
  border: 1px solid var(--site-accent-color);
}



product-media.media-type-thumbnails .thumbnail-media--thumbnails .swiper-wrapper .swiper-slide .product-medias__emblem {
	position: absolute;
	z-index: 1;
	right: 7px;
	top: 7px;
	width: 24px;
	height: 24px;
	background-color: var(--body-color-transparent40);
	color: var(--text-color)
}

product-media.media-type-thumbnails .thumbnail-media--thumbnails .swiper-wrapper .swiper-slide .product-medias__emblem svg {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%)
}

product-media.media-type-thumbnails .thumbnail-media--thumbnails .swiper-wrapper .swiper-slide-thumb-active .icon--placeholder,
product-media.media-type-thumbnails .thumbnail-media--thumbnails .swiper-wrapper .swiper-slide-thumb-active .responsive-image-wrapper {
	border: 1px solid var(--site-accent-color);
	outline: 2px solid var(--body-color);
	outline-offset: -3px
}

product-media.product-media-slider.single-media {
	display: flex
}

product-media div[data-media-wrapper]:has(model-viewer) {
	position: relative;
	width: 100%;
	height: 100%;
	max-width: 100%;
	max-height: 100%
}

product-media .media-buffer--left,
product-media .media-buffer--right {
	position: absolute;
	width: 30px;
	height: 100%;
	top: 0;
	z-index: 30;
	background-color: transparent
}

@media (min-width:768px) {
	product-media .media-buffer--left,
	product-media .media-buffer--right {
		display: none
	}
}

product-media .media-buffer--left {
	left: -15px
}

product-media .media-buffer--right {
	right: -15px
}

product-media .swiper:not(.swiper-initialized) .media-slider-navigation {
	visibility: hidden
}

product-media .swiper-wrapper {
	transition-timing-function: cubic-bezier(.25, .85, .2, 1)
}

.shopify-model-viewer-ui {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	max-width: 100%
}

.shopify-model-viewer-ui .shopify-model-viewer-ui__controls-area {
	background-color: var(--body-color);
	border-color: var(--text-color-transparent05)
}

.shopify-model-viewer-ui .shopify-model-viewer-ui__button {
	color: var(--text-color)
}

.shopify-model-viewer-ui .shopify-model-viewer-ui__button:focus,
.shopify-model-viewer-ui .shopify-model-viewer-ui__button:hover {
	color: var(--text-color-transparent5)
}

.shopify-model-viewer-ui button.shopify-model-viewer-ui__button--poster {
	visibility: hidden
}

.shopify-model-viewer-ui .shopify-model-viewer-ui__button--control:not(:last-child):after {
	border-color: var(--text-color-transparent05)
}

.shopify-model-viewer-ui model-viewer:not(.disabled)+.controls-overlay {
	visibility: hidden
}

.shopify-model-viewer-ui model-viewer:not(.disabled)+.controls-overlay .controls-area {
	visibility: visible
}

.shopify-model-viewer-ui model-viewer {
	--progress-bar-height: 0;
	--progress-bar-color: transparent;
	width: 100%;
	height: 100%;
	max-width: 100%;
	background-color: #fff
}

.pswp--animated .pswp__item--active {
	transform: translateX(100%)
}

#pswp__items {
	transition-duration: .4s
}

.pswp__counter {
	color: var(--primary-btn-bg-color);
	margin-top: 10px;
	margin-inline-start: 15px
}

.pswp__bullets-indicator {
	position: absolute;
	z-index: 3;
	bottom: 10px;
	left: 0;
	width: 100%;
	text-align: center;
	transition: .3s opacity;
	transform: translate3d(0, 0, 0)
}

.pswp__bullets-indicator .pswp__bullet {
	display: inline-block;
	width: 11px;
	height: 11px;
	cursor: pointer;
	margin: 0 4px;
	background: 0 0;
	border: 1px solid var(--primary-btn-bg-color);
	border-radius: 100%
}

.pswp__bullets-indicator .pswp__bullet.pswp__bullet--active,
.pswp__bullets-indicator .pswp__bullet:hover {
	background: var(--primary-btn-bg-color)
}

button.pswp__button {
	width: 32px;
	height: 32px;
	opacity: 1;
	background-color: var(--primary-btn-bg-color)
}

button.pswp__button.pswp__button--arrow {
	position: absolute
}

button.pswp__button:active,
button.pswp__button:focus,
button.pswp__button:hover {
	background-color: var(--primary-btn-bg-color);
	color: var(--primary-btn-text-color)
}

button.pswp__button svg.pswp__icn {
	position: relative;
	top: 0;
	left: 0;
	fill: none;
	color: var(--primary-btn-text-color);
	filter: none;
	-webkit-filter: none
}

button.pswp__button.pswp__button--arrow--next {
	margin-inline-end: 15px
}

button.pswp__button.pswp__button--arrow--next svg.pswp__icn {
	left: 1px
}

button.pswp__button.pswp__button--arrow--prev {
	margin-inline-start: 15px
}

button.pswp__button.pswp__button--arrow--prev svg.pswp__icn {
	left: -1px
}

button.pswp__button.pswp__button--zoom {
	margin-top: 15px
}

button.pswp__button.pswp__button--close {
	margin-top: 15px;
	margin-inline-end: 15px
}

.pswp--zoomed-in button.pswp__button svg.pswp__icn#pswp__icn--zoom-out {
	position: absolute
}

.pswp:not(.pswp--zoom-allowed) .pswp__button--zoom {
	display: none
}

#pswp__icn--zoom-out {
	visibility: hidden
}

#pswp__icn--zoom-in {
	visibility: visible
}

.pswp--zoomed-in #pswp__icn--zoom-in {
	visibility: hidden
}

.pswp--zoomed-in #pswp__icn--zoom-out {
	visibility: visible
}

.pswp__img {
	background: var(--color-primary-background)
}
/*Thumbnails*/
.thumbnail-media--thumbnails:before,
				.thumbnail-media--thumbnails:after {
					display: none !important;
					content: none !important;
				}

				.thumbnail-media--thumbnails.swiper .swiper-wrapper {
					display: flex !important;
					flex-wrap: wrap !important;
					transform: none !important;
					transition: none !important;
					will-change: auto !important;
					justify-content: flex-start !important;
					gap: 0.5rem;
					overflow: visible !important;
					max-width: 100% !important;
					width: 100% !important;
					transform: none !important; /* This is key to stop Swiper’s shifting */
					transition: none !important;
					will-change: auto !important;
				}
				/* Force swiper-wrapper thumbnails to behave like a flex-wrap grid */
				.thumbnail-media--thumbnails.swiper .swiper-wrapper {
					display: flex !important;
					flex-wrap: wrap !important;
					gap: 0.75rem; /* optional spacing between thumbnails */
					max-height: 350px !important;
					overflow: visible !important;
					height: 100% !important;
				}

				/* Make each thumbnail fixed size */
				.thumbnail-media--thumbnails .swiper-slide {
					width: calc(14.2857% - 0.5rem) !important; /* 100 / 7 = ~14.2857% */
					flex: 0 0 auto;
					height: auto;
					margin: 0 !important;
					visibility: visible !important;
				}

				/* Optional: Adjust for mobile */
				@media (max-width: 768px) {
					.thumbnail-media--thumbnails .swiper-slide {
						width: calc(33.333% - 0.5rem) !important;
					}
				}

				.product-medias__thumbnail__image {
					border-radius: 0.5rem;
					overflow: hidden;
					aspect-ratio: 1 / 1;
					object-fit: cover;
				}

				/* Ensure each thumbnail group stacks vertically */
				.thumbnail-media--thumbnails.swiper {
					display: block !important;
					width: 100% !important;
					margin-bottom: 2.5rem;
					overflow: visible !important;
					position: relative !important;
				}

				/* Proper grid layout for thumbnails */
				.thumbnail-media--thumbnails .swiper-wrapper {
					display: flex !important;
					flex-wrap: wrap !important;
					gap: 0.5rem;
					justify-content: flex-start !important;
					transform: none !important;
					transition: none !important;
					will-change: auto !important;
					overflow: visible !important;
					height: auto !important;
					max-height: none !important;
				}

				/* Each thumbnail */
				.thumbnail-media--thumbnails .swiper-slide {
					width: calc(14.2857% - 0.5rem) !important; /* 7 per row */
					flex: 0 0 auto;
					height: auto;
					margin: 0 !important;
					overflow: visible !important;
					visibility: visible !important;
				}

				/* Mobile override: 3 per row */
				@media (max-width: 768px) {
					.thumbnail-media--thumbnails .swiper-slide {
						width: calc(33.333% - 0.5rem) !important;
					}
				}
				.thumbnail-gallery-group {
					display: block;
					clear: both;
					width: 100%;
					margin-bottom: 2rem;
					overflow: visible;
				}

				.thumbnail-gallery-group .thumbnail-media--thumbnails {
					overflow: visible !important;
					position: relative;
				}

				.thumbnail-gallery-group .swiper-wrapper {
					overflow: visible !important;
					flex-wrap: wrap !important;
					transform: none !important;
				}

				.thumbnail-gallery-group .swiper-slide {
					overflow: visible !important;
					visibility: visible !important;
				}
				/*.thumbnail-media--thumbnails.swiper {
					border: 2px dashed hotpink;
					background: rgba(255, 0, 255, 0.05);
				}*/

{% style %}
    {% if device == 'mobile' %}
        @media (max-width: 767px) {
        #{{ id }} {
        visibility: visible;
        height: unset;
        }
        }

        @media (min-width: 768px) {
        #{{ id }} {
        visibility: hidden;
        height: 0;
        }

        #{{ id }} deferred-media {
        display: none;
        }
        }
    {% elsif device == 'desktop' %}
        @media (max-width: 767px) {
        #{{ id }} {
        visibility: hidden;
        height: 0;
        }

        #{{ id }} deferred-media {
        display: none;
        }
        }

        @media (min-width: 768px) {
        #{{ id }} {
        visibility: visible;
        height: unset;
        }
        }
    {% endif %}
{% endstyle %}