/**
 * Thumbnail Slider CSS
 * Live Builder uses higher-specificity selectors; !important only where
 * we must override inline styles (e.g. Swiper).
 *
 * @package Thumbnail_Slider_For_Avada_Builder
 */

/* ========== Live Builder overrides ========== */

.fusion-builder-live .tsab-slider-container .tsab-main-slider .fusion-builder-module-controls-container,
.fusion-builder-live .tsab-slider-container .tsab-main-slider .fusion-builder-module-controls,
.fusion-builder-live .tsab-slider-container .tsab-thumb-slider .fusion-builder-module-controls-container,
.fusion-builder-live .tsab-slider-container .tsab-thumb-slider .fusion-builder-module-controls {
	display: none;
}

.fusion-builder-live .tsab-slider-container .tsab-main-slider .swiper-wrapper > *,
.fusion-builder-live .tsab-slider-container .tsab-thumb-slider .swiper-wrapper > *,
.fusion-builder-live .tsab-slider-container .tsab-main-slider .fusion-builder-live-child-element,
.fusion-builder-live .tsab-slider-container .tsab-thumb-slider .fusion-builder-live-child-element {
	margin: 0;
	padding: 0;
	border: none;
	box-shadow: none;
	background: transparent;
	outline: none;
	display: block;
	pointer-events: none;
}

.fusion-builder-live .tsab-slider-container .tsab-thumb-slider .tsab-slide {
	pointer-events: auto;
	cursor: pointer;
}

.fusion-builder-live .tsab-slider-container .tsab-main-slider .swiper-button-prev,
.fusion-builder-live .tsab-slider-container .tsab-main-slider .swiper-button-next {
	pointer-events: auto;
}

.fusion-builder-live .tsab-slider-container .tsab-main-slider .fusion-builder-module-controls-container {
	pointer-events: auto;
	z-index: 99;
}

.fusion-builder-live .tsab-slider-container .tsab-main-slider .swiper-slide {
	flex-shrink: 0;
	width: 100%;
	height: 100%;
	position: relative;
	display: block;
}

.fusion-builder-live .tsab-slider-container .tsab-main-slider .swiper-wrapper {
	display: flex;
	position: relative;
	width: 100%;
	height: 100%;
	z-index: 1;
	box-sizing: content-box;
	transition-property: transform;
}

.fusion-builder-live .tsab-slider-container .tsab-thumb-slider .swiper-wrapper {
	display: flex;
}

