* {
margin : 0;
padding : 0;
}
body {
padding-top : 0;
font : 73% "Trebuchet MS", verdana, arial, sans-serif;
background : #333;
color : #000;
}
			/*WRAP*/
#wrapper {
  width: 100%;
  max-width: 1100px;      /* largeur max conseillée */
  margin: 0 auto;
  padding: 0 12px;        /* petites gouttières internes */
  border: 5px solid #fff; /* tu gardes tes styles existants */
  background: #eee;
  color: #666;
}
			/*HEADER*/
#header {
  float: none;
  width: 100%;
  height: auto;         /* laisse sa hauteur s’adapter */
  color : #666;
}

/* ====== Barre langues ====== */
#banner-language {
  grid-area: lang;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 12px;
  padding: 5px;
  margin: 0px 20px;
  border-bottom : 1px solid #fff;
  color: #555;
  text-align : right;
}
#banner-language-current {
  color : #000;
  background : #aaa;
  border : 1;
}
#banner-language a {
  margin : 5px;
  color : #555;
  background : inherit;
}
#banner-language a:hover {
  color : #aaa;
  background : inherit;
  opacity: .8;
}
#banner {
  border-bottom : 1px solid #fff;
  color : #000000;
  background : #ffffff;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 8px 12px;
  height: auto !important;   /* écrase l'ancien height:110px; */
  min-height: 0;
}
#banner img {
  vertical-align: middle;
  max-width: 100%;
  height: auto;
}
#banner a {
margin : 5px;
color : #000;
background : inherit;
}
#banner a:hover {
color : #333;
background : inherit;
}
#banner-medal {
  float: none !important;
  max-height: 64px; 
  height: auto; 
  width: auto;
  margin: 5px 0px; 
} 
#banner-cmb-text {
  float: none !important;
  margin: 15px 0px;
  max-height: 52px; 
  height: auto; 
  width: auto; 
}
 
			/*NAVIGATION*/
#navcontainer {
  width: auto; 
margin : 0 0 20px 0;
}
#navcontainer ul {
margin-left : 0;
padding-left : 0;
list-style-type : none;
}
#navcontainer a {
display : block;
padding : 3px;
  width: auto; 
border-bottom : 1px solid #eee;
background : #369;
color : #eee;
}
#navcontainer a:link, #navlist a:visited {
color : #eee;
text-decoration : none;
}
#navcontainer a:hover {
color : #ffffff;
}
			/*SIDEBAR*/
#sidebar {
padding : 0;
margin : 0;
border-top : 1px solid #ffffff;
font-size : 100%;
line-height : 1.8em;
background : #d1d4d7;
color : #333;
}
			/*CONTENT*/
#content {
line-height : 1.8em;
}
			/*FOOTER*/
#footer {
clear : both;
padding-left : 5px;
text-align : left;
/* border-top : 5px solid #336699; */
}
			/*TYPOGRAPHY*/
p {
margin : 10px 20px 10px 15px;
color : #666;
background-color : inherit;
}
h1 {
padding : 10px 0px;
font-size : 150%;
letter-spacing : 5px;
color : #000;
background : inherit;
}
h2 {
margin : 0 0 0 15px;
padding : 0;
font-size : 120%;
letter-spacing : 5px;
text-transform : uppercase;
color : #333;
background : inherit;
}
h3 {
margin : 10px 0 10px 15px;
padding : 0 0 3px 3px;
text-transform : uppercase;
font-size : 120%;
letter-spacing : 5px;
color : #036;
background : inherit;
}
blockquote {
margin : 10px 20px 10px 15px;
font-weight : bold;
font-style : italic;
color : #b29b35;
}
			/*CLASS*/
.img {
margin : 0 0 10px 0;
}
.myborder {
border : 1px solid #fff;
padding : 5px;
margin : 0 0 0 4px;
}
.myimg {
float : left;
border : 1px solid #eee;
padding : 5px;
margin : 5px 10px 10px 4px;
}
.mylogo {
margin-right : auto;
}
			/*LINKS*/
