* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html,body
{
	display:flex;
	width: 100%;
	/* Assurer que l'ensemble du contenu prend toute la largeur */
	height: 100%;
	/* Assurer que l'ensemble du contenu prend toute la hauteur */
	overflow:hidden;
	flex-direction:row;
	margin: 0;
	padding:0;
	justify-content: center;
	align-items: center;
	overflow: hidden;
	/* Prevent scrolling */
}

.main-container
{
	display: flex;
	flex-direction: column;
	width: 100%;
	height:100%;
	justify-content: center;
	align-items: center;
	background-color: rgb(255, 255, 255);
	overflow: hidden;
	/* Prevent scrolling */
}



.center-container
{
	display: flex;
	flex-direction: row;
	width: 100%;
	height:78%;
	min-height:76%;
	justify-content: center;
	align-items: center;
	background-color: rgb(255, 255, 255);
	background-image: url("../photos/arriere_plan_authentification.jpg");
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center;
	overflow: hidden;
	/* Prevent scrolling */
	box-sizing: border-box;
	/* Inclut le padding et la bordure dans la largeur totale */
}


.center-container-set-up-account
{
	display: flex;
	flex-direction: row;
	width: 100%;
	height:78%;
	min-height:76%;
	justify-content: center;
	align-items: center;
	background-color: rgb(255, 255, 255);
	background-image: url("../photos/arriere_plan_inscription.jpg");
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center;
	background-repeat: no-repeat;
	overflow: hidden;
	/* Prevent scrolling */
	box-sizing: border-box;
	/* Inclut le padding et la bordure dans la largeur totale */
}

.container {
    background: rgb(206, 218, 232);
    padding: 20px;
    display: flex;
    flex-direction: column;
    border-radius: 8px;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
    font-family: Arial, sans-serif;
    width: 30%;
    min-width: 400px;
    height: 95%;
    justify-content: flex-start;
    align-items: center;
    box-sizing: border-box;

    overflow-y: auto;

    /* Cacher la scrollbar pour Chrome, Edge, Safari */
    scrollbar-width: none; /* Firefox */
    -ms-overflow-style: none; /* IE 10+ */
}

.container::-webkit-scrollbar {
    display: none; /* Chrome, Safari, Edge */
}


.form-group
{
	margin-bottom: 15px;
}

.register_1
{
	display: flex;               /* active flexbox */
	width: 95%;
	justify-content: center;
	align-items: center;
	/* Au lieu de center */
	flex-direction:column;
}

.register_2
{
	display: flex;               /* active flexbox */
	width: 100%;
	justify-content: center;
	/* Au lieu de center */
	flex-direction:column;
	gap:10px;
	background-color: #007bff;
}

label
{
	display: block;
	margin-bottom: 5px;
}

input
{
	width: 95%;
	min-width:90%;
	padding: 8px;
	border: 1px solid #ddd;
	border-radius: 4px;
}

button
{
	width: 100%;
	padding: 10px;
	border: none;
	background-color: rgb(16, 72, 98);
	color: white;
	border-radius: 4px;
	cursor: pointer;
}

button:hover
{
	background-color: #007bff;
}

.message
{
	margin-top: 10px;
	color: green;
	font-size: 0.9em;
}

.error
{
	color: red;
}

#form-error-message {
    color: #ff0000; /* ou noir : #000 */
    margin-bottom: 20px;
    text-align: center; /* si tu veux le centrer */
	font-size: 12px;
}

.bande1 {
	position:relative;
    width: 100%;
    height: 10%;
    display: flex;
    align-items: center; /* Centre verticalement */
    justify-content: space-between; /* Espace entre le texte et les logos */
    padding: 0 20px;
    background-color: rgb(16, 72, 98);
    box-shadow: 0px 4px 15px rgba(92, 92, 92, 0.5);
    box-sizing: border-box;
}

.bande2
{
	display:flex;
	width: 100%;
	height: 12%;
	padding: 0;
	background-color: rgb(16, 72, 98);
	bottom: 0px;
	box-shadow: 0px 4px 15px rgba(92, 92, 92, 0.5);
	/* Ombre */
	box-sizing: border-box;
	/* Inclut le padding et la bordure dans la largeur totale */
	overflow: hidden;
	justify-content:space-between;
}

