.rdhb-product-gallery {
	--rdhb-gap: 12px;
	--rdhb-grid-columns: 3;
	--rdhb-thumbs-columns: 6;
	--rdhb-thumb-size: 80px;
	--rdhb-scrollbar-color: #000000;
	--rdhb-grid-ratio: 4 / 3;
	--rdhb-anim-duration: 420ms;
	--rdhb-anim-stagger: 70ms;
	width: 100%;
	max-width: 100%;
}

.elementor-widget-rdhb-product-gallery .elementor-widget-container {
	width: 100%;
}

.rdhb-product-gallery * {
	box-sizing: border-box;
}

.rdhb-product-gallery__inner {
	display: flex;
	flex-direction: column;
	gap: var(--rdhb-gap);
	min-width: 0;
}

.rdhb-main {
	position: relative;
	width: 100%;
	max-width: 100%;
	min-width: 0;
}

.rdhb-main-track {
	display: grid !important;
	gap: var(--rdhb-gap);
	max-width: 100%;
	min-width: 0;
}

.rdhb-main-slide img,
.rdhb-thumb img {
	display: block;
	width: 100%;
	height: auto;
}

.rdhb-lightbox {
	display: block;
	color: inherit;
}

.rdhb-layout-grid .rdhb-main-track {
	grid-template-columns: repeat(var(--rdhb-grid-columns), minmax(0, 1fr));
}

.rdhb-layout-thumbs-bottom .rdhb-main-track,
.rdhb-layout-thumbs-left .rdhb-main-track {
	grid-template-columns: 1fr;
}

.rdhb-layout-thumbs-bottom .rdhb-main-slide,
.rdhb-layout-thumbs-left .rdhb-main-slide {
	display: none;
}

.rdhb-layout-thumbs-bottom .rdhb-main-slide.is-active,
.rdhb-layout-thumbs-left .rdhb-main-slide.is-active {
	display: block;
}

.rdhb-layout-carousel .rdhb-main-track {
	display: flex !important;
	gap: 0;
	width: 100%;
	max-width: 100%;
}

.rdhb-layout-carousel .rdhb-main-slide {
	flex: 0 0 100%;
	width: 100%;
	max-width: 100%;
}

.rdhb-layout-carousel .rdhb-main {
	overflow: hidden;
}

.rdhb-thumbs {
	display: grid;
	grid-template-columns: repeat(var(--rdhb-thumbs-columns), minmax(0, 1fr));
	gap: calc(var(--rdhb-gap) * 0.6);
}

.rdhb-layout-thumbs-left .rdhb-product-gallery__inner {
	flex-direction: row;
	align-items: flex-start;
}

.rdhb-layout-thumbs-left .rdhb-thumbs {
	order: -1;
	grid-template-columns: 1fr;
	width: var(--rdhb-thumb-size);
}

.rdhb-layout-thumbs-left .rdhb-main {
	flex: 1 1 auto;
}

.rdhb-layout-carousel .rdhb-thumbs,
.rdhb-layout-grid .rdhb-thumbs {
	display: none;
}

.rdhb-thumb {
	border: 1px solid rgba(0, 0, 0, 0.1);
	padding: 0;
	background: transparent;
	cursor: pointer;
	aspect-ratio: 1 / 1;
	overflow: hidden;
}

.rdhb-thumb.is-active {
	border-color: rgba(0, 0, 0, 0.5);
}

.rdhb-scrollbar {
	height: 4px;
	margin-top: calc(var(--rdhb-gap) * 0.8);
	background: rgba(0, 0, 0, 0.08);
	border-radius: 0;
	overflow: hidden;
	display: none;
	left: 0% !important;
	bottom: 0px !important;
	width: 100% !important;
}

.rdhb-layout-carousel .rdhb-scrollbar {
	display: block;
}

.rdhb-scrollbar .swiper-scrollbar-drag {
	background: var(--rdhb-scrollbar-color);
	border-radius: 0;
}

.rdhb-equal-heights:not(.rdhb-layout-carousel):not(.rdhb-fixed-height) .rdhb-main-slide {
	aspect-ratio: var(--rdhb-grid-ratio);
	overflow: hidden;
}

