nav 
{
	color: #fff;
	background-color: #35a77a00 !important;
	height: auto;
	box-shadow: none;
	line-height: normal;
}

.small_nav_part 
{
	display: flex;
	align-items: center;
	text-transform: uppercase;
	flex-direction: column;
	margin: 0;
	position: absolute;
	right: 1em;
	top: 1em;
	padding: 0em 0em 0em 1.1em !important;
	border: 4px solid transparent;
	background: linear-gradient(white, white) padding-box, linear-gradient(90deg, #224d21, #478433, #4d8d33) border-box;
}

.liste_btn_menu 
{
	margin-bottom: 0;
	display: flex;
	align-items: center;
	height: 15vh;
}

.btn-flat i
{
	font-size: 2.2rem;
}

.btn_admin_page
{
	color: #fbee00;
	background-color: #6e6e6e;
	border-radius: 0.4em;
	margin: 1em !important;
	transition: 0.15s;
}

.btn_admin_page.active_page 
{
	color: #000000;
	background-color: #ffef00;
	border-radius: 0.4em;
	transform: scale(1);
	margin: 1em !important;
}

.btn_menu 
{
	background: linear-gradient(0deg, rgb(255 173 99) 0%, rgb(238 140 29) 60%, rgb(196 106 26) 100%);
	color: white !important;
	border-radius: 0.5em;
	font-size: 1.8em;
	display: flex;
	justify-content: space-evenly;
	margin-left: 0 !important;
}

.slide_btn 
{
	border-radius: 0.3em;
	padding: 0.1em 0.4em 0.1em 0.4em;
	display: flex;
	align-items: center;
	justify-content: center;
	width: fit-content;
	height: fit-content;
	font-size: 2.5em;
	margin-top: -1.6em;
}

.btn_admin_page:hover 
{
	transform: scale(0.95) !important;
	background-color: #111111;
	transition: 0.15s;
}
.btn_admin_page.active_page:hover 
{
	transform: scale(0.95) !important;
	color: #111111;
	background-color: #ffffff;
	transition: 0.15s;
}

#modalDocs
{
	background-color: #f6f4f2;
}

nav a.sidenav-trigger, nav a.sidenav-trigger i 
{
	height: 45px;
	line-height: 60px;
}

.sidenav li>a 
{
	padding: 0;
}

.menu_icon 
{
	font-size: 3em !important;
	padding-top: 0.05em;
	margin: 0 !important;
}

.menu_text 
{
	font-size: 2em;
}

.col.header_div
{
	text-align: center;
	font-size: 1.6em;
	transition: 0.35s;
	display: flex;
	justify-content: space-evenly;
	align-items: center;
}

/*.col.header_div:hover 
{
	transition: 0.35s;
	transform: scale(0.8);
	filter: brightness(1.2);
}*/


/*.dropdown-content 
{
	min-width: fit-content;
	position: fixed;
	top: 50% !important;
	left: 50% !important;
	transform: translate(-50%, -50%) !important;
}*/

.dropdown-content 
{
	min-width: fit-content;
	box-shadow: 0em 0em 2em 0.1em #000000;
	z-index: 9999 !important;
}

#language-dropdown {
	pointer-events: auto;
}


#globalPdfModal 
{
	height: -webkit-fill-available;
}

.dropdown-content li>a, .dropdown-content li>span 
{
	color: #000000;
	padding: 0.3em;
}

.img_logo_project 
{
	width: auto;
	height: 7em;
	margin-top: 1.5em;
}

.nav_row 
{
	display: flex;
	align-items: center;
	margin-bottom: 0;
	max-height: 10vh !important;
	height: 10vh;
	background-color: #111417;
}

.logo_part 
{
	display: flex;
	justify-content: center;
}

a.nav-link.Logo_Wizzilearn, a.sidenav-trigger.menu_text, i.material-icons.menu_icon 
{
	display: flex;
	align-items: center;
}


.flag 
{
	width: 40px;
	height: 24px;
	margin-right: 10px;
	display: inline-block;
	background-size: cover;
	border: 1px solid #ddd;
}

.flag_row 
{
	display: flex !important;
	align-items: center !important;
	gap: 1em;
}

.header_lang 
{
	display: flex;
	width: 100%;
	justify-content: center;
	gap: 0.5em;
	margin-left: -0.5em;
	font-size: 1.5em;
	flex-direction: row;
	align-items: center;
}

.flag_size 
{
	display: flex;
}

.page-footer
{
	padding-top: 0px;
	background-color: #ffffff;
}

.footer-copyright 
{
	display: flex;
	flex-direction: column;
	background-color: #fff !important;
	color: #575757 !important;
	font-style: italic;
}

.footer_container h5 
{
	color: #575757 !important;
	font-size: 0.8rem;
	text-align: center;
	text-decoration: none;
	font-weight: 400;
	margin-left: 1em;
	margin-right: 1em;
}

