:root
	{
	/*	=================================================================================	*/
	/*	PALETTE DU MODELE — seul bloc à modifier pour re-brander un site dérivé			*/
	/*	(toutes les pages/CSS du gabarit consomment exclusivement ces variables)			*/
	/*	=================================================================================	*/

	/*	-----------------COULEURS DU MENU---------------------------	*/
	/*	Palette MuaRoa Production — reprise du logo 2026 (échantillonnée	*/
	/*	directement sur le fichier images/logo.png), fond marine proche	*/
	/*	de muaroa.com actuel + accents bleu/jaune vifs du nouveau logo.	*/

	--fnd_inact: #000A33;	/*	Bleu Marine très foncé (fond du menu)		*/
	--fnd_actif: #0838A0;	/*	Bleu Roi du logo (onglet survolé/actif)	*/
	--fnd_rover: #000000;	/*	Noir										*/
	--fnd_actsub: #E4EEFC;	/*	Bleu très pâle (sous-menu)					*/

	--txt_inact: #FFFFFF;	/*	Blanc (texte des onglets)					*/
	--txt_actif: #FFFFFF;	/*	Blanc (texte onglet actif)					*/
	--txt_rover: #000019;	/*	Presque Noir								*/

	/*	-----------------COULEURS DU MAINLAYOUT----------------------	*/

	--fnd_tete:	 #000A33;	/*	Bleu Marine très foncé (fond entête)		*/
	--fnd_corps: #F7F9FB;	/*	Gris très clair (fond contenu secondaire)	*/
	--fnd_pied:	 #000A33;	/*	Bleu Marine très foncé (fond pied de page)	*/

	--fnd_fonce: #000A33;	/*	Bleu Marine très foncé (fond du wrapper)	*/
	--fnd_moyen: #0838A0;	/*	Bleu Roi du logo							*/
	--fnd_moycl: #F7F9FB;	/*	Gris très clair								*/
	--fnd_clair: #FFFFFF;	/*	Blanc										*/

	--txt_discr: #5C6672;	/*	Gris discret (mentions, texte facultatif) — assombri le	*/
							/*	31/08/2026 : #9AA5B1 sur blanc ne faisait que 2,5:1 de	*/
							/*	contraste (WAVE "Very low contrast"), sous le minimum	*/
							/*	4,5:1. #5C6672 donne ~5,8:1, tout en restant visuellement	*/
							/*	plus discret que --txt_norma.								*/
	--txt_norma: #22303C;	/*	Gris-bleu foncé (texte courant)				*/
	--txt_titre: #0838A0;	/*	Bleu Roi du logo (titres)					*/
	--txt_linka: #0F5FB8;	/*	Bleu vif accessible sur fond blanc (liens)	*/
	--txt_rollo: #0B4A8F;	/*	Bleu plus foncé (survol lien)				*/
	--txt_clair: #FFFFFF;	/*	Blanc (texte sur fond foncé)				*/
	--txt_pale:  #B0D4FA;	/*	Bleu ciel pâle du logo (texte sur fond foncé	*/
							/*	coloré, ex. voile .overlay — plus doux que	*/
							/*	le blanc, garde le lien visuel avec le logo)	*/
							/*	éclairci le 31/08/2026 (depuis #98C8F8) :		*/
							/*	un peu plus de contraste/lisibilité sur le		*/
							/*	titre d'en-tête, en restant dans la même		*/
							/*	gamme de bleu (pas de bascule vers du blanc).	*/

	--accent_jaune: #F0E878;	/*	Jaune pâle du curseur du logo — à réserver	*/
								/*	à de petites touches (icônes, surlignage,	*/
								/*	jamais du texte sur fond blanc : contraste	*/
								/*	insuffisant en usage large)					*/

	/*	-----------------TYPOGRAPHIE DU MODELE-----------------------	*/
	/*	Règle du gabarit : 2 polices maximum sur tout le site — une pour	*/
	/*	les titres (toutes les balises <h1> à <h6>), une pour le reste	*/
	/*	(texte, boutons, formulaires...). Pour changer de police pour un	*/
	/*	projet donné : modifier les 2 valeurs ci-dessous ET la balise	*/
	/*	<link> Google Fonts correspondante dans responsive.php (charger	*/
	/*	la police ne suffit pas si elle n'est pas aussi déclarée ici, et	*/
	/*	inversement — les deux doivent rester synchronisés).				*/

	--font-titres: 'Michroma', sans-serif;		/*	Titres (h1 à h6)		*/
	--font-texte:  'Raleway', sans-serif;		/*	Tout le reste			*/
	}

