/* ============================
   MENU GLOBAL
============================ */

.menu,
.menu li,
.sub-menu,
.sub-menu ul,
.sub-menu li {
	list-style: none !important;
	text-indent: 0;
	cursor: pointer;
	margin: 0;
	padding: 0;
}

.menu {
	width: 100%;
	display: flex;
	position: relative;
}

/* États utilisés par le JS */
.sub-menu-hidden {
	visibility: hidden;
	display: none!important;
}

.sub-menu-0,
.sub-menu-1 {
	display: flex;
}

/* ============================
   DESKTOP (≥ 1024px)
============================ */
@media (min-width: 1024px) {

	.menu,
	.sub-menu {
		flex-direction: row;
	}

	.sub-menu {
		position: absolute;
		left: 0;
		z-index: 50;
	}

	.sub-menu-visible {
		visibility: visible;
	}

	.sub-menu-1 {
		align-items: bottom;
	}

	/* Le bouton mobile n’est pas affiché */
	.button-menu {
		display: none;
	}

	.menu-link-wrapper {
		display: flex;
		visibility: visible;
		opacity: 1;
		margin-top: 0;
	}
}

/* ============================
   MOBILE / TABLETTE (≤ 1023px)
============================ */
@media (max-width: 1023px) {

	/* Conteneur widget */
	.elementor-widget-carredas-menu {
		display: flex;
		flex-direction: column;
		align-items: flex-start;
	}

	/* Bouton burger mobile */
	.button-menu {
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;
		width: 50px;
		height: 50px;
		margin-bottom: 10px;
		padding: 10px;
		border-radius: 50%;
		cursor: pointer;
		position: relative; /* dans le flux */
		z-index: 10;
		background: #000;
		box-sizing: border-box;
	}

	.button-menu-bar {
		width: 70%;
		height: 3px;
		margin: 3px 0;
		border-radius: 2px;
		background: #fff;
	}

	/* Menu masqué par défaut, géré par JS */
	.menu-link-wrapper {
		display: none;
		visibility: hidden;
		opacity: 0;
		width: 100%;
		transition: all 0.3s ease;
	}

	.menu-link-wrapper.is-visible {
		display: block;
		visibility: visible;
		opacity: 1;
	}

	/* Sous-menus mobile */
	.menu,
	.sub-menu-0,
	.sub-menu-1 {
		flex-direction: column;
		width: 100%;
	}

	.sub-menu-1 {
		display: none;
		visibility: hidden;
	}
	
}

.menu-item-has-children > span {
    display: block;
    width: 100%;
    cursor: pointer;
    padding: 0 10px; /* facultatif, pour garder un padding comme un lien */
}