.support-info
{
	/*position: absolute;
	Position relative à la fenêtre du navigateur */
	bottom: 0px;
	/* Place le bloc à 10px du bas de la page */
	left: 5px;
	/* Place le bloc à 10px du côté gauche */
	background-color: rgb(16, 72, 98);
	color: rgb(255, 255, 255);
	/* Couleur du texte */
	padding: 10px;
	/* Espacement interne */
	border-radius: 5px;
	/* Coins arrondis */
	font-size: 16px;
	/* Taille du texte */
	font-family: Arial, sans-serif;
	/* Police d'écriture */
	max-width: 300px;
	/* Largeur maximale pour limiter la taille */
	line-height: 1;
	/* Espacement entre les lignes */
}

.titre-logiciel
{
	/* position: absolute;
	Position relative à la fenêtre du navigateur */
	bottom: 10px;
	/* Place le bloc à 10px du bas de la page */
	right: 10px;
	/* Place le bloc à 10px du côté gauche */
	background-color: rgb(16, 72, 98);
	color: rgb(255, 255, 255);
	/* Couleur du texte */
	padding: 5px;
	/* Espacement interne */
	border-radius: 5px;
	/* Coins arrondis */
	font-size: 20px;
	font-family: Arial, sans-serif;
	/* Police d'écriture */
	max-width: 600px;
	/* Largeur maximale pour limiter la taille */
	line-height: 0.8;
	/* Espacement entre les lignes */
}
titre-logiciel p {
    font-family: "Comic Sans MS";
    font-weight: bold;

}

.colored-logi {
    color: #ff0066ef;
    font-family: "Comic Sans MS";
    font-weight: bold;
}

.titre-licence {
    display: flex;
    flex-direction: column;
    justify-content: center;
    color: white;
    font-family: 'Agency FB', sans-serif;
    font-size: 20px;

}

.logo-elp
{
	position: absolute;
	/* Position absolue pour placer précisément l'image */
	top: 0.1em;
	/* Distance du haut */
	right: 10px;
	/* Distance de la droite */
	max-width: 200px;

	
	/* Taille ajustée (modifiable selon vos besoins) */
	height: auto;

	max-height:100%;
	/* Conserve les proportions de l'image */
	z-index: 1;
	/* Placer en arrière-plan */
	top: 50%;              /* place le haut de l'image au milieu du parent */
  	transform: translateY(-50%); /* décale de moitié la hauteur pour un vrai centrage */



	
}

.logo-titre-logiciel
{
	position: absolute;
	/* Position absolue pour placer précisément l'image */
	bottom: 25px;
	/* Distance du haut */
	right: 400px;
	/* Distance de la droite */
	width: 100px;
	/* Taille ajustée (modifiable selon vos besoins) */
	height: auto;
	/* Conserve les proportions de l'image */
	z-index: 1;
	/* Placer en arrière-plan */
		/* Placer en arrière-plan */
	top: 50%;              /* place le haut de l'image au milieu du parent */
  	transform: translateY(-50%); /* décale de moitié la hauteur pour un vrai centrage */

}
.titre-licence p {
    margin: 0px 0;
  }
  
.logo-version-logiciel
{
	position: absolute;
	/* Distance du haut */
	left: 170px;
	/* Distance de la droite */
	width: 70px;
	/* Taille ajustée (modifiable selon vos besoins) */
	height: auto;
	/* Conserve les proportions de l'image */
	z-index: 1;
	/* Placer en arrière-plan */
	top: 50%;              /* place le haut de l'image au milieu du parent */
  	transform: translateY(-50%); /* décale de moitié la hauteur pour un vrai centrage */
}

.logo-support-technique
{
	position: absolute;
	/* Position absolue pour placer précisément l'image */
	bottom: 20px;
	/* Distance du haut */
	left: 300px;
	/* Distance de la droite */
	width: 60px;
	/* Taille ajustée (modifiable selon vos besoins) */
	height: auto;
	/* Conserve les proportions de l'image */
	top: 50%;              /* place le haut de l'image au milieu du parent */
  	transform: translateY(-50%); /* décale de moitié la hauteur pour un vrai centrage */
}