a, a:visited {
text-decoration : none;
color : #369;
background : inherit;
}
a:hover {
color : #333;
background : inherit;
}
a img {
border : none;
}

/** FORMS **/
.reg_form{
	background: #cccccc;
	border: 1px solid #cab598;	
	margin: 10px 0;	
	padding: 10px;
}
.reg_form h3{
	margin: 0 0 10px 0;	
	padding: 5px 5px;
}
.reg_bloc{
	background: #eeeeee;
	border: 1px solid #cab598;	
	margin: 10px 0;	
	padding: 10px;
	top: -48px;
}
.reg_regfile
{
	background: #eeeeee;
	border: 1px solid #cab598;	
	margin: 10px;	
	padding: 10px;
	overflow: hidden;
	}

div.reg_bloc > div.notitle { top: -36px; }

/* Specifique site d'inscriptions */
div.buttons .a_button,
div.buttons button { font-weight: bold; }

div.buttons { overflow: hidden; }

/*** Modification du style des headers H1 et images liées ***/
.info-block h1, h1 {
	margin:0 0 10px 0;
	font: normal 24px/20px Georgia, "Times New Roman", Times, serif;
	color: #b40e1c;
	letter-spacing: -0.5pt;
	}
.info-block p {
  font: 13px/18px "Lucida Grande", "Lucida Sans Unicode", Arial, Verdana, sans-serif;
}

h1 img {
	position: relative;
	top: 7px;
	width: 32px;
	height: 32px;
	}

/*** Modification du style de la classe "button" en hyperlien ***/
.a_buttonbloc,
.a_buttonbloc:active,
.a_buttonbloc:hover,
.a_buttonbloc:visited {
	display: flex;
	align-items: center;
    width: 200px;
    height: 40px;
	vertical-align: middle;
    margin: 10px 0px 10px 0;
    color: #f6e0bb;
	border: 1px solid #7c050e;
	font: bold 100%/130% "Lucida Grande", Tahoma, Arial, Verdana, sans-serif;
    text-decoration: none;
	text-align: center;
    cursor: pointer;
    padding: 20px 20px 20px 20px;
	}

.a_button,
.a_button:active,
.a_button:hover,
.a_button:visited {
    display:block;
    float: left;
    margin: 10px 7px 10px 0;
    color: #f6e0bb;
	border: 1px solid #7c050e;
	font: bold 100%/130% "Lucida Grande", Tahoma, Arial, Verdana, sans-serif;
    text-decoration: none;
    cursor: pointer;
    padding: 5px 10px 6px 7px;
	}

.a_button:hover {
	text-decoration: none;
	background: #DDC291;
	}

.buttons button img, 
.a_button img {
	position: relative;
	top: 2px;
	width: 16px;
	height: 16px;
	padding: 0px 8px 0px 3px;
}

.buttons button { 
	float: left; 
    width:auto;
    overflow:visible;
}
.buttons button[type]{
    display:block;
    float: left;
    margin: 10px 7px 10px 0;
    color: #f6e0bb;
	border: 1px solid #7c050e;
	font: bold 100%/130% "Lucida Grande", Tahoma, Arial, Verdana, sans-serif;
    text-decoration: none;
    cursor: pointer;
    padding: 5px 10px 6px 7px;
}
.buttons button:hover {
	text-decoration: none;
	background: #DDC291;
	}
	
/*** Utilisation d'une largeur minimale pour la colonne des labels dans les formulaires ***/

													 
.XFormularTable  tr{
  height:15px;
																			
							
}
.XFormularTable  th, td{
	font-family: Verdana,Arial,Helvetica,sans-serif;
	font-size: 12px;
	text-align: left;
	vertical-align:top;
				   
																	 
}
.XFormularTable  th{
	font-weight:bold;
}

table.XFormularTable th label {
	display: block;
	min-width: 120px;
					   
	text-align: left;
	padding: 3px;
				
	}