/*	Application automatique aux balises correspondantes — tout le reste du	*/
/*	CSS référence désormais --font-titres/--font-texte plutôt que de nommer	*/
/*	une police en dur, pour qu'un changement ici se répercute partout.		*/
body
	{
	font-family: var(--font-texte);
	}

h1, h2, h3, h4, h5, h6
	{
	font-family: var(--font-titres);
	}

/*	Les champs de formulaire n'héritent PAS de la police du body par défaut	*/
/*	(comportement natif des navigateurs) — à fixer explicitement, sinon ils	*/
/*	gardent la police système et détonnent visuellement du reste du site.	*/
input, button, textarea, select
	{
	font-family: var(--font-texte);
	}

/*	Exception boutons : le menu garde --font-texte (règle ci-dessus), mais tous les	*/
/*	boutons du site (.btlink/.btlinkfoot/.btsub*) reprennent --font-titres, sur	*/
/*	demande explicite (30/08/2026) — uniquement les boutons, pas le menu.			*/
.btlink a, .btlinkfoot a,
.btsubmit, .btsubvert, .btsubvertsel, .btsubrouge, .btsubfinal, .btsubblanc
	{
	font-family: var(--font-titres);
	}

#cssmenu,
#cssmenu ul,
#cssmenu ul li,
#cssmenu ul li a,
#cssmenu #menu-button
	{
	margin: 0;
	padding: 0;
	border: 0;
	list-style: none;
	line-height: 1;
	display: inline-block;
	position: relative;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	}
#cssmenu:after,
#cssmenu > ul:after
	{
	content: ".";
	display: block;
	clear: both;
	visibility: hidden;
	line-height: 0;
	height: 0;
	}
#cssmenu #menu-button
	{
	display: none;
	}

/*	RGAA 4.1, critère 10.7 : #menu-button est un <div role="button"> (voir js/script.js),	*/
/*	pas un vrai <button> — anneau de focus explicite plutôt que de compter sur le style	*/
/*	par défaut du navigateur, moins fiable/visible sur un <div>.							*/
#cssmenu #menu-button:focus-visible
	{
	outline: 3px solid var(--fnd_actif);
	outline-offset: -3px;
	}

/***********************************************************/
/****	FOND DE LA BARRE DE MENU						****/
/***********************************************************/
#cssmenu
	{
	width: auto;
	background: var(--fnd_inact);
	font-family: var(--font-texte);
	font-weight: 200;
	font-optical-sizing: auto;
	font-style: normal;
	border-radius: 0px;
	}
#cssmenu.align-center > ul
	{
	font-size: 0;
	text-align: center;
	}
#cssmenu.align-center ul ul
	{
	text-align: left;
	}
#cssmenu.align-center > ul > li
	{
	display: inline-block;
	float: none;
	}
#cssmenu.align-right > ul > li
	{
	float: right;
	}
#cssmenu.align-right ul ul
	{
	text-align: right;
	}
#cssmenu > ul > li
	{
	float: left;
	}

/******************************************************* */
/****		ONGLET PASSIF							**** */
/******************************************************* */
#cssmenu > ul > li > a
	{
	/*	text-transform: uppercase;					*/
	padding: 13px 17px;
	font-size: 19px; /*	par défaut 19px	*/
	color: var(--txt_inact);
	font-weight: 500;
	text-decoration: none;
	-webkit-transition: color .2s ease;
	-moz-transition: color .2s ease;
	-ms-transition: color .2s ease;
	-o-transition: color .2s ease;
	transition: color .2s ease;
	height: 45px; /* à ajouter si changement du font-size: */
	}