.icone_utilisateur
{
	padding:5px;
	width: auto;
	/* Taille ajustée (modifiable selon vos besoins) */
	height: 30px;
	/* Conserve les proportions de l'image */
}

.container_bottom_right
{
	position: relative;
	/* Position absolue pour placer précisément l'image */
	display: flex;
	/* Aligne les enfants horizontalement */
	justify-content: flex-end;
	/* Espacement entre les éléments */
	align-items: center;
	/* Aligne les éléments verticalement au centre */
	background-color: rgb(16, 72, 98);
	width:60%;
	padding:0px;
	height: 100%;
	box-sizing: border-box;
	overflow: hidden;
	/* Prevent scrolling */
}

.container_bottom_middle
{
	position: relative;
	/* Position absolue pour placer précisément l'image */
	display: flex;
	/* Aligne les enfants horizontalement */
	justify-content: center;
	/* Espacement entre les éléments */
	align-items: center;
	/* Aligne les éléments verticalement au centre */
	background-color: rgb(16, 72, 98);
	width:auto;
	box-sizing: border-box;
	height: 100%;
	overflow: hidden;
	/* Prevent scrolling */
}

.container_bottom_left
{
	position: relative;
	/* Position absolue pour placer précisément l'image */
	display: flex;
	/* Aligne les enfants horizontalement */
	justify-content: flex-start;
	/* Espacement entre les éléments */
	align-items: center;
	/* Aligne les éléments verticalement au centre */
	background-color: rgb(16, 72, 98);
	width:33%;
	padding:0px;
	height: 100%;
	overflow: hidden;
	/* Prevent scrolling */
}

.form-row {
    display: flex;
    justify-content: center; /* espace entre les colonnes */
    gap: 10px;
    width: 100%;                     /* prend toute la largeur du formulaire */
    max-width: 500px;                /* limite la largeur si tu veux le centrer visuellement */
    margin-bottom: 15px;
	 margin: 0 auto 15px;      /* centre le bloc lui-même dans son parent */
    box-sizing: border-box;


}

.form-row1 {
    display: flex;
	flex-direction:row;
    justify-content: center; /* espace entre les colonnes */
	align-items: center;
    width: 100%;                     /* prend toute la largeur du formulaire */
    max-width: 500px;                /* limite la largeur si tu veux le centrer visuellement */
    margin-bottom: 15px;
	max-width: 100%;
	margin: 0 auto 15px;      /* centre le bloc lui-même dans son parent */
   	box-sizing: border-box;

}

.form-col
{
	flex: 1;
	display: flex;
    flex-direction: column;
	width:100%;
	box-sizing: border-box;

	
}

.form-col label
{
	display: block;
	margin-bottom: 5px;
	font-size:14px;
	
}

.form-col input
{
	width:100%;
	max-width: 100%;
	padding: 5px;
	border: 1px solid #ddd;
	border-radius: 4px;
	box-sizing: border-box;
}

.form-col1 {
  flex: 1;
  display: flex;
  flex-direction: column;
  width:100%;
  box-sizing: border-box;

}

.form-col1 label
{
	display: block;
	margin-bottom: 5px;
	font-size:14px;


}

.form-col1 input
{
	
	display: block;
	padding: 5px;
	border: 1px solid #ddd;
	width:100%;
	max-width: 100%;
  	min-width: 0; /* très important pour éviter que le contenu force le débordement */
	border-radius: 4px;
	box-sizing: border-box;

}


.form-col2 {
 
  display: flex;
  flex-direction: column;
  align-items: space-evenly;

justify-content: center; /* espace entre les colonnes */

  width:100%;
  gap:10px;
  margin-top:10px;
  box-sizing: border-box;

}

.form-col2 label
{
	display: block;
	margin-bottom: 5px;
	font-size:14px;


}

.form-col2 input
{
	
	display: block;
	padding: 5px;
	border: 1px solid #ddd;
	width:100%;
	max-width: 100%;
  	min-width: 0; /* très important pour éviter que le contenu force le débordement */
	border-radius: 4px;
	box-sizing: border-box;

}


.support-info p
{
	margin: 6px 0px 0px 0px;
}

.titre-logiciel p
{
	margin: 4px 0px 0px 0px;
}
.agency-font {
    font-family: 'Agency FB', sans-serif;
  }


 /* Liste des critères de mot de passe */