.logo_header 
{
	max-width: 100%;
	width: -webkit-fill-available;
	background-color: white;
	padding: 0.4em 0.4em;
	border-radius: 0em 0em 1em 1em;
}

.modal 
{
	background-color: #f6f4f200;
}

.collapsible-body
{
	background-color: #1c1c1c;
	border-bottom: 0px;
}

.open-pdf 
{
	display: flex;
	align-items: center;
	color: #ffef0a;
}
.open-carte 
{
	display: flex;
	align-items: center;
	color: #ffef0a;
}

.sidenav .divider 
{
	margin: 0.3em;
}

.divider 
{
	height: 3px;
	overflow: hidden;
	background-color: #e0e0e0;
}

p
{
	color: #000000;
	font-weight: 900;
}

.collapsible-header .material-icons 
{
	color: #ffef0a;
	font-size: 1.2em;
}

.collapsible-header
{
	margin-bottom: 0.2em;
	background-color: #3d3c3c !important;
	color: white;
	font-size: 2em;
	align-items: center;
	border-bottom: 0px;
}

.collection .collection-item 
{
	background-color: #1c1c1c;
}
.collection .collection-item:hover
{
	background-color: #4a4a4a;
}


span.badge.new 
{
	font-weight: 700;
	height: fit-content;
	font-size: 0.8rem;
	color: #000000;
	background-color: #ffef0a;
	border-radius: 2px;
	padding: 0.3em 0.5em;
	display: flex;
	align-items: center;
	flex-direction: column;
	justify-content: center;
}

.modal h4 
{
	font-weight: 600;
}

.modal .modal-content
{
	color: #ffffff;
	background-color: #6a6767;
}

#modalCardDetailContent 
{
	color: black;
	background-color: white;
}

button.btn.l2c-card-detail-download
{
	background: rgb(101 182 90);
	font-weight: 900;
}

#modalCardDetailContent .card-detail-grid 
{
	background: rgb(240 140 28);
	color: white;
	display: grid;
	justify-items: center;
	grid-auto-flow: column;
	padding: 1em 0.5em;
	border-radius: 0.5em;
}

.card-detail-meta span 
{
	background: rgb(240 140 28) !important;
	color: white !important;
}

.modal.modal-fixed-footer .modal-content
{
	height: 100%;
}

.modal .modal-footer 
{
	background: linear-gradient(90deg, rgb(164 89 4) 0%, rgb(240 140 28) 80%, rgb(255 196 130) 100%);
}

.modal .modal-footer .btn-flat 
{
	color: #ffffff !important;
	background: #3d3c3c;
	font-size: 1.3em;
	font-weight: 600;
}

@media screen and (min-width : 100px) and (max-width : 600px) 
{
	.collapsible-header
	{
		font-size: 1.2em;
	}
	.col.header_div 
	{
		font-size: 1em;
	}
	.active_page 
	{
		font-size: 1.05em !important;
	}

	.ligne_menu 
	{
		margin-top: 0em;
	}

	.img_logo_project 
	{
		width: auto;
		height: 6em;
	}
	.header_lang
	{
		display: flex;
		flex-direction: row;
		gap: 0.5em;
		margin-left: 0;
	}
	.flag_size, .lang_size, .sidenav-trigger
	{
		height: 30px !important;
		display: flex;
		align-items: center;
	}

	.small_nav_part 
	{
		display: flex;
		flex-direction: row;
		justify-content: center;
		padding: 0.2em !important;
		height: 3.8em;
		right: 0.5em;
		top: 0.5em;
		align-items: center;
	}

	.big_nav_part 
	{
		height: 7em;
	}
	.container 
	{
		width: 100%;
	}
	.flag_header 
	{
		width: 3em;
		height: auto;
	}
	.menu_icon 
	{
		font-size: 2em !important;
		padding-top: 0.05em;
	}
	.menu_text 
	{
		font-size: 1.5em;
	}

	.logo_header 
	{
		max-width: 100%;
		background-color: white;
		padding: 0.15em;
		border-radius: 0em 0em 1em 1em;
	}
	
	.modal 
	{
		top: 0% !important;
		max-height: 100% !important;
		width: 100% !important;
	}

	.modal.modal-fixed-footer 
	{
		padding: 0;
		height: 100%;
	}

	.collapsible.popout>li 
	{
		margin: 5px 0px;
	}

	.col.l9.offset-l3.wrapper-menu.m12.s12 
	{
		width: 90%;
		margin-left: 5%;
	}

	.btn_admin_page 
	{
		margin: 0.1em !important;
	}

	.btn_admin_page.active_page 
	{
		margin: 0.1em !important;
	}

	i.large 
	{
		font-size: 2rem;
	}

	.liste_btn_menu 
	{
		margin-top: 5em;
	}

	/*.watermark 
	{
		top: 0.5em !important;
		bottom: unset !important;
		text-align: center;
		left: 30% !important;
		transform: translate(0%, 0%) !important;
		width: 68% !important;
		padding-left: 0.5em !important;
		padding-right: 0.5em !important;
	}*/

	.menu_carrousel 
	{
		display: flex;
		gap: 0.3em;
	}
	.row.menu_carrousel 
	{
		margin-top: 5em;
		display: flex;
		width: 100%;
		flex-direction: column;
		align-items: center;
		margin-left: 0;
		margin-right: 0;
		padding: 0em 1em;
	}

	.col.header_div 
	{
		flex-direction: column;
		padding: 0.5em 0.2em;
	}

	#fond_banniere 
	{
		transform: scale(0.25) !important;
		position: absolute !important;
		top: -6.6em !important;
		left: -11.5em !important;
	}

	.liste_apprenants 
	{
		margin-left: 5% !important;
		width: 90% !important;
	}

	#logo_banniere 
	{
		transform: scale(0.25) !important;
		position: absolute !important;
		top: -4.9em !important;
		left: -6.5em !important;
	}
}