/******************************************************* */
/****		ONGLET ACTIF							**** */	
/******************************************************* */
#cssmenu > ul > li:hover > a,
#cssmenu > ul > li > a:hover,
#cssmenu > ul > li.active > a
	{
	border-radius: 2px;
	background: var(--fnd_actif);
	color: var(--txt_actif);
	/*	font-weight: bold;		*/
	}

#cssmenu > ul > li.has-sub > a
	{
	padding-right: 40px;
	}

/*	******************************************************************************************** */
/*	****		ROND    FLECHE    DE    DEROULEMENT    OFF									**** */
/*	******************************************************************************************** */
/*	#cssmenu ul > li.has-sub > a:after
	{
	content: '';
	position: absolute;
	right: 9px;
	top: 12px;
	display: block;
	width: 18px;
	height: 18px;
	border-radius: 9px;
	background: var(--fnd_fonce);
	background-size: 36px 36px;
	background-position: 0 0;
	background-repeat: no-repeat;
	-webkit-transition: all 0.1s ease-out;
	-moz-transition: all 0.1s ease-out;
	-ms-transition: all 0.1s ease-out;
	-o-transition: all 0.1s ease-out;
	transition: all 0.1s ease-out;
	}
#cssmenu ul > li.has-sub:hover > a:after
	{
	background-position: 0 -18px;
	}	*/

/**********************************************************/
/***		TRIANGLE FLECHE DE DEROULEMENT OFF			***/
/**********************************************************/
#cssmenu ul > li.has-sub > a:before
	{
	content: '';
	position: absolute;
	right: 11px;
	top: 18px;
	display: block;
	width: 0;
	height: 0;
	border: 7px solid transparent;
	border-top-color: var(--txt_inact);
	z-index: 99;
	}


/**********************************************************/
/***		TRIANGLE FLECHE DE DEROULEMENT ON			***/
/**********************************************************/
#cssmenu ul > li.has-sub:hover > a:before
	{
	border-top-color: var(--txt_actif);
	}

#cssmenu ul ul
	{
	position: absolute;
	left: -9999px;
	opacity: 0;
	-webkit-transition: top .2s ease, opacity .2s ease;
	-moz-transition: top .2s ease, opacity .2s ease;
	-ms-transition: top .2s ease, opacity .2s ease;
	-o-transition: top .2s ease, opacity .2s ease;
	transition: top .2s ease, opacity .2s ease;
	}

#cssmenu > ul > li > ul
	{
	top: 200px;
	padding-top: 8px;
	border-radius: 20px;
	}

/**********************************************************/
/***		POSITION SOUS MENU NIVEAU 1					***/
/**********************************************************/
#cssmenu > ul > li:hover > ul
	{
	left: 0px;
	top: 37px;
	opacity: 1;
	}

#cssmenu.align-right > ul > li:hover > ul
	{
	right: 0;
	}

#cssmenu ul ul ul
	{
	top: 40px;
	}

/**********************************************************/
/***		POSITION SOUS SOUS MENU NIVEAU 1			***/
/**********************************************************/
#cssmenu ul ul > li:hover > ul
	{
	top: 0;
	left: 218px;	/*	178	*/
	padding-left: 10px;
	opacity: 1;
	}

#cssmenu.align-right ul ul > li:hover > ul
	{
	left: 0;
	right: 178px;
	padding-left: 0;
	padding-right: 10px;
	opacity: 1;
	}

/*  ****************************************************** */
/*  *****     SOUS - MENU   OFF                      ***** */
/*  ****************************************************** */
#cssmenu ul ul li a
	{
	width: 300px;
	padding: 10px 25px;
	font-size: 16px;
	font-weight: 500;
	background: var(--fnd_inact);
	color: var(--txt_inact);
	text-decoration: none;
	text-align: left;
	-webkit-transition: color .2s ease;
	-moz-transition: color .2s ease;
	-ms-transition: color .2s ease;
	-o-transition: color .2s ease;
	transition: color .2s ease;
	}

/*  ****************************************************** */
/*  *****     SOUS - MENU   ON                       ***** */
/*  ****************************************************** */
#cssmenu ul ul li:hover > a,
#cssmenu ul ul li > a:hover,
#cssmenu ul ul li.active > a
	{
	background: var(--fnd_actif);
	color: var(--txt_actif);
	border-radius: 0px 0px 0px 0px;
	}

