/*	body {color: #333333; text-align: justify; font-family: Arial, Helvetica, sans-serif; font-weight: 400; font-size: 1rem;}
	p, div {margin-left: 0px; margin-right: 0px; mso-table-lspace: 0pt; mso-table-rspace: 0pt; font-family: Arial, Helvetica, sans-serif; font-weight: 400; vertical-align: top;}
	div {margin-block-start: 0px; margin-block-end: 0px; margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; padding-top: 0; padding-bottom: 0;}
	td, tr, table, tbody {margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; padding-left: 0; padding-right: 0; padding-top: 0; padding-bottom: 0; text-align: justify; mso-table-lspace: 0pt; mso-table-rspace: 0pt; font-family: Arial, Helvetica, sans-serif; font-weight: 400; vertical-align: top;}
	ul {margin-top: 0px; margin-bottom: 0px;}*/

	.ColG95 {padding-right: 8px; width: 95%;}
	.ColD5 {padding-left: 8px; width: 5%;}

	.ColG90 {padding-right: 8px; width: 90%;}
	.ColD10 {padding-left: 8px; width: 10%;}

	.ColG85 {padding-right: 8px; width: 85%;}
	.ColD15 {padding-left: 8px; width: 15%;}
	
	.ColG80 {padding-right: 8px; width: 80%;}
	.ColD20 {padding-left: 8px; width: 20%;}
	
	.ColG75 {padding-right: 8px; width: 75%;}
	.ColD25 {padding-left: 8px; width: 25%;}

	.ColG70 {padding-right: 8px; width: 70%;}
	.ColD30 {padding-left: 8px; width: 30%;}

	.ColG65 {padding-right: 8px; width: 65%;}
	.ColD35 {padding-left: 8px; width: 35%;}
	
	.ColG60 {padding-right: 8px; width: 60%;}
	.ColD40 {padding-left: 8px; width: 40%;}
	
	.ColG55 {padding-right: 8px; width: 55%;}
	.ColD45 {padding-left: 8px; width: 45%;}
	
	.ColG50 {padding-right: 8px; width: 50%;}
	.ColD50 {padding-left: 8px; width: 50%;}
	
	.ColG45 {padding-right: 8px; width: 45%;}
	.ColD55 {padding-left: 8px; width: 55%;}
	
	.ColG40 {padding-right: 8px; width: 40%;}
	.ColD60 {padding-left: 8px; width: 60%;}
	
	.ColG35 {padding-right: 8px; width: 35%;}
	.ColD65 {padding-left: 8px; width: 65%;}
	
	.ColG30 {padding-right: 8px; width: 30%;}
	.ColD70 {padding-left: 8px; width: 70%;}
	
	.ColG25 {padding-right: 8px; width: 25%;}
	.ColD75 {padding-left: 8px; width: 75%;}
	
	.ColG20 {padding-right: 8px; width: 20%;}
	.ColD80 {padding-left: 8px; width: 80%;}

	.ColG15 {padding-right: 8px; width: 15%;}
	.ColD85 {padding-left: 8px; width: 85%;}

	.ColG10 {padding-right: 8px; width: 10%;}
	.ColD90 {padding-left: 8px; width: 90%;}

	.ColG5 {padding-right: 8px; width: 5%;}
	.ColD95 {padding-left: 8px; width: 95%;}
	
	.ColC5 {padding-left: 8px;padding-right: 8px; width: 5%;}
	.ColC10 {padding-left: 8px;padding-right: 8px; width: 10%;}
	.ColC20 {padding-left: 8px;padding-right: 8px; width: 20%;}
	.ColC30 {padding-left: 8px;padding-right: 8px; width: 30%;}
	.ColC40 {padding-left: 8px;padding-right: 8px; width: 40%;}
	.ColC50 {padding-left: 8px;padding-right: 8px; width: 50%;}
	.ColC60 {padding-left: 8px;padding-right: 8px; width: 60%;}
	.ColC70 {padding-left: 8px;padding-right: 8px; width: 70%;}
	.ColC80 {padding-left: 8px;padding-right: 8px; width: 80%;}
	.ColC90 {padding-left: 8px;padding-right: 8px; width: 90%;}

	.CellSpace {height: 25px;}
	.ParaSpace {height: 9px; font-size: 0.65em;}
	.TableTH div .STitre {text-align: center!important; text-align-last: center!important; font-size: 1.1rem; font-weight: bold;}
	.TableTH div .Titre {text-align: center!important; text-align-last: center!important; font-size: 1.2rem; font-weight: bold;}
	.TableTH div .MTitre {text-align: center!important; text-align-last: center!important; font-size: 1.5rem; font-weight: bold; vertical-align: middle;}
	.TableTH div .GTitre {text-align: center!important; text-align-last: center!important; font-size: 1.9rem; font-weight: bold; vertical-align: middle;}
	.Center {text-align: center!important; text-align-last: center!important; }
	.CenterG {text-align: center!important; font-weight: bold; text-align-last: center!important; }
	.Page1 {padding-left: 20px; padding-right: 20px;}
	.Page2 {padding-left: 20px; padding-right: 20px; background-color: #f5f5f5; border-bottom: 1px solid #f00000;}
	.Red {color: #f00000}
	.Table {border-collapse: collapse;}
	.TableCell {vertical-align: middle; border: 1px solid #BFBFBF; padding-top: 5px; padding-bottom: 5px; padding-left: 5px; padding-right: 5px;}
	.TableCellTitle {vertical-align: middle; text-align: center; border: 1px solid #BFBFBF; padding-top: 3px; padding-bottom: 3px; padding-left: 5px; padding-right: 5px;}
	.TableTH .Slogan {width: 100%; text-align: center!important; text-align-last: center!important; color: #f00000;}
	.Liste {margin-left: 25px}
	.List {width: 25px; text-align: center;}
	#SIG {width: 100%; text-align: center!important; text-align-last: center!important;}
	.Sign {text-align: left!important; text-align-last: left!important; vertical-align: middle; color: #848484; width: 22%; display: inline-block; padding-left: 2%; border-left: 1px solid #e0e0e0; margin: 0;}
	.SignT {text-align: right!important; text-align-last: right!important; vertical-align: middle; color: #808080; width : 26%; display: inline-block; padding-right: 2%; margin: 0;}
	.Alert {border: 1px solid #f00000; padding-left: 20px; padding-right: 20px; padding-bottom: 20px; padding-top: 20px;}
	.Legend {color:#808080;}
	.Indice {font-size: 0.7rem;}
	.VerticalWrite {text-align: center; writing-mode: sideways-lr; border-top: none; border-left: none;}
	.TableTH {width:85%; margin: 0 auto; font-family: Arial, Helvetica, sans-serif; background-color: #fff; box-shadow: 10px 3px 100px #d0d0d0;  border-radius: 0.8rem;} /* border: 1px #e0e0e0 solid;*/
	.encart {width:85%; margin: 0 auto; font-family: Arial, Helvetica, sans-serif; background-color: #fff; box-shadow: 10px 3px 100px #d0d0d0;  border-radius: 0.8rem;}
	
	#BanTH {width: 50%; margin-left: 25%; margin-right: 25%; margin-bottom: 1em; text-align: center; text-align-last: center!important; font-family: Arial, Helvetica, sans-serif; color: #808080;}
	#BanTHAtos {width: 10%; display: inline-block; vertical-align: middle;}
	#BanTHEviden {width: 20%; display: inline-block; vertical-align: middle;}
/*	.TableTH {width:85%; border-radius: 0; color: #000; margin: 0 auto; font-family: Arial, Helvetica, sans-serif; background-color: #fff; box-shadow: 10px 3px 100px #808080; border: 1px #e0e0e0 solid;}*/
	#THVid {text-align: center;}
	#bev {width: 100%; box-shadow: 5px 3px 3px #808080; border: 1px #f00000 solid;}
	.TableTH iframe {display: block; border: none; margin: auto; width:auto; height: auto;}
	.TableTH div, .TableTH p {text-align: justify; text-align-last: left; hyphens: auto; text-wrap: wrap; overflow-wrap: anywhere;}
	.encart div, .encart p {text-align: justify; text-align-last: left; hyphens: auto; text-wrap: wrap; overflow-wrap: anywhere;}
	
	
/* =========================
   1. RESTAURER LES LISTES
   ========================= */

.TableTH ul {
  list-style-type: circle;
  padding-left: 1.5rem;
  margin: 1em 0;
}

.TableTH ul ul {
  list-style-type: disc;
}

.TableTH ul ul ul {
  list-style-type: square;
}

.TableTH ol {
  padding-left: 1.5rem;
  margin: 1em 0;
}

/* =========================
   2. CORRIGER LE RESET GLOBAL
   ========================= */

.TableTH ul,
.TableTH ol {
  list-style-position: outside;
}

/* =========================
   3. FIX TEXT-WRAP (évite les lignes cassées)
   ========================= */

.TableTH p,
.TableTH li {
  text-wrap: wrap;
}

/* =========================
   4. FIX HIÉRARCHIE (ALIGNEMENT PROPRE)
   ========================= */

.hierarchie li {
  position: relative;
  padding-left: 1.5rem;
  margin-top: 1.5rem;
}

/* Numéros */
.hierarchie > li::before,
.hierarchie ol > li::before {
  position: absolute;
  left: 0;
  top: 0;
}

/* Titres */
.hierarchie h2,
.hierarchie h3 {
  display: block;
  margin: 0;
}

/* Contenu après titre */
.hierarchie li > p,
.hierarchie li > ul,
.hierarchie li > ol,
.hierarchie li > div {
  margin-top: 0.5rem;
}

/* =========================
   5. ÉVITER CONFLITS AVEC COMPTEURS
   ========================= */

.hierarchie ul {
  list-style: circle;
  padding-left: 1.5rem;
}

/* ALIGNEMENT NUMÉRO / TITRE */
.hierarchie > li::before,
.hierarchie ol > li::before {
  position: absolute;
  left: 0;
  top: 0.15em; /* ajuste finement ici */
  margin: 0;   /* supprime le décalage parasite */
  line-height: 1;
}

/* Structure du li */
.hierarchie li {
  position: relative;
  padding-left: 1.5rem;
}

/* Titres */
.hierarchie h2,
.hierarchie h3 {
  display: block;
  margin: 0;
  line-height: 1.3;
}




	
	/*Contact*/
	
	.contact {
		margin-left: 10%;
		margin-right: 10%;
	}
	.contact p {
		margin-top: 0.5rem;
		margin-bottom: 0.5rem;
	}
    /* Appliquer une largeur uniforme aux champs email, objet et textarea */
    .InputContact, select {
        width: 100%;
        box-sizing: border-box; /* inclut padding et bordure dans la largeur */
		margin-bottom: 3px;
		resize: none;
		padding: 3px;
		border: 1px solid #C8C8C8;
		border-radius: 5px;
		transition: all 0.2s ease;
    }
	.TableTH select {color: #808080;}

	.none {display: none;}
	.InputContact:focus {background-color: #faf0f0;}
	.InputContact:hover {background-color: #F0F0F0;}
	.InputContact:active {background-color: #E0E0E0;}
	.TableTH button {margin-top: 10px;border-radius: 5px; border: 1px solid #f00000; padding: 3px; background: #d4d4d4; background: radial-gradient(circle, #d4d4d4 0%, #ececec 100%);}
	.TableTH button:hover {background: #d4d4d4; background: radial-gradient(circle, #d4d4d4 0%, #e3e3e3 100%);}
	.TableTH button:active {background: #f0f0f0; background: radial-gradient(circle, #f0f0f0 0%, #e3e3e3 100%);}

	#trucsetastuces td {padding: 0 1rem 0.5rem; width: 50% !important; display: table-cell !important;}
	#trucsetastuces {border-radius: 3rem;}    
	#trucsetastuces mark {background-color: #CCFFCC;}
	
	.TableTH h1 {
    color: #888888;
	/*font-size: 2rem;*/
    margin: 0.72rem 0 0.72rem;
    font-weight: bold;
    text-align: center;
	}



	#P1 {max-width: unset !important;}

	@media all and (max-width: 991px)
	{
		#BanTH {width: 90%; margin-left: 5%; margin-right: 5%;}
		.TableTH {width:100%}
		.encart {width:100%}
		.TableTH td {display: inline-block;}
		.TableTH .List25 td {display: table-cell;}
		.ColG95, .ColG90, .ColG85, .ColG80, .ColG75, .ColG70, .ColG65, .ColG60, .ColG55, .ColG50, .ColG45, .ColG40, .ColG35, .ColG30, .ColG25, .ColG20, .ColG15, .ColG10, .ColG5 {padding-right: 0px; width: 100%;}
		.ColD95, .ColD90, .ColD85, .ColD80, .ColD75, .ColD70, .ColD65, .ColD60, .ColD55, .ColD50, .ColD45, .ColD40, .ColD35, .ColD30, .ColD25, .ColD20, .ColD15, .ColD10, .ColD5 {padding-left: 0px; width: 100%;}
		
		.ColC90, .ColC80, .ColC70, .ColC60, .ColC50, .ColC40, .ColC30, .ColC20, .ColC10, .ColC5 {padding-left: 0px; padding-right: 0px; width: 100%;}
		
		.Indice {font-size: 0.9rem;}
		
		#THVid {width: 100%;}
		.TableTH audio {width: 100%; height: 54px;}

		td:has(#SIG) {width: 100%; text-align: center!important; text-align-last: center!important;}

		#SIG div {display: block; width: 100%; text-align: center!important; text-align-last: center!important; }
		.TableTH .Sign {text-align: center; text-align-last: center; width: 100%; display: block; padding: 0; margin-bottom: 2rem;}
		.TableTH .SignT {margin-top: 0.5rem; text-align: center; text-align-last: center; width : 100%; display: block; padding: 0;}
		
		#trucsetastuces td {padding: 0 1rem 0.5rem; width: 100% !important; display: block !important;}
	}

/* =========================
   FIX DÉPASSEMENT MOBILE
   ========================= */

/* Empêche tout débordement horizontal sur la page entière */
html, body {
	overflow-x: hidden;
	max-width: 100%;
}

/* Contrainte stricte sur le contenu principal */
#P1 {
	max-width: 100% !important;
	overflow-x: hidden !important;
	box-sizing: border-box;
}

/* Le tableau principal doit rester dans son conteneur */
.TableTH {
	max-width: 100%;
	overflow-x: hidden;
	box-sizing: border-box;
}

/* Tableaux internes : scroll horizontal plutôt que débordement */
.TableTH,
.TableTH .dico {
	max-width: 100%;
	overflow-x: auto;
	display: block;   /* permet le scroll horizontal sur le tableau seul */
}

/* Cellules du dictionnaire : autoriser le retour à la ligne */
.TableTH .dico td,
.TableTH .dico th {
    word-break: normal;
    overflow-wrap: anywhere;
    hyphens: auto;
    white-space: normal;
}

/* Padding de la page : box-sizing pour éviter les dépassements */
.Page1, .Page2 {
	box-sizing: border-box;
	max-width: 100%;
}



	.TableTH .dico tbody tr td {
		color: #555;
		padding-top: 2px;
		border-bottom: 1px solid #e0e0e0;
		padding-bottom: 8px;
		margin-bottom: 4px;
		
	}

	.TableTH .dico tbody tr td:first-child {
		font-weight: bold;
		padding-right: 1rem;

	}



	.TableTH .dico tbody tr td:last-child {
		font-style: italic;
		color: #555;
	}







@media all and (max-width: 991px) {

	/* Forcer le tableau dico en scroll plutôt qu'en débordement */
	.TableTH .dico {
		display: block;
		overflow-x: auto;
		white-space: nowrap; /* garde les colonnes visibles, scroll horizontal */
	}

	/* Mais les cellules restent lisibles */
	.TableTH .dico td,
	.TableTH .dico th {
		white-space: normal;
		min-width: 120px;
		max-width: 50vw;
	}

	/* Hiérarchie : évite les débordements de texte long */
	.hierarchie li {
    overflow-wrap: anywhere;
    word-break: normal;
    max-width: 100%;
}

	/* Les éléments inline-block dans TableTH ne doivent pas dépasser */
	.TableTH td {
		max-width: 100%;
		box-sizing: border-box;
	}

	/* Padding Page1 réduit sur très petit écran */
	.Page1 {
		padding-left: 12px;
		padding-right: 12px;
	}
}

@media all and (max-width: 480px) {
	/* Sur très petits écrans : colonnes du dico empilées */
	.TableTH .dico,
	.TableTH .dico thead,
	.TableTH .dico tbody,
	.TableTH .dico tr {
		display: block;
		width: 100%;
		white-space: normal;
	}

	.TableTH .dico td,
	.TableTH .dico th[colspan] {
		display: block;
		width: 100% !important;
		max-width: 100%;
		box-sizing: border-box;
		border-bottom: none;
	}

	/* Label de catégorie (th[colspan=2]) : titre de section */
	.TableTH .dico th[colspan="2"] {
		display: block;
		text-align: center;
		border-top: 2px solid #c00000;
		padding-top: 0.75rem;
	}

	/* Première colonne : terme en gras */
	.TableTH .dico tbody tr td:first-child {
		font-weight: bold;
		padding-bottom: 2px;
		border-bottom: none;
	}

	/* Deuxième colonne : définition en italique discret */
	.TableTH .dico tbody tr td:last-child {
		font-style: italic;
		color: #555;
		padding-top: 2px;
		border-bottom: 1px solid #e0e0e0;
		padding-bottom: 8px;
		margin-bottom: 4px;
	}

	.Page1 {
		padding-left: 10px;
		padding-right: 10px;
	}
}