.fusion-builder-live .tsab-slider-container .tsab-thumb-slider .swiper-slide {
	width: auto;
	flex-shrink: 0;
	display: block;
	margin-right: 10px;
	border: var(--tsab-thumb-border-size, 0px) solid var(--tsab-thumb-border-color, #cccccc);
	opacity: var(--tsab-thumb-opacity, 0.6);
	transition: all 0.3s ease;
}

.fusion-builder-live .tsab-slider-container .tsab-thumb-slider .swiper-slide:hover {
	opacity: 1;
}

.fusion-builder-live .tsab-slider-container .tsab-thumb-slider .swiper-slide.swiper-slide-thumb-active {
	opacity: 1;
	border-color: var(--tsab-thumb-active-border-color, #0073aa);
}

.fusion-builder-live .tsab-slider-container .tsab-main-slider .swiper-slide img,
.fusion-builder-live .tsab-slider-container .tsab-thumb-slider .swiper-slide img {
	max-width: 100%;
	height: auto;
	display: block;
}

.fusion-builder-live .tsab-slider-container {
	position: relative;
	box-sizing: border-box;
	margin-left: 0;
	margin-right: 0;
	padding-left: 0;
	padding-right: 0;
}

.fusion-builder-live .tsab-slider-container .tsab-main-slider {
	overflow: hidden;
}

.fusion-builder-live .tsab-slider-container .tsab-main-slider .swiper-slide img,
.fusion-builder-live .tsab-slider-container .tsab-main-slider img {
	width: 100%;
	max-width: 100%;
	height: auto;
	display: block;
	vertical-align: top;
}

/* Smooth height: let Swiper set the main slider height via inline style; don’t override it */
.tsab-slider-container[data-smooth-height="yes"] .tsab-main-slider,
.fusion-builder-live .tsab-slider-container[data-smooth-height="yes"] .tsab-main-slider {
	min-height: 0;
	overflow: hidden;
}

/* Don’t stretch slides so each keeps its natural height and we can measure the active one */
.tsab-slider-container[data-smooth-height="yes"] .tsab-main-slider .swiper-wrapper,
.fusion-builder-live .tsab-slider-container[data-smooth-height="yes"] .tsab-main-slider .swiper-wrapper {
	align-items: flex-start;
}

.tsab-slider-container[data-smooth-height="yes"] .tsab-main-slider .swiper-slide,
.fusion-builder-live .tsab-slider-container[data-smooth-height="yes"] .tsab-main-slider .swiper-slide {
	height: auto;
	box-sizing: border-box;
	z-index: 1;
}

/* Active slide on top so a taller next/prev slide doesn’t show behind the short one */
.tsab-slider-container[data-smooth-height="yes"] .tsab-main-slider .swiper-slide-active,
.fusion-builder-live .tsab-slider-container[data-smooth-height="yes"] .tsab-main-slider .swiper-slide-active {
	z-index: 2;
	position: relative;
}

.fusion-builder-live .tsab-slider-container[data-smooth-height="no"] .tsab-main-slider {
	min-height: 200px;
}

.fusion-builder-live .tsab-slider-container .tsab-main-slider,
.fusion-builder-live .tsab-slider-container .tsab-thumb-slider {
	position: relative;
}

.fusion-builder-live .tsab-slider-container[data-thumb-height="auto"] .tsab-thumb-slider {
	min-height: 0;
}

/* Override Swiper’s inline height on thumb wrapper in Live when using auto (match front-end) */
.fusion-builder-live .tsab-slider-container[data-thumb-height="auto"] .tsab-thumb-slider .swiper-wrapper {
	height: auto !important;
}

.fusion-builder-live .tsab-slider-container:not([data-thumb-height="auto"]) .tsab-thumb-slider {
	min-height: var(--tsab-thumb-height, 80px);
	height: var(--tsab-thumb-height, 80px);
}

/* Slider Container */
.tsab-slider-container {
	max-width: 100%;
	width: 100%;
	position: relative;
	overflow: hidden;
	margin-left: auto;
	margin-right: auto;
}

/* Main Slider */
.tsab-main-slider {
	margin-bottom: 15px;
	width: 100%;
	max-width: 100%;
	position: relative;
	overflow: hidden;
}

/* Main slider wrapper must be flex for Swiper */
.tsab-main-slider .swiper-wrapper {
	position: relative;
	width: 100%;
	height: 100%;
	z-index: 1;
	display: flex;
	transition-property: transform;
	box-sizing: content-box;
}

/* Main slider slides */
.tsab-main-slider .swiper-slide {
	flex-shrink: 0;
	width: 100%;
	height: 100%;
	position: relative;
	transition-property: transform;
}

/* 3D Effects Support (Coverflow, Flip) */
.tsab-main-slider.swiper-flip,
.tsab-main-slider.swiper-coverflow {
	overflow: visible;
}

.tsab-main-slider .swiper-cube-shadow,
.tsab-main-slider .swiper-slide-shadow,
.tsab-main-slider .swiper-slide-shadow-left,
.tsab-main-slider .swiper-slide-shadow-right,
.tsab-main-slider .swiper-slide-shadow-top,
.tsab-main-slider .swiper-slide-shadow-bottom {
	display: block;
}

.tsab-main-slider .swiper-wrapper {
	display: flex;
	transition-property: transform;
}

.tsab-main-slider .swiper-slide {
	position: relative;
	flex-shrink: 0;
	width: 100%;
	height: auto;
	display: block;
}

.tsab-main-slider img {
	display: block;
	width: 100%;
	height: auto;
}

/* Navigation Arrows */
.tsab-main-slider .swiper-button-prev,
.tsab-main-slider .swiper-button-next {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	color: #fff;
	background: rgba(0, 0, 0, 0.5);
	width: 44px;
	height: 44px;
	border-radius: 50%;
	z-index: 10;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 18px;
	transition: background 0.3s ease;
}

.tsab-main-slider .swiper-button-prev {
	left: 10px;
}

.tsab-main-slider .swiper-button-prev svg {
	transform: rotate(180deg);
}

.tsab-main-slider .swiper-button-next {
	right: 10px;
}

.tsab-main-slider .swiper-button-prev:hover,
.tsab-main-slider .swiper-button-next:hover {
	background: rgba(0, 0, 0, 0.7);
}

.tsab-main-slider .swiper-button-prev.swiper-button-disabled,
.tsab-main-slider .swiper-button-next.swiper-button-disabled {
	opacity: 0.35;
	cursor: not-allowed;
}

/* Thumbnail Slider */
.tsab-thumb-slider {
	width: 100%;
	max-width: 100%;
	overflow: hidden;
}

/* Fixed thumbnail height (Design option: Fixed px) */
.tsab-slider-container:not([data-thumb-height="auto"]) .tsab-thumb-slider {
	height: var(--tsab-thumb-height, 80px);
}

.tsab-slider-container:not([data-thumb-height="auto"]) .tsab-thumb-slider .swiper-slide {
	height: var(--tsab-thumb-height, 80px);
	flex-shrink: 0;
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: center;
}

.tsab-slider-container:not([data-thumb-height="auto"]) .tsab-thumb-slider img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.tsab-thumb-slider .swiper-wrapper {
	display: flex;
	align-items: flex-start;
}

.tsab-slider-container:not([data-thumb-height="auto"]) .tsab-thumb-slider .swiper-wrapper {
	align-items: stretch;
}

.tsab-thumb-slider .swiper-slide {
	width: auto;
	height: auto;
	cursor: pointer;
	opacity: var(--tsab-thumb-opacity, 0.6);
	border: var(--tsab-thumb-border-size, 0px) solid var(--tsab-thumb-border-color, #cccccc);
	transition: all 0.3s ease;
	max-width: 150px;
	box-sizing: border-box;
}

.tsab-thumb-slider .swiper-slide:hover {
	opacity: 1;
}

.tsab-thumb-slider .swiper-slide.tsab-slide.swiper-slide-thumb-active {
	opacity: 1;
	border-color: var(--tsab-thumb-active-border-color, #0073aa);
}

.tsab-thumb-slider img {
	display: block;
	width: 100%;
	height: auto;
}

/* Responsive */
@media (max-width: 768px) {
	.tsab-main-slider {
		margin-bottom: 10px;
	}
	
	.tsab-thumb-slider .swiper-slide {
		max-width: 100px;
	}
}