@media screen and (min-width : 601px) and (max-width : 992px) 
{
	.collapsible-header
	{
		font-size: 1.5em;
	}
	.btn_menu 
	{
		font-size: 1em !important;
		padding: 0em 0.3em !important;
		height: 4em !important;
	}

	.btn_menu.slide_btn 
	{
		font-size: 1.5em;
		padding: 0.1em 0.5em 0.2em 0.4em;
		margin-top: -2.5em;
	}

	.col.header_div 
	{
		font-size: 1.5em;
		padding: 0.5em 0.2em;
	}
	.active_page 
	{
		font-size: 1.5em !important;
	}
	.img_logo_project 
	{
		width: auto;
		height: 6em;
	}
	.header_lang 
	{
		display: flex;
		flex-direction: row;
		gap: 0.2em;
		margin-left: 0;
	}
	.flag_size, .lang_size, .sidenav-trigger
	{
		height: 30px !important;
		display: flex;
		align-items: center;
	}
	.small_nav_part 
	{
		display: flex;
		flex-direction: row;
		justify-content: center;
		padding: 0.5em !important;
		height: 3.5em;
		right: 0.6em;
	}
	.big_nav_part 
	{
		height: 7em;
	}
	.container 
	{
		width: 100%;
	}
	.flag_header 
	{
		width: 3em;
		height: auto;
	}
	.menu_icon 
	{
		font-size: 2em !important;
		padding-top: 0.05em;
	}
	.menu_text 
	{
		font-size: 1.5em;
	}

	.logo_header 
	{
		max-width: 100%;
		width: -webkit-fill-available;
		background-color: white;
		padding: 0.4em 0.4em;
		border-radius: 0em 0em 1em 1em;
		margin-top: 0;
		margin-right: 1em;
		margin-bottom: 0;
		margin-left: 1em;
	}

	.modal
	{
		top: 0% !important;
		max-height: 100% !important;
		width: 100% !important;
	}

	.modal.modal-fixed-footer 
	{
		height: 100%;
	}

	.nav_row 
	{
		max-height: 20vh !important;
		height: 20vh;
	}

	.col.l9.offset-l3.wrapper-menu.m12.s12 
	{
		width: 90%;
		margin-left: 5%;
	}

	.btn_admin_page 
	{
		margin: 0.1em !important;
	}

	.btn_admin_page.active_page 
	{
		margin: 0.1em !important;
	}

	i.large 
	{
		font-size: 2rem;
	}

	.liste_btn_menu 
	{
		margin-top: 5em;
	}

	.watermark
	{
		/*top: 0.5em !important;*/
		bottom: unset !important;
	}

	#fond_banniere 
	{
		transform: scale(0.2) !important;
		position: absolute !important;
		top: -6.9em !important;
		left: -12.2em !important;
	}

	#logo_banniere 
	{
		transform: scale(0.2) !important;
		position: absolute !important;
		top: -5.3em !important;
		left: -7.2em !important;
	}

	.card_menu 
	{
		height: 60vh;
	}

	
	
}