#cssmenu ul ul li:first-child > a
	{
	border-top-left-radius: 5px;
	border-top-right-radius: 5px;
	}

#cssmenu ul ul li:last-child > a
	{
	border-bottom-left-radius: 5px;
	border-bottom-right-radius: 5px;
	}

/*	******************************************************************************************** */
/*	****		ROND    FLECHE    DE    DEROULEMENT    OFF    SOUS-MENU						**** */
/*	******************************************************************************************** */
#cssmenu ul ul > li.has-sub > a:after
	{
	right: 13px;
	top: 10px;
	background: var(--fnd_rover);
	/*
	background-size: 36px 36px;
	background-position: 0 0;
	background-repeat: no-repeat;
	*/
	}

#cssmenu.align-right ul ul > li.has-sub > a:after
	{
	right: auto;
	left: 12px;
	}

#cssmenu ul ul > li.has-sub:hover > a:after
	{
	background-position: 0 -18px;	/* -18	*/
	}

/*	********************************************************* */
/*	****	TRIANGLE DE SOUS MENU VERS SOUS-SOUS MENU	***** */
/*	********************************************************* */
#cssmenu ul ul > li.has-sub > a:before
	{
	top: 11px;
	right: 10px;
	border-top-color: transparent;
	border-left-color: var(--txt_inact);
	}

#cssmenu.align-right ul ul > li.has-sub > a:before
	{
	top: 16px;
	right: auto;
	left: 16px;
	border-top-color: transparent;
	border-right-color: var(--txt_rover);
	border-left-color: transparent;
	}

#cssmenu ul ul > li.has-sub:hover > a:before
	{
	border-top-color: transparent;
	border-left-color: var(--txt_inact);
	}

#cssmenu.align-right ul ul > li.has-sub:hover > a:before
	{
	border-top-color: transparent;
	border-left-color: transparent;
	border-right-color: var(--txt_rover);
	}



/**********************************************************/
/***		SMALL SCREEN								***/
/**********************************************************/
#cssmenu.small-screen
	{
	width: 100%;		/*	100%	*/
	/*	width: 1200px;	*/
	height: 42px;
	}

#cssmenu.small-screen ul,
#cssmenu.small-screen ul ul,
#cssmenu.small-screen ul ul ul,
#cssmenu.small-screen > ul,
#cssmenu.small-screen.align-center > ul,
#cssmenu.small-screen > ul > li > ul,
#cssmenu.small-screen > ul > li:hover > ul,
#cssmenu.small-screen ul ul li:hover > ul,
#cssmenu.small-screen ul ul ul li:hover > ul,
#cssmenu.small-screen.align-right ul ul,
#cssmenu.small-screen.align-right ul ul li:hover > ul,
#cssmenu.small-screen.align-right ul ul ul li:hover > ul
	{
	position: relative;
	left: 0;
	right: auto;
	top: 0;
	width: 100%;
	display: none;
	padding: 0;
	opacity: 1;
	text-align: left;
	background: var(--fnd_inact);
	color: var(--txt_inact);
	}

#cssmenu.small-screen ul li :hover
	{
	background: var(--fnd_actif);
	color: var(--txt_actif);
	}

#cssmenu.small-screen ul ul li :hover
	{
	background: var(--fnd_actif);
	color: var(--txt_actif);
	}

#cssmenu.small-screen ul li
	{
	width: 100%;
	border-top: 1px solid rgba(120, 120, 120, 0.2);
	}

#cssmenu.small-screen > ul > li > a,
#cssmenu.small-screen ul ul li a,
#cssmenu.small-screen ul ul li:first-child > a
#cssmenu.small-screen ul ul li:last-child > a
	{
	width: 100%;
	border-radius: 0;
	box-shadow: none;
	background: none;
	}

#cssmenu.small-screen ul ul li:first-child > a
	{
	border-top-left-radius: 0px;
	border-top-right-radius: 0px;
	/*	box-shadow: inset 0 2px 2px #2491ff;    */
	}

