/* TS Category Hover Cards Widget Styles */
.ts-category-hover-cards-wrapper {
	width: 100%;
	overflow: hidden;
	border-radius: 8px;
}

.ts-category-hover-cards {
	display: flex;
	width: 100%;
	height: 450px; /* Default, se sobrescribe desde Elementor */
	gap: 0;
	position: relative;
	min-height: 350px;
	border-radius: 8px;
	overflow: hidden;
}

.category-card {
	position: relative;
	flex: 1;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	transition: all 0.6s cubic-bezier(0.4, 0, 0.2, 1);
	overflow: hidden;
	cursor: pointer;
}

/* Border radius en primera y última tarjeta */
.category-card:first-child {
	border-top-left-radius: 8px;
	border-bottom-left-radius: 8px;
}

.category-card:last-child {
	border-top-right-radius: 8px;
	border-bottom-right-radius: 8px;
}

/* Overlay semi-transparente sobre las tarjetas inactivas */
.category-card .card-overlay {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: rgba(255, 255, 255, 0.5);
	transition: opacity 0.6s ease;
	z-index: 1;
	pointer-events: none;
}

.category-card.active .card-overlay {
	opacity: 0;
}

/* Degradado blanco en elemento activo para mejorar legibilidad del texto */
.category-card.active:after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	height: 60%;
	background: linear-gradient(to top, rgba(255, 255, 255, 0.9) 0%, rgba(255, 255, 255, 0.5) 50%, transparent 100%);
	z-index: 1;
	pointer-events: none;
	transition: opacity 0.6s ease;
}

/* La tarjeta activa ocupa más espacio */
.category-card.active {
	flex: 2.5;
}

.category-card .card-link {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 3;
	text-decoration: none;
}

.category-card .card-content {
	position: absolute;
	bottom: 50px;
	left: 50px;
	right: 50px;
	z-index: 2;
	pointer-events: none;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}

.category-card .card-title {
	font-size: 48px;
	font-weight: 700;
	margin: 0 0 15px 0;
	line-height: 1.1;
	color: #1a1a1a;
	font-family: 'Playfair Display', serif;
	transition: all 0.4s ease;
}

.category-card .card-icon {
	position: absolute;
	right: 50px;
	top: 50%;
	transform: translateY(-50%);
	display: none;
	align-items: center;
	justify-content: center;
	font-size: 24px;
	transition: all 0.3s ease;
	z-index: 2;
}

.category-card.active .card-icon {
	display: inline-flex;
	animation: slideInRight 0.6s ease;
}

@keyframes slideInRight {
	from {
		opacity: 0;
		transform: translateY(-50%) translateX(-20px);
	}
	to {
		opacity: 1;
		transform: translateY(-50%) translateX(0);
	}
}

.category-card .card-description {
	font-size: 18px;
	font-weight: 300;
	margin: 0;
	opacity: 0;
	visibility: hidden;
	transform: translateY(15px);
	transition: all 0.6s cubic-bezier(0.4, 0, 0.2, 1) 0.1s;
	color: #333;
	max-width: 90%;
	line-height: 1.5;
}

.category-card.active .card-description {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

/* Responsive para tablets */
@media (max-width: 1024px) {
	.ts-category-hover-cards {
		height: 400px;
	}
	
	.category-card .card-content {
		bottom: 35px;
		left: 35px;
		right: 35px;
	}
	
	.category-card .card-title {
		font-size: 38px;
	}
	
	.category-card .card-description {
		font-size: 16px;
	}
}

/* Responsive para móviles */
@media (max-width: 768px) {
	.ts-category-hover-cards {
		flex-direction: column;
		height: auto;
	}
	
	.category-card {
		min-height: 280px;
		flex: 1 !important;
	}
	
	.category-card.active {
		flex: 1.8 !important;
		min-height: 350px;
	}
	
	.category-card .card-content {
		bottom: 30px;
		left: 30px;
		right: 30px;
	}
	
	.category-card .card-title {
		font-size: 32px;
	}
	
	.category-card .card-description {
		font-size: 15px;
		max-width: 100%;
	}
}

@media (max-width: 480px) {
	.category-card {
		min-height: 220px;
	}
	
	.category-card.active {
		min-height: 280px;
	}
	
	.category-card .card-content {
		bottom: 25px;
		left: 25px;
		right: 25px;
	}
	
	.category-card .card-title {
		font-size: 26px;
		margin-bottom: 10px;
	}
	
	.category-card .card-description {
		font-size: 14px;
	}
}