/* TALL-MEDIUM SCREEN */
@media screen and (min-width : 993px) and (max-width : 1560px) 
{
	
	.wrapper-menu 
	{
		margin-left: 15% !important;
	}

	.col.header_div 
	{
		text-align: center;
		font-size: 1.2em;
		transition: 0.35s;
		display: flex;
		justify-content: space-evenly;
		align-items: center;
	}

	.liste_btn_menu 
	{
		height: 15vh;
		width: 80vw;
		margin-left: 2.5vw !important;
	}

	.btn_menu 
	{
		font-size: 1.25em !important;
	}

	i.large 
	{
		font-size: 2.5rem;
	}

	.slide_btn 
	{
		font-size: 2em !important;
	}

	.small_nav_part
	{
		display: flex;
		align-items: center;
		text-transform: uppercase;
		flex-direction: column;
		margin: 0;
		position: absolute;
		right: 1em;
		top: 6em;
		padding: 0em 0em 0em 1.1em !important;
		border: 4px solid transparent;
		background: linear-gradient(white, white) padding-box, linear-gradient(90deg, #224d21, #478433, #4d8d33) border-box;
		z-index: 1000;
	}
}

/*@media only screen and (min-width: 993px) 
{
	nav a.sidenav-trigger
	{
		display: block;
	}

	.modal
	{
		top: 5% !important;
		max-height: 90% !important;
		width: 90% !important;
	}
}
*/

/* =========================================================
   MENU HAUT FORMATION - VERSION HARMONISÉE 5 BOUTONS
   ========================================================= */
.l2c-top-menu-row
{
	position: relative;
	z-index: 50;
	width: 100%;
	margin: 0.2em 0 0 0 !important;
	padding: 0 0.1em;
}

.l2c-top-menu-shell
{
	width: 99vw;
	margin: 0 auto;
	padding: 0.2em;
	border-radius: 1em;
	background: rgba(255, 255, 255, 0.72);
	box-shadow: 0 14px 32px rgba(0, 0, 0, 0.28);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
}

.l2c-top-menu
{
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 0.65em;
	width: 100%;
	height: auto;
	margin: 0;
	padding: 0;
	background: transparent !important;
	box-shadow: none;
	line-height: normal;
}

.l2c-top-menu .btn_menu.l2c-menu-action,
#btnResetLocalStorage.l2c-menu-action
{
	position: relative !important;
	right: auto !important;
	top: auto !important;
	z-index: 1;
	box-sizing: border-box;
	display: flex !important;
	align-items: center !important;
	gap: 0.3em;
	width: 100% !important;
	max-width: none !important;
	min-width: 0 !important;
	height: 4.2em !important;
	margin: 0 !important;
	padding: 0.55em 0.85em !important;
	border: 1px solid rgba(255, 222, 120, 0.42);
	border-radius: 0.8em;
	background: linear-gradient(180deg, #f3a33c 0%, #e18419 48%, #a95a05 100%) !important;
	color: #ffffff !important;
	font-size: 1em !important;
	font-weight: 800;
	letter-spacing: 0.01em;
	text-align: center;
	line-height: 1;
	text-transform: none;
	overflow: hidden;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.22), 0 8px 16px rgba(0, 0, 0, 0.2);
	transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease, background 0.18s ease, filter 0.18s ease;
	justify-content: space-evenly;
}

.l2c-top-menu .btn_menu.l2c-menu-action::before,
#btnResetLocalStorage.l2c-menu-action::before
{
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: radial-gradient(circle at top left, rgba(255, 255, 255, 0.28), transparent 38%),
		linear-gradient(90deg, rgba(255, 239, 10, 0.16), rgba(239, 142, 30, 0.06));
	opacity: 0.72;
	transition: opacity 0.18s ease;
}

.l2c-top-menu .btn_menu.l2c-menu-action:hover,
.l2c-top-menu .btn_menu.l2c-menu-action:focus,
#btnResetLocalStorage.l2c-menu-action:hover,
#btnResetLocalStorage.l2c-menu-action:focus
{
	/*transform: translateY(-2px) !important;*/
	border-color: rgba(255, 239, 10, 0.75);
	background: linear-gradient(180deg, #ffb254 0%, #ef8e1e 50%, #874602 100%) !important;
	color: #ffffff !important;
	box-shadow: 0 12px 22px rgba(0, 0, 0, 0.32);
	outline: none;
	filter: brightness(1.03);
}

.l2c-top-menu .btn_menu.l2c-menu-action:hover::before,
.l2c-top-menu .btn_menu.l2c-menu-action:focus::before,
#btnResetLocalStorage.l2c-menu-action:hover::before,
#btnResetLocalStorage.l2c-menu-action:focus::before
{
	opacity: 0.25;
}

.l2c-top-menu .logo_bouton.large 
{
	flex: 0 0 auto;
	width: 1.25em;
	min-width: 1.25em;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	font-size: 2.5rem !important;
	line-height: 1 !important;
	margin: 0 !important;
	color: #ffffff;
}

nav i, nav [class^="mdi-"], nav [class*="mdi-"], nav i.material-icons {
	display: block;
	font-size: 24px;
	height: 10px;
	line-height: 56px;
}

.l2c-top-menu .l2c-menu-action span:not(.l2c-menu-flag):not(.l2c-current-flag)
{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 0;
	max-width: 100%;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: normal;
	text-align: center;
	line-height: 1.1;
	text-align: center;
	font-size: 1.5em;
}

.l2c-menu-action--language
{
	border-color: rgba(255, 239, 10, 0.58) !important;
}

.l2c-menu-flag
{
	flex: 0 0 auto;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: 4em;
	height: 2em;
	border-radius: 0.22em;
	background: rgba(255, 255, 255, 0.96);
	box-shadow: 0 2px 7px rgba(0, 0, 0, 0.26);
	overflow: hidden;
	font-size: 1.2rem;
	line-height: 1;
}

.l2c-menu-flag img,
.l2c-menu-flag .flag
{
	width: 100%;
	height: 100%;
	margin: 0 !important;
	border: 0 !important;
	object-fit: cover;
	background-size: cover;
	background-position: center;
}

#btnResetLocalStorage:not(.l2c-menu-action)
{
	display: none !important;
}

/* L'ancien bouton de langue est neutralisé sans empêcher le menu déroulant d'être réutilisé. */
body.l2c-formation-page .small_nav_part
{
	position: absolute !important;
	top: 0 !important;
	right: 0 !important;
	width: 0 !important;
	height: 0 !important;
	min-width: 0 !important;
	min-height: 0 !important;
	padding: 0 !important;
	margin: 0 !important;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	overflow: visible !important;
}

body.l2c-formation-page .small_nav_part .dropdown-trigger,
body.l2c-formation-page .small_nav_part .header_lang,
body.l2c-formation-page .small_nav_part .flag_size,
body.l2c-formation-page .small_nav_part .lang_size
{
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: 0 !important;
	border: 0 !important;
	overflow: hidden !important;
	clip: rect(0 0 0 0) !important;
	clip-path: inset(50%) !important;
	white-space: nowrap !important;
}

#language-dropdown
{
	border-radius: 0.4em !important;
	overflow: hidden !important;
	background: #ffffff !important;
	box-shadow: 0 18px 38px rgba(0, 0, 0, 0.35) !important;
	border: 1px solid rgba(34, 77, 33, 0.25);
	z-index: 99999 !important;
}

#language-dropdown li>a,
#language-dropdown li>span
{
	display: flex;
	align-items: center;
	gap: 0.65em;
	padding: 0.1em 0.2em !important;
	color: #1f1f1f !important;
	font-weight: 700;
}

#language-dropdown li>a:hover,
#language-dropdown li>span:hover
{
	background: rgba(239, 142, 30, 0.14) !important;
}

#language-dropdown .flag
{
	border-radius: 0.25em;
	box-shadow: 0 1px 4px rgba(0, 0, 0, 0.16);
}

/* > 1560px : barre horizontale ample */
@media screen and (min-width: 1561px)
{
	.l2c-top-menu-shell
	{
		width: min(86vw, 1380px);
	}

	.l2c-top-menu .btn_menu.l2c-menu-action,
	#btnResetLocalStorage.l2c-menu-action
	{
		height: 4.35em !important;
		font-size: 1.08rem !important;
	}
}

/* 993px à 1560px : barre horizontale compacte */
@media screen and (min-width : 993px) and (max-width : 1560px)
{
	.l2c-top-menu-row
	{
		margin-top: 0.75em !important;
		padding: 0 0.8em;
	}

	.l2c-top-menu-shell
	{
		width: min(94vw, 1180px);
		padding: 0.45em;
		border-radius: 1.15em;
	}

	.l2c-top-menu
	{
		gap: 0.45em;
	}

	.l2c-top-menu .btn_menu.l2c-menu-action,
	#btnResetLocalStorage.l2c-menu-action
	{
		height: 3.75em !important;
		padding: 0.45em 0.5em !important;
		font-size: 0.88rem !important;
		border-radius: 0.85em;
		gap: 0.52em;
	}

	.l2c-top-menu .logo_bouton.large
	{
		font-size: 1.75rem !important;
	}

	.l2c-menu-flag
	{
		width: 1.95em;
		height: 1.32em;
		font-size: 1.05rem;
	}
	.l2c-top-menu .l2c-menu-action span:not(.l2c-menu-flag):not(.l2c-current-flag) 
	{
		line-height: 1.35 !important;
	}
}

/* 601px à 992px : menu compact sur une seule ligne avec texte visible */
@media screen and (min-width : 601px) and (max-width : 992px) 
{
	.ligne_menu 
	{
		margin-top: 0.6em;
	}

	.l2c-top-menu .l2c-menu-action span:not(.l2c-menu-flag):not(.l2c-current-flag) 
	{
		line-height: 1.1;
		font-size: 1.1em;
	}

	.l2c-top-menu
	{
		gap: 0.15em;
	}

	.row.menu_carrousel,
	.menu_carrousel 
	{
		width: calc(100% - 2em);
		max-width: 920px;
		margin: 0 auto !important;
		padding: 0.45em;
		display: grid !important;
		grid-template-columns: repeat(5, minmax(0, 1fr));
		gap: 0.45em;
		align-items: center;
		justify-content: center;
		border-radius: 1em;
		background: rgba(17, 20, 23, 0.82);
		box-shadow: 0 0.35em 0.9em rgba(0, 0, 0, 0.35);
		backdrop-filter: blur(4px);
	}

	.menu_carrousel .btn_menu,
	.menu_carrousel .l2c-language-menu-trigger 
	{
		width: 100% !important;
		min-width: 0 !important;
		height: 3.8em !important;
		margin: 0 !important;
		padding: 0 0.35em !important;

		display: flex !important;
		flex-direction: row !important;
		align-items: center !important;
		justify-content: center !important;
		gap: 0.35em !important;

		border-radius: 0.7em;
		font-size: 0.78em !important;
		font-weight: 800;
		line-height: 1.05;
		text-align: center;

		color: #ffffff !important;
		background: linear-gradient(180deg, #ffb545 0%, #ef8e1e 55%, #b85f0b 100%) !important;
		border: 1px solid rgba(255, 238, 120, 0.45);
		box-shadow: inset 0 1px 0 rgba(255,255,255,0.25);
		overflow: hidden;
	}

	.menu_carrousel .btn_menu:hover,
	.menu_carrousel .l2c-language-menu-trigger:hover 
	{
		transform: translateY(-1px) scale(1.02);
		background: linear-gradient(180deg, #ffc85f 0%, #f2951f 55%, #9f4e03 100%) !important;
	}

	.menu_carrousel .logo_bouton,
	.menu_carrousel .material-icons 
	{
		font-size: 1.25rem !important;
		line-height: 1 !important;
		margin: 0 !important;
		flex: 0 0 auto;
		color: #ffffff !important;
	}

	.menu_carrousel .l2c-language-flag,
	.menu_carrousel .flag,
	.menu_carrousel .flag_header 
	{
		width: 24px !important;
		height: 16px !important;
		margin: 0 !important;
		flex: 0 0 auto;
		object-fit: cover;
	}

	/* Important : on force le texte à rester visible */
	.menu_carrousel .btn_menu,
	.menu_carrousel .btn_menu *,
	.menu_carrousel .l2c-language-menu-trigger,
	.menu_carrousel .l2c-language-menu-trigger *
	{
		visibility: visible !important;
		opacity: 1 !important;
	}

	/* Texte des boutons classiques */
	.menu_carrousel .btn_menu 
	{
		white-space: normal !important;
	}

	span.l2c-current-flag 
	{
		width: 3.7em;
		height: 2.5em;
	}

	.l2c-menu-flag 
	{
		width: 2em;
		height: 1em;
	}

	/* Texte du bouton langue */
	.menu_carrousel .l2c-language-label 
	{
		display: inline-flex !important;
		align-items: center;
		justify-content: center;
		color: #ffffff !important;
		font-size: 1em !important;
		font-weight: 800;
		line-height: 1.05;
		white-space: nowrap;
		overflow: visible !important;
		text-overflow: initial !important;
	}

	i.large 
	{
		font-size: 1.25rem !important;
	}
}

/* Sous 760px : texte très compact mais toujours visible */
@media screen and (min-width : 601px) and (max-width : 760px) 
{
	.row.menu_carrousel,
	.menu_carrousel 
	{
		width: calc(100% - 1em);
		gap: 0.3em;
		padding: 0.35em;
	}

	.menu_carrousel .btn_menu,
	.menu_carrousel .l2c-language-menu-trigger 
	{
		height: 3.6em !important;
		padding: 0 0.25em !important;
		gap: 0.25em !important;
		font-size: 0.68em !important;
	}

	.menu_carrousel .logo_bouton,
	.menu_carrousel .material-icons 
	{
		font-size: 1.1rem !important;
	}

	.menu_carrousel .l2c-language-flag,
	.menu_carrousel .flag,
	.menu_carrousel .flag_header 
	{
		width: 21px !important;
		height: 14px !important;
	}
}

/* 100px à 600px : grille mobile 2 colonnes + langue pleine largeur */
@media screen and (min-width : 100px) and (max-width : 600px)
{
	.l2c-top-menu .l2c-menu-action span:not(.l2c-menu-flag):not(.l2c-current-flag) 
	{
		line-height: 1.3 !important;
		font-size: 1.6em;
	}
	.l2c-top-menu-row
	{
		margin-top: 0.45em !important;
		padding: 0 0.45em;
	}

	.l2c-top-menu-shell
	{
		width: 100%;
		padding: 0.42em;
		border-radius: 0.95em;
	}

	.l2c-top-menu
	{
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 0.42em;
	}

	.l2c-top-menu .l2c-menu-action--language
	{
		grid-column: 1 / -1;
	}

	.l2c-top-menu .btn_menu.l2c-menu-action,
	#btnResetLocalStorage.l2c-menu-action
	{
		height: 5.5em !important;
		padding: 0.35em 0.45em !important;
		font-size: 0.82rem !important;
		border-radius: 0.8em;
		flex-direction: row !important;
		gap: 0.32em;
	}

	.l2c-top-menu .logo_bouton.large
	{
		font-size: 1.45rem !important;
	}

	.l2c-menu-flag
	{
		width: 1.75em;
		height: 1.18em;
		font-size: 0.95rem;
	}
}

/* Drapeaux CSS utilisés uniquement si l'ancien menu ne fournit pas d'image de drapeau. */
.l2c-fallback-flag
{
	display: block;
	width: 100%;
	height: 100%;
	border-radius: 0.18em;
}

.l2c-fallback-flag--fr
{
	background: linear-gradient(90deg, #1b3f9b 0 33.33%, #ffffff 33.33% 66.66%, #d32828 66.66% 100%);
}

.l2c-fallback-flag--en
{
	background: linear-gradient(90deg, #173f8a 0 100%);
	position: relative;
}

.l2c-fallback-flag--en::before
{
	content: "";
	position: absolute;
	inset: 42% 0;
	background: #ffffff;
}

.l2c-fallback-flag--en::after
{
	content: "";
	position: absolute;
	inset: 0 44%;
	background: #ffffff;
}

.l2c-fallback-flag--es
{
	background: linear-gradient(180deg, #c62828 0 25%, #f6c341 25% 75%, #c62828 75% 100%);
}

.l2c-fallback-flag--pt
{
	background: linear-gradient(90deg, #0b7a3b 0 42%, #d62027 42% 100%);
}

.l2c-fallback-flag--de
{
	background: linear-gradient(180deg, #111111 0 33.33%, #d62027 33.33% 66.66%, #f2c230 66.66% 100%);
}

.l2c-fallback-flag--it
{
	background: linear-gradient(90deg, #0b8f47 0 33.33%, #ffffff 33.33% 66.66%, #d62027 66.66% 100%);
}


/* =========================================================
   CORRECTION FINALE - BOUTON LANGUE + DRAPEAU
   À conserver en fin de fichier pour écraser les règles précédentes.
   ========================================================= */

/* Le bouton langue peut recevoir soit .l2c-current-flag, soit .l2c-menu-flag
   selon la version de header_v2.php. On sécurise donc les deux cas. */
.l2c-menu-action--language .l2c-current-flag,
.l2c-menu-action--language .l2c-menu-flag
{
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	flex: 0 0 auto !important;
	width: 4.45em !important;
	min-width: 4.45em !important;
	max-width: 4.45em !important;
	height: 2.62em !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden !important;
	border-radius: 0.2em !important;
	background: rgba(255, 255, 255, 0.96) !important;
	box-shadow: 0 1px 5px rgba(0, 0, 0, 0.24) !important;
	line-height: 1 !important;
}

.l2c-menu-action--language .l2c-current-flag img,
.l2c-menu-action--language .l2c-menu-flag img,
.l2c-menu-action--language .l2c-menu-flag .flag,
.l2c-menu-action--language .l2c-menu-flag-img
{
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	object-fit: cover !important;
	background-size: cover !important;
	background-position: center !important;
	visibility: visible !important;
	opacity: 1 !important;
}

/* Le texte du bouton langue ne doit pas prendre les dimensions du drapeau. */
.l2c-menu-action--language span:not(.l2c-current-flag):not(.l2c-menu-flag),
.l2c-menu-action--language .l2c-language-label
{
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-width: 0 !important;
	max-width: 100% !important;
	margin: 0 !important;
	color: #ffffff !important;
	font-weight: 800 !important;
	text-align: center !important;
	line-height: 1.05 !important;
	white-space: normal !important;
	overflow: hidden !important;
	text-overflow: clip !important;
}

/* Correction spécifique tablette : 601px à 992px */
@media screen and (min-width : 601px) and (max-width : 992px)
{
	.l2c-top-menu-row
	{
		padding: 0 0.2em !important;
	}

	.l2c-top-menu-shell
	{
		width: calc(100vw - 0.7em) !important;
		padding: 0.28em !important;
	}

	.l2c-top-menu
	{
		grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
		gap: 0.26em !important;
	}

	.l2c-top-menu .btn_menu.l2c-menu-action,
	#btnResetLocalStorage.l2c-menu-action
	{
		height: 4em !important;
		min-width: 0 !important;
		padding: 0.28em 0.24em !important;
		font-size: 0.76rem !important;
		line-height: 1.05 !important;
		gap: 0.24em !important;
		overflow: hidden !important;
		border-radius: 0.68em !important;
	}

	.l2c-top-menu .logo_bouton.large
	{
		width: auto !important;
		min-width: 0 !important;
		font-size: 1.25rem !important;
		line-height: 1 !important;
	}

	.l2c-top-menu .l2c-menu-action span:not(.l2c-menu-flag):not(.l2c-current-flag)
	{
		font-size: 1.4em !important;
		line-height: 1.05 !important;
	}

	/* Bouton langue : drapeau + texte dans une grille interne */
	.l2c-top-menu .l2c-menu-action--language
	{
		display: grid !important;
		grid-template-columns: 2.25em minmax(0, 1fr) !important;
		align-items: center !important;
		justify-items: center !important;
		column-gap: 0.2em !important;
		padding: 0.22em 0.22em !important;
	}

	.l2c-menu-action--language .l2c-current-flag,
	.l2c-menu-action--language .l2c-menu-flag
	{
		width: 2.1em !important;
		min-width: 2.1em !important;
		max-width: 2.1em !important;
		height: 1.38em !important;
	}

	.l2c-menu-action--language span:not(.l2c-current-flag):not(.l2c-menu-flag),
	.l2c-menu-action--language .l2c-language-label
	{
		/*width: 100% !important;*/
		font-size: 0.82rem !important;
		white-space: normal !important;
		overflow: hidden !important;
		text-overflow: clip !important;
	}

	.l2c-top-menu .l2c-menu-action--language
	{
		grid-template-columns: 2.7em minmax(0, 1fr) !important;
		column-gap: 0.18em !important;
		padding: 0.2em 0.18em !important;
	}

	.l2c-menu-action--language .l2c-current-flag,
	.l2c-menu-action--language .l2c-menu-flag
	{
		width: 2.55em !important;
		min-width: 2.55em !important;
		max-width: 2.55em !important;
		height: 1.7em !important;
	}

	.l2c-menu-action--language .l2c-current-flag img,
	.l2c-menu-action--language .l2c-menu-flag img,
	.l2c-menu-action--language .l2c-menu-flag .flag,
	.l2c-menu-action--language .l2c-menu-flag-img
	{
		width: 100% !important;
		height: 100% !important;
		object-fit: cover !important;
	}

	.l2c-menu-action--language span:not(.l2c-current-flag):not(.l2c-menu-flag),
	.l2c-menu-action--language .l2c-language-label
	{
		font-size: 0.78rem !important;
		line-height: 1.02 !important;
	}
}

/* Correction très petites tablettes : 601px à 720px */
@media screen and (min-width : 601px) and (max-width : 720px)
{
	.l2c-top-menu-shell
	{
		width: calc(100vw - 0.45em) !important;
		padding: 0.22em !important;
	}

	.l2c-top-menu
	{
		gap: 0.18em !important;
	}

	.l2c-top-menu .btn_menu.l2c-menu-action,
	#btnResetLocalStorage.l2c-menu-action
	{
		height: 3.55em !important;
		padding: 0.2em 0.16em !important;
		font-size: 0.62rem !important;
		gap: 0.16em !important;
		border-radius: 0.55em !important;
	}

	.l2c-top-menu .logo_bouton.large
	{
		font-size: 1.05rem !important;
	}

	.l2c-top-menu .l2c-menu-action span:not(.l2c-menu-flag):not(.l2c-current-flag)
	{
		font-size: 0.95em !important;
		line-height: 1.02 !important;
	}

	.l2c-top-menu .l2c-menu-action--language
	{
		grid-template-columns: 1.75em minmax(0, 1fr) !important;
		column-gap: 0.12em !important;
		padding: 0.16em 0.12em !important;
	}

	.l2c-menu-action--language .l2c-current-flag,
	.l2c-menu-action--language .l2c-menu-flag
	{
		width: 1.65em !important;
		min-width: 1.65em !important;
		max-width: 1.65em !important;
		height: 1.08em !important;
	}

	.l2c-menu-action--language span:not(.l2c-current-flag):not(.l2c-menu-flag),
	.l2c-menu-action--language .l2c-language-label
	{
		font-size: 0.68rem !important;
		line-height: 1.02 !important;
	}
	.l2c-top-menu .l2c-menu-action--language
	{
		grid-template-columns: 2.15em minmax(0, 1fr) !important;
		column-gap: 0.1em !important;
		padding: 0.14em 0.1em !important;
	}

	.l2c-menu-action--language .l2c-current-flag,
	.l2c-menu-action--language .l2c-menu-flag
	{
		width: 2em !important;
		min-width: 2em !important;
		max-width: 2em !important;
		height: 1.32em !important;
	}

	.l2c-menu-action--language span:not(.l2c-current-flag):not(.l2c-menu-flag),
	.l2c-menu-action--language .l2c-language-label
	{
		font-size: 0.66rem !important;
		line-height: 1.02 !important;
	}
}

/* Sous 640px, cinq boutons avec texte deviennent trop serrés.
   On conserve le drapeau et on abrège visuellement le texte si nécessaire. */
@media screen and (min-width : 601px) and (max-width : 640px)
{
	.l2c-menu-action--language span:not(.l2c-current-flag):not(.l2c-menu-flag),
	.l2c-menu-action--language .l2c-language-label
	{
		font-size: 0.62rem !important;
	}
}

