/* Source : touptyStyle.css */
body {
    background-color: #7BA5A1;
    font-family: Helvetica, Arial, sans-serif;
    color: #ffffcc;
    font-size: 14px;
	line-height: 1.5;
	width:100%;
    max-width: 1175px;
    margin: 0 auto;  /* Centrer le contenu si la fen&ecirc;tre du navigateur est plus large que 1000px */
	text-align:center;
}
/* permet aux images d'être responsive */
img {border:0;max-width:100%;height:auto;}

/* Pour les tableaux déclarés avec largeur fixe dans le code*/
table[width] {
  width: 95% !important;
  max-width: 100% !important;
  margin: 0 auto;
}

/* Pour les images dans les tableaux */
table img[width] {
  max-width: 100% !important;
  height: auto !important;
}
h1      {color:#FFE6CC;text-align:justify;font-weight:normal;margin:0 auto;line-height: 1.3;}
h2,h3,h4{text-align:justify;font-weight:normal;margin:0 auto;line-height: 1.3;}
h1      {font-size:18px;padding:5px 0;}
h2      {font-size:16px;padding:3px 0;}
h3,h4   {font-size:14px;padding:1px 0;}
p,span,ul,ol,dl       {text-align:justify;font-weight:normal;font-size:14px;padding:0;}
h1,h2,h3,h4,p{margin-left:5%;margin-right:5%;margin-top: 10px; margin-bottom:10px;}
ul,ol        {margin-left:7%;margin-right:5%;margin-top: 10px; margin-bottom:10px;}
dl        {margin-left:7%;margin-right:5%;margin-top: 10px; margin-bottom:10px;}
dt        {font-weight: bold;text-decoration:underline;margin-top: 10px;}
dd        {margin: 5px 0 12px 0;padding-left: 0;}

a{color:#00ffcc; text-decoration:none;font-weight:normal;font-size:14px}
a:active, a:hover{color:#ffff33;}
.liensgg   {padding:0px;color:#00ffcc;font-size:14px;font-family:Helvetica,arial,sans-serif;}
.liensgg14 {padding:0px;color:#00ffcc;font-size:14px;font-family:Helvetica,arial,sans-serif;}
.liensgg16 {padding:0px;color:#00ffcc;font-size:16px;font-family:Helvetica,arial,sans-serif;}
.liensbas  {padding:0px;color:#00ffcc;font-size:14px;font-family:Helvetica,arial,sans-serif;}

/* Style pour le titre et description dans le header */
.baseline-site {
    padding-top:5px;
    padding-bottom:5px;
    text-align:center;
    font-weight: normal;
    font-size: 18px; 
	margin: 0 5%;
}
.baseline-desc {
    padding-top:3px;
    padding-bottom:10px;
    text-align:center;
    font-weight: normal;
    font-size: 16px;
	margin: 0 5%;	
}

/* Pour les cellules de tableau */
/* tr[height] {height: auto !important;} */
/* td[width] {width: auto !important;} */

/**********************************************/
/* Définition de la grille et de ses élements */
/*       6 colonnes et 7 lignes               */
/**********************************************/
#main1 {
	display: grid;
	background-color:brown;
	grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr;
	grid-template-rows: auto auto auto auto auto auto auto;
	}
#logo{
    justify-self: start;     /* Alignement horizontal &agrave; gauche (dans la colonne) de la cellule */
	align-self: start;      /* Alignement vertical au centre (dans la ligne) de la cellule */
    grid-column: 1 / span 1; /* D&eacute;bute &agrave; la premi&egrave;re colonne et s'&eacute;tend sur 1 colonne*/
    grid-row: 1 / span 3;    /* D&eacute;bute &agrave; la premi&egrave;re ligne et s'&eacute;tend sur 3 lignes */
	order: 1;                /* Cet &eacute;l&eacute;ment a l'ordre 1 */
}
#gcse-search{
	width:100%;
	justify-self: start;
	align-self: center;
    grid-column: 2 / span 3; 
    grid-row: 1 / span 1; 
    order: 2;
}
html body table.gstl_50.gssb_c tbody tr td.gssb_e table.gsc-completion-container tbody tr td.gssb_a div.gsq_a table tbody tr td span {
    color: black !important;
}
html body.gsc-overflow-hidden div#main1 div#gcse-search div#___gcse_0 div.gsc-control-cse.gsc-control-cse-fr div.gsc-control-wrapper-cse div.gsc-results-wrapper-overlay.gsc-results-wrapper-visible div.gsc-wrapper div.gsc-resultsbox-visible div.gsc-resultsRoot.gsc-tabData.gsc-tabdActive div.gsc-results.gsc-webResult div.gsc-expansionArea div.gsc-webResult.gsc-result div.gs-webResult.gs-result div.gsc-url-top div.gs-bidi-start-align.gs-visibleUrl.gs-visibleUrl-breadcrumb span {
    color: #009933 !important;
}
html body.gsc-overflow-hidden div#main1 div#gcse-search div#___gcse_0 div.gsc-control-cse.gsc-control-cse-fr div.gsc-control-wrapper-cse div.gsc-results-wrapper-overlay.gsc-results-wrapper-visible div.gsc-wrapper div.gsc-resultsbox-visible div.gsc-resultsRoot.gsc-tabData.gsc-tabdActive div.gsc-results.gsc-webResult div.gsc-expansionArea div.gsc-webResult.gsc-result div.gs-webResult.gs-result div.gsc-thumbnail-inside div.gs-title {
    text-align:left !important;
}
#img-menu{
	justify-self: end;
	align-self: center;
    grid-column: 5 / span 2; 
    grid-row: 1 / span 1;
	order: 3; 
}
.box-img-menu {
	display: inline-block;vertical-align:top;
	width:auto;
	height:100%;
} 
#text-menu{
	justify-self: end;
	align-self: center;
    grid-column: 4 / span 3; 
    grid-row: 2 / span 1;
	order: 4; 
}
#text-menu a {
    margin-left: 10px;  /* espace avant chaque lien */
}
#text-menu a:first-child {
    margin-left: 0;     /* pas de marge pour "Accueil" */
}
#hamburger-menu{
	justify-self: center;
	align-self: start;
	grid-column: 6 / span 1; 
	grid-row: 2 / span 1;
	display:none;
}
#affichage728x90{
	justify-self: end;
	align-self: center;
    grid-column: 3 / span 4; 
    grid-row: 3 / span 1;
	order: 5;
}
#main-menu h1{text-align:center !important;} 
#main-menu h2{text-align:center !important;}
#main-menu p{text-align:center !important;}
#main-menu a{font-size:12px; !important;}
#main-menu{
	width: 100%;
	border-radius:30px;
	border-bottom:3px solid #ffffcc;
	border-top:2px solid #ffffcc;
	justify-self: start;
	align-self: center;
    grid-column: 1 / span 6; 
    grid-row: 4 / span 1;
	order: 6;
}
.box {
	width:10.6%;
	display: inline-block;vertical-align:top;
}
.boxImg {
	display:block;
}	
.boxText {
	display:block;
}	
.box {background-color: #A52A2A;transition: all 1s;}
.box img:hover {background-color: #FFFFDD;color: black;border-radius: 10px;color:black;}
.box a:hover {color:black;}

.megamenu_wrapper{
	justify-self: center;
	align-self: center;
    grid-column: 1 / span 6; 
    grid-row: 5 / span 1;
	order: 7; 
}
#mainindex,#coloriagesimprimer,#coloriagesenligne,#mainMaths,#mainFrancais,#imagier,#memory,#puzzle,#taquins,#jeuxenligne,#contenu{
	margin-top:10px;
	align-self: center;
	align-items: start;            /* Aligner les enfants au sommet */
    grid-column: 1 / span 6; 
    grid-row: 6 / span 1;
	order: 8;
	display: grid;
    grid-template-columns: 1fr 5fr;
	grid-template-rows: auto auto auto auto;
}
.firstRowAllContenu{
	width:100%;         /* VERIFIER TOUS les Width : 100% pour les classes ci dessous !!*/
	grid-column: 1 / span 6; 
	grid-row:1;
	justify-self: start;
	align-self:start;
	text-align:justify
}
.firstRowLeftContenu{
	grid-column: 1; 
	grid-row:1;
	justify-self: center;
	align-self:center;
	margin: 0 auto;
}	
.firstRowRightContenu{
	grid-column: 6; 
	grid-row:1;
	justify-self: start;
	align-self:center;
	margin: 0 auto;
}
.firstRowCenterContenu{
	width:100%;
	grid-column: 2 / 5; 
	grid-row:1;
	justify-self: center;
	align-self:start;
}	
.secondRowAllContenu{
	width:100%;
	grid-column: 1 / span 6; 
	grid-row:2;
	justify-self: center;
	align-self:start;
	margin: 0 auto;
}
.secondRowLeftContenu{
	width:100%;
	grid-column: 1; 
	grid-row:2;
	justify-self: center;
	align-self:start;
	margin: 0 auto;
}	
.secondRowRightContenu{
	grid-column: 6; 
	grid-row:2;
	justify-self: center;
	align-self:start;
	margin: 0 auto;
}
.secondRowCenterContenu{
	width:100%;         /* enlever pour le jeu des 7 erreurs &agrave; VERIFIER ailleurs !!*/
	grid-column: 2 / span 5; 
	grid-row:2;
	justify-self: center;
	align-self:center;
}
.thirdRowAllContenu{
	width:100%;
	grid-column: 1 / span 6; 
	grid-row:3;
	justify-self: start;
	align-self:center;
	margin: 0 auto;
}
.thirdRowLeftContenu{
	margin-top:20px;
	grid-column: 1; 
	grid-row:3;
	justify-self: start;
	align-self:start;
	margin: 0 auto;
}	
.thirdRowRightContenu{
	width:100%;
	grid-column: 6; 
	grid-row:3;
	justify-self: start;
	align-self:start;
	margin: 0 auto;
}
.thirdRowCenterContenu{
	width:100%;
	grid-column: 2 / span 5; 
	grid-row:3;
	justify-self: start;
	align-self:start;
	margin: 0 auto;
}
.fourthRowAllContenu{
	width:100%;
	grid-column: 1 / span 6; 
	grid-row:4;
	justify-self: start;
	align-self:center;
	margin: 0 auto;
}
#leftcol{
	margin-top:20px;
	grid-column: 1 / span 1;
	grid-row:3	
}
#centercol{
	grid-column: 2 / span 5;
	grid-row:3	
}
#centercol2{
	grid-column: 1 / span 6;
	grid-row:3	
}
#MenuBasCentercol{
	width:100%;
	margin-top:50px;
	justify-self: center;
	align-self: center;
    grid-column: 1 / span 6; 
    grid-row: 7 / span 1;
	order: 9;
}
#MenuBasCentercol p{text-align:center}