#passwordCriteria {
    list-style: none;
    padding-left: 0;
    margin-top: 5px;
}

#passwordCriteria li {
    color: #e19595; /* rouge par défaut */
    font-size: 13px;
    transition: color 0.3s ease;
}

#passwordCriteria li.valid {
    color: #28a745; /* vert quand valide */
}

/* Conteneur de l'input + bouton */
.password-wrapper {
    position: relative;
}



/* Bouton œil */
.password-wrapper button#togglePassword {
    position: absolute;
    right: 5px;
    top: 50%;
    transform: translateY(-50%);
    border: none;
    background: none;
    cursor: pointer;
    padding: 0;
	width:auto;
    color: #969696; /* couleur visible */
    font-size: 16px;
}

/* Cible la grille entière */
#passwordCriteria {
    display: grid;
    grid-template-columns: repeat(2, max-content); /* 2 colonnes */
    justify-content: center;                       /* centre les colonnes horizontalement */
    row-gap: 0;                                    /* pas d’espace vertical entre les items */
    column-gap: 15px;                              /* espace horizontal entre colonnes */
    list-style: none;                              /* supprime les puces */
    padding: 0;
    margin: 0 0 10px 0;                            /* espace en bas */
    font-size: 13px;                               /* taille globale du texte */
}

/* Exception : l’élément “special” prend toute la largeur de la grille */
#passwordCriteria #special {
    grid-column: 1 / -1;    /* occupe les deux colonnes */
    margin-top: 3px;        /* petit espace au-dessus (optionnel) */
}

/* Cible chaque critère individuel */
#passwordCriteria li {
    padding: 0;
    text-align: left;
    font-size: 13px;      /* taille personnalisée pour chaque item */
}


#submit-button {
    display: flex;                 /* active flex pour centrer le contenu */
    justify-content: center;       /* centre le texte horizontalement */
    align-items: center;           /* centre le texte verticalement */
    margin: 10px auto 15px;           /* centre le bouton dans le container */
    padding: 10px 20px;            /* taille du bouton */
    font-size: 14px; 
	width:100%;              /* taille du texte */
    cursor: pointer;               /* optionnel : style curseur */
}

#submit-button-set-up-account {
    display: flex;                 /* active flex pour centrer le contenu */
    justify-content: center;       /* centre le texte horizontalement */
    align-items: center;           /* centre le texte verticalement */
    margin: 10px auto 15px;           /* centre le bouton dans le container */
    padding: 10px 20px;            /* taille du bouton */
    font-size: 14px; 
	width:100%;              /* taille du texte */
    cursor: pointer;               /* optionnel : style curseur */
}

#submit-button:hover {
    background-color: #0056b3; /* couleur plus foncée au survol */
	
   
}

#submit-button-set-up-account:hover {
    background-color: #0056b3; /* couleur plus foncée au survol */
   
}

#submit-button:disabled {
    background-color: #878686;
    cursor: not-allowed;
    opacity: 0.6;
}

#submit-button-set-up-account:disabled {
    background-color: #878686;
    cursor: not-allowed;
    opacity: 0.6;
}


#submit-button-reset-passwprd {
    display: flex;                 /* active flex pour centrer le contenu */
    justify-content: center;       /* centre le texte horizontalement */
    align-items: center;           /* centre le texte verticalement */
    margin: 10px auto 15px;           /* centre le bouton dans le container */
    padding: 10px 20px;            /* taille du bouton */
    font-size: 14px; 
	width:100%;              /* taille du texte */
    cursor: pointer;               /* optionnel : style curseur */
}

#submit-button-reset-passwprd:hover {
    background-color: #0056b3; /* couleur plus foncée au survol */
   
}

/* Désactiver l'œil du navigateur (Edge, Chrome, etc.) */
input[type="password"]::-ms-reveal,
input[type="password"]::-ms-clear,
input[type="password"]::-webkit-credentials-auto-fill-button,
input[type="password"]::-webkit-textfield-decoration-container,
input[type="password"]::-webkit-clear-button,
input[type="password"]::-webkit-inner-spin-button {
    display: none !important;
}

/* Empêcher l’affichage du bouton par défaut */
input[type="password"]::-webkit-textfield-decoration {
    display: none !important;
}

  