: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---------------------------	*/

	/*	MAEVA ACTIVITÉS (19/10/2026) : même logique de couleurs que maevahebergement.com		*/
	/*	(gris souris + jaune actif), le bleu ardoise de Maeva Hébergement (#4F6889, et sa		*/
	/*	version à 75 % #6e819a) remplacé par le TURQUOISE de Maeva Activités (#286373, celui	*/
	/*	du logiciel — palette.php de maevactiv). Valeurs choisies pour passer WAVE/axe : sur	*/
	/*	le jaune et le turquoise à 75 %, texte NOIR (le blanc y serait illisible).			*/

	--fnd_inact: #286373;	/*	Turquoise Maeva Activités (fond du menu)	*/
	--fnd_actif: #66FFCC;	/*	Vert d'eau (survol des boutons, liens du pied, focus) — 29/10/2026 : remplace le jaune #FFE100 partout, demande d'Hervé	*/
	--fnd_rover: #3F536E;	/*	Ardoise foncée (repli si pas de dégradé) — comme maevactiv	*/
	--fnd_deghaut: #53828F;	/*	Dégradé turquoise, haut (survol menu) — comme maevactiv	*/
	--fnd_degbas: #204F5C;	/*	Dégradé turquoise, bas (survol menu, sous-menu) — comme maevactiv	*/
	--fnd_actsub: #D4E8EC;	/*	Turquoise très pâle (sous-menu)				*/

	--txt_inact: #D8F6F7;	/*	Turquoise pâle (texte des onglets), même teinte que le fond du formulaire (--fnd_moycl)	*/
	--txt_actif: #000000;	/*	Noir sur vert d'eau								*/
	--txt_rover: #FFFFFF;	/*	Blanc sur le dégradé (survol) — comme maevactiv	*/

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

	--fnd_tete:	 #CCCCCC;	/*	Gris Souris (fond entête, comme Hébergement)	*/
	--fnd_corps: #F4F8F9;	/*	Gris-turquoise très clair (contenu secondaire)	*/
	--fnd_pied:	 #286373;	/*	Turquoise (fond pied de page)				*/

	--fnd_fonce: #CCCCCC;	/*	Gris Souris (fond du wrapper, comme Hébergement)	*/
	--fnd_moyen: #286373;	/*	Turquoise									*/
	--fnd_moycl: #D8F6F7;	/*	Turquoise très clair (Hébergement : #ACEDEF, éclairci pour le contraste)	*/
	--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: #1F3A42;	/*	Turquoise très foncé (texte courant)		*/
	--txt_titre: #286373;	/*	Turquoise (titres, 6,7:1 sur blanc)			*/
	--txt_linka: #1A7A85;	/*	Turquoise vif (liens, 5:1 sur blanc)		*/
	--txt_rollo: #144E57;	/*	Turquoise foncé (survol lien)				*/
	--txt_clair: #FFFFFF;	/*	Blanc (texte sur fond foncé)				*/

	/*	-----------------TYPOGRAPHIE DU MODELE-----------------------	*/
	/*	Règle du gabarit : 2 polices maximum sur tout le site — une pour	*/
	/*	les titres (toutes les balises <h1> à <h6>) et les boutons, une	*/
	/*	pour le reste (texte courant, menu, 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: 'Quicksand', sans-serif;		/*	Titres (h1 à h6)		*/
	--font-texte:  'Roboto', 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 — meilleur	*/
/*	effet visuel (confirmé sur le projet muaroa, 30/08/2026). Le centrage vertical	*/
/*	(flexbox + léger padding correctif ci-dessous sur les .btsub*) est nécessaire car	*/
/*	certaines polices "display" (ex. Michroma) ont des métriques verticales très	*/
/*	asymétriques qui décalent visuellement le texte vers le bas sinon — si vous	*/
/*	changez --font-titres, revérifiez ce centrage (voir mémoire de session Claude :	*/
/*	css_specificite_pseudo_classes, mesurable au Canvas 2D avec measureText()).		*/
.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,
#cssmenu .submenu-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;
	}
/*	Mode standard (<!DOCTYPE html>) : le menu est un inline-block posé sur la ligne de base,	*/
/*	qui réserve sous lui la place des jambages des lettres — barre de menu 30px plus haute.	*/
/*	vertical-align:top supprime cet espace (en mode « quirks », sans DOCTYPE, il n'existe pas).	*/
#cssmenu,
#cssmenu > ul
	{
	vertical-align: top;
	}

#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: 42px; /* à ajouter si changement du font-size: */	/*	42px comme le logiciel Maeva Activités	*/
	}

/******************************************************* */
/****		ONGLET ACTIF							**** */	
/******************************************************* */
/*	Menu identique au logiciel Maeva Activités (css/cssmenu_backoffice.css de maevactiv,	*/
/*	21/10/2026) : survol et onglet actif en dégradé turquoise, texte blanc.				*/
#cssmenu > ul > li:hover > a,
#cssmenu > ul > li > a:hover,
#cssmenu > ul > li.active > a
	{
	border-radius: 2px;
	background: var(--fnd_rover);
	background: linear-gradient(to bottom, var(--fnd_deghaut) 0%, var(--fnd_degbas) 100%);
	color: var(--txt_rover);
	/*	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					***/
/**********************************************************/
/*	RGAA (09/10/2026, repris de tahatai) : :focus-within ouvre aussi le sous-menu quand on y	*/
/*	arrive au clavier (Tab), pas seulement au survol de la souris.							*/
#cssmenu > ul > li:hover > ul,
#cssmenu > ul > li:focus-within > 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_degbas);
	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_rover);
	background: linear-gradient(to bottom, var(--fnd_deghaut) 0%, var(--fnd_degbas) 100%);
	color: var(--txt_rover);
	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 > li:focus-within > 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_degbas);
	color: var(--txt_rover);
	}

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

#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				**** */
/*	******************************************************************************************** */
/*	RGAA (09/10/2026) : le bouton de sous-menu n'existe qu'en petit écran ; masqué sinon pour ne	*/
/*	pas être atteint (invisible) au clavier sur grand écran.									*/
#cssmenu .submenu-button
	{
	display: none;
	}

#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;
	}
