/**
 * Tabty Addons Styles
 * Version: 1.0.0
 */

/* Tabty Features Wrapper */
.tabty-features-wrapper {
	display: block;
	width: 100%;
}

/* Features Container - 3 Column Layout */
.tabty-features-container {
	display: flex;
	gap: 30px;
	width: 100%;
	align-items: stretch;
	min-height: 200px;
}

/* Individual Columns */
.tabty-features-column {
	display: flex;
	flex-direction: column;
	gap: 20px;
	width: 100%;
}

/* Middle column (images) */
.tabty-features-middle {
	position: relative;
	min-height: 400px;
	align-items: center;
	justify-content: center;
}

/* Tablet breakpoint - stack to single column */
@media (max-width: 991px) {
	.tabty-features-container {
		grid-template-columns: 1fr;
	}
	
	/* Reorder: Left features, Images, Right features */
	.tabty-features-left {
		order: 1;
	}
	
	.tabty-features-middle {
		order: 2;
		min-height: 350px;
	}
	
	.tabty-features-right {
		order: 3;
	}
}

/* Mobile breakpoint */
@media (max-width: 767px) {
	.tabty-features-middle {
		min-height: 300px;
	}
}

/* Feature Item */
.tabty-feature-item {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	padding: 20px;
	cursor: pointer;
	transition: all 0.3s ease;
	border-radius: 8px;
}

.tabty-feature-item:hover {
	transform: translateY(-2px);
}

/* Feature Icon */
.tabty-feature-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	transition: all 0.3s ease;
	border-radius: 4px;
}

.tabty-feature-icon i {
	font-size: 32px;
	transition: all 0.3s ease;
}

.tabty-feature-icon svg {
	width: 32px;
	height: 32px;
	transition: all 0.3s ease;
}

/* Feature Title */
.tabty-feature-title {
	font-size: 20px;
	font-weight: 600;
	line-height: 1.4;
	transition: all 0.3s ease;
}

/* Feature Text */
.tabty-feature-text {
	font-size: 14px;
	line-height: 1.6;
	margin: 0;
	opacity: 0.8;
	transition: all 0.3s ease;
}

/* Active State */
.tabty-feature-item.active {
	/* Active styles are defined via controls */
}

/* Images Container */
.tabty-features-images {
	position: relative;
	width: 100%;
	height: 100%;
	min-height: inherit;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
}

/* Individual Image */
.tabty-feature-image {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.5s ease, visibility 0.5s ease;
}

.tabty-feature-image.active {
	opacity: 1;
	visibility: visible;
	z-index: 1;
}

.tabty-feature-image img {
	max-width: 100%;
	max-height: 100%;
	width: auto;
	height: auto;
	object-fit: contain;
	display: block;
}

/* Animation variants */
.tabty-feature-image {
	animation: fadeOut 0.5s ease forwards;
}

.tabty-feature-image.active {
	animation: fadeIn 0.5s ease forwards;
}

@keyframes fadeIn {
	from {
		opacity: 0;
		transform: translate(-50%, -50%) scale(0.95);
	}
	to {
		opacity: 1;
		transform: translate(-50%, -50%) scale(1);
	}
}

@keyframes fadeOut {
	from {
		opacity: 1;
		transform: translate(-50%, -50%) scale(1);
	}
	to {
		opacity: 0;
		transform: translate(-50%, -50%) scale(0.95);
	}
}

/* Builder-specific styles */
body.brx-body .tabty-features-wrapper {
	/* Ensure proper display in builder */
}

/* ========================================
   TYPE NAVIGATION STYLES
   ======================================== */

.type-navigation-wrapper {
	display: block;
	width: 100%;
}

.type-nav-items {
	display: flex;
	gap: 20px;
	align-items: end;
}

.type-nav-items.type-nav-vertical {
	flex-direction: column;
	align-items: start;
}

.type-nav-items.type-nav-horizontal {
	flex-direction: row;
	flex-wrap: wrap;
	align-items: end;
}