/*  AUTRES STYLES ANCIENNE VERSION CONSERVES */
/*********************************************************************************************************************************************************************************************************************************************************/
.menuVerticalHome                      		{width:100%;}
.menuVerticalHome ul                  		{text-align:center;list-style-type: none; margin: 0;padding: 0;width: 100%;background-color: #a52a2a;position: relative;height: 100%;overflow: auto;border-radius:3px; }
.menuVerticalHome li                   		{text-align:center;margin: 4px 0px 4px 0px ;padding: 0px;width: 100%;background-color: #ffffcc;border-radius: 3px;}
.menuVerticalHome a                   		{display: block;color: #000;padding: 4px 1px 4px 1px;text-decoration: none;border-radius: 3px;font-size:12px;}
.menuVerticalHome a.active            		{background-color: #0B0B61;color: white;border-radius: 3px;font-size:14px;font-weight:bold;}
.menuVerticalHome a.active2           		{background-color: #2AA5A5;color: black;font-weight:bold; }
.menuVerticalHome a:hover:not(.active) 		{background-color: #2AA5A5;color: black;border-radius: 3px;font-weight:bold;}
.menuVerticalHome a:hover.active       		{background-color: #0B0B61;color: white;border-radius: 3px;font-size:14px;font-weight:bold;font-style:italic;}
/*********************************************************************************************************************************************************************************************************************************************************/
.liste-horizontale                      {margin: 0 auto;  padding: 0;  list-style-type: none;  font-family: Arial;  display: flex;  flex-direction: row;  justify-content: center;  flex-wrap: wrap;}
.liste-horizontale li                   {border: 1px solid #a52a2a;  border-radius: 10px;  margin: 1px;  padding: 0;}
.liste-horizontale li a                 {border: 2px solid #ffffcc; border-radius: 10px; margin: 0; padding: 5px; text-align: center; display: block; color: #FFFFFF; background-color: #232870; text-decoration: none; width:auto;white-space: nowrap; }
.liste-horizontale li p                 {border: 2px solid #ffffcc; border-radius: 10px; margin: 0; padding: 5px; text-align: center; display: block; color: #000000; background-color: #ffffcc; text-decoration: none; width:auto;white-space: nowrap; }
.liste-horizontale li span              {border: 2px solid #ffffcc; border-radius: 10px; margin: 0; padding: 5px; text-align: center; display: block; color: #FFFFFF; background-color: #a52a2a; text-decoration: none; width:auto;white-space: nowrap; }
.liste-horizontale li a:hover           {background-color: #E6E600; color: #000000; }
.liste-horizontale li a:active          {background-color: #232870; color: #000000; }
/*********************************************************************************************************************************************************************************************************************************************************/
.liste-horizontale-inversee             {margin: 0 auto;  padding: 0;  list-style-type: none;  font-family: Arial;  display: flex;  flex-direction: row-reverse;  justify-content: center;  flex-wrap: wrap;}
.liste-horizontale-inversee li          {border: 1px solid #a52a2a;  border-radius: 10px;  margin: 1px;  padding: 0;}
.liste-horizontale-inversee li a        {border: 2px solid #ffffcc; border-radius: 10px; margin: 0; padding: 5px; text-align: center; display: block; color: #FFFFFF; background-color: #232870; text-decoration: none; width:auto;white-space: nowrap; }
.liste-horizontale-inversee li p        {border: 2px solid #ffffcc; border-radius: 10px; margin: 0; padding: 5px; text-align: center; display: block; color: #000000; background-color: #ffffcc; text-decoration: none; width:auto;white-space: nowrap; }
.liste-horizontale-inversee li span     {border: 2px solid #ffffcc; border-radius: 10px; margin: 0; padding: 5px; text-align: center; display: block; color: #FFFFFF; background-color: #a52a2a; text-decoration: none; width:auto;white-space: nowrap; }
.liste-horizontale-inversee li a:hover  {background-color: #E6E600; color: #000000; }
.liste-horizontale-inversee li a:active {background-color: #232870; color: #000000; }
/*********************************************************************************************************************************************************************************************************************************************************/
.page-suivante-precedente 					{ margin: 0; padding: 0; height: auto; list-style-type: none; font-family: Arial;}
.page-suivante-precedente li 				{ border: 2px solid #a52a2a; border-radius: 10px; margin: 1px; padding: 3px;float:right;font-size: 12px;}
.page-suivante-precedente li a 				{ border: 2px solid #ffffcc; border-radius: 10px; margin: inherit; padding:inherit;text-align: center; display: block; color: #FFFFFF; background-color: #232870; text-decoration: none; width:auto;font-size: inherit;white-space: nowrap;}
.page-suivante-precedente li p 				{ border: 2px solid #ffffcc; border-radius: 10px; margin: inherit; padding:inherit;text-align: center; display: block; color: #FFFFFF; background-color: #232870; text-decoration: none; width:auto;font-size: inherit;white-space: nowrap;}
.page-suivante-precedente li span 			{ border: 2px solid #ffffcc; border-radius: 10px; margin: inherit; padding:inherit;text-align: center; display: block; color: #FFFFFF; background-color: #a52a2a; text-decoration: none; width:auto;font-size: inherit;white-space: nowrap;}
.page-suivante-precedente li a:hover 		{ background-color: #E6E600; color: #000000; }
.page-suivante-precedente li a:active 		{ background-color: #232870; color: #000000; }
/*********************************************************************************************************************************************************************************************************************************************************/
.coloriageNum-suivant-precedent 			{ margin: auto; padding: 0; height: auto; list-style-type: none; font-family: Arial;width:95%;}
.coloriageNum-suivant-precedent li 			{ border: 2px solid #a52a2a; border-radius: 10px; margin: 1px; padding: 5px;float:right;font-size: 12px;}
.coloriageNum-suivant-precedent li a 		{ border: 2px solid #ffffcc; border-radius: 10px; margin: inherit; padding:inherit;text-align: center; display: block; color: #FFFFFF; background-color: #232870; text-decoration: none; width:auto;font-size: inherit;white-space: nowrap;}
.coloriageNum-suivant-precedent li p 		{ border: 2px solid #ffffcc; border-radius: 10px; margin: inherit; padding:inherit;text-align: center; display: block; color: #FFFFFF; background-color: #232870; text-decoration: none; width:auto;font-size: inherit;white-space: nowrap;}
.coloriageNum-suivant-precedent li span 	{ border: 2px solid #ffffcc; border-radius: 10px; margin: inherit; padding:inherit;text-align: center; display: block; color: #FFFFFF; background-color: #a52a2a; text-decoration: none; width:auto;font-size: inherit;white-space: nowrap;}
.coloriageNum-suivant-precedent li a:hover 	{ background-color: #E6E600; color: #000000; }
.coloriageNum-suivant-precedent li a:active { background-color: #232870; color: #000000; }
/*********************************************************************************************************************************************************************************************************************************************************/
.page-album 								{height: auto; list-style-type:none; margin: auto; padding: 0; text-align: center;width:100%;font-family: Arial;}
.page-album li 								{ border: 1px solid #a52a2a; border-radius: 10px; margin: 0px; padding: 0;display: inline-block;}
.page-album li a      						{ border: 2px solid #ffffcc; border-radius: 10px; margin: 0; padding: 5px; text-align: center;  color: #FFFFFF; background-color: #232870; text-decoration: none; font-size: 12px; }
.page-album li span   						{ border: 2px solid #ffffcc; border-radius: 10px; margin: 0; padding: 5px; text-align: center;  color: #FFFFFF; background-color: #a52a2a; text-decoration: none; font-size: 12px; }
.page-album li a:hover 						{ background-color: #ffff88; color: #000000;}
.page-album li a:active 					{ background-color: #232870; color: #000000;}
/*********************************************************************************************************************************************************************************************************************************************************/
.puzzle-suivant-precedent 					{ margin: 0; padding: 0; height: auto; list-style-type: none; font-family: Arial;width:95%;}
.puzzle-suivant-precedent li 				{ border: 1px solid #a52a2a; border-radius: 10px; margin: 1px; padding: 0; float: right; }
.puzzle-suivant-precedent li a    			{ border: 2px solid #ffffcc; border-radius: 10px; margin: 0; padding: 5px; text-align: center; display: block; color: #FFFFFF; background-color: #232870; text-decoration: none; font-size: 12px; }
.puzzle-suivant-precedent li p    			{ border: 2px solid #ffffcc; border-radius: 10px; margin: 0; padding: 5px; text-align: center; display: block; color: #FFFFFF; background-color: #232870; text-decoration: none; font-size: 12px; }
.puzzle-suivant-precedent li span 			{ border: 2px solid #ffffcc; border-radius: 10px; margin: 0; padding: 5px; text-align: center; display: block; color: #FFFFFF; background-color: #a52a2a; text-decoration: none; font-size: 12px; }
.puzzle-suivant-precedent li a:hover 		{ background-color: #E6E600; color: #000000; }
.puzzle-suivant-precedent li a:active 		{ background-color: #232870; color: #000000; }
/*********************************************************************************************************************************************************************************************************************************************************/
/****************************************************************/
/* style principalement pour les pages de coloriages à imprimer */
/****************************************************************/
figure {
  width: 100%;
  margin:0px;
  padding:0px;
}
figcaption {
	width:100%;
	margin:0 auto;
}
figcaption h3{
    text-align: center;
  }
/* style pour légende image largeur = 110px coloriage à imprimer */
.ColoriageCaption{      
	text-align:center;
	color:#ffffcc;
	font-size:14px;
	display: block;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
	max-width:110px;
    margin:0 auto;
	}
/* style pour légende image largeur = 165px coloriage à imprimer */
.ColoriageCaption2{
	text-align:center;
	color:#ffffcc;
	font-size:14px;
	display: block;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
	max-width:165px;
    margin:0 auto;
	}
.responsive-video {
    position: relative;
    overflow: hidden;
    padding-top: 56.25%; /* Ratio 16:9 */
    display: flex;
    justify-content: center;
}

.responsive-video iframe {
    position: absolute;
    top: 10%;
    left: 50%;
    transform: translateX(-50%);
    width: 80%;
    height: 80%;
    max-width: 560px; /* Largeur maximale de la vidéo */
    max-height: 315px; /* Hauteur maximale de la vidéo */
}	
/***********************************************************/
/* style pour la nouvelle présentation des fiches de Maths */
/***********************************************************/
    /* === Zone fiches exercices === */
    .fiches-exercices {
      max-width: 900px;
      margin: 40px auto;
      padding: 0 20px;
    }

    .fiche-exercice {
      border: 1px solid #ddd;
      border-radius: 8px;
      padding: 16px 20px;
      margin-bottom: 16px;
      background: #a52a2a;
    }

    .fiche-exercice h3 {
      margin: 0 0 12px 0;
      font-size: 1.1em;
    }

    .liens-fiche {
      display: flex;
      gap: 24px;
      align-items: center;
      flex-wrap: wrap;
    }

    .liens-fiche a {
      text-decoration: none;
      font-weight: 600;
    }

    .lien-enonce {
      color: #cfe8ff;
    }

    .lien-corrige {
      color: #c8f7c5;
    }

    .liens-fiche a:hover {
      text-decoration: underline;
	  opacity: 0.9;
    }

    /* Responsive mobile */
    @media (max-width: 600px) {
      .liens-fiche {
        flex-direction: column;
        align-items: flex-start;
        gap: 8px;
      }
    }
	
	/* Scope uniquement pour devoir de seconde */
	.fiches-exercices--devoirs .liens-fiche{
	  display: grid;
	  grid-template-columns: 1fr auto auto; /* texte + enoncé + corrige */
	  gap: 10px 18px;
	  align-items: center;

	  /* Aération */
	  padding: 10px 0;
	  border-bottom: 1px solid rgba(255,255,255,0.15); /* optionnel, joli sur fond foncé */
	}

	/* Interligne du texte */
	.fiches-exercices--devoirs .liens-fiche span{
	  min-width: 0;
	  line-height: 1.45;
	}

	/* Empêche les liens de se couper + alignement à droite */
	.fiches-exercices--devoirs .liens-fiche a{
	  white-space: nowrap;
	  justify-self: end;
	}

	/* Enlève la ligne sur la dernière entrée de chaque bloc */
	.fiches-exercices--devoirs .fiche-exercice .liens-fiche:last-child{
	  border-bottom: none;
	}

	/* Mobile : tout passe en colonne */
	@media (max-width: 600px){
	  .fiches-exercices--devoirs .liens-fiche{
		grid-template-columns: 1fr; /* une seule colonne */
		gap: 8px 0;
		padding: 10px 0;
	  }

	  .fiches-exercices--devoirs .liens-fiche a{
		justify-self: start; /* plus naturel en colonne */
	  }
	}
/********************************************************************************************************************/
/*----------------------------------------- STYLE POUR ECRANS DE PETITE TAILLE--------------------------------------*/
/********************************************************************************************************************/
@media screen and (max-width:640px){
body {width:100%;max-width: 640px;}
h1      {color:#FFFF99;text-align:justify;font-weight:normal;margin:0 auto;}
h2,h3,h4{text-align:justify;font-weight:normal;margin:0 auto;}
h1      {font-size:14px;padding:5px 0;}
h2      {font-size:13px;padding:3px 0;}
h3,h4   {font-size:12px;padding:1px 0;}
p,span,ul,ol       {text-align:justify;font-weight:normal;font-size:12px;padding:0;}
h1,h2,h3,h4,p{margin-left:5%;margin-right:5%;margin-top: 10px; margin-bottom:10px;}
ul,ol        {margin-left:7%;margin-right:5%;margin-top: 10px; margin-bottom:10px;}

/* Style pour le titre et description dans le header */
.baseline-site {
    font-size: 14px; 
}
.baseline-desc {
    font-size: 13px; 
}
#logo{
	justify-self: start;
	align-self: center;
    grid-column: 1 / span 2;
    grid-row: 1 / span 3;
	order: 1;
}	
#img-menu {
	display:none;
}
#text-menu {
	display:none;
}
#affichage728x90{
	display:none;
}
#hamburger-menu {
	display:block;   /* Affichage du menu burger pour mobile */
}
#gcse-search{
	width:100%;
	justify-self: end;
	align-self: center;
    grid-column: 3 / span 4;
    grid-row: 1 / span 1;
    order: 2;
}
#main-menu{
	width: 100%;
	border-radius:30px;
	border-bottom:3px solid #ffffcc;
	border-top:2px solid #ffffcc;
	text-align:left;
	justify-self: start;
	align-self: center;
    grid-column: 1 / span 6; 
    grid-row: 4 / span 1;
	order: 6;
}
#main-menu p{text-align:center !important;}
#main-menu a{font-size:10px; !important;}
.box {
	display:none;
	width:80%;
	margin-left:10%;
}
.boxImg {
	display:none;
}	
.boxText {
	display:none;
}
#leftcol{
		display:none;
}
.secondRowLeftContenu,.thirdRowLeftContenu{
		display:none;	/* on cache pour mobile la colonne pour les pubs pour un meilleur affichage */
}
#centercol,.secondRowCenterContenu,.thirdRowCenterContenu{
	grid-column: 1 / span 6;  /* on étend le contenu sur toute la largeur de l'écran pour mobile */	
}
figcaption {
    display: none;
  }
/*********************************************************************************************************************************************************************************************************************************************************/
.page-album 								{height: auto; list-style-type:none; margin: auto; padding: 0; text-align: center;width:100%;font-family: Arial;}
.page-album li 								{ border: 1px solid #a52a2a; border-radius: 10px; margin: 15px; padding: 0px;display:block}
.page-album li a      						{ border: 2px solid #ffffcc; border-radius: 10px; margin: 0; padding: 5px; text-align: center;  color: #FFFFFF; background-color: #232870; text-decoration: none; font-size: 12px; }
.page-album li span   						{ border: 2px solid #ffffcc; border-radius: 10px; margin: 0; padding: 5px; text-align: center;  color: #FFFFFF; background-color: #a52a2a; text-decoration: none; font-size: 12px; }
.page-album li a:hover 						{ background-color: #ffff88; color: #000000;}
.page-album li a:active 					{ background-color: #232870; color: #000000;}
/*********************************************************************************************************************************************************************************************************************************************************/
}
@media screen and (max-width:480px){
body {width:100%;max-width: 480px;}
}
@media screen and (max-width:320px){
body {width:100%;max-width: 320px;}
}
/********************************************************************************************************************/
/*--------------------------------------FIN STYLE POUR ECRANS DE PETITE TAILLE--------------------------------------*/
/********************************************************************************************************************/

/* Source : google-ads.css */
.pubHorizontaleHeader {
    width: 728px; /* ou toute autre largeur appropriée */
	height:90px;
	margin:15px auto;
}
.pubHorizontalePleinePage {
    width: 90%; /* ou toute autre largeur appropriée */
	height:auto;
	margin:15px auto;
}
.thematiqueHorizontalePleinePage {
    width: 90%; /* ou toute autre largeur appropriée */
	height:auto;
	margin:15px auto;
}
.pubVerticaleGauche {
    width: 160px; /* ou toute autre largeur appropriée */
	height:600px;
	margin:10px;
}
/*****************************************/
/* affichage publicités dans les tableaux*/
/*****************************************/
/* Pour les écrans plus larges (PC) */
.adsCarre2cols66pct{
	width:336px;
	height:280px;
	margin:auto;
}
.adsCarre2cols50pct{
	width:336px;
	height:280px;
	margin:auto;
}
.adsCarre3cols75pct{
	width:336px;
	height:280px;
	margin:auto;
}
.adsCarre3cols60pct{
	width:336px;
	height:280px;
	margin:auto;
}
@media screen and (max-width: 900px) {
	.pubHorizontaleHeader {
		width: 600px; /* ou toute autre largeur appropriée */
		height:90px;
		margin:10px auto;
	}
}
/* Pour les écrans de taille moyenne */
@media screen and (max-width: 768px) {
	.pubHorizontaleHeader {
		width: 500px; /* ou toute autre largeur appropriée */
		height:90px;
		margin:10px auto;
	}
	.adsCarre2cols66pct{
		width:336px;
		height:280px;
		margin:auto;
	}
	.adsCarre2cols50pct{
		width:336px;
		height:280px;
		margin:auto;
	}
	.adsCarre3cols75pct{
		width:336px;
		height:280px;
		margin:auto;
	}
	.adsCarre3cols60pct{
		width:336px;
		height:280px;
		margin:auto;
	}	
}
/* Pour les petits écrans */
@media screen and (max-width: 480px) {
	.adsCarre2cols66pct{
		width:200px;
		height:200px;
		margin:auto;
	}
	.adsCarre2cols50pct{
		width:200px;
		height:200px;
		margin:auto;
	}
	.adsCarre3cols75pct{
		width:200px;
		height:200px;
		margin:auto;
	}
	.adsCarre3cols60pct{
		width:200px;
		height:200px;
		margin:auto;
	}
}
/* Pour les très petits écrans */
@media screen and (max-width: 320px) {
	.adsCarre2cols66pct{
		width:160px;
		height:160px;
		margin:auto;
	}
	.adsCarre2cols50pct{
		width:160px;
		height:160px;
		margin:auto;
	}
	.adsCarre3cols75pct{
		width:160px;
		height:160px;
		margin:auto;
	}
	.adsCarre3cols60pct{
		width:160px;
		height:160px;
		margin:auto;
	}
}
/* Source : hamburgerMenu.css */
#menu__toggle {
  opacity: 0;
}
#menu__toggle:checked + .menu__btn > span {
  transform: rotate(45deg);
}
#menu__toggle:checked + .menu__btn > span::before {
  top: 0;
  transform: rotate(0deg);
}
#menu__toggle:checked + .menu__btn > span::after {
  top: 0;
  transform: rotate(90deg);
}
#menu__toggle:checked ~ .menu__box {
  left: 0 !important;
}
.menu__btn {
  position:relative;
  width: 30px;
  height: 30px;
  cursor: pointer;
  z-index: 10000;
}
.menu__btn > span,
.menu__btn > span::before,
.menu__btn > span::after {
  display: block;
  position: absolute;
  top:0px;
  width: 30px;
  height: 3px;
  background-color: #ffffcc;
  transition-duration: .75s;
}
.menu__btn > span::before {
  content: '';
  top: -8px;
}
.menu__btn > span::after {
  content: '';
  top: 8px;
}
.menu__box {
  display: block;
  position: fixed;
  z-index:100;
  top: 10px;
  left: -100%;
  width: 250px;
  height: 70%;
  margin: 0;
  padding: 50px 0;
  list-style: none;
  background-color: #ECEFF1;
  box-shadow: 2px 2px 6px rgba(0, 0, 0, .4);
  transition-duration: .50s;
}
.menu__box li.social-icons {
  display: flex;
  justify-content: center; /* centre horizontalement */
  align-items: center;     /* aligne verticalement si hauteur variable */
  gap: 16px;               /* espace entre les icônes */
  padding: 12px 0;
  list-style: none;
}

.menu__box li.social-icons a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  text-decoration: none;
}

.menu__box li.social-icons img {
  width: 28px;
  height: 28px;
  transition: opacity 0.3s ease;
}

.menu__box li.social-icons img:hover {
  opacity: 0.8;
}
.menu__item {
  display: block;
  padding: 12px 24px;
  color: #333;
  font-family: 'Roboto', sans-serif;
  font-size: 20px;
  font-weight: 600;
  text-decoration: none;
  transition-duration: .25s;
}
.menu__item:hover {
  background-color: #CFD8DC;
}
/* Source : nouveau-menu/css/megamenuNew.css */
@media screen {
/*
Item Name : CSS3 Mega Drop Down Menu
Author URI : http://codecanyon.net/user/Pixelworkshop/
Item URI : http://codecanyon.net/item/css3-mega-drop-down-menu/126387
Version : 6.2
*/

/*

TABLE OF CONTENTS

01 MENU BAR
02 DROP DOWN MENU
03 CONTENT STYLING
04 CONTACT FORM
05 VERTICAL MEGA MENU
06 LIGHT THEME
07 DARK THEME
08 COLORS
09 MOBILE DEVICES

*/




body{margin: 0 auto;padding:0;}
.pagecontent{width:960px;margin:30px auto; text-shadow:0px 0px 0px #ffffff;}
.pagecontent p,.pagecontent li{color:#666;font-size:12px;line-height:18px;}
.pagecontent ul,.pagecontent li{padding-left: 16px}
.pagecontent .pusher{width:100%;height:50px}
.pagecontent a{color:#999;text-decoration:none}
.pagecontent h1,.pagecontent h3{color:#222}
.pagecontentclear {clear: both;}
/* Vertical Menu Demos */
.pagewrapper {width: 960px;margin: 0 auto;}
.pagewrapper .pagecontent {width:690px;float: left;margin: 10px 0 0 0;}
.pagewrapper .megamenu_vertical_left {margin-right: 30px;}
.pagewrapper .megamenu_vertical_right {margin-left: 30px;}
@media only screen and (max-width: 1024px) {
	.pagecontent, .pagewrapper{width:95%;}
	.pagewrapper .pagecontent {width:100%;}
	.pagewrapper .megamenu_vertical_left {margin-right: auto;}
	.pagewrapper .megamenu_vertical_right {margin-left: auto;}
}
@media only screen and (max-width:767px) {
	.pagecontent, .pagewrapper{width:420px;}
	.pagewrapper .pagecontent {width:420px;}
}
@media only screen and (max-width:479px) {
	.pagecontent, .pagewrapper{width:300px;}
	.pagewrapper .pagecontent {width:300px;}
}


/*  _______________________________________

	01 MENU BAR
    _______________________________________  */




/* 
	IMPORTANT NOTICE
	If you're using the whole width menu, you should use at least a reset like :
	body {margin:0; padding:0;}
	Otherwise, some browsers may add margins and won't place the menu properly.
	It generally helps to include a CSS reset like : 
	http://meyerweb.com/eric/tools/css/reset/
	Keep in mind that a reset must be placed first, before any other CSS markup.
*/
.megamenu_wrapper,
.megamenu_wrapper_full {
	margin:0 auto;
	display:block;
	position: relative;
	top:5px;
	z-index:10;
	font-family:Arial, Helvetica, sans-serif;
	font-size:12px;
	line-height:21px;
}
.megamenu_wrapper {
	width: 100%;			 /* changer à 100% */
	margin-top: 5px;
}
.megamenu_wrapper_full {
	width: 100%;
}
	.megamenu_container {
		width:100%;
		margin:0 auto;
		height:40px;
	}
	.megamenu_wrapper .megamenu_container {
		width:100%;
		-webkit-border-radius: 6px;
		-moz-border-radius: 6px;
		border-radius: 6px;
	}
	.megamenu_wrapper_full .megamenu_container {
		width: 96%;
		padding: 0 2% 0 2%;
	}
	.megamenu_container .megamenu {
		list-style:none;
		width:100%;          /* changer à 100% */
		margin:0 auto;
		padding: 0;
	}
.megamenu > li {
	float:left;
	position:relative;
	margin-right:3px;     /* A modifier pour gagner de la place entre les itens du menu*/
	border:none;
}
.megamenu li.menuitem_fullwidth {
	position: static !important;
}
.megamenu > li > a {
	outline:0;
	padding: 10px 10px 11px 10px;      /* A modifier pour gagner de la place entre les itens du menu*/
	text-decoration:none;
	display:block;
}
.megamenu > li .menuitem_drop {
	padding-right:27px;
}
.megamenu > li.menuitem_nodrop > a {
	padding-bottom:10px;
}

/* Right aligned menu item */

.megamenu > li.menuitem_right {
	float:right;
	right:0;
	margin-right:0;
}

/* Menu Button (Mobiles) */

.megamenu li.megamenu_button {
	display: none;
}
.megamenu li.megamenu_button_active {
	background:#000000 !important;
}




/*  _______________________________________

	02 DROP DOWN MENU
    _______________________________________  */




/* Drop Downs Containers */

.megamenu .dropdown_1column,
.megamenu .dropdown_1column_puzzles,  
.megamenu .dropdown_2columns, 
.megamenu .dropdown_3columns, 
.megamenu .dropdown_4columns,
.megamenu .dropdown_5columns,
.megamenu .dropdown_fullwidth {
	margin:0;
	display:none;
	position:absolute;
	top:41px;
	left:-1px;
	-webkit-border-radius: 0 0 5px 5px;
	-moz-border-radius: 0 0 5px 5px;
	border-radius: 0 0 5px 5px;
}

/* Drop Downs Sizes - On fixe la lageur de chaque colonne */
/**********************************************************/

.megamenu .dropdown_1column {width: 135px;padding:10px 5px 10px 5px;}
.megamenu .dropdown_1column_puzzles {width: 260px;padding:10px 5px 10px 5px;}
.megamenu .dropdown_2columns {width: 290px;padding:15px 11px 15px 15px;}
.megamenu .dropdown_3columns {width: 445px;padding:15px 8px 15px 15px;}
.megamenu .dropdown_4columns {width: 600px;padding:15px 5px 15px 15px;}
.megamenu .dropdown_5columns {width: 755px;padding:15px 2px 15px 15px;}
.megamenu .dropdown_fullwidth {
	width: 945px;
	padding:15px 0 15px 15px;
	top:42px;
	left:10px;
    -webkit-border-radius: 0 0 5px 5px;
	-moz-border-radius:0 0 5px 5px;
    border-radius:0 0 5px 5px;
}
.megamenu_wrapper_full .megamenu .dropdown_fullwidth {
	left:50%;
	margin-left:-481px;
}
.megamenu_wrapper .dropdown_right,
.megamenu_wrapper_full .dropdown_right {
	left:auto;
	right:-1px;
}
.megamenu_wrapper .megamenu li.menuitem_right .dropdown_fullwidth {
	left:auto;
	right:8px;
}
.megamenu_wrapper_full .megamenu li.menuitem_right > .dropdown_fullwidth {
	top:41px;
}

/* Showing Drop Down on Mouse Hover */

.megamenu li:hover > div {
	display: block;
}

/* Columns Sizes */

.megamenu .col_one_sixth,
.megamenu .col_one_fifth,
.megamenu .col_one_quarter,
.megamenu .col_one_third,
.megamenu .col_two_fifths,
.megamenu .col_half,
.megamenu .col_three_fifths,
.megamenu .col_two_thirds,
.megamenu .col_three_quarters,
.megamenu .col_four_fifths,
.megamenu .col_five_sixths,
.megamenu .col_full {
	float: left;
	margin-left: 2%;
}
.megamenu .col_one_sixth {width:14.66667%;}
.megamenu .col_one_fifth {width:18%;}
.megamenu .col_one_quarter {width:23%;}
.megamenu .col_one_third {width:31.33333%;}
.megamenu .col_two_fifths {width:38%;}
.megamenu .col_half {width:48%;}
.megamenu .col_three_fifths {width:58%;}
.megamenu .col_two_thirds {width:64.66667%;}
.megamenu .col_three_quarters {width:73%;}
.megamenu .col_four_fifths {width:78%;}
.megamenu .col_five_sixths {width:81.33333%;}
.megamenu .col_full {width:98%;}

/* IMPORTANT */

/* Use the firstcolumn class for the first element of a new row of content */
.megamenu .firstcolumn {
	margin-left: 0;
	clear: left;
}




/*  _______________________________________

	03 CONTENT STYLING
    _______________________________________  */




.megamenu p,
.megamenu ul,
.megamenu li,
.megamenu h2,
.megamenu h3 {
	font-size:12px; 
	font-family:Arial, Helvetica, sans-serif;
	line-height:21px;
	text-align:left;
}
.megamenu p {
	margin:0;
	margin-bottom:18px;
}
.megamenu .strong {
	font-weight:bold;
}
.megamenu .italic {
	font-style:italic;
}
.megamenu h2, 
.megamenu h3 {
	margin-top:7px;
}
.megamenu h2 {
	font-weight:400;
	font-size:18px;
	margin-bottom:18px;
	padding-bottom:11px;
}
.megamenu h3 {
	font-weight:600;
	font-size:14px;
	margin-bottom:14px;
	padding-bottom:7px;
}

/* Titres du méga-menu en <p> au lieu de <h2> */
.megamenu p.mm-title {
    font-size:16px;                 /* comme h2 du menu */
    line-height:21px;
    font-family:Arial, Helvetica, sans-serif;
    text-align:left;
    margin-top:7px;
    margin-bottom:18px;
    padding-bottom:11px;
    font-weight:400;                /* comme .megamenu h2 */
}

/* Variante qui remplace ton ancien h2.pusher */
.megamenu p.mm-title.pusher {
    margin-top:18px;                /* même logique que .megamenu .pusher */
}

.megamenu li a {
	text-decoration:none;
}
.megamenu .pusher { /* Use this pucher if you want to give more vertical spacing between your rows of content */
	margin-top:18px;
}

/* Icon paragraphs */

.megamenu .help,
.megamenu .favorite,
.megamenu .mail,
.megamenu .print {
	padding-left:36px;
	margin-bottom:18px;
}
.megamenu .help {background:url("../../nouveau-menu/css/../img/help.png") no-repeat 0 2px;}
.megamenu .favorite {background:url("../../nouveau-menu/css/../img/favorite.png") no-repeat 0 2px;}
.megamenu .mail {background:url("../../nouveau-menu/css/../img/mail.png") no-repeat 0 2px;}
.megamenu .print {background:url("../../nouveau-menu/css/../img/print.png") no-repeat 0 2px;}

/* Images styles */

.megamenu .imgshadow_dark,
.megamenu .imgshadow_light {
	padding:4px;
	margin-top:5px;
}
.megamenu .img_left { /* Image sticks to the left */
	float:left;
	margin:5px 15px 5px 0;
}
.megamenu .img_right { /* Image sticks to the right */
	float:right;
	margin:5px 0 5px 15px;
}

/* Box styles */

.megamenu li .black_box,
.megamenu li .dark_grey_box {
	margin: -8px 0 18px 0;
	color: #eeeeee;
	text-shadow: 1px 1px 1px #000;
	padding:8px 12px;
    -webkit-border-radius: 5px;
	-moz-border-radius: 5px;
    border-radius: 5px;
}

/* Standard lists styles */

.megamenu li ul {
	list-style:none;
	padding:0;
	margin:0 0 12px 0;
}
.megamenu li ul li {
	font-size:12px;
	line-height:20px;
	position:relative;
	text-shadow: 0px 0px 0px #000000;
	padding:0;
	margin:0;
	float:left;
	text-align:left;
	width:100%;
}
.megamenu li ul li a {
	padding:0;
}

/* Greybox lists styles */

.megamenu li .greybox li {
	margin:0 0 4px 0;
	padding:4px 6% 4px 6%;
	width:88%;
    -webkit-border-radius: 3px;
	-moz-border-radius: 3px;
    border-radius: 3px;
}

/* Other lists styles */

.megamenu li .plus li {
	margin:0 0 4px 0;
	padding:0 0 0 20px;
	float: left;
}

/* Social Icons */

.megamenu li ul.social {
	list-style:none;
	margin:0;
	padding:0;
}
.megamenu li ul.social li {
	padding-top:5px;
	margin:0 12px 12px 0;
	float:left;
	position:relative;
	display:inline;
	width:32px;
}
.megamenu li ul.social li img {
	border:none;
}
.megamenu li ul.social li:hover {
	padding-top:5px;
	margin:-1px 12px 12px 0;
}
.megamenu li ul.social li span {
	display:none;
}

/* 2-Levels Drop Down */

.megamenu .dropdown_flyout {
	min-width: 120px;
}
.megamenu .levels, 
.megamenu .levels ul {
	padding: 0;
	margin: 0;
	list-style: none;
}
.megamenu .levels a {
	display: block;
	width: 10em;
}
.megamenu .levels li {
	float: left;
}
.megamenu .levels li ul {
	position: absolute;
	top:-23px;
	margin:15px 0 0 4px;
	padding:6px 12px;
	left: -999em;
	z-index: 10;
    -webkit-border-radius: 5px;
	-moz-border-radius: 5px;
    border-radius: 5px;
}
.megamenu .levels li:hover > ul {
	left: 96%;
}




/*  _______________________________________

	04 CONTACT FORM
    _______________________________________  */




.megamenu .contact_form {
	display: block;
	margin-bottom:10px;
	font-size: 12px;
	font-family:Arial, Helvetica, sans-serif;
}
.megamenu .contact_form label {
	display: inline-block; 
	float: left; 
	width:80px;
	font-size:12px; 
}
.megamenu .contact_form input, 
.megamenu .contact_form textarea {
	font-family:Arial, Helvetica, sans-serif;
	font-size:12px;
	width:90%;
	padding: 8px 4% 8px 4%;
	margin: 9px 0 9px 0; 
    -webkit-border-radius: 3px;
	-moz-border-radius: 3px;
    border-radius: 3px;
}   
.megamenu .contact_form textarea {
	resize:none;
}   
.megamenu .contact_form .required {
	color:#C00;
}
.megamenu .contact_form .form_buttons {
	margin:4px 0 0 0;
}
.megamenu .contact_form input.button {
	width: 80px;
	margin-right:10px;
	cursor: pointer;
	padding: 8px;
}
.megamenu .contact_form .special {
	display:none;
}
.megamenu .contact_form .error, 
.megamenu .contact_form .sent {
	font-size:11px;
	padding:2px 5px 2px 5px;
	text-shadow:none;
	-webkit-border-radius:3px; 
	-moz-border-radius:3px; 
	border-radius: 3px;
}
.megamenu .contact_form .error {
	background:#FBE5E2; 
	border:#F2A197 solid 1px; 
	color:#992213;
}
.megamenu .contact_form .sent {
	background:#E1F8CB; 
	border:#C6D880 solid 1px; 
	color:#37620d;
}




/*  _______________________________________

	05 VERTICAL MEGA MENU
    _______________________________________  */




.megamenu_wrapper_vertical {
	width: 160px;
	position: relative;
}
.megamenu_vertical_left {
	float:left;
}
.megamenu_vertical_right {
	float:right;
}
	.megamenu_wrapper_vertical .megamenu_container {
		height:auto;
		float: left;
		padding: 10px 0 10px 0;
	}
	.megamenu_wrapper_vertical .megamenu {
		margin:0;
		float: left;
		width: 100%;
	}
	.megamenu_wrapper_vertical .megamenu > li {
		margin:0;
		width:160px;
		float: left;
		clear: left;
	}
		.megamenu_wrapper_vertical .megamenu li .menuitem_drop {
			padding-right:30px;
		}
		.megamenu_vertical_right .megamenu li .menuitem_drop,
		.megamenu_vertical_right .megamenu li.menuitem_nodrop a {
			padding-right:0;
			padding-left: 35px;
		}
		.megamenu_wrapper_vertical .megamenu li.menuitem_right {
			float:left;
			margin-right:auto;
		}
		.megamenu_wrapper_vertical .megamenu li.menuitem_right a {
			margin-right:auto;
		}

.megamenu_vertical_left .megamenu .dropdown_1column,
.megamenu_vertical_left .megamenu .dropdown_1column_puzzles, 
.megamenu_vertical_left .megamenu .dropdown_2columns, 
.megamenu_vertical_left .megamenu .dropdown_3columns, 
.megamenu_vertical_left .megamenu .dropdown_4columns,
.megamenu_vertical_left .megamenu .dropdown_5columns,
.megamenu_vertical_left .megamenu .dropdown_fullwidth,
.megamenu_vertical_left .megamenu .dropdown_right {
	left:160px;
	top:auto;
	right:auto;
	margin:-41px 0 0 0;
	-webkit-border-radius: 0 5px 5px 5px;
	-moz-border-radius: 0 5px 5px 5px;
	border-radius: 0 5px 5px 5px;
}
.megamenu_vertical_right .megamenu .dropdown_1column,
.megamenu_vertical_right .megamenu .dropdown_1column_puzzles, 
.megamenu_vertical_right .megamenu .dropdown_2columns, 
.megamenu_vertical_right .megamenu .dropdown_3columns, 
.megamenu_vertical_right .megamenu .dropdown_4columns,
.megamenu_vertical_right .megamenu .dropdown_5columns,
.megamenu_vertical_right .megamenu .dropdown_fullwidth,
.megamenu_vertical_right .megamenu .dropdown_right {
	left:auto;
	top:auto;
	right:160px;
	margin:-42px 0 0 0;
	-webkit-border-radius: 5px 0 5px 5px;
	-moz-border-radius: 5px 0 5px 5px;
	border-radius: 5px 0 5px 5px;
}
.megamenu_vertical_right .megamenu .levels a {
	padding-left: 17px;
}
.megamenu_vertical_right .megamenu .levels li:hover > ul {
	left:auto;
	right: 100%;
}


/*  _______________________________________

	06 LIGHT THEME
    _______________________________________  */

.megamenu_light_theme .megamenu_container > ul > li:hover,
.megamenu_light_theme .megamenu_container .megamenu > li.active,
.megamenu_light_theme .megamenu_container > ul > li.menuitem_nodrop:hover {
	background-color:#eeeeee;
}
.megamenu_light_theme .megamenu_container > ul > li > a,
.megamenu_light_theme .megamenu_container .megamenu > li.noactive a {
	color:#eee;
	text-shadow: 1px 1px 1px #000000;
}
.megamenu_light_theme .megamenu_container > ul > li:hover > a {
	color:#161616;
	text-shadow: 1px 1px 1px #fff;
}
.megamenu_light_theme ul li .menuitem_drop,
.megamenu_light_theme .megamenu li.noactive .menuitem_drop {
	background-image:url("../../nouveau-menu/css/../img/arrow_down1.png");
	background-repeat:no-repeat;
	background-position: right 17px;
}
.megamenu_vertical_left .megamenu_light_theme ul li .menuitem_drop,
.megamenu_vertical_left .megamenu_light_theme .megamenu li.noactive .menuitem_drop {
	background-image:url("../../nouveau-menu/css/../img/arrow_right1.png");
	background-position: 90% 15px;
}
.megamenu_vertical_right .megamenu_light_theme ul li .menuitem_drop,
.megamenu_vertical_right .megamenu_light_theme .megamenu li.noactive .menuitem_drop {
	background-image:url("../../nouveau-menu/css/../img/arrow_left1.png");
	background-position: 10% 15px;
}
.megamenu_light_theme .megamenu > li > div,
.megamenu_light_theme ul .levels li ul {
	background:#eeeeee;
	border:1px solid #444444;
	border-top: none;
	background-image: -webkit-gradient(linear, left top, left bottom, from(#EEEEEE), to(#AAAAAA));
	background: -webkit-linear-gradient(top, #EEEEEE, #AAAAAA);
	background: -moz-linear-gradient(top, #EEEEEE, #AAAAAA);
	background: -o-linear-gradient(top, #EEEEEE, #AAAAAA);
	background: -ms-linear-gradient(top, #EEEEEE, #AAAAAA);
	background: linear-gradient(top, #EEEEEE, #AAAAAA);
}
.megamenu_wrapper_vertical .megamenu_light_theme .megamenu > li > div,
.megamenu_light_theme ul .levels li ul {
	border:1px solid #444444;
}
.megamenu_light_theme ul p,
.megamenu_light_theme ul h2, 
.megamenu_light_theme ul h3,
.megamenu_light_theme ul li ul li {
	text-shadow: 0px 0px 0px #000000;   /* Ombre portée sur texte dans le menu */
}
.megamenu_light_theme ul h2, 
.megamenu_light_theme ul h3 {
	border-bottom:1px solid #888888;
}

 
.megamenu_light_theme h2 {
	color:#a52a2a;
	text-shadow: 1px 1px 1px #000000;   /* Couleurs et Ombre portée sur les titres dans le menu */
}
.megamenu_light_theme h3 {
	color:#a52a2a;
	text-shadow: 1px 1px 1px #000000;   /* Couleurs et Ombre portée sur les titres dans le menu */
}
/* Titres <p.mm-title> dans le méga-menu (thème clair) */
.megamenu_light_theme p.mm-title {
    color:#a52a2a;
    text-shadow: 1px 1px 1px #000000;
    border-bottom:1px solid #888888;   /* comme les h2/h3 */
}

.megamenu_light_theme ul .imgshadow_dark { /* Better style on dark background */
	background:#FFFFFF;
	border:1px solid #333333;
	-moz-box-shadow:0 0 5px #000000;
	-webkit-box-shadow:0 0 5px #000000;
	box-shadow:0 0 5px #000000;
}
.megamenu_light_theme ul .imgshadow_light { /* Better style on light background */
	background:#FFFFFF;
	border:1px solid #777777;
	-webkit-box-shadow:0 0 5px #666666;
	-moz-box-shadow:0 0 5px #666666;
	box-shadow:0 0 5px #666666;
}
.megamenu_light_theme ul li .black_box {
	color:#ffffff;
	text-shadow:1px 1px 1px #000000;
	background-color:#333333;
	-webkit-box-shadow:inset 0 0 3px #000000;
	-moz-box-shadow:inset 0 0 3px #000000;
	box-shadow:inset 0 0 3px #000000;
}
.megamenu_light_theme ul li .dark_grey_box {
	color:#ffffff;
	text-shadow:1px 1px 1px #000000;
	background-color:#555555;
	-webkit-box-shadow:inset 0 0 3px #111111;
	-moz-box-shadow:inset 0 0 3px #111111;
	box-shadow:inset 0 0 3px #111111;
}
.megamenu_light_theme ul li .greybox li {
	background:#F4F4F4;
	border:1px solid #bbbbbb;
}
.megamenu_light_theme ul li .greybox li:hover {
	background:#ffffff;
	border:1px solid #aaaaaa;
}
.megamenu_light_theme ul li .plus li {
	background: url("../../nouveau-menu/css/../img/plus.png") left 6px no-repeat;
}
.megamenu_light_theme ul .levels a.parent, 
.megamenu_light_theme ul .levels a.parent:hover {
	background: url("../../nouveau-menu/css/../img/arrow_right1.png") right center no-repeat;
}
.megamenu_vertical_right .megamenu_light_theme ul .levels a.parent, 
.megamenu_vertical_right .megamenu_light_theme ul .levels a.parent:hover {
	background: url("../../nouveau-menu/css/../img/arrow_left1.png") left center no-repeat;
}
.megamenu_light_theme ul .contact_form input:focus, 
.megamenu_light_theme ul .contact_form textarea:focus, 
.megamenu_light_theme ul .contact_form select:focus,
.megamenu_light_theme ul .contact_form input:hover, 
.megamenu_light_theme ul .contact_form textarea:hover, 
.megamenu_light_theme ul .contact_form select:hover {
	box-shadow: rgba(0,0,0, 0.7) 0 0 3px;
	-moz-box-shadow: rgba(0,0,0, 0.7) 0 0 3px;
	-webkit-box-shadow: rgba(0,0,0, 0.7) 0 0 3px;  
	border:1px solid #333333;
}
.megamenu_light_theme ul .contact_form input, 
.megamenu_light_theme ul textarea, 
.megamenu_light_theme ul select {
	color: #FFFFFF; 
	background-color:#222222;
	border:1px solid #0A0A0A;
}
.megamenu_light_theme ul .contact_form input.button {
	background-color:#1E1E1E;
	border:1px solid #0A0A0A;
	color:#cccccc;	
}
.megamenu_light_theme ul .contact_form input.button:hover {
	color:#eeeeee;	
	background-color:#222222;
	border:1px solid #000000;
}




/*  _______________________________________

	07 DARK THEME
    _______________________________________  */




.megamenu_dark_theme .megamenu_container > ul > li:hover,
.megamenu_dark_theme .megamenu_container .megamenu > li.active,
.megamenu_dark_theme .megamenu_container > ul > li.menuitem_nodrop:hover {
	background-color:#161616;
}
.megamenu_dark_theme .megamenu_container > ul > li > a {
	color:#eee;
	text-shadow: 1px 1px 1px #000000;
}
.megamenu_dark_theme ul p,
.megamenu_dark_theme ul ul,
.megamenu_dark_theme ul li,
.megamenu_dark_theme ul h2,
.megamenu_dark_theme ul h3,
.megamenu_dark_theme .megamenu_container > ul > li:hover > a {
	color:#ffffff;
}
.megamenu_dark_theme ul li .menuitem_drop,
.megamenu_dark_theme .megamenu li.noactive .menuitem_drop {
	background-image:url("../../nouveau-menu/css/../img/arrow_down2.png");
	background-repeat:no-repeat;
	background-position: right 17px;
}
.megamenu_vertical_left .megamenu_dark_theme ul li .menuitem_drop,
.megamenu_vertical_left .megamenu_dark_theme .megamenu li.noactive .menuitem_drop {
	background-image:url("../../nouveau-menu/css/../img/arrow_right2.png");
	background-position: 90% 15px;
}
.megamenu_vertical_right .megamenu_dark_theme ul li .menuitem_drop,
.megamenu_vertical_right .megamenu_dark_theme .megamenu li.noactive .menuitem_drop {
	background-image:url("../../nouveau-menu/css/../img/arrow_left2.png");
	background-position: 10% 15px;
}
.megamenu_dark_theme .megamenu > li > div,
.megamenu_dark_theme ul .levels li ul {
	background:#161616;
	border:1px solid #000000;
	border-top: none;
	background-image: -webkit-gradient(linear, left top, left bottom, from(#161616), to(#0A0A0A));
	background: -webkit-linear-gradient(top, #161616, #0A0A0A);
	background: -moz-linear-gradient(top, #161616, #0A0A0A);
	background: -o-linear-gradient(top, #161616, #0A0A0A);
	background: -ms-linear-gradient(top, #161616, #0A0A0A);
	background: linear-gradient(top, #161616, #0A0A0A);
}
.megamenu_wrapper_vertical .megamenu_dark_theme .megamenu > li > div,
.megamenu_dark_theme ul .levels li ul {
	border:1px solid #000000;
}
.megamenu_dark_theme ul h2, 
.megamenu_dark_theme ul h3 {
	border-bottom:1px solid #333333;
}
.megamenu_dark_theme ul .imgshadow_dark,
.megamenu_dark_theme ul .imgshadow_light {
	background:#FFFFFF;
	border:1px solid #333333;
	-webkit-box-shadow:0 0 5px #000000;
	-moz-box-shadow:0 0 5px #000000;
	box-shadow:0 0 5px #000000;
}
.megamenu_dark_theme ul .imgshadow_light {
	border:1px solid #777777;
}
.megamenu_dark_theme ul li .black_box,
.megamenu_dark_theme ul li .dark_grey_box {
	background-color:#0A0A0A;
	-webkit-box-shadow:inset 0 0 3px #000000;
	-moz-box-shadow:inset 0 0 3px #000000;
	box-shadow:inset 0 0 3px #000000;
}
.megamenu_dark_theme ul li .greybox li {
	background:#0A0A0A;
	border:1px solid #000000;
}
.megamenu_dark_theme ul li .greybox li:hover {
	background:#141414;
	border:1px solid #111111;
}
.megamenu_dark_theme ul li .plus li {
	background: url("../../nouveau-menu/css/../img/plus_dark.png") left 6px no-repeat;
}
.megamenu_dark_theme ul .levels a.parent, 
.megamenu_dark_theme ul .levels a.parent:hover {
	background: url("../../nouveau-menu/css/../img/arrow_right2.png") right center no-repeat;
}
.megamenu_vertical_right .megamenu_dark_theme ul .levels a.parent, 
.megamenu_vertical_right .megamenu_dark_theme ul .levels a.parent:hover {
	background: url("../../nouveau-menu/css/../img/arrow_left2.png") left center no-repeat;
}
.megamenu_dark_theme ul .contact_form input:focus, 
.megamenu_dark_theme ul .contact_form textarea:focus, 
.megamenu_dark_theme ul .contact_form select:focus {
	box-shadow: rgba(0,0,0, 0.7) 0 0 8px;
	-moz-box-shadow: rgba(0,0,0, 0.7) 0 0 8px;
	-webkit-box-shadow: rgba(0,0,0, 0.7) 0 0 8px;  
	border:1px solid #333333;
}
.megamenu_dark_theme ul .contact_form input:hover, 
.megamenu_dark_theme ul .contact_form textarea:hover, 
.megamenu_dark_theme ul .contact_form select:hover {
	-webkit-box-shadow: rgba(0,0,0, 0.3) 0 0 8px;
	-moz-box-shadow: rgba(0,0,0, 0.3) 0 0 8px;
	box-shadow: rgba(0,0,0, 0.3) 0 0 8px;
}
.megamenu_dark_theme ul .contact_form input, 
.megamenu_dark_theme ul .contact_form textarea, 
.megamenu_dark_theme ul .contact_form select {
	color: #FFFFFF; 
	background-color:#222222;
	border:1px solid #0A0A0A;
}
.megamenu_dark_theme ul .contact_form input.button {
	background-color:#1E1E1E;
	border:1px solid #0A0A0A;
	color:#cccccc;	
}
.megamenu_dark_theme ul .contact_form input.button:hover {
	color:#eeeeee;	
	background-color:#222222;
	border:1px solid #000000;
}




/*  _______________________________________

	08 COLORS
    _______________________________________  */




/* Black */

.megamenu_black {
	background: #333;
	background-image: -webkit-gradient(linear, left top, left bottom, from(#555), to(#2a2a2a));
	background: -webkit-linear-gradient(top, #555, #2a2a2a);
	background: -moz-linear-gradient(top, #555, #2a2a2a);
	background: -o-linear-gradient(top, #555, #2a2a2a);
	background: -ms-linear-gradient(top, #555, #2a2a2a);
	background: linear-gradient(top, #555, #2a2a2a);
	border: 1px solid #222;
	border-top: 1px solid #777;
}
.megamenu_dark_theme .megamenu_black li div a {color:#CCC;}
.megamenu_dark_theme .megamenu_black li div a:hover {color:#EEE;}
.megamenu_dark_theme .megamenu_black li ul li a:hover {color:#EEE;}
.megamenu_light_theme .megamenu_black li div a {color:#444;}
.megamenu_light_theme .megamenu_black li div a:hover {color:#777;}
.megamenu_light_theme .megamenu_black li ul li a:hover {color:#777;}

/* Blue */

.megamenu_blue {
	background: #014464;
	background-image: -webkit-gradient(linear, left top, left bottom, from(#0272a7), to(#013953));
	background: -webkit-linear-gradient(top, #0272a7, #013953);
	background: -moz-linear-gradient(top, #0272a7, #013953);
	background: -o-linear-gradient(top, #0272a7, #013953);
	background: -ms-linear-gradient(top, #0272a7, #013953);
	background: linear-gradient(top, #0272a7, #013953);
	border: 1px solid #015b86;
	border-top: 1px solid #029feb;
}
.megamenu_dark_theme .megamenu_blue li div a {color:#0294da;}
.megamenu_dark_theme .megamenu_blue li div a:hover {color:#33bcfd;}
.megamenu_dark_theme .megamenu_blue li ul li a:hover {color:#33bcfd;}
.megamenu_light_theme .megamenu_blue li div a {color:#015b86;}
.megamenu_light_theme .megamenu_blue li div a:hover {color:#029feb;}
.megamenu_light_theme .megamenu_blue li ul li a:hover {color:#029feb;}

/* Brown */

.megamenu_brown {
	background: #44391e;
	background-image: -webkit-gradient(linear, left top, left bottom, from(#736033), to(#382f19));
	background: -webkit-linear-gradient(top, #736033, #382f19);
	background: -moz-linear-gradient(top, #736033, #382f19);
	background: -o-linear-gradient(top, #736033, #382f19);
	background: -ms-linear-gradient(top, #736033, #382f19);
	background: linear-gradient(top, #736033, #382f19);
	border: 1px solid #5c4c29;
	border-top: 1px solid #a28748;
}
.megamenu_dark_theme .megamenu_brown li div a {color:#8b733e;}
.megamenu_dark_theme .megamenu_brown li div a:hover {color:#bfa670;}
.megamenu_dark_theme .megamenu_brown li ul li a:hover {color:#bfa670;}
.megamenu_light_theme .megamenu_brown li div a {color:#5c4c29;}
.megamenu_light_theme .megamenu_brown li div a:hover {color:#a28748;}
.megamenu_light_theme .megamenu_brown li ul li a:hover {color:#a28748;}

/* Green */

.megamenu_green {
	background: #3e5718;
	background-image: -webkit-gradient(linear, left top, left bottom, from(#658c26), to(#354914));
	background: -webkit-linear-gradient(top, #658c26, #354914);
	background: -moz-linear-gradient(top, #658c26, #354914);
	background: -o-linear-gradient(top, #658c26, #354914);
	background: -ms-linear-gradient(top, #658c26, #354914);
	background: linear-gradient(top, #658c26, #354914);
	border: 1px solid #52711f;
	border-top: 1px solid #8bc135;
}
.megamenu_dark_theme .megamenu_green li div a {color:#6f992a;}
.megamenu_dark_theme .megamenu_green li div a:hover {color:#a3d158;}
.megamenu_dark_theme .megamenu_green li ul li a:hover {color:#a3d158;}
.megamenu_light_theme .megamenu_green li div a {color:#52711f;}
.megamenu_light_theme .megamenu_green li div a:hover {color:#8bc135;}
.megamenu_light_theme .megamenu_green li ul li a:hover {color:#8bc135;}

/* Light Blue */

.megamenu_lightblue {
	background: #52786b;
	background-image: -webkit-gradient(linear, left top, left bottom, from(#709e8e), to(#52786b));
	background: -webkit-linear-gradient(top, #709e8e, #52786b);
	background: -moz-linear-gradient(top, #709e8e, #52786b);
	background: -o-linear-gradient(top, #709e8e, #52786b);
	background: -ms-linear-gradient(top, #709e8e, #52786b);
	background: linear-gradient(top, #709e8e, #52786b);
	border: 1px solid #608c7d;
	border-top: 1px solid #99b9ae;
}
.megamenu_dark_theme .megamenu_lightblue li div a {color:#608c7d;}
.megamenu_dark_theme .megamenu_lightblue li div a:hover {color:#99b9ae;}
.megamenu_dark_theme .megamenu_lightblue li ul li a:hover {color:#99b9ae;}
.megamenu_light_theme .megamenu_lightblue li div a {color:#608c7d;}
.megamenu_light_theme .megamenu_lightblue li div a:hover {color:#99b9ae;}
.megamenu_light_theme .megamenu_lightblue li ul li a:hover {color:#99b9ae;}

/* Orange */

.megamenu_orange {
	background: #d24900;
	background-image: -webkit-gradient(linear, left top, left bottom, from(#ff6717), to(#c14300));
	background: -webkit-linear-gradient(top, #ff6717, #c14300);
	background: -moz-linear-gradient(top, #ff6717, #c14300);
	background: -o-linear-gradient(top, #ff6717, #c14300);
	background: -ms-linear-gradient(top, #ff6717, #c14300);
	background: linear-gradient(top, #ff6717, #c14300);
	border: 1px solid #f45500;
	border-top: 1px solid #ff945b;
}
.megamenu_dark_theme .megamenu_orange li div a {color:#f45500;}
.megamenu_dark_theme .megamenu_orange li div a:hover {color:#ff945b;}
.megamenu_dark_theme .megamenu_orange li ul li a:hover {color:#ff945b;}
.megamenu_light_theme .megamenu_orange li div a {color:#f45500;}
.megamenu_light_theme .megamenu_orange li div a:hover {color:#ff945b;}
.megamenu_light_theme .megamenu_orange li ul li a:hover {color:#ff945b;}

/* Pink */

.megamenu_pink {
	background: #910045;
	background-image: -webkit-gradient(linear, left top, left bottom, from(#d50066), to(#80003d));
	background: -webkit-linear-gradient(top, #d50066, #80003d);
	background: -moz-linear-gradient(top, #d50066, #80003d);
	background: -o-linear-gradient(top, #d50066, #80003d);
	background: -ms-linear-gradient(top, #d50066, #80003d);
	background: linear-gradient(top, #d50066, #80003d);
	border: 1px solid #b30055;
	border-top: 1px solid #ff1a87;
}
.megamenu_dark_theme .megamenu_pink li div a {color:#e6006d;}
.megamenu_dark_theme .megamenu_pink li div a:hover {color:#ff4da1;}
.megamenu_dark_theme .megamenu_pink li ul li a:hover {color:#ff4da1;}
.megamenu_light_theme .megamenu_pink li div a {color:#b30055;}
.megamenu_light_theme .megamenu_pink li div a:hover {color:#ff1a87;}
.megamenu_light_theme .megamenu_pink li ul li a:hover {color:#ff1a87;}

/* Purple */

.megamenu_purple {
	background: #6a5f71;
	background-image: -webkit-gradient(linear, left top, left bottom, from(#8c8094), to(#615867));
	background: -webkit-linear-gradient(top, #8c8094, #615867);
	background: -moz-linear-gradient(top, #8c8094, #615867);
	background: -o-linear-gradient(top, #8c8094, #615867);
	background: -ms-linear-gradient(top, #8c8094, #615867);
	background: linear-gradient(top, #8c8094, #615867);
	border: 1px solid #7b6f83;
	border-top: 1px solid #ada5b3;
}
.megamenu_dark_theme .megamenu_purple li div a {color:#7b6f83;}
.megamenu_dark_theme .megamenu_purple li div a:hover {color:#ada5b3;}
.megamenu_dark_theme .megamenu_purple li ul li a:hover {color:#ada5b3;}
.megamenu_light_theme .megamenu_purple li div a {color:#7b6f83;}
.megamenu_light_theme .megamenu_purple li div a:hover {color:#ada5b3;}
.megamenu_light_theme .megamenu_purple li ul li a:hover {color:#ada5b3;}

/* Red */

.megamenu_red {
	background: #830701;
	background-image: -webkit-gradient(linear, left top, left bottom, from(#d70b02), to(#830701));
	background: -webkit-linear-gradient(top, #d70b02, #830701);
	background: -moz-linear-gradient(top, #d70b02, #830701);
	background: -o-linear-gradient(top, #d70b02, #830701);
	background: -ms-linear-gradient(top, #d70b02, #830701);
	background: linear-gradient(top, #d70b02, #830701);
	border: 1px solid #a40802;
	border-top: 1px solid #fd190f;
}
.megamenu_dark_theme .megamenu_red li div a {color:#d60a03;}
.megamenu_dark_theme .megamenu_red li div a:hover {color:#fd5953;}
.megamenu_dark_theme .megamenu_red li ul li a:hover {color:#fd5953;}
.megamenu_light_theme .megamenu_red li div a {color:#a40802;}
.megamenu_light_theme .megamenu_red li div a:hover {color:#fd190f;}
.megamenu_light_theme .megamenu_red li ul li a:hover {color:#fd190f;}

/* No left & right borders if full width menu bar */

.megamenu_wrapper_full .megamenu_container {
	border-left:none;
	border-right:none;
}




/*  _______________________________________

	09 MOBILE DEVICES
    _______________________________________  */




.megamenu_dark_theme .megamenu_container .megamenu > li.noactive,
.megamenu_light_theme .megamenu_container .megamenu > li.noactive {
	background-color:transparent;
	border:none;
}


@media only screen and (max-width: 1023px) {

	
	/* Menu Containers */
	
	.megamenu_wrapper {
		width:95%;
	}
	.megamenu_wrapper_full {
		width:100%;
	}
	.megamenu_wrapper .megamenu_container,
	.megamenu_wrapper_full .megamenu_container {
		width:100%;
		padding: 0;
		margin:0 auto;
		height:auto;
		float:left;
	}
	.megamenu_wrapper .megamenu_container .megamenu,
	.megamenu_wrapper_full .megamenu_container .megamenu {
		width:98%;
		margin:0;
		padding: 0 1% 0 1%;
	}

	/* Menu Items */
	
	.megamenu_wrapper .megamenu > li,
	.megamenu_wrapper_full .megamenu > li {
		height:40px;
		position:static;
		float:left;
		right:auto;
	}
	.megamenu_wrapper .megamenu > li.menuitem_right,
	.megamenu_wrapper_full .megamenu > li.menuitem_right {
		float:right;
	}

	/* Menu Drop Downs */
	
	.megamenu_wrapper .megamenu .dropdown_1column, 
	.megamenu_wrapper .megamenu .dropdown_1column_puzzles,
	.megamenu_wrapper .megamenu .dropdown_2columns, 
	.megamenu_wrapper .megamenu .dropdown_3columns, 
	.megamenu_wrapper .megamenu .dropdown_4columns,
	.megamenu_wrapper .megamenu .dropdown_5columns,
	.megamenu_wrapper .megamenu .dropdown_fullwidth,
	.megamenu_wrapper .megamenu .dropdown_right,
	.megamenu_wrapper_full .megamenu .dropdown_1column,
	.megamenu_wrapper_full .megamenu .dropdown_1column_puzzles, 	
	.megamenu_wrapper_full .megamenu .dropdown_2columns, 
	.megamenu_wrapper_full .megamenu .dropdown_3columns, 
	.megamenu_wrapper_full .megamenu .dropdown_4columns,
	.megamenu_wrapper_full .megamenu .dropdown_5columns,
	.megamenu_wrapper_full .megamenu .dropdown_fullwidth,
	.megamenu_wrapper_full .megamenu .dropdown_right {
		top:auto;
		right:auto;
		left:auto;
		float:left;
		border-top: none;
		padding:2%;
		margin:-1px 0 0 -1px;
		-webkit-border-radius: 0 0 5px 5px;
		-moz-border-radius: 0 0 5px 5px;
		border-radius: 0 0 5px 5px;
	}
	.megamenu .dropdown_1column  {
		width: 12.6666%;
	}
	.megamenu .dropdown_1column_puzzles  {
		width: 12.6666%;
	}
	.megamenu .dropdown_2columns  {
		width: 29.3333%;
	}
	.megamenu .dropdown_3columns  {
		width: 44%;
	}
	.megamenu .dropdown_4columns  {
		width: 60.6666%;
	}
	.megamenu .dropdown_5columns  {
		width: 79.3333%;
	}
	.megamenu .dropdown_fullwidth  {
		width: 94%;
	}
	.megamenu_wrapper .megamenu .dropdown_right,
	.megamenu_wrapper_full .megamenu .dropdown_right {
		left:auto;
		right:1%;
	}
	.megamenu_wrapper_vertical .megamenu .dropdown_right {
		left:auto;
		right:auto;
	}
	.megamenu_wrapper .megamenu .dropdown_fullwidth,
	.megamenu_wrapper .megamenu li.menuitem_right .dropdown_fullwidth,
	.megamenu_wrapper_full .megamenu .dropdown_fullwidth,
	.megamenu_wrapper_full .megamenu li.menuitem_right .dropdown_fullwidth {
		top:41px;
		right:auto;
		left:1%;
		margin: 0;
	}
	
	/* Menu Contact Form */
	
	.megamenu .contact_form label {
		width:92%;
	}
	.megamenu .contact_form input, 
	.megamenu .contact_form textarea {
		width:92%;
	}   
	.megamenu .contact_form .form_buttons {
		margin:4px 0 0 0;
	}
	
	/* Vertical Menu */
	
	.megamenu_wrapper_vertical {
		width: 100%;
		position: relative;
	}
	.megamenu_vertical_left,
	.megamenu_vertical_right {
		float:none;
	}
	.megamenu_wrapper_vertical .megamenu > li {
		margin:0;
		width:auto;
		float: left;
		clear: none;
	}
		.megamenu_vertical_right .megamenu li.menuitem_nodrop a {
			padding-right:10px;
			padding-left: 15px;
		}
		.megamenu_wrapper_vertical .megamenu li.menuitem_right {
			float:left;
			margin-right:auto;
		}
		.megamenu_wrapper_vertical .megamenu li.menuitem_right a {
			margin-right:auto;
		}
		.megamenu_vertical_right .megamenu .levels a {
			padding-left: 0;
		}
/*		.megamenu_vertical_right .megamenu .levels li:hover > ul {
			left:96%;
			right: auto;
		}
*/		.megamenu_vertical_left .megamenu_light_theme ul li .menuitem_drop,
		.megamenu_vertical_left .megamenu_light_theme .megamenu li.noactive .menuitem_drop,
		.megamenu_vertical_right .megamenu_light_theme ul li .menuitem_drop,
		.megamenu_vertical_right .megamenu_light_theme .megamenu li.noactive .menuitem_drop,
		.megamenu_vertical_left .megamenu_dark_theme ul li .menuitem_drop,
		.megamenu_vertical_left .megamenu_dark_theme .megamenu li.noactive .menuitem_drop,
		.megamenu_vertical_right .megamenu_dark_theme ul li .menuitem_drop,
		.megamenu_vertical_right .megamenu_dark_theme .megamenu li.noactive .menuitem_drop		 {
			padding-right:30px;
			padding-left: 15px;
			background-position: right 17px;
		}

		.megamenu_vertical_left .megamenu_light_theme ul li .menuitem_drop,
		.megamenu_vertical_left .megamenu_light_theme .megamenu li.noactive .menuitem_drop,
		.megamenu_vertical_right .megamenu_light_theme ul li .menuitem_drop,
		.megamenu_vertical_right .megamenu_light_theme .megamenu li.noactive .menuitem_drop {
			background-image:url("../../nouveau-menu/css/../img/arrow_down1.png");
		}
		.megamenu_vertical_left .megamenu_dark_theme ul li .menuitem_drop,
		.megamenu_vertical_left .megamenu_dark_theme .megamenu li.noactive .menuitem_drop,
		.megamenu_vertical_right .megamenu_dark_theme ul li .menuitem_drop,
		.megamenu_vertical_right .megamenu_dark_theme .megamenu li.noactive .menuitem_drop {
			background-image:url("../../nouveau-menu/css/../img/arrow_down2.png");
		}
		.megamenu_wrapper_vertical .megamenu_light_theme .megamenu > li > div,
		.megamenu_wrapper_vertical .megamenu_dark_theme .megamenu > li > div {
			border-top:none;
		}
		.megamenu_vertical_right .megamenu_light_theme ul .levels a.parent, 
		.megamenu_vertical_right .megamenu_light_theme ul .levels a.parent:hover {
			background: url("../../nouveau-menu/css/../img/arrow_right1.png") right center no-repeat;
		}
		.megamenu_vertical_right .megamenu_dark_theme ul .levels a.parent, 
		.megamenu_vertical_right .megamenu_dark_theme ul .levels a.parent:hover {
			background: url("../../nouveau-menu/css/../img/arrow_right2.png") right center no-repeat;
		}


}


@media only screen and (max-width:640px) {


	.megamenu_wrapper,
	.megamenu_wrapper_full {
		width:420px;
		margin: 0 auto;
		float: none;
	}
	.megamenu_vertical_left,
	.megamenu_vertical_right {
		float:none;
	}
	.megamenu_wrapper .megamenu_container,
	.megamenu_wrapper_full .megamenu_container {
		-webkit-border-radius: 0;
		-moz-border-radius: 0;
		border-radius: 0;
	}
	.megamenu_wrapper .megamenu_container .megamenu,
	.megamenu_wrapper_full .megamenu_container .megamenu {
		width:100%;
		margin:0;
		padding: 0;
	}
	.megamenu_container .megamenu > li,
	.megamenu_container .megamenu > li:hover,
	.megamenu_container .megamenu > li.menuitem_right,
	.megamenu_container .megamenu > li.menuitem_right:hover {
		float:left;
		width:90%;
		display: block;
		padding-right:0;
		margin-right:0;
	}
	.megamenu_wrapper_full .megamenu_container .megamenu > li,
	.megamenu_wrapper_full .megamenu_container .megamenu > li:hover,
	.megamenu_wrapper_full .megamenu_container .megamenu > li.menuitem_right,
	.megamenu_wrapper_full .megamenu_container .megamenu > li.menuitem_right:hover {
		width:418px;
		margin:0 1px 0 1px;
	}
	.megamenu_wrapper .megamenu li.menuitem_right .dropdown_fullwidth,
	.megamenu_wrapper_full .megamenu li.menuitem_right > .dropdown_fullwidth {
		top:auto;
		right: auto;
		left: 0;
	}
	.megamenu_container .megamenu .dropdown_1column,
	.megamenu_container .megamenu .dropdown_1column_puzzles,	
	.megamenu_container .megamenu .dropdown_2columns, 
	.megamenu_container .megamenu .dropdown_3columns, 
	.megamenu_container .megamenu .dropdown_4columns,
	.megamenu_container .megamenu .dropdown_5columns,
	.megamenu_container .megamenu .dropdown_fullwidth,
	.megamenu_container .megamenu .dropdown_right  {
		left:0;
		top:auto;
		margin: -1px 0 0 0;
		width: 390px;
		padding:0 15px 0 15px;
	}
	.megamenu_wrapper_full .megamenu .dropdown_1column,
	.megamenu_wrapper_full .megamenu .dropdown_1column_puzzles,	
	.megamenu_wrapper_full .megamenu .dropdown_2columns, 
	.megamenu_wrapper_full .megamenu .dropdown_3columns, 
	.megamenu_wrapper_full .megamenu .dropdown_4columns,
	.megamenu_wrapper_full .megamenu .dropdown_5columns,
	.megamenu_wrapper_full .megamenu .dropdown_fullwidth,
	.megamenu_wrapper_full .megamenu .dropdown_right  {
		padding:0 13px 0 15px;
	}

	/* Menu Drop Downs Columns */
	
	.megamenu .col_one_sixth,
	.megamenu .col_one_fifth,
	.megamenu .col_one_quarter,
	.megamenu .col_one_third,
	.megamenu .col_two_fifths,
	.megamenu .col_half,
	.megamenu .col_three_fifths,
	.megamenu .col_two_thirds,
	.megamenu .col_three_quarters,
	.megamenu .col_four_fifths,
	.megamenu .col_five_sixths,
	.megamenu .col_full {
		margin-left: 0;
		margin-right: 0;
		width: 96%;
		float: left;
		display: block;
	}
	.megamenu > .col_one_sixth,
	.megamenu > .col_one_fifth,
	.megamenu > .col_one_quarter,
	.megamenu > .col_one_third,
	.megamenu > .col_two_fifths,
	.megamenu > .col_half,
	.megamenu > .col_three_fifths,
	.megamenu > .col_two_thirds,
	.megamenu > .col_three_quarters,
	.megamenu > .col_four_fifths,
	.megamenu > .col_five_sixths,
	.megamenu > .col_full {
		margin-left: 2%;
		margin-right: 2%;
	}

	/* Regular Drop Down (turned into a list) */

	.megamenu_wrapper .megamenu .levels li ul,
	.megamenu_wrapper_full .megamenu .levels li ul {
		position: relative;
		top:auto;
		margin:0;
		padding:0;
	    -webkit-border-radius: 0;
		-moz-border-radius: 0;
	    border-radius: 0;
		left: auto;
		border:none;
		background:none;
	}
	.megamenu_wrapper .megamenu .levels li,
	.megamenu_wrapper_full .megamenu .levels li {
		float: left;
		width:100%;
	}
	.megamenu_wrapper .megamenu .levels li:hover > ul,
	.megamenu_wrapper_full .megamenu .levels li:hover > ul {
		left: auto;
	}
	.megamenu_dark_theme ul .levels a.parent, 
	.megamenu_dark_theme ul .levels a.parent:hover,
	.megamenu_dark_theme ul .levels li ul,
	.megamenu_light_theme ul .levels a.parent, 
	.megamenu_light_theme ul .levels a.parent:hover,
	.megamenu_light_theme ul .levels li ul,
	.megamenu_wrapper .megamenu_dark_theme ul .levels a.parent, 
	.megamenu_wrapper .megamenu_dark_theme ul .levels a.parent:hover,
	.megamenu_wrapper .megamenu_dark_theme ul .levels li ul,
	.megamenu_wrapper .megamenu_light_theme ul .levels a.parent, 
	.megamenu_wrapper .megamenu_light_theme ul .levels a.parent:hover,
	.megamenu_wrapper .megamenu_light_theme ul .levels li ul {
		background: none;
		border:none;
	}


}


@media only screen and (max-width:479px) {


	.megamenu_wrapper,
	.megamenu_wrapper_full {
		width:300px;
	}
	.megamenu_wrapper_full .megamenu_container .megamenu > li,
	.megamenu_wrapper_full .megamenu_container .megamenu > li:hover,
	.megamenu_wrapper_full .megamenu_container .megamenu > li.menuitem_right,
	.megamenu_wrapper_full .megamenu_container .megamenu > li.menuitem_right:hover {
		width:298px;
	}
	.megamenu_container .megamenu .dropdown_1column,
	.megamenu_container .megamenu .dropdown_1column_puzzles,	
	.megamenu_container .megamenu .dropdown_2columns, 
	.megamenu_container .megamenu .dropdown_3columns, 
	.megamenu_container .megamenu .dropdown_4columns,
	.megamenu_container .megamenu .dropdown_5columns,
	.megamenu_container .megamenu .dropdown_fullwidth,
	.megamenu_container .megamenu .dropdown_right  {
		width: 270px;
	}


}

}
/* Source : styles/modernisation/cartes.css */
/* Toupty : cartes explicites et réutilisables. Contrat : documentation/modernisation/ACCUEIL-ET-CARTES.md */
.tp-cartes, .tp-cartes * { box-sizing: border-box; }
.tp-cartes {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.tp-cartes--quatre { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.tp-cartes .tp-carte {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  min-width: 0;
  margin: 0;
  padding: 19px 10px 17px;
  border: 1px solid rgba(255, 255, 204, .25);
  border-radius: 13px;
  background: #ad3833;
  box-shadow: 0 3px 9px rgba(67, 18, 18, .12);
  text-align: center;
}
.tp-cartes .tp-carte-image {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 112px;
}
.tp-cartes .tp-carte-image img {
  display: block;
  max-width: 100%;
  max-height: 112px;
  width: auto;
  height: auto;
  object-fit: contain;
}
.tp-cartes .tp-carte-libelle {
  display: block;
  max-width: 100%;
  margin: 0;
  padding: 0;
  color: #00ffcc;
  font: 600 15px/1.45 Helvetica, Arial, sans-serif;
  text-align: center;
  overflow-wrap: break-word;
}
.tp-cartes .tp-carte:focus-within {
  border-color: #00ffcc;
  background: #b34037;
}
.tp-cartes a:focus-visible {
  outline: 3px solid #ffffcc;
  outline-offset: 4px;
  border-radius: 4px;
}
.tp-cartes .tp-carte-libelle:hover { color: #ffff99; text-decoration: underline; }
@media (hover: hover) and (pointer: fine) {
  .tp-cartes .tp-carte:hover { background: #b34037; border-color: #00ffcc; }
}
@media (prefers-reduced-motion: no-preference) {
  .tp-cartes .tp-carte { transition: transform 160ms ease, border-color 160ms ease, background-color 160ms ease; }
}
@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  .tp-cartes .tp-carte:hover { transform: translateY(-4px); }
}
@media (max-width: 900px) {
  .tp-cartes--quatre { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
  .tp-cartes, .tp-cartes--quatre { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .tp-cartes .tp-carte { padding: 14px 8px; }
  .tp-cartes .tp-carte-libelle { font-size: 14px; }
}
@media (max-width: 300px) {
  .tp-cartes, .tp-cartes--quatre { grid-template-columns: minmax(0, 1fr); }
}

/* Source : styles/modernisation/maths.css */
/* Cartes Mathématiques : réglages visuels.
   Pour essayer un style, modifier uniquement les valeurs du bloc ci-dessous.
   Portée : les six catalogues Maths ; aucun effet sur l'accueil ou le menu.
   Les textes dessinés dans les images ne sont pas modifiés par ces réglages.
   Contrat : documentation/modernisation/MATHEMATIQUES-CARTES.md */
#mainMaths {
  /* Couleurs : cartes et texte courant. */
  --maths-carte-fond: #b2463e;
  --maths-carte-fond-actif: #bc5047;
  --maths-texte-couleur: #fff5df;
  --maths-carte-bordure-couleur: #d77b68;
  --maths-carte-bordure-active: #bff2df;

  /* Liens ordinaires et titres cliquables des cartes. */
  --maths-lien-couleur: #d0ffeb;
  --maths-lien-survol-couleur: #ffffff;
  --maths-titre-couleur: #d0ffeb;
  --maths-titre-survol-couleur: #ffffff;
  --maths-titre-survol-decoration: underline;

  /* Typographie des cartes : texte, légendes et titres. */
  --maths-police: Helvetica, Arial, sans-serif;
  --maths-texte-taille: 14px;
  --maths-texte-graisse: 400;
  --maths-texte-interligne: 1.6;
  --maths-texte-alignement: justify;
  --maths-texte-marge-haut: 12px;
  --maths-legende-alignement: center;
  --maths-titre-taille: 15px;
  --maths-titre-graisse: 600;
  --maths-titre-interligne: 1.4;
  --maths-titre-alignement: center;

  /* Titres des rubriques au-dessus des groupes de cartes. */
  --maths-rubrique-titre-couleur: #ffffcc;
  --maths-rubrique-titre-taille: 18px;
  --maths-rubrique-titre-graisse: 600;
  --maths-rubrique-titre-interligne: 1.4;

  /* Forme, images, focus clavier et mouvement au survol. */
  --maths-carte-bordure-epaisseur: 1px;
  --maths-carte-arrondi: 17px;
  --maths-carte-ombre: 0 4px 10px rgba(64,24,20,.12);
  --maths-image-hauteur: 112px;
  --maths-focus-couleur: #ffffcc;
  --maths-focus-epaisseur: 3px;
  --maths-focus-decalage: 4px;
  --maths-focus-arrondi: 4px;
  --maths-survol-deplacement: -4px;
  --maths-transition-duree: 160ms;
  --maths-transition-courbe: ease;

  /* Grilles et espaces sur ordinateur. */
  --maths-colonnes: 3;
  --maths-colonnes-duo: 2;
  --maths-grille-ecart: 18px;
  --maths-carte-marge-interieure: 20px;
  --maths-carte-ecart-interne: 14px;

  /* Tablette : de 641 à 900 px. */
  --maths-colonnes-tablette: 2;

  /* Mobile : jusqu'à 640 px, image à gauche et texte à droite. */
  --maths-colonnes-mobile: 1;
  --maths-grille-ecart-mobile: 14px;
  --maths-carte-marge-interieure-mobile: 17px 13px;
  --maths-carte-ecart-interne-mobile: 12px;
  --maths-image-colonne-mobile: 84px;
  --maths-image-hauteur-mobile: 84px;
  --maths-texte-marge-haut-mobile: 8px;
  --maths-legende-alignement-mobile: left;
  --maths-titre-alignement-mobile: left;
  --maths-titre-taille-mobile: var(--maths-titre-taille);
  --maths-rubrique-titre-taille-mobile: 16px;

  /* Très petit écran : jusqu'à 340 px. */
  --maths-carte-marge-interieure-petit: 13px 10px;
  --maths-carte-ecart-interne-petit: 10px;
  --maths-image-colonne-petit: 66px;
}

/* Application des réglages aux cartes Maths uniquement.
   Les seuils responsive restent dans les @media : ils ne sont pas des variables.
   Menu, cadre commun, body, turquoise et textes hors cartes conservés. */
#mainMaths .tp-maths-rubrique {
  width: calc(100% - 40px);
  max-width: 1100px;
  margin: 24px auto 30px;
  min-width: 0;
}
#mainMaths .tp-maths-rubrique-entete { margin: 0 0 16px; }
#mainMaths .tp-maths-rubrique .titre-ligne {
  justify-content: space-between;
  align-items: baseline;
  gap: 10px 18px;
  margin: 0;
}
#mainMaths .tp-maths-rubrique h2 {
  margin: 0;
  padding: 0;
  color: var(--maths-rubrique-titre-couleur);
  font-family: var(--maths-police);
  font-size: var(--maths-rubrique-titre-taille);
  font-weight: var(--maths-rubrique-titre-graisse);
  line-height: var(--maths-rubrique-titre-interligne);
  text-align: left;
}
#mainMaths .tp-maths-rubrique .titre-ligne > a { white-space: nowrap; }
#mainMaths .tp-maths-cartes {
  margin: 0;
  grid-template-columns: repeat(var(--maths-colonnes),minmax(0,1fr));
  gap: var(--maths-grille-ecart);
}
#mainMaths .tp-maths-cartes--duo { grid-template-columns: repeat(var(--maths-colonnes-duo),minmax(0,1fr)); }
#mainMaths .tp-maths-cartes .tp-carte {
  padding: var(--maths-carte-marge-interieure);
  gap: var(--maths-carte-ecart-interne);
  justify-content: flex-start;
  color: var(--maths-texte-couleur);
  font-family: var(--maths-police);
  border: var(--maths-carte-bordure-epaisseur) solid var(--maths-carte-bordure-couleur);
  border-radius: var(--maths-carte-arrondi);
  background: var(--maths-carte-fond);
  box-shadow: var(--maths-carte-ombre);
}
#mainMaths .tp-maths-cartes a:not(.tp-carte-libelle) { color: var(--maths-lien-couleur); }
#mainMaths .tp-maths-cartes a:not(.tp-carte-libelle):hover,
#mainMaths .tp-maths-cartes a:not(.tp-carte-libelle):active { color: var(--maths-lien-survol-couleur); }
#mainMaths .tp-maths-cartes .tp-carte-image { min-height: var(--maths-image-hauteur); }
#mainMaths .tp-maths-cartes .tp-carte-image img { max-height: var(--maths-image-hauteur); }
#mainMaths .tp-maths-visuel { width: 100%; min-width: 0; text-align: center; }
#mainMaths .tp-maths-visuel > br { display: none; }
#mainMaths .tp-maths-texte {
  width: 100%;
  min-width: 0;
  font: var(--maths-texte-graisse) var(--maths-texte-taille)/var(--maths-texte-interligne) var(--maths-police);
  text-align: var(--maths-legende-alignement);
}
#mainMaths .tp-maths-texte > p {
  margin: var(--maths-texte-marge-haut) 0 0 !important;
  font: var(--maths-texte-graisse) var(--maths-texte-taille)/var(--maths-texte-interligne) var(--maths-police);
  text-align: var(--maths-texte-alignement) !important;
}
#mainMaths .tp-maths-cartes .tp-carte-libelle {
  color: var(--maths-titre-couleur);
  font-family: var(--maths-police);
  font-size: var(--maths-titre-taille);
  font-weight: var(--maths-titre-graisse);
  line-height: var(--maths-titre-interligne);
  text-align: var(--maths-titre-alignement);
}
#mainMaths .tp-maths-cartes .tp-carte-libelle:hover {
  color: var(--maths-titre-survol-couleur);
  text-decoration: var(--maths-titre-survol-decoration);
}
#mainMaths .tp-maths-cartes .tp-carte:focus-within {
  border-color: var(--maths-carte-bordure-active);
  background: var(--maths-carte-fond-actif);
}
#mainMaths .tp-maths-cartes a:focus-visible {
  outline: var(--maths-focus-epaisseur) solid var(--maths-focus-couleur);
  outline-offset: var(--maths-focus-decalage);
  border-radius: var(--maths-focus-arrondi);
}
@media (hover: hover) and (pointer: fine) {
  #mainMaths .tp-maths-cartes .tp-carte:hover {
    background: var(--maths-carte-fond-actif);
    border-color: var(--maths-carte-bordure-active);
  }
}
@media (prefers-reduced-motion: no-preference) {
  #mainMaths .tp-maths-cartes .tp-carte {
    transition: transform var(--maths-transition-duree) var(--maths-transition-courbe), border-color var(--maths-transition-duree) var(--maths-transition-courbe), background-color var(--maths-transition-duree) var(--maths-transition-courbe);
  }
}
@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  #mainMaths .tp-maths-cartes .tp-carte:hover { transform: translateY(var(--maths-survol-deplacement)); }
}
#mainMaths .thirdRowAllContenu > br { display: none; }
#mainMaths .thirdRowAllContenu > h1 { padding: 14px 16px 6px; box-sizing: border-box; }
#mainMaths .thematiqueHorizontalePleinePage { margin: 32px auto; }
@media(max-width:900px) and (min-width:641px) {
  #mainMaths .tp-maths-cartes { grid-template-columns: repeat(var(--maths-colonnes-tablette),minmax(0,1fr)); }
}
@media(max-width:640px) {
  #mainMaths .tp-maths-rubrique { width: calc(100% - 28px); margin: 22px auto 26px; }
  #mainMaths .tp-maths-rubrique .titre-ligne { align-items: flex-start; gap: 6px; }
  #mainMaths .tp-maths-rubrique h2 { font-size: var(--maths-rubrique-titre-taille-mobile); }
  #mainMaths .tp-maths-cartes { grid-template-columns: repeat(var(--maths-colonnes-mobile),minmax(0,1fr)); gap: var(--maths-grille-ecart-mobile); }
  #mainMaths .tp-maths-cartes .tp-carte {
    display: grid;
    grid-template-columns: var(--maths-image-colonne-mobile) minmax(0,1fr);
    align-items: start;
    padding: var(--maths-carte-marge-interieure-mobile);
    gap: var(--maths-carte-ecart-interne-mobile);
  }
  #mainMaths .tp-maths-cartes .tp-carte-image { min-height: var(--maths-image-hauteur-mobile); }
  #mainMaths .tp-maths-cartes .tp-carte-libelle { text-align: var(--maths-titre-alignement-mobile); font-size: var(--maths-titre-taille-mobile); }
  #mainMaths .tp-maths-texte { text-align: var(--maths-legende-alignement-mobile); }
  #mainMaths .tp-maths-texte > p { margin-top: var(--maths-texte-marge-haut-mobile) !important; }
  #mainMaths .thirdRowAllContenu > h1 { padding: 12px 14px 6px; }
}
@media(max-width:340px) {
  #mainMaths .tp-maths-cartes .tp-carte {
    grid-template-columns: var(--maths-image-colonne-petit) minmax(0,1fr);
    gap: var(--maths-carte-ecart-interne-petit);
    padding: var(--maths-carte-marge-interieure-petit);
  }
}

/* Catalogues par niveau : Maternelle, CP/CE1/CE2, CM1/CM2, College, Lycee.
   Activation explicite par tp-maths-niveau ; accueil et portail general inchanges. */
#mainMaths.tp-maths-niveau .tp-maths-rubrique-entete > br { display: none; }
#mainMaths.tp-maths-niveau .tp-maths-rubrique-entete h2 { text-align: left !important; }
#mainMaths.tp-maths-niveau .thirdRowAllContenu > p { width: calc(100% - 40px); max-width: 1100px; margin: 16px auto 22px; padding: 0; text-align: left; font: 14px/1.55 Helvetica,Arial,sans-serif; }
#mainMaths.tp-maths-niveau .thirdRowAllContenu > h2 { width: calc(100% - 40px); max-width: 1100px; margin: 28px auto 12px; text-align: left; font-size: 18px; line-height: 1.4; }
#mainMaths.tp-maths-niveau .tp-maths-rubrique > .thematiqueHorizontalePleinePage { width: 100%; }
@media(max-width:640px) {
 #mainMaths.tp-maths-niveau .thirdRowAllContenu > p, #mainMaths.tp-maths-niveau .thirdRowAllContenu > h2 { width: calc(100% - 28px); }
 #mainMaths.tp-maths-niveau .thirdRowAllContenu > h2 { font-size: 16px; }
}

#mainMaths.tp-maths-niveau .thirdRowAllContenu > h3 { width: calc(100% - 40px); max-width: 1100px; margin: 20px auto 10px; text-align: left; font-size: 16px; line-height: 1.4; }
#mainMaths.tp-maths-niveau .thirdRowAllContenu > ul,
#mainMaths.tp-maths-niveau .thirdRowAllContenu > ol { box-sizing: border-box; width: calc(100% - 40px); max-width: 1100px; margin: 12px auto 20px; padding-left: 24px; text-align: left; font: 14px/1.55 Helvetica,Arial,sans-serif; }
@media(max-width:640px) {
 #mainMaths.tp-maths-niveau .thirdRowAllContenu > h3,
 #mainMaths.tp-maths-niveau .thirdRowAllContenu > ul,
 #mainMaths.tp-maths-niveau .thirdRowAllContenu > ol { width: calc(100% - 28px); }
}

/* Source : styles/modernisation/maths-fiches.css */
/* Fiches Maths : présentation réutilisable des catégories, téléchargements et rappels de cours.
   Activation explicite par #mainMaths.tp-maths-fiches. Menu, accueil et jeux inchangés.
   Charger après cartes.css et maths.css ; contrat : documentation/modernisation/MATHEMATIQUES-CARTES.md. */

/* Réglages propres aux fiches. La palette des cartes reste dans maths.css. */
#mainMaths.tp-maths-fiches {
  --maths-fiches-acces-fond: #97342f;
  --maths-fiches-rubrique-fond: #8f2e29;
  --maths-fiches-repere-couleur: #f2c6b4;
  --maths-fiches-cours-fond: #fff8ed;
  --maths-fiches-cours-texte: #403b35;
  --maths-fiches-cours-bordure: #e6cfb8;
  --maths-fiches-cours-repere: #526655;
  --maths-fiches-cours-titre: #205c4e;
  --maths-fiches-cours-separation: #ddcbb5;
  --maths-fiches-cours-lien: var(--maths-fiches-cours-titre);
  --maths-fiches-cours-lien-survol: #143f36;
}

#mainMaths.tp-maths-fiches .thirdRowAllContenu { min-width: 0; }
#mainMaths.tp-maths-fiches .tp-mf-content,
#mainMaths.tp-maths-fiches .tp-mf-content * { box-sizing: border-box; }
#mainMaths.tp-maths-fiches .tp-mf-content {
  width: calc(100% - 40px); max-width: 1100px; margin: 26px auto;
  color: var(--maths-texte-couleur); font-family: var(--maths-police);
}
#mainMaths.tp-maths-fiches .tp-mf-sommaire { margin-top: 20px; margin-bottom: 28px; }
#mainMaths.tp-maths-fiches .tp-mf-sommaire p {
  color: var(--maths-texte-couleur); margin: 0 0 10px; padding: 0; font-size: 14px; font-weight: 600; text-align: left;
}
#mainMaths.tp-maths-fiches .tp-mf-sommaire ul {
  display: flex; flex-wrap: wrap; gap: 8px; list-style: none; padding: 0; margin: 0;
}
#mainMaths.tp-maths-fiches .tp-mf-sommaire li { margin: 0; padding: 0; min-width: 0; }
#mainMaths.tp-maths-fiches .tp-mf-sommaire a {
  display: flex; align-items: center; min-height: 44px; padding: 10px 15px;
  border: 1px solid var(--maths-carte-bordure-couleur); border-radius: 10px; background: var(--maths-fiches-acces-fond);
  color: var(--maths-texte-couleur); text-decoration: none; font-size: 14px; line-height: 1.4;
}
#mainMaths.tp-maths-fiches .tp-mf-sommaire a:hover { background: var(--maths-carte-fond); border-color: var(--maths-carte-bordure-active); }
#mainMaths.tp-maths-fiches .tp-mf-categorie { margin: 0 0 38px; scroll-margin-top: 18px; }
#mainMaths.tp-maths-fiches .tp-mf-category-heading {
  display: flex; align-items: center; gap: 14px; padding: 17px 20px;
  background: var(--maths-fiches-rubrique-fond); border-left: 5px solid var(--maths-carte-bordure-active); border-radius: 11px;
  margin: 0 0 18px;
}
#mainMaths.tp-maths-fiches .tp-mf-category-heading p {
  margin: 0; padding: 0; font: 600 19px/1.4 var(--maths-police); color: var(--maths-rubrique-titre-couleur); text-align: left;
}
#mainMaths.tp-maths-fiches .tp-mf-category-heading u { text-decoration: none; }
#mainMaths.tp-maths-fiches .tp-mf-category-index { font: 400 15px/1.4 var(--maths-police); color: var(--maths-fiches-repere-couleur); }
#mainMaths.tp-maths-fiches .tp-mf-notions,
#mainMaths.tp-maths-fiches .tp-mf-fiches-grid {
  display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: var(--maths-grille-ecart);
  list-style: none; max-width: none; margin: 0; padding: 0;
}
#mainMaths.tp-maths-fiches .tp-mf-notions > .tp-carte,
#mainMaths.tp-maths-fiches .tp-mf-fiches-grid > .tp-carte {
  display: flex; flex-direction: column; align-items: stretch; justify-content: flex-start;
  gap: 0; min-width: 0; padding: var(--maths-carte-marge-interieure); margin: 0;
  background: var(--maths-carte-fond); border: 1px solid var(--maths-carte-bordure-couleur);
  border-radius: var(--maths-carte-arrondi); box-shadow: var(--maths-carte-ombre);
  color: var(--maths-texte-couleur); text-align: left;
}
#mainMaths.tp-maths-fiches .tp-mf-notion-title { display: flex; align-items: center; gap: 13px; margin: 0 0 13px; min-height: 44px; }
#mainMaths.tp-maths-fiches .tp-mf-notion-title img { flex: 0 0 auto; width: 28px; height: 31px; }
#mainMaths.tp-maths-fiches .tp-mf-notion-title p {
  padding: 0; margin: 0; font: 600 16px/1.45 var(--maths-police); text-align: left; color: var(--maths-texte-couleur);
}
#mainMaths.tp-maths-fiches .tp-mf-pdf-list { list-style: none; padding: 0; margin: 0; }
#mainMaths.tp-maths-fiches .liens-fiche {
  display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1.2fr); gap: 6px 15px;
  padding: 7px 0; margin: 0; border-top: 1px solid rgba(255,245,223,.18); align-items: center;
}
#mainMaths.tp-maths-fiches .liens-fiche a {
  display: flex; align-items: center; min-height: 44px; min-width: 0; margin: 0; padding: 0;
  font: 400 14px/1.5 var(--maths-police); text-align: left; text-decoration: none; overflow-wrap: break-word;
}
#mainMaths.tp-maths-fiches .liens-fiche .lien-enonce { color: var(--maths-texte-couleur); font-weight: 600; }
#mainMaths.tp-maths-fiches .liens-fiche .lien-corrige { color: var(--maths-lien-couleur); }
#mainMaths.tp-maths-fiches .liens-fiche a:hover { color: var(--maths-lien-survol-couleur); text-decoration: underline; opacity: 1; }
#mainMaths.tp-maths-fiches .tp-mf-separateur { display: none; }
#mainMaths.tp-maths-fiches .tp-mf-video {
  display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 12px; align-items: center;
  border-top: 1px solid rgba(255,245,223,.2); margin: 11px 0 0; padding: 16px 0 3px;
}
#mainMaths.tp-maths-fiches .tp-mf-video > br { display: none; }
#mainMaths.tp-maths-fiches .tp-mf-video a { color: var(--maths-lien-couleur); font: 400 14px/1.5 var(--maths-police); }
#mainMaths.tp-maths-fiches .tp-mf-video img { display: block; max-width: 100%; border-radius: 6px; }
#mainMaths.tp-maths-fiches .tp-mf-complement { margin-top: auto; padding-top: 17px; }
#mainMaths.tp-maths-fiches .tp-mf-complement a {
  display: block; color: var(--maths-lien-couleur); border: 1px solid rgba(208,255,235,.45); border-radius: 9px;
  padding: 12px 14px; font: 600 14px/1.5 var(--maths-police); text-align: left; text-decoration: none;
}
#mainMaths.tp-maths-fiches .tp-mf-complement a:hover { background: var(--maths-fiches-acces-fond); color: var(--maths-lien-survol-couleur); text-decoration: underline; }
#mainMaths.tp-maths-fiches .tp-mf-revision .tp-mf-notion-title p { color: var(--maths-rubrique-titre-couleur); }
#mainMaths.tp-maths-fiches .tp-mf-exercices { scroll-margin-top: 18px; }
#mainMaths.tp-maths-fiches .tp-mf-section-head { display: flex; align-items: center; gap: 14px; margin: 0 0 17px; }
#mainMaths.tp-maths-fiches .tp-mf-section-head h2 { margin: 0; padding: 0; color: var(--maths-rubrique-titre-couleur); font: 600 20px/1.4 var(--maths-police); text-align: left; }
#mainMaths.tp-maths-fiches .tp-mf-section-label { margin: 0 0 10px; padding: 0; color: var(--maths-texte-couleur); font: 600 12px/1.4 var(--maths-police); letter-spacing: .08em; text-align: left; }
#mainMaths.tp-maths-fiches .tp-mf-fiches-grid .liens-fiche { border: 0; padding: 0; }
#mainMaths.tp-maths-fiches .tp-mf-fiches-grid > .tp-carte { padding: 15px 20px; }
#mainMaths.tp-maths-fiches .tp-mf-cours {
  scroll-margin-top: 18px; padding: 30px; background: var(--maths-fiches-cours-fond); color: var(--maths-fiches-cours-texte);
  border: 1px solid var(--maths-fiches-cours-bordure); border-radius: 17px; margin-top: 34px; margin-bottom: 32px;
}
#mainMaths.tp-maths-fiches .tp-mf-cours .tp-mf-section-label { color: var(--maths-fiches-cours-repere); }
#mainMaths.tp-maths-fiches .tp-mf-cours h2 { margin: 0 0 16px; padding: 0; color: var(--maths-fiches-cours-titre); font: 600 22px/1.4 var(--maths-police); text-align: left; }
#mainMaths.tp-maths-fiches .tp-mf-cours h2 u { text-decoration: none; }
#mainMaths.tp-maths-fiches .tp-mf-cours p,
#mainMaths.tp-maths-fiches .tp-mf-cours li { color: var(--maths-fiches-cours-texte); font: 400 15px/1.7 var(--maths-police); }
#mainMaths.tp-maths-fiches .tp-mf-cours p { margin: 0 0 17px; padding: 0; text-align: justify; }
/* Liens éditoriaux sur fond clair : couleur et soulignement indépendants des cartes. */
#mainMaths.tp-maths-fiches .tp-mf-cours a {
  color: var(--maths-fiches-cours-lien); text-decoration: underline; text-underline-offset: 3px;
}
#mainMaths.tp-maths-fiches .tp-mf-cours a:hover,
#mainMaths.tp-maths-fiches .tp-mf-cours a:focus-visible { color: var(--maths-fiches-cours-lien-survol); }
#mainMaths.tp-maths-fiches .tp-mf-cours ul { margin: 10px 0 18px; padding-left: 23px; text-align: left; }
#mainMaths.tp-maths-fiches .tp-mf-cours li { margin: 5px 0; padding: 0; text-align: left; }
#mainMaths.tp-maths-fiches .tp-mf-cours h3 { font: 600 18px/1.4 var(--maths-police); text-align: left; color: var(--maths-fiches-cours-titre); margin: 0 0 14px; padding: 0; }
#mainMaths.tp-maths-fiches .tp-mf-cours h4 { font: 600 15px/1.5 var(--maths-police); text-align: left; color: var(--maths-fiches-cours-texte); margin: 18px 0 8px; padding: 0; }
#mainMaths.tp-maths-fiches .tp-mf-chapitres { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 22px 32px; }
#mainMaths.tp-maths-fiches .tp-mf-chapitre { border-top: 1px solid var(--maths-fiches-cours-separation); padding-top: 20px; min-width: 0; }
#mainMaths.tp-maths-fiches .tp-mf-chapitre--large { grid-column: 1 / -1; }
#mainMaths.tp-maths-fiches .tp-mf-introduction { width: calc(100% - 40px); max-width: 1100px; margin: 0 auto 24px; }
#mainMaths.tp-maths-fiches .tp-mf-introduction p { color: var(--maths-texte-couleur); font: 400 15px/1.65 var(--maths-police); text-align: justify; margin: 14px 0; padding: 0; }
#mainMaths.tp-maths-fiches .tp-mf-complements-bas { width: calc(100% - 40px); max-width: 1100px; margin: 28px auto; }
#mainMaths.tp-maths-fiches .tp-mf-complements-bas h2 { text-align: left; margin: 22px 0 16px; font-size: 19px; }
#mainMaths.tp-maths-fiches .tp-mf-complements-bas .containerMaths { display: flex; gap: 18px; margin: 0 0 18px; width: 100%; }
#mainMaths.tp-maths-fiches .tp-mf-complements-bas .boxMaths { box-sizing: border-box; flex: 1; min-width: 0; margin: 0; padding: 16px 20px; border: 1px solid var(--maths-carte-bordure-couleur); border-radius: 12px; }
#mainMaths.tp-maths-fiches .tp-mf-complements-bas .boxMaths p { margin: 0 0 8px; text-align: left; }
#mainMaths.tp-maths-fiches .tp-mf-complements-bas .boxMaths ul { margin: 0; padding-left: 20px; }
#mainMaths.tp-maths-fiches .tp-mf-complements-bas a { display: inline-block; padding: 6px 0; line-height: 1.5; }
#mainMaths.tp-maths-fiches .thematiqueHorizontalePleinePage { margin: 30px auto; }
#mainMaths.tp-maths-fiches .tp-mf-content a:focus-visible { outline: 3px solid var(--maths-rubrique-titre-couleur); outline-offset: 4px; border-radius: 4px; }
#mainMaths.tp-maths-fiches .tp-mf-cours a:focus-visible { outline-color: var(--maths-fiches-cours-titre); }
@media (hover:hover) and (pointer:fine) {
  #mainMaths.tp-maths-fiches .tp-mf-notions > .tp-carte:hover,
  #mainMaths.tp-maths-fiches .tp-mf-fiches-grid > .tp-carte:hover { background: var(--maths-carte-fond-actif); border-color: var(--maths-carte-bordure-active); }
}
@media (max-width: 760px) {
  #mainMaths.tp-maths-fiches .tp-mf-notions,
  #mainMaths.tp-maths-fiches .tp-mf-fiches-grid,
  #mainMaths.tp-maths-fiches .tp-mf-chapitres { grid-template-columns: minmax(0,1fr); }
  #mainMaths.tp-maths-fiches .tp-mf-complements-bas .containerMaths { flex-direction: column; }
}
@media (max-width: 640px) {
  #mainMaths.tp-maths-fiches .tp-mf-content,
  #mainMaths.tp-maths-fiches .tp-mf-introduction,
  #mainMaths.tp-maths-fiches .tp-mf-complements-bas { width: calc(100% - 24px); }
  #mainMaths.tp-maths-fiches .tp-mf-sommaire { margin-top: 16px; margin-bottom: 22px; }
  #mainMaths.tp-maths-fiches .tp-mf-sommaire a { font-size: 13px; padding: 10px 12px; }
  #mainMaths.tp-maths-fiches .tp-mf-category-heading { padding: 15px 13px; gap: 10px; }
  #mainMaths.tp-maths-fiches .tp-mf-category-heading p { font-size: 17px; }
  #mainMaths.tp-maths-fiches .tp-mf-notions > .tp-carte { padding: 17px 15px; }
  #mainMaths.tp-maths-fiches .liens-fiche { grid-template-columns: minmax(0,1fr) minmax(0,1.15fr); gap: 12px; }
  #mainMaths.tp-maths-fiches .liens-fiche a { min-height: 44px; }
  #mainMaths.tp-maths-fiches .tp-mf-cours { padding: 23px 18px; }
  #mainMaths.tp-maths-fiches .tp-mf-cours h2 { font-size: 20px; }
  #mainMaths.tp-maths-fiches .tp-mf-section-head h2 { font-size: 18px; }
}


/* Bas de page validé : textes et ressources complémentaires des pages générales Maths. */
#mainMaths.tp-maths-fiches .tp-mf-guide {
  width: calc(100% - 40px); max-width: 1100px; margin: 38px auto;
  font-family: var(--maths-police); box-sizing: border-box;
}
#mainMaths.tp-maths-fiches .tp-mf-guide * { box-sizing: border-box; }
#mainMaths.tp-maths-fiches .tp-mf-guide-grid {
  display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px;
}
#mainMaths.tp-maths-fiches .tp-mf-guide-panel {
  min-width: 0; padding: 26px; background: var(--maths-fiches-cours-fond);
  color: var(--maths-fiches-cours-texte); border: 1px solid var(--maths-fiches-cours-bordure);
  border-radius: var(--maths-carte-arrondi); box-shadow: var(--maths-carte-ombre);
}
#mainMaths.tp-maths-fiches .tp-mf-guide p {
  margin: 0 0 17px; padding: 0; text-align: justify;
  color: inherit; font: 400 15px/1.7 var(--maths-police);
}
#mainMaths.tp-maths-fiches .tp-mf-guide-panel p:last-child { margin-bottom: 0; }
#mainMaths.tp-maths-fiches .tp-mf-guide-panel .tp-mf-guide-lead {
  color: var(--maths-fiches-cours-titre); font-size: 16px; font-weight: 600; line-height: 1.6;
  padding-bottom: 18px; margin-bottom: 20px; border-bottom: 1px solid var(--maths-fiches-cours-separation);
}
#mainMaths.tp-maths-fiches .tp-mf-guide-panel a {
  color: var(--maths-fiches-cours-titre); font-weight: 600;
  text-decoration: underline; text-underline-offset: 3px;
}
#mainMaths.tp-maths-fiches .tp-mf-guide-panel .tp-mf-guide-niveaux {
  border-top: 1px solid var(--maths-fiches-cours-separation); padding-top: 17px;
}
#mainMaths.tp-maths-fiches .tp-mf-guide .tp-mf-guide-note {
  margin: 18px 0 0; padding: 18px 22px; background: rgba(255,248,237,.06);
  border: 1px solid rgba(215,123,104,.65); border-radius: 12px;
  color: var(--maths-texte-couleur); font-size: 14px; line-height: 1.65;
}
#mainMaths.tp-maths-fiches .tp-mf-guide-note a { color: var(--maths-lien-couleur); text-decoration: underline; }
#mainMaths.tp-maths-fiches .tp-mf-guide a:focus-visible {
  outline: 3px solid var(--maths-fiches-cours-titre); outline-offset: 3px; border-radius: 3px;
}
#mainMaths.tp-maths-fiches .tp-mf-guide-note a:focus-visible { outline-color: var(--maths-focus-couleur); }
#mainMaths.tp-maths-fiches .tp-mf-bas-soigne { margin-top: 38px; margin-bottom: 38px; }
#mainMaths.tp-maths-fiches .tp-mf-bas-soigne h2 {
  margin: 0 0 22px; padding: 0 0 0 14px; border-left: 4px solid var(--maths-carte-bordure-active);
  color: var(--maths-rubrique-titre-couleur); font: 600 20px/1.45 var(--maths-police); text-align: left;
}
#mainMaths.tp-maths-fiches .tp-mf-bas-soigne .containerMaths { height: auto; gap: 20px; margin-bottom: 20px; align-items: stretch; }
#mainMaths.tp-maths-fiches .tp-mf-bas-soigne .boxMaths {
  height: auto; padding: 21px; border: 1px solid var(--maths-carte-bordure-couleur);
  border-radius: var(--maths-carte-arrondi); background: var(--maths-carte-fond);
  box-shadow: var(--maths-carte-ombre); min-width: 0;
}
#mainMaths.tp-maths-fiches .tp-mf-bas-soigne .boxMaths > p {
  margin: 0 0 9px; padding: 0 0 14px; border-bottom: 1px solid rgba(255,245,223,.23);
  color: var(--maths-texte-couleur); font: 600 16px/1.45 var(--maths-police); text-align: left;
}
#mainMaths.tp-maths-fiches .tp-mf-bas-soigne .boxMaths ul { margin: 0; padding: 0; list-style: none; }
#mainMaths.tp-maths-fiches .tp-mf-bas-soigne .boxMaths li { margin: 0; padding: 0; min-width: 0; }
#mainMaths.tp-maths-fiches .tp-mf-bas-soigne .boxMaths a {
  box-sizing: border-box; display: flex; align-items: center; position: relative; min-height: 44px;
  padding: 11px 29px 11px 10px; margin: 2px 0; border-radius: 7px;
  color: var(--maths-lien-couleur); font: 400 15px/1.45 var(--maths-police);
  text-align: left; text-decoration: none; overflow-wrap: break-word;
}
#mainMaths.tp-maths-fiches .tp-mf-bas-soigne .boxMaths a::after {
  content: "›"; position: absolute; right: 10px; top: 50%; transform: translateY(-50%);
  color: var(--maths-texte-couleur); font-size: 21px; line-height: 1; pointer-events: none;
}
#mainMaths.tp-maths-fiches .tp-mf-bas-soigne .boxMaths a:hover,
#mainMaths.tp-maths-fiches .tp-mf-bas-soigne .boxMaths a:focus-visible {
  background: rgba(255,248,237,.09); color: var(--maths-lien-survol-couleur);
  text-decoration: underline; text-underline-offset: 3px;
}
#mainMaths.tp-maths-fiches .tp-mf-bas-soigne .boxMaths a:focus-visible {
  outline: 3px solid var(--maths-focus-couleur); outline-offset: 2px;
}
#mainMaths.tp-maths-fiches .tp-mf-bas-soigne .containerMaths:last-of-type ul {
  display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); column-gap: 24px;
}
@media(max-width:760px) {
  #mainMaths.tp-maths-fiches .tp-mf-guide-grid { grid-template-columns: minmax(0,1fr); gap: 16px; }
  #mainMaths.tp-maths-fiches .tp-mf-guide-panel { padding: 22px 19px; }
  #mainMaths.tp-maths-fiches .tp-mf-bas-soigne .containerMaths:last-of-type ul { grid-template-columns: minmax(0,1fr); }
}
@media(max-width:640px) {
  #mainMaths.tp-maths-fiches .tp-mf-guide { width: calc(100% - 24px); margin-top: 30px; margin-bottom: 30px; }
  #mainMaths.tp-maths-fiches .tp-mf-guide .tp-mf-guide-note { padding: 18px; }
  #mainMaths.tp-maths-fiches .tp-mf-bas-soigne .boxMaths { padding: 19px 16px; }
  #mainMaths.tp-maths-fiches .tp-mf-bas-soigne h2 { font-size: 18px; }
}


/* Pages générales du collège : textes longs et renvois existants.
   Classes explicites ; les blocs déjà validés de sixième restent identiques. */
#mainMaths.tp-maths-fiches .tp-mf-guide-panel--large { grid-column: 1 / -1; }
#mainMaths.tp-maths-fiches .tp-mf-guide-detaille .tp-mf-guide-panel h2 {
  margin: 0 0 20px; padding: 0 0 15px;
  border-bottom: 1px solid var(--maths-fiches-cours-separation);
  color: var(--maths-fiches-cours-titre); font: 600 19px/1.5 var(--maths-police); text-align: left;
}
#mainMaths.tp-maths-fiches .tp-mf-guide-detaille .tp-mf-guide-panel h2 u { text-decoration: none; }
#mainMaths.tp-maths-fiches .tp-mf-guide-detaille ul,
#mainMaths.tp-maths-fiches .tp-mf-guide-detaille ol {
  margin: 12px 0 18px; padding-left: 24px; color: var(--maths-fiches-cours-texte);
}
#mainMaths.tp-maths-fiches .tp-mf-guide-detaille li {
  margin: 0 0 13px; padding: 0; text-align: justify;
  color: var(--maths-fiches-cours-texte); font: 400 15px/1.7 var(--maths-police);
}
#mainMaths.tp-maths-fiches .tp-mf-renvoi {
  margin: 20px 0; padding: 16px 20px; border: 1px solid var(--maths-carte-bordure-couleur);
  border-radius: 12px; background: var(--maths-fiches-acces-fond);
  color: var(--maths-texte-couleur); font: 400 15px/1.6 var(--maths-police); text-align: left;
}
#mainMaths.tp-maths-fiches .tp-mf-renvoi a { color: var(--maths-lien-couleur); text-underline-offset: 3px; }
#mainMaths.tp-maths-fiches .tp-mf-renvoi a:focus-visible { outline: 3px solid var(--maths-focus-couleur); outline-offset: 3px; }
#mainMaths.tp-maths-fiches .tp-mf-brevet input {
  box-sizing: border-box; max-width: 100%; min-height: 44px; padding: 10px 14px;
  border: 1px solid var(--maths-carte-bordure-active); border-radius: 8px;
  color: var(--maths-texte-couleur); background: var(--maths-carte-fond); font: 600 14px/1.5 var(--maths-police);
}
/* En sixième, seule la dernière boîte Géométrie est pleine largeur.
   Les autres niveaux peuvent terminer par deux boîtes : conserver une liste simple. */
#mainMaths.tp-maths-fiches .tp-mf-bas-general .containerMaths:last-of-type ul { display: block; }
@media(max-width:640px) {
  #mainMaths.tp-maths-fiches .tp-mf-guide-detaille .tp-mf-guide-panel h2 { font-size: 18px; }
}


/* Pages spécialisées : sous-rubriques et supports de cours.
   Portée supplémentaire explicite : aucun changement des pages déjà modernisées. */
#mainMaths.tp-maths-fiches.tp-mf-specialisee .tp-mf-sous-rubrique + .tp-mf-sous-rubrique { margin-top: 28px; }
#mainMaths.tp-maths-fiches.tp-mf-specialisee .tp-mf-section-head h2 { min-width: 0; }
#mainMaths.tp-maths-fiches.tp-mf-specialisee .tp-mf-section-head img { flex: 0 0 auto; }
#mainMaths.tp-maths-fiches.tp-mf-specialisee .tp-mf-chapitre > h2 { font-size: 20px; }
#mainMaths.tp-maths-fiches.tp-mf-specialisee .tp-mf-cours ol { margin: 10px 0 18px; padding-left: 23px; }
#mainMaths.tp-maths-fiches.tp-mf-specialisee .tp-mf-cours figure { max-width: 100%; margin: 18px 0 22px; text-align: center; }
#mainMaths.tp-maths-fiches.tp-mf-specialisee .tp-mf-cours figure img { display: block; max-width: 100%; height: auto; margin: 0 auto; }
#mainMaths.tp-maths-fiches.tp-mf-specialisee .tp-mf-cours figcaption { margin-top: 9px; color: var(--maths-fiches-cours-texte); font: 400 14px/1.5 var(--maths-police); }
#mainMaths.tp-maths-fiches.tp-mf-specialisee .tp-mf-cours table { width: 100% !important; border-collapse: collapse; table-layout: fixed; color: var(--maths-fiches-cours-texte); font: 400 15px/1.5 var(--maths-police); }
#mainMaths.tp-maths-fiches.tp-mf-specialisee .tp-mf-cours th,
#mainMaths.tp-maths-fiches.tp-mf-specialisee .tp-mf-cours td { padding: 10px 12px; border: 1px solid var(--maths-fiches-cours-bordure); text-align: left; vertical-align: top; overflow-wrap: break-word; }
#mainMaths.tp-maths-fiches.tp-mf-specialisee .tp-mf-cours th { color: var(--maths-fiches-cours-titre); }
@media(max-width:640px) {
  #mainMaths.tp-maths-fiches.tp-mf-specialisee .tp-mf-chapitre > h2 { font-size: 18px; }
  #mainMaths.tp-maths-fiches.tp-mf-specialisee .tp-mf-cours th,
  #mainMaths.tp-maths-fiches.tp-mf-specialisee .tp-mf-cours td { padding: 8px; }
}


/* Titres H1 historiques : cinquième conservée, activation générique pour les nouveaux lots. */
#mainMaths.tp-maths-fiches.tp-mf-cinquieme .tp-mf-section-head h1,
#mainMaths.tp-maths-fiches.tp-mf-titres-historiques .tp-mf-section-head h1 {
  margin: 0; padding: 0; color: var(--maths-rubrique-titre-couleur); font: 600 20px/1.4 var(--maths-police); text-align: left;
}
#mainMaths.tp-maths-fiches.tp-mf-cinquieme .tp-mf-cours > h1,
#mainMaths.tp-maths-fiches.tp-mf-titres-historiques .tp-mf-cours > h1 {
  margin: 0 0 16px; padding: 0; color: var(--maths-fiches-cours-titre); font: 600 22px/1.4 var(--maths-police); text-align: left;
}
#mainMaths.tp-maths-fiches.tp-mf-cinquieme .tp-mf-cours > h1 u,
#mainMaths.tp-maths-fiches.tp-mf-titres-historiques .tp-mf-cours > h1 u { text-decoration: none; }
#mainMaths.tp-maths-fiches.tp-mf-cinquieme .tp-mf-chapitre h2,
#mainMaths.tp-maths-fiches.tp-mf-titres-historiques .tp-mf-chapitre h2 { font-size: 18px; line-height: 1.4; margin: 0 0 14px; }
@media (max-width: 640px) {
  #mainMaths.tp-maths-fiches.tp-mf-cinquieme .tp-mf-section-head h1,
  #mainMaths.tp-maths-fiches.tp-mf-titres-historiques .tp-mf-section-head h1 { font-size: 18px; }
}

/* Titre historique supplémentaire dans un chapitre (FAQ du calcul littéral). */
#mainMaths.tp-maths-fiches.tp-mf-titres-historiques .tp-mf-chapitre > h1 {
  margin: 0 0 14px; padding: 0; color: var(--maths-fiches-cours-titre); font: 600 18px/1.4 var(--maths-police); text-align: left;
}
#mainMaths.tp-maths-fiches.tp-mf-titres-historiques .tp-mf-chapitre > h1 u { text-decoration: none; }

/* Formules : retour à la ligne des blocs courts ; défilement des calculs longs. */
#mainMaths.tp-maths-fiches.tp-mf-titres-historiques .tp-mf-cours mjx-container,
#mainMaths.tp-maths-fiches.tp-mf-lycee-general .tp-mf-cours mjx-container {
    display: inline-block;
    max-width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    vertical-align: middle;
    padding: .15em 0;
}

/* Pages générales du lycée : mêmes cartes, titres et symboles HTML conservés. */
#mainMaths.tp-maths-fiches.tp-mf-lycee-general .tp-mf-category-heading h2 {
  margin: 0; padding: 0; color: var(--maths-rubrique-titre-couleur); font: 600 19px/1.4 var(--maths-police); text-align: left;
}
#mainMaths.tp-maths-fiches.tp-mf-lycee-general .tp-carte > h3,
#mainMaths.tp-maths-fiches.tp-mf-lycee-specialisee .tp-carte > h3 {
  margin: 0 0 14px; padding: 0; color: var(--maths-texte-couleur); font: 600 16px/1.45 var(--maths-police); text-align: left;
}
#mainMaths.tp-maths-fiches.tp-mf-lycee-general .liens-fiche a:only-child { grid-column: 1 / -1; }

/* Lycée spécialisé : descriptions de séries déjà présentes dans le HTML. */
#mainMaths.tp-maths-fiches.tp-mf-lycee-specialisee .tp-mf-introduction-serie { width: 100%; max-width: none; }

/* Tableaux mathématiques : données conservées, défilement clavier/tactile sur petit écran. */
#mainMaths.tp-maths-fiches .tp-mf-tableau-signes { width: 100% !important; max-width: 700px; overflow-x: auto; margin-bottom: 20px; }
#mainMaths.tp-maths-fiches .tp-mf-tableau-signes > table { min-width: 420px; }
#mainMaths.tp-maths-fiches .tp-mf-tableau-signes:focus-visible { outline: 3px solid var(--maths-fiches-cours-titre); outline-offset: 3px; }


/* Devoirs communs : adaptation des anciens tableaux et groupes par établissement.
   Activation explicite tp-mf-devoirs ; palette et cartes Maths communes conservées. */
#mainMaths.tp-maths-fiches.tp-mf-devoirs .tp-mf-category-heading h2,
#mainMaths.tp-maths-fiches.tp-mf-devoirs .tp-mf-category-heading h3 {
  margin: 0; padding: 0; color: var(--maths-rubrique-titre-couleur);
  font: 600 19px/1.4 var(--maths-police); text-align: left;
}
#mainMaths.tp-maths-fiches.tp-mf-devoirs .tp-mf-devoir-description {
  margin-bottom: 16px; color: var(--maths-texte-couleur);
  font: 400 15px/1.65 var(--maths-police); text-align: justify;
}
#mainMaths.tp-maths-fiches.tp-mf-devoirs .tp-mf-devoir-description p {
  margin: 0; padding: 0; color: inherit; font: inherit; text-align: justify;
}
#mainMaths.tp-maths-fiches.tp-mf-devoirs .tp-mf-devoir-description > span { display: block; }
#mainMaths.tp-maths-fiches.tp-mf-devoirs .tp-carte > .liens-fiche,
#mainMaths.tp-maths-fiches.tp-mf-devoirs .tp-mf-devoir-documents {
  margin-top: auto; padding-top: 12px; border-top: 1px solid rgba(255,245,223,.18);
}
#mainMaths.tp-maths-fiches.tp-mf-devoirs .tp-mf-devoir-documents { display: grid; grid-template-columns: minmax(0,1fr) 20px; align-items: center; gap: 12px; }
#mainMaths.tp-maths-fiches.tp-mf-devoirs .tp-mf-devoir-pdf img { display: block; }
#mainMaths.tp-maths-fiches.tp-mf-devoirs .liens-fiche a:first-child { color: var(--maths-texte-couleur); font-weight: 600; }
#mainMaths.tp-maths-fiches.tp-mf-devoirs .tp-mf-devoir-documents .liens-fiche a:not(:first-child) { color: var(--maths-lien-couleur); }
#mainMaths.tp-maths-fiches.tp-mf-devoirs .liens-fiche a:only-child { grid-column: 1 / -1; }
#mainMaths.tp-maths-fiches.tp-mf-devoirs .liens-fiche a:hover { color: var(--maths-lien-survol-couleur); }
#mainMaths.tp-maths-fiches.tp-mf-devoirs .tp-mf-devoirs-brevet {
  display: block; grid-column: 1 / -1; width: calc(100% - 40px); max-width: 1100px; margin: 18px auto;
}
#mainMaths.tp-maths-fiches.tp-mf-devoirs .tp-mf-devoirs-brevet > div { position: static !important; width: auto !important; height: auto !important; }
@media(max-width:640px) {
  #mainMaths.tp-maths-fiches.tp-mf-devoirs .tp-mf-category-heading h2,
  #mainMaths.tp-maths-fiches.tp-mf-devoirs .tp-mf-category-heading h3 { font-size: 17px; }
  #mainMaths.tp-maths-fiches.tp-mf-devoirs .tp-mf-devoirs-brevet { width: calc(100% - 24px); }
}


/* Brevet blanc et annales : sessions compactes et sommaires par année.
   Portée limitée à tp-mf-brevet-pages ; palette Maths et composants existants. */
#mainMaths.tp-maths-fiches.tp-mf-brevet-pages .tp-mf-category-heading p { font-size: 19px !important; }
#mainMaths.tp-maths-fiches.tp-mf-brevet-pages .tp-mf-category-heading img { flex: 0 0 auto; margin-left: auto; }
#mainMaths.tp-maths-fiches.tp-mf-brevet-pages .tp-mf-sommaire a { justify-content: center; }
#mainMaths.tp-maths-fiches.tp-mf-brevet-pages .tp-mf-annales-liste {
  list-style: none; margin: 0; padding: 6px 20px;
  color: var(--maths-texte-couleur); background: var(--maths-carte-fond);
  border: 1px solid var(--maths-carte-bordure-couleur); border-radius: var(--maths-carte-arrondi); box-shadow: var(--maths-carte-ombre);
}
#mainMaths.tp-maths-fiches.tp-mf-brevet-pages .tp-mf-annale-session {
  display: grid; grid-template-columns: minmax(0,1fr) 110px 120px; align-items: center; gap: 8px 20px;
  margin: 0; padding: 6px 0; text-align: left;
}
#mainMaths.tp-maths-fiches.tp-mf-brevet-pages .tp-mf-annale-session + .tp-mf-annale-session { border-top: 1px solid rgba(255,245,223,.22); }
#mainMaths.tp-maths-fiches.tp-mf-brevet-pages .tp-mf-annale-session > div { min-width: 0; }
#mainMaths.tp-maths-fiches.tp-mf-brevet-pages .tp-mf-annale-session p { margin: 0; padding: 0; color: inherit; font: 400 15px/1.6 var(--maths-police); text-align: left; }
#mainMaths.tp-maths-fiches.tp-mf-brevet-pages .tp-mf-annale-sujet p,
#mainMaths.tp-maths-fiches.tp-mf-brevet-pages .tp-mf-annale-corrige p { display: flex; align-items: center; gap: 5px; }
#mainMaths.tp-maths-fiches.tp-mf-brevet-pages .tp-mf-annale-session a { display: flex; align-items: center; min-height: 44px; font: 400 14px/1.5 var(--maths-police); color: var(--maths-lien-couleur); }
#mainMaths.tp-maths-fiches.tp-mf-brevet-pages .tp-mf-annale-sujet a { color: var(--maths-texte-couleur); font-weight: 600; }
#mainMaths.tp-maths-fiches.tp-mf-brevet-pages .tp-mf-annale-session a:hover { color: var(--maths-lien-survol-couleur); text-decoration: underline; }
#mainMaths.tp-maths-fiches.tp-mf-brevet-pages .tp-mf-espaces-historiques p { margin: 0; padding: 0; line-height: 0; }
#mainMaths.tp-maths-fiches.tp-mf-brevet-pages .tp-mf-guide-grid { align-items: start; }
@media(max-width:640px) {
  #mainMaths.tp-maths-fiches.tp-mf-brevet-pages .tp-mf-category-heading p { font-size: 17px !important; }
  #mainMaths.tp-maths-fiches.tp-mf-brevet-pages .tp-mf-annales-liste { padding: 3px 16px; }
  #mainMaths.tp-maths-fiches.tp-mf-brevet-pages .tp-mf-annale-session { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 2px 15px; padding: 12px 0 5px; }
  #mainMaths.tp-maths-fiches.tp-mf-brevet-pages .tp-mf-annale-libelle { grid-column: 1 / -1; }
}


/* Catalogue général Terminale : titres H2 cliquables conservés.
   Activation propre à cette page ; cartes, palette et textes restent mutualisés. */
#mainMaths.tp-maths-fiches.tp-mf-terminale-general .tp-mf-section-head h2 {
  font-size: var(--maths-rubrique-titre-taille);
}
#mainMaths.tp-maths-fiches.tp-mf-terminale-general .tp-mf-section-head h2 a {
  display: block; min-height: 44px;
  color: var(--maths-titre-couleur); font: inherit; text-align: left;
}
#mainMaths.tp-maths-fiches.tp-mf-terminale-general .tp-mf-section-head h2 a:hover {
  color: var(--maths-titre-survol-couleur); text-decoration: var(--maths-titre-survol-decoration);
}

#mainMaths.tp-maths-fiches.tp-mf-terminale-general .tp-mf-section-head { margin-bottom: 5px; }


/* Bac et concours : matières Geipi et sous-titres du guide.
   Extension limitée à ces pages ; palette et composants Maths existants. */
#mainMaths.tp-maths-fiches.tp-mf-bac-concours .tp-mf-geipi-matiere h3 {
  margin: 0 0 14px; color: var(--maths-texte-couleur);
  font: 700 16px/1.5 var(--maths-police); text-align: left;
}
#mainMaths.tp-maths-fiches.tp-mf-bac-concours .tp-mf-geipi-matiere p {
  margin: 0; padding: 0; text-indent: 0 !important; text-align: left;
}
#mainMaths.tp-maths-fiches.tp-mf-bac-concours .tp-mf-geipi-matiere a {
  display: flex; align-items: center; min-height: 44px; font-size: 15px;
}
#mainMaths.tp-maths-fiches.tp-mf-bac-concours .tp-mf-guide-panel h3 {
  margin: 22px 0 10px; color: #294b45;
  font: 700 17px/1.5 var(--maths-police); text-align: left;
}

/* Retours vers les rubriques : liens HTML des seules pages équipées.
   Palette Maths existante ; aucun script ni effet sur les menus. */
#mainMaths.tp-maths-fiches p.tp-mf-retour {
  margin: 18px 0 0; padding: 0; text-align: right;
  font: 400 14px/1.5 var(--maths-police);
}
#mainMaths.tp-maths-fiches .tp-mf-retour a {
  display: inline-flex; align-items: center; box-sizing: border-box;
  min-height: 44px; max-width: 100%; padding: 9px 14px;
  border: 1px solid var(--maths-carte-bordure-couleur); border-radius: 10px;
  background: var(--maths-fiches-acces-fond); color: var(--maths-texte-couleur);
  font: 400 14px/1.5 var(--maths-police); text-align: left;
  text-decoration: underline; text-underline-offset: 3px;
}
#mainMaths.tp-maths-fiches .tp-mf-retour a:hover,
#mainMaths.tp-maths-fiches .tp-mf-retour a:focus-visible {
  color: var(--maths-texte-couleur);
  background: var(--maths-carte-fond); border-color: var(--maths-carte-bordure-active);
}
#mainMaths.tp-maths-fiches .tp-mf-retour a:focus-visible {
  outline: 3px solid var(--maths-focus-couleur); outline-offset: 3px;
}
#mainMaths.tp-maths-fiches .tp-mf-cours .tp-mf-retour a:focus-visible {
  outline-color: var(--maths-fiches-cours-titre);
}
@media (max-width: 640px) {
  #mainMaths.tp-maths-fiches p.tp-mf-retour { text-align: left; }
}


/* Sommaires Maths à intitulés longs : activation explicite, autres pages inchangées. */
#mainMaths.tp-maths-fiches .tp-mf-sommaire.tp-mf-sommaire--grille ul {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-auto-rows: 1fr;
  gap: 12px;
}
#mainMaths.tp-maths-fiches .tp-mf-sommaire.tp-mf-sommaire--grille.tp-mf-sommaire--deux-colonnes ul {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
#mainMaths.tp-maths-fiches .tp-mf-sommaire.tp-mf-sommaire--grille li {
  display: flex;
}
#mainMaths.tp-maths-fiches .tp-mf-sommaire.tp-mf-sommaire--grille a {
  width: 100%;
  min-width: 0;
  min-height: 84px;
  padding: 14px 16px;
  white-space: normal;
  overflow-wrap: break-word;
  text-align: left;
  justify-content: flex-start;
}
@media (max-width: 900px) {
  #mainMaths.tp-maths-fiches .tp-mf-sommaire.tp-mf-sommaire--grille ul {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 640px) {
  #mainMaths.tp-maths-fiches .tp-mf-sommaire.tp-mf-sommaire--grille ul,
  #mainMaths.tp-maths-fiches .tp-mf-sommaire.tp-mf-sommaire--grille.tp-mf-sommaire--deux-colonnes ul {
    grid-template-columns: minmax(0, 1fr);
  }
  #mainMaths.tp-maths-fiches .tp-mf-sommaire.tp-mf-sommaire--grille a {
    min-height: 76px;
  }
}

/* Rubriques des pages specialisees : bandeau existant, activation explicite. */
#mainMaths.tp-maths-fiches .tp-mf-category-heading.tp-mf-specialisee-heading h2 {
  margin: 0; padding: 0; color: var(--maths-rubrique-titre-couleur);
  font: 600 19px/1.4 var(--maths-police); text-align: left; min-width: 0;
}