#cssmenu.small-screen ul ul li:last-child > a
	{
	border-bottom-left-radius: 0px;
	border-bottom-right-radius: 0px;
	}

#cssmenu.small-screen ul li a
	{
	padding-left: 13px;
	color: var(--txt_inact);
	}

#cssmenu.small-screen ul ul li a
	{
	padding: 13px 25px 13px 28px;
	background: var(--fnd_inact);
	color: var(--txt_inact);
	}

#cssmenu.small-screen ul ul ul li a
	{
	padding-left: 43px;
	background: var(--fnd_inact);
	color: var(--txt_inact);
	}

#cssmenu.small-screen ul ul ul ul li a
	{
	padding-left: 58px;
	}

#cssmenu.small-screen > ul > li.has-sub > a:after,
#cssmenu.small-screen > ul > li.has-sub > a:before,
#cssmenu.small-screen ul ul li.has-sub > a:after,
#cssmenu.small-screen ul ul li.has-sub > a:before
	{
	display: none;
	}

/**********************************************************/
/***		SMALL SCREEN	BARRE MENU					***/
/**********************************************************/
#cssmenu.small-screen #menu-button
	{
	position: relative;
	display: block;
	padding: 13px;
	cursor: pointer;

	background: var(--fnd_inact);

	color: var(--txt_inact);

	font-size: 16px;
	font-weight: 700;
	letter-spacing: 1px;
	text-transform: uppercase;
	text-align: center;
	}

/*	******************************************************************************************** */
/*	****		MARGE    GAUCHE    ENTETE    SOUS-MENU    &    SOUS-SOUS-MENU				**** */
/*	******************************************************************************************** */
#cssmenu.small-screen .submenu-button
	{
	position: absolute;
	right: 0;
	display: block;
	width: 100%;
	height: 42px;
	/*	border-left: 1px solid rgba(120, 120, 120, 0.2);	*/
	border-left: 1px solid var(--fnd_actif);
	z-index: 10;
	cursor: pointer;
	}

#cssmenu.small-screen ul ul .submenu-button
	{
	height: 41px;
	}

/*  *********************************************************************** */
/*  *****     ROND DU TRIANGLE FLECHE DE DEROULEMENT SMALL SCREEN     ***** */
/*  *********************************************************************** */
#cssmenu.small-screen ul .submenu-button:after,
#cssmenu.small-screen #menu-button:after
	{
	content: '';
	position: absolute;
	right: 13px;
	top: 10px;
	display: block;
	width: 28px;
	height: 28px;
	border-radius: 15px;
	/*	background: #666666;*/
	background-size: 56px 56px;
	background-position: 0 0;
	background-repeat: no-repeat;
	-webkit-transition: all 0.1s ease-out;
	-moz-transition: all 0.1s ease-out;
	-ms-transition: all 0.1s ease-out;
	-o-transition: all 0.1s ease-out;
	transition: all 0.1s ease-out;
	}

#cssmenu.small-screen ul .submenu-button.submenu-opened:after,
#cssmenu.small-screen #menu-button.menu-opened:after
	{
	background-position: 0 -28px;
	}

#cssmenu.small-screen ul ul .submenu-button:after
	{
	top: 6.5px;
	}

/*  ********************************************************************* */
/*  *****     TRIANGLE DE LA BARRE MENU PETIT ECRAN                 ***** */
/*  ********************************************************************* */
#cssmenu.small-screen #menu-button:before,
#cssmenu.small-screen .submenu-button:before
	{
	content: '';
	position: absolute;
	right: 17px;
	top: 20px;
	display: block;
	width: 0;
	height: 0;
	border: 10px solid transparent;
	border-top-color: var(--txt_inact);
	z-index: 99;
	}

#cssmenu.small-screen ul ul .submenu-button:before
	{
	top: 19.5px;
	}

#cssmenu.small-screen #menu-button.menu-opened:before,
#cssmenu.small-screen .submenu-button.submenu-opened:before
	{
	border-top-color: var(--txt_actif);
	}

#cssmenu.small-screen.select-list
	{
	padding: 5px;
	}