.type-nav-item {
	display: flex;
	align-items: center;
	flex-direction: column;
	gap: 15px;
	cursor: pointer;
	transition: all 0.3s ease;
 
}

.type-nav-item:hover {
	transform: translateY(-2px);
 
}

 
.type-nav-image {
	flex-shrink: 0;
	width: auto;
	height: 130px;
 
	overflow: hidden;
 
}

.type-nav-image img,
.type-nav-image svg {
	width: 100%;
	height: 100%;
	object-fit: contain;
	display: block;
}

.type-nav-image svg {
	max-width: 100%;
	max-height: 100%;
}

.type-nav-title {
	font-size: 16px;
	font-weight: 600;
	color: #fff;
	transition: color 0.3s ease;
}

.type-nav-item.active .type-nav-title {
	color: var(--color-primary);
}

/* ========================================
   TYPE GALLERY STYLES
   ======================================== */

.type-gallery-container {
	display: block;
	width: 100%;
}

.type-gallery-wrapper {
	display: none;
	width: 100%;
}

.type-gallery-wrapper.active {
	display: block;
}

.type-gallery-main-container {
	position: relative;
	width: 100%;
	margin-bottom: 20px;
}

.type-gallery-main {
	position: relative;
	width: 100%;
	height: auto;
 
	overflow: hidden;
 
}

.type-gallery-slide {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.5s ease, visibility 0.5s ease, transform 0.5s ease;
	transform: scale(0.95);
}

.type-gallery-slide.active {
	opacity: 1;
	visibility: visible;
	z-index: 1;
	transform: scale(1);
}

/* Navigation Arrows */
.type-gallery-arrow {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 60px;
	height: 60px;
	display: flex;
	align-items: center;
	justify-content: center;
 background: transparent;
	border: none;
	border-radius: 50%;
	cursor: pointer;
	z-index: 10;
	transition: all 0.3s ease;
	color: #fff;
 
}

.type-gallery-arrow:hover {
 
 
	transform: translateY(-50%) scale(1.1);
}

.type-gallery-arrow:active {
	transform: translateY(-50%) scale(0.95);
}

.type-gallery-prev {
	left: 20px;
}

.type-gallery-next {
	right: 20px;
}

.type-gallery-arrow svg {
	width: 44px;
	height: 44px;
}

/* Thumbnails */
.type-gallery-thumbs {
	display: flex;
	gap: 10px;
	flex-wrap: wrap;
	justify-content: center;
}

.type-gallery-thumb {
	width: 80px;
	height: 80px;
	border-radius: 8px;
	overflow: hidden;
	cursor: pointer;
	border: 3px solid transparent;
	transition: all 0.3s ease;
 
	flex-shrink: 0;
}

.type-gallery-thumb:hover {
	transform: translateY(-2px);
 
}

.type-gallery-thumb.active {
	border-color: var(--color-primary);
 
}

.type-gallery-thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

/* Responsive Styles */
@media (max-width: 991px) {
	.type-gallery-main {
		height: 400px;
	}
	
	.type-gallery-thumb {
		width: 70px;
		height: 70px;
	}
	
	.type-nav-image {
		width: auto;
		max-height: 160px;
	}
}

@media (max-width: 767px) {
	.tabty-features-middle{
		order: 0;
	}
	.tabty-feature-image{
		justify-content: start;
	}
	.type-gallery-main {
		height: 500px;
	}
	
 
	.type-gallery-arrow {
		width: 50px;
		height: 50px;
	}
	
	.type-gallery-arrow svg {
		width: 44px;
		height: 44px;
	}
	
	.type-gallery-prev {
		left: 10px;
	}
	
	.type-gallery-next {
		right: 10px;
	}
	
	.type-nav-items.type-nav-horizontal {
		flex-direction: column;
	}
	
	.type-nav-image {
		width: 50px;
		height: 50px;
	}
	
	.type-nav-title {
		font-size: 14px;
	}
}
