/* ============================================
   NOVA CARDS WIDGET
   ============================================ */

.nova-cards-widget {
	width: 100%;
	position: relative;
}

.nova-cards-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 30px;
	width: 100%;
	/* Grid columns will be set dynamically via JavaScript based on config */
}

.nova-card-item {
	position: relative;
	width: 100%;
	min-height: 300px;
	overflow: hidden;
	border-radius: 8px;
	background: #f0f0f0;
	display: flex;
	align-items: flex-end;
	justify-content: flex-start;
	/* Animation initial state */
	opacity: 0;
	transform: translateY(30px);
	filter: blur(5px);
	transition: opacity 0.8s ease, transform 0.8s ease, filter 0.8s ease;
	will-change: opacity, transform, filter;
}

.nova-card-item.animated {
	opacity: 1 !important;
	transform: translateY(0) !important;
	filter: blur(0) !important;
}

.nova-card-background {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	z-index: 0;
}

.nova-card-overlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 1;
	/* Overlay gradient will be set via inline style */
}

.nova-card-content {
    position: relative;
    z-index: 3;
    width: 100%;
    color: #ffffff;
    padding: 30px;
    text-align: center;
    display: flex;
    flex-direction: column;
    gap: 10px;
    height: 100%;
}
.nova-card-text.nova-card-text-1 h3 {
    margin: 0;
}

.nova-card-text p:last-child {
    margin: 0;
}
.nova-card-text {
	width: 100%;
}

.nova-card-text-1 {
	/* Styles pour le premier texte */
}

.nova-card-text-2 {
	/* Styles pour le deuxième texte */
}
a.nova-card-button {
    text-decoration: initial !important;
}
.nova-card-item {
	text-decoration: none;
	color: inherit;
}

.elementor-editor-active .nova-card-item {
    opacity: 1 !important;
    filter: initial !important;
    transform: initial !important;
    overflow: initial !important;
}

.nova-card-item.has-link {
	cursor: pointer;
}

.nova-card-button-wrap {
	display: flex;
	justify-content: center;
	margin-top: 1.5rem;
}

.nova-card-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	padding: 0.75rem 1.75rem;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.18);
	color: #ffffff;
	text-decoration: none;
	font-weight: 600;
	transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease, transform 0.3s ease;
	pointer-events: auto;
}

.nova-card-button:hover {
	background: rgba(255, 255, 255, 0.28);
	color: #ffffff;
	transform: translateY(-2px);
}

/* Responsive Grid */
@media (max-width: 1024px) {
	.nova-cards-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 768px) {
	.nova-cards-grid {
		grid-template-columns: 1fr;
	}
}

