/* Nova Visual Composer — base front (indépendant d’Elementor). */

.nova-vc-template-php,
.nova-vc-template-php__inner {
	min-width: 0;
}

.nova-vc-cards__list {
	display: grid;
	gap: 24px;
}

.nova-vc-cards--cols-1 .nova-vc-cards__list { grid-template-columns: 1fr; }
.nova-vc-cards--cols-2 .nova-vc-cards__list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.nova-vc-cards--cols-3 .nova-vc-cards__list { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.nova-vc-cards--cols-4 .nova-vc-cards__list { grid-template-columns: repeat(4, minmax(0, 1fr)); }

@media (max-width: 991px) {
	.nova-vc-cards--cols-3 .nova-vc-cards__list,
	.nova-vc-cards--cols-4 .nova-vc-cards__list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 640px) {
	.nova-vc-cards__list {
		grid-template-columns: 1fr !important;
	}
}

.nova-vc-cards__empty {
	grid-column: 1 / -1;
	margin: 0;
}

/* Ancien markup minimal — le vrai style Filters est dans filters.css */
.nova-vc-filters.nova-filters-form {
	display: block;
}

.nova-vc-title__line {
	margin: 0;
}

.nova-vc-mega-menu {
	position: relative;
}

.nova-vc-mega-menu__toggle {
	display: none;
}

.nova-vc-mega-menu__list {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 24px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.nova-vc-mega-menu__list ul {
	list-style: none;
	margin: 0;
	padding: 8px 0 0;
}

@media (max-width: 991px) {
	.nova-vc-mega-menu__toggle {
		display: inline-flex;
		align-items: center;
		min-height: 44px;
		padding: 8px 16px;
		cursor: pointer;
	}

	.nova-vc-mega-menu__panel {
		display: none;
	}

	.nova-vc-mega-menu.is-open .nova-vc-mega-menu__panel {
		display: block;
	}

	.nova-vc-mega-menu__list {
		flex-direction: column;
		padding: 12px 0;
	}
}
