.pmj-has-submenu {
	position: relative !important;
}

.pmj-parent-link {
	display: inline-flex !important;
	align-items: center;
	gap: .35rem;
	cursor: pointer;
}

.pmj-caret {
	font-size: .72em;
	line-height: 1;
	transition: transform .18s ease;
}

.pmj-has-submenu.pmj-open > .pmj-parent-link .pmj-caret {
	transform: rotate(180deg);
}

.pmj-sub-menu {
	background: #292929 !important;
	position: absolute;
	z-index: 99999;
	left: 0;
	top: calc(100% + 2px);
	display: none;
	min-width: 245px;
	margin: 0 !important;
	padding: 8px !important;
	list-style: none !important;
	background: #fff;
	border: 1px solid rgba(0, 0, 0, .10);
	border-radius: 10px;
	box-shadow: 0 12px 30px rgba(0, 0, 0, .12);
}

.pmj-has-submenu.pmj-open > .pmj-sub-menu,
.pmj-has-submenu:focus-within > .pmj-sub-menu {
	display: block;
}

.pmj-sub-item {
	display: block !important;
	margin: 0 !important;
	padding: 0 !important;
}

.pmj-sub-item > a {
	display: block !important;
	padding: 10px 12px !important;
	text-decoration: none !important;
	white-space: nowrap;
	border-radius: 7px;
	line-height: 1.25;
	color: #ffffff !important;
}

.pmj-sub-item > a:hover,
.pmj-sub-item > a:focus,
.pmj-sub-item > a[aria-current="page"] {
	background: #f3efe4 !important;
	color: #17333b !important;
	outline: none;
}

.pmj-sub-item.pmj-jeunes {
	margin-top: 6px !important;
	padding-top: 6px !important;
	border-top: 1px solid rgba(0, 0, 0, .09);
}

/* Sur mobile, le sous-menu reste dans le flux du menu et ne déborde pas. */
@media (max-width: 900px) {
	.pmj-has-submenu {
		width: 100%;
	}

	.pmj-parent-link {
		width: 100%;
		justify-content: space-between;
	}

	.pmj-sub-menu {
		position: static;
		width: 100%;
		min-width: 0;
		margin-top: 5px !important;
		box-shadow: none;
		border-radius: 8px;
		background: rgba(255, 255, 255, .72);
	}

	.pmj-sub-item > a {
		white-space: normal;
		padding-left: 18px !important;
	}
}