.rdhb-equal-heights.rdhb-layout-carousel:not(.rdhb-fixed-height) .rdhb-main-track,
.rdhb-equal-heights.rdhb-layout-carousel:not(.rdhb-fixed-height) .rdhb-main-slide,
.rdhb-equal-heights.rdhb-layout-carousel:not(.rdhb-fixed-height) .rdhb-lightbox {
	height: 100%;
}

.rdhb-equal-heights.rdhb-layout-carousel:not(.rdhb-fixed-height) .rdhb-main {
	height: var(--rdhb-equal-height, auto);
}

.rdhb-equal-heights.rdhb-layout-carousel:not(.rdhb-fixed-height) .rdhb-main-slide {
	aspect-ratio: auto;
}

.rdhb-equal-heights .rdhb-lightbox {
	width: 100%;
	height: 100%;
}

.rdhb-equal-heights .rdhb-main-slide img {
	height: 100%;
	object-fit: cover;
}

.rdhb-fixed-height .rdhb-main-slide {
	overflow: hidden;
	height: var(--rdhb-fixed-height);
}

.rdhb-fixed-height .rdhb-main-slide img {
	height: 100%;
	object-fit: cover;
}

.rdhb-fixed-height .rdhb-lightbox {
	height: 100%;
}

.rdhb-fixed-height.rdhb-layout-carousel .rdhb-main,
.rdhb-fixed-height.rdhb-layout-carousel .rdhb-main-track,
.rdhb-fixed-height.rdhb-layout-carousel .rdhb-main-slide,
.rdhb-fixed-height.rdhb-layout-carousel .rdhb-lightbox {
	height: var(--rdhb-fixed-height);
}

.rdhb-lightbox-enabled .rdhb-lightbox {
	position: relative;
	overflow: hidden;
}

.rdhb-lightbox-enabled .rdhb-lightbox::after {
	content: '';
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.12);
	opacity: 0;
	transition: opacity 200ms ease;
	pointer-events: none;
}

.rdhb-lightbox-enabled .rdhb-lightbox img {
	transition: transform 240ms ease;
}

.rdhb-lightbox-enabled .rdhb-lightbox:hover::after {
	opacity: 1;
}

.rdhb-lightbox-enabled .rdhb-lightbox:hover img {
	transform: scale(1.03);
}

.rdhb-lightbox-disabled .rdhb-lightbox {
	pointer-events: none;
	cursor: default;
}

.elementor-lightbox,
.dialog-lightbox-widget {
	z-index: 2147483647;
}

.rdhb-animate .rdhb-main-slide,
.rdhb-animate .rdhb-thumb {
	opacity: 0;
	transform: scale(0.98);
	transition: opacity var(--rdhb-anim-duration) cubic-bezier(0.2, 0.8, 0.2, 1),
		transform var(--rdhb-anim-duration) cubic-bezier(0.2, 0.8, 0.2, 1);
	transition-delay: calc(var(--rdhb-anim-index) * var(--rdhb-anim-stagger));
}

.rdhb-animate .rdhb-main-slide {
    height: 604px !important;
}

.rdhb-animate .rdhb-main-slide.is-loaded,
.rdhb-animate .rdhb-thumb.is-loaded {
	opacity: 1;
	transform: scale(1);
}

@media (prefers-reduced-motion: reduce) {
	.rdhb-animate .rdhb-main-slide,
	.rdhb-animate .rdhb-thumb {
		transition: none;
		opacity: 1;
		transform: none;
	}
}

@media (max-width: 1024px) {
	.rdhb-product-gallery {
		max-width: 100vw;
		overflow: hidden;
	}

	.rdhb-layout-carousel .rdhb-main {
		max-width: 100vw;
	}

	.rdhb-layout-thumbs-left .rdhb-product-gallery__inner {
		gap: var(--rdhb-gap);
	}
	.rdhb-animate .rdhb-main-slide {
    	height: 476px !important;
    }
}

@media (max-width: 767px) {
	.rdhb-product-gallery {
		max-width: 100vw;
		overflow: hidden;
	}

	.rdhb-layout-carousel .rdhb-main {
		max-width: 100vw;
	}

	.rdhb-layout-thumbs-left .rdhb-product-gallery__inner {
		flex-direction: column;
	}

	.rdhb-layout-thumbs-left .rdhb-thumbs {
		width: 100%;
		grid-template-columns: repeat(var(--rdhb-thumbs-columns), minmax(0, 1fr));
		order: 0;
	}
}