table.displayonly th label {
	position: relative;
	top: 2px;
	}

	span.required img {
		width: 16px;
		height: 16px;
		position: relative;
		top: 3px;
					 
		}

/*** Stylage des champs de formulaire ***/

table.XFormularTable input,
table.XFormularTable textarea,
table.XFormularTable select {
	padding: 3px;
	margin: 1px;
	background: #ffffff;
	border: 1px solid #aaaaaa;
	}
table.XFormularTable input[type="radio"] {
	margin: 3px;  
}

table.XFormularTable td { vertical-align: bottom; }
table.XFormularTable td.form_msg { vertical-align: top; }

table.XFormularTable input:focus,
table.XFormularTable textarea:focus,
table.XFormularTable select:focus { background: #fff; }

table.XFormularTable .inputreadonly {
   background: #f3ecdb;
}


/* Formulaires */
.label{
	font-family: Verdana,Arial,Helvetica,sans-serif;
	font-size: 12px;
	text-align: left;
}
.field{
}
.form_info{
	z-index: 999;
	position: absolute;
	width: 20em;
	font-size: 11px;
	font-weight: normal;
	text-align: left;
	padding-left: 18px;
	vertical-align: bottom;
	background-image: url(https://img.concoursmondial.com/registration/form_msg.png);
	background-repeat: no-repeat;
	background-position: 0px 5px;
	background-color : #aaaaaa;
	border-style : none;
	border-width : 1px;
	visibility : hidden;
}
select
{
  border: 1px solid #ddc897;
}
input, select, textarea
{
  font-family: "Trebuchet MS", Arial, sans-serif;
  font-size: 12px;
  border: 1px solid #ddc897;
}
input[type=submit], input[type=reset], input[type=button] {
  background: #f2ebd8;
}
input[readOnly=true] {
  background: #f3ecdb;
}
.inputreadonly {
  background: #f3ecdb;
}

/*= Dossiers d'inscription =*/
.reg_file_id{
	font-weight:bold;
														
			   
}
.reg_file_id a{
	font-weight:bold;
					 
}
.reg_regfile_product {
	border: 1px solid #cab598;
}
.reg_regfile_product_name{
  display:block;
	font-weight:bold;
}
.reg_regfile_product_contact {
  display:block;
}
.reg_regfile_product_buttons {
	position: relative;
	float: right;
}

/* Buttons */
a.btn_icon {
	background-color:transparent;
	height:30px;
	line-height:29px;
	text-decoration:none;
}
a:hover.btn_icon{
	opacity: 0.3;
}
.btn_img {
	background-color: transparent;
	background-attachment: scroll;
	display: inline;
}

/* Buttons */
a.btn {
	color:#555;
	font-weight:bold;
	height:30px;
	line-height:29px;
	text-decoration:none;
}
a:hover.btn{
	color:#999;
}

/* footer */
#reg_footer {
	margin:-34px auto 0;
	padding:12px 16px;
	width:890px;
	height:10px;
	position:relative;
	background:#b00b19;
	overflow:hidden;
}

/* Messages */
.message_error,
.message_warning, 
.message_confirm,
.message_info,
.error_message
.message_normal {
	padding: 20px 10px 20px 50px;
	background-color: #eeeeee;
	font-size: 13px;
	border: 2px solid #cab598;	
	margin: 10px 0px;	
	background-position : 10px 10px;
	background-repeat: no-repeat;
	vertical-align:middle;
	/* padding: 15px 15px 15px 70px; */
	padding: 20px 20px 20px 70px; 
}
.message_error {
  color : red;
  font-weight: bold;
  text-align: center;
  background-image: url(https://img.concoursmondial.com/registration/error.png);
}
.message_error a{
  color: #866b2c;
}
.message_warning {
  font-weight: bold;
  background-image: url(https://img.concoursmondial.com/registration/warning.png);
}
.message_confirm {
  background-image: url(https://img.concoursmondial.com/registration/correct.png);
}
.message_info{
	background-image: url(https://img.concoursmondial.com/registration/info_48.png);
}
.message_macarons {
  background-image: url(https://img.concoursmondial.com/registration/infor_128.png);
}
/* Account */
.account_company_name {
	margin-left: 0px;
	font-family: Verdana,Arial,Helvetica,sans-serif;
	font-size: 14px;
	font-weight: bold;
	color: #ae0917;
}
.account_company_adrsbloc {
	width:80%;
	display:block;
	margin: 0px;
}
.account_company_adrs {
	border: 1px solid #cab598;
	margin: 0px;
}

/******************************* Tableau **********************************/
.tblComparatif {
	border-collapse: collapse;
	border: none;
	width: 100%;
}
.tblComparatif tbody * {
	border: none;
}
.tblComparatif tbody a {
	padding: 0;
	border: none;
}
.tblComparatif img {
  border: medium none;
  padding: 7px 0 0;
}
.tblComparatif td + td {
	border: none;
}
.tblComparatif th {
	background-color: #ede4d9;
}
.tblComparatif tr:nth-child(even) {
	background-color: #ffffff;
}
.tblComparatif tr:nth-child(odd) {
	background-color: #fff5e9;
}

table.PaimentTable {
	padding-left: 20px; 
	border-collapse: collapse; 
	border: 1px solid black; 
	empty-cells: hide; 
	} 

.PaimentTable td { 
	/* border: 1px solid black; */
	/* text-align: left; */
	/* padding: 3px; */
	/* margin: 0px; */
	min-width: 80px;
	} 
	
table.PaimentTable tr { 
	/* text-align: left; */
	border: 1px solid black; 
	} 

table.PaimentTable.th, table.PaimentTable.td {
  padding: 15px;
  border: 1px solid black; 
}

/*** Classe custom pour fonction de mise en évidence jQuery ***/

.highlight { background: #fff; }

/*** Présentation des inscriptions ***/

.reg_regfile img.regbox_img {
	position: relative;
	float: left;
	padding: 10px 10px 0 0;
	}

.reg_regfile_id {
	overflow: hidden;
	padding-top: 10px;
	}

.reg_regfile_id a { font: bold 15px "Lucida-Grande", arial, helvetica, sans-serif; color: #000; }
.reg_regfile_title { font: bold 15px "Lucida-Grande", arial, helvetica, sans-serif; color: #000; }

.reg_regfile_product {
	padding: 5px 5px 5px 5px;
	margin: 5px 0 10px 0px;
	border: none;
	background: #fff;
	border-radius: 5px;
	}

.reg_regfile_details {
	position: relative;
	float: left;
	width: 100%;
	padding: 0;
	}

/*** Zones flottantes pour les boutons d'action ***/

.actionbutton {
	position: relative;
	float: right;
	}
	
.reg_bloc .actionbutton { top: -48px; }
div.reg_bloc > div.notitle { top: -36px; }
 

/*** En-têtes de section pour SOCIETE, COMPTE et ADRESSE ***/

.account_message { margin: 10px 0px 10px 0; }

.account_message img {
	position: relative;
	float: left;
	padding: 0 10px 0;
	//width: 32px;
	//height: 32px;
	}

.account_company_name { margin: 0 0 20px 0; }

.account_company_name img {
	position: relative;
	top: 4px;
				
				 
	}

.account_company_adrs {
	border: none;
	background: #dddddd;
	padding: 8px;
	-moz-border-radius: 5px;
	border-radius: 5px;
	margin: 10px 0 0 40px;
	}

.account_company_adrs img {
	position: relative;
	float: left;
	margin: 0 0 0 -44px;
	width: 24px;
	height: 24px;
	border: none;
	}
		
.account_company_adrs span {
	display: block;
	margin: 0 0 7px 0;
	font: bold italic 14px arial, helvetica, sans-serif;
	letter-spacing: -0.2pt;
	color: #000;
	}
	
/*** Titre de bloc ***/

.reg_bloc h2 {
	display: block;
	position: relative;
	margin: 0;
	top: -10px;
	left: -10px;
	padding: 10px;
	background: #aaaaaa;
	font: italic 18px georgia, "times new roman", times, serif;
	color: #804040;
	letter-spacing: -0.3pt;
	}

.reg_bloc h2 img {
	position: relative;
	float: left;
	top: -6px;
	padding-right: 8px;
					  
			  
				
				 
	}

/*** Sous-titre de bloc ***/

.reg_bloc h3 {
	display: block;
	position: relative;
	margin: 0;
	top: -10px;
	left: -10px;
	padding: 5px;
	width: 656px;
	background: #aaaaaa;
	font: bold 14px "Lucida grande", arial, helvetica, sans-serif;
	color: #b40e1c;
							 
			   
				
	}

.reg_bloc h3 img {
	position: relative;
	float: left;
	top: -2px;
	padding-right: 8px;
	}

/* === 2025 === */
/* ====== Variables & base ====== */
:root {
  --page-max: 1200px;
  --sidebar-w: 200px;
  --gutter: 16px;
  --brand-red: #b00b19;
}

#wrapper {
  max-width: var(--page-max);
  margin: 0 auto;
  padding: 0 var(--gutter);
  background: #eee;
  border: 5px solid #fff;

  /* GRID LAYOUT */
  display: grid;
  grid-template-columns: var(--sidebar-w) 1fr;         /* menu + contenu */
  grid-template-rows: auto auto 1fr auto;              /* banner, langues, main, footer */
  grid-template-areas:
    "banner banner"
    "lang   lang"
    "sidebar content"
    "footer  footer";
  gap: var(--gutter);
}

/* Annule les anciens floats/width hérités */
#sidebar, #content, #footer, #banner { float: none !important; width: auto !important; margin: 0 !important; }

/* ====== Banner (logos) ====== */
#banner { 
  grid-area: banner;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 8px 0;
  background: #fff;
  border-bottom: 1px solid #fff;
}
#banner img { height: auto; max-width: 100%; }
#banner-medal   { order: 0; margin-right: auto; height: clamp(40px, 7vw, 64px); }
#banner-cmb-text{ order: 1; margin-left:  auto; height: clamp(28px, 5.5vw, 48px); }

/* ====== Sidebar ====== */
#sidebar {
  grid-area: sidebar;
  background: #d1d4d7;
  border-right: 1px solid #fff;
  position: sticky;
  align-self: start;
}
#navcontainer { margin: 0; }
#navcontainer ul { list-style: none; margin: 0; padding: 0; }
#navcontainer a {
  display: block;
  padding: 8px 10px;
  border-bottom: 1px solid #eee;
  background: #369;
  color: #eee;
  text-decoration: none;
}
#navcontainer a:hover { color: #fff; }

/* ====== Content ====== */
#content {
  grid-area: content;
  min-width: 0;              /* évite les débordements */
  line-height: 1.6;
}

/* ====== Footer ====== */
#footer {
  grid-area: footer;
  padding: 10px 0 20px;
}

/* ====== Responsive ====== */
@media (max-width: 1024px) {
  :root { --sidebar-w: 180px; }
  #wrapper { gap: 12px; padding: 0 12px; }
}

@media (max-width: 860px) {
  #wrapper {
    grid-template-columns: 1fr;
    grid-template-areas:
      "banner"
      "lang"
      "sidebar"  /* le menu passe sous le bandeau */
      "content"
      "footer";
  }
  #sidebar { border-right: none; }
  #navcontainer a { width: 100%; }
}

/* ====== Petites retouches utiles héritées ====== */
#banner a, #banner a:hover { color: #000; }

  /* tous les selects améliorés */
  select.enhanced { width: 100%; }

  /* conteneur Select2 juste après le select */
  select.enhanced + .select2 { 
    width: 100% !important;
    display: block !important;
  }

  /* dans tes tableaux */
  .XFormularTable td > .select2 { width: 100% !important; display: block !important; }

  /* dropdown au moins aussi large */
  .select2-container .select2-dropdown { min-width: 100% !important; }
