a:link 
{ 
 text-decoration:none; 
} 

/* ✅ FIX GLOBAL ANDROID (débordements) */
*, *::before, *::after{
  box-sizing: border-box;
}
html, body{
  margin: 0;
  padding: 0;
  width: 100%;
  overflow-x: hidden;
}
input, select, textarea{
  max-width: 100%;
}

/* radios */
input[type="radio"].demo5 {
  display: none;
}
input[type="radio"].demo5 + label {
  position: relative;
  padding-left: 1.3rem;
}
input[type="radio"].demo5 + label::before,
input[type="radio"].demo5 + label::after {
  display: block;
  position: absolute;
  box-sizing: border-box;
  bottom: 0;
  left: 0;
  content:'';
  width: 1rem;
  height: 1rem; 
  border-radius: 1rem;
}
input[type="radio"].demo5 + label::before {
  border: 1px solid #0CB652;
  background-color: #eee;
}
input[type="radio"].demo5:checked + label::after {
  background-color: #0CB652;
}
#radio {
 display:block;  
 width:auto;
 font-family: arial, tahoma;
 font-weight: bold;
 background-color:#0CB652;
 color:white;
 text-decoration:none;
 text-align:center;
 padding:20px;
 border:2px solid;
 border-color:#DCDCDC #696969 #696969 #DCDCDC;
 cursor:pointer;
}			  
	


/* écrans TELEPHONES largeur maxi 480 px ************************************************************************/
/*******************************************************************************************************************************************/
@media(max-width: 480px) {
	
label.label { text-align: left; font-weight: bold; font-size: 12px; color:#F76A0C; height: 12px;font-family: arial, trebuchet; }	

	ul {
  width: 100%;
  max-width: 50em;
  min-width: 10em;
  justify-content: center;
 padding:0;
 list-style-type:none;
 }
li {
 margin-left:2px;
 float:left;
 }
ul li a {
 display:block;
 float:left;   
 width:150px;
 background-color:#F76A0C;
 color:white;
 text-decoration:none;
 text-align:center;
 padding:20px;
 border:2px solid;
 border-color:#DCDCDC #696969 #696969 #DCDCDC;
 }
ul li a:hover {
 background-color:#D3D3D3;
 border-color:#696969 #DCDCDC #DCDCDC #696969;
 }

p.logo {
	color: #404040;
	padding-left: 5px;
	text-align: left;
	width: 100%;
}	
p.exp {
	padding: 5px;
	text-align: left;
	font-style: arial,tahoma;
	font-weight : normal;
	font-size: 14px;	
}
p.menu {
	color: #404040;
	text-align: left;
	font-size: 12px;
	font-weight: bold;
	font: Arial,Tahoma;
	margin-left: 12px;	
	width: 100%;
}

img.photo {
 width:300px;
}
div.tarif {
margin-bottom: 30%;
	margin-left: auto;
	margin-right: auto;
	width: 100%;		
}
table.tarif {
margin-bottom: 5%;
	margin-left: auto;
	margin-right: auto;
    height: auto;
	width: 100%;
	border: 1;
	border-color: white;
}
table.tarif2 {
margin-bottom: 5%;
	margin-left: auto;
	margin-right: auto;
    height: auto;
	width: 100%;
	border: 1;
	border-color: white;
}
table.debut {
	margin-top:5px;
	margin-left: auto;
	margin-right: auto;
    height: auto;
	width: 100%;
	border: 1;
	border-color: white;
}
table.photo {
	height: auto;
	margin-left: auto;
	margin-right: auto;
	width: 300px;	
	border: none;
	
}
th.photo {
	width: 100%;
	height: auto;
	margin-left: auto;
	margin-right: auto;
	border: none;	
	
}
th.prix {
	width: auto;
	height: auto;
	margin-left: auto;
	margin-right: auto;
	border: none;
	color: white;
	background-color: #F76A0C;	
	font-style: arial,tahoma;
	font-weight: bold;
	font-size: 12px;
	text-align: center;	
}
td.prix {
	width: auto;
	height: auto;
	margin-left: auto;
	margin-right: auto;
	border: none;
	color: #404040;
	font-style: arial,tahoma;
	font-weight: bold;
	font-size: 12px;
	text-align: right;
	background-color: #F1B652;	
}
td.prixC {
	width: auto;
	height: auto;
	margin-left: auto;
	margin-right: auto;
	border: none;
	color: #404040;
	font-style: arial,tahoma;
	font-weight: bold;
	font-size: 12px;
	text-align: center;
	background-color: #F1B652;		
}
td.prixL {
	width: auto;
	height: auto;
	margin-left: auto;
	margin-right: auto;
	border: none;
	color: #404040;
	font-style: arial,tahoma;
	font-weight: bold;
	font-size: 12px;
	text-align: left;
	background-color: #F1B652;		
}
th.titre {

font-family: arial;
font-size: 24px;
color: #F56001;
border: 0;
font-style: bold;
text-align: center;
width: auto;
padding: 0px;
background-color: white;
}
th.normalL {

font-family: arial;
font-size: 14px;
	color: #404040;
 border-width:2px;
 border-style:solid;
 border-color:white;
font-style: bold;
text-align: left;
width: auto;
padding: 0px;
background-color: white;
text-indent: 5em each-line;
}
th.normalLCouleur {

font-family: arial;
font-size: 14px;
	color: #F56001;
 border-width:2px;
 border-style:solid;
 border-color:white;
font-style: bold;
text-align: left;
width: auto;
padding: 0px;
background-color: white;
text-indent: 5em each-line;
}
th.normalLCouleurR {

font-family: arial;
font-size: 14px;
	color: #F56001;
 border-width:2px;
 border-style:solid;
 border-color:white;
font-style: bold;
text-align: right;
width: auto;
padding: 0px;
background-color: white;
text-indent: 5em each-line;
}
th.normalC {

font-family: arial;
font-size: 20px;
	color: #404040;
 border-width:2px;
 border-style:solid;
 border-color:white;
font-style: bold;
text-align: center;
width: auto;
padding: 0px;
background-color: white;
text-indent: 5em each-line;
}
th.normalD {

font-family: arial;
font-size: 20px;
	color: #404040;
 border-width:2px;
 border-style:solid;
 border-color:white;
font-style: bold;
text-align: right;
width: auto;
padding: 0px;
background-color: white;
text-indent: 5em each-line;
}

/* ✅ CHAMPS MOBILE : 100% + border-box => plus de dépassement */
input.nom, input[type=text], input[type=password] {
      width: 100%;
      height: auto;
	  margin: 0;
      margin-left: 0;
	  border:solid 5px #ccc;
      background-color: white;
      padding:10px;
	  color: grey;
	  font-weight: bold;
	  font-size:20px;
      border-radius: 10px;
      display:block;
}

input.nomPM {
      width: 100%;
      height: auto;
	  margin: 0;
      margin-left: 0;
	  border:solid 5px #ccc;
      background-color: white;
      padding:10px;
	  color: grey;
	  font-weight: bold;
	  font-size:20px;
      border-radius: 10px;
      display:block;
}
input.age {
      width: 100%;
      height: auto;
	  margin: 0;
      margin-left: 0;
	  border:solid 5px #ccc;
      background-color: white;
      padding:10px;
	  color: grey;
	  font-weight: bold;
	  font-size:20px;
      border-radius: 10px;
      display:block;
}

select.nom {
      width: 100%;
      height: 44px;
	  margin:10px 0;
	  border:solid 5px #ccc;
      color:#213D64;
      background-color: white;
      padding:5px 42px 5px 10px; /* flèche */
	  font-weight: bold;
	  font-size: 14px;
      border-radius: 10px;
      font-family: arial, trebuchet;
      display:block;
 }

textarea.nom {
	  width: 100%;
      min-width: 0;
      max-width: 100%;
      min-height: 80px;
      height: auto;
      margin:10px 0;
	  border:solid 5px #ccc;
      color:#213D64;
      background-color: white;
      padding:10px;
	  font-weight: bold;
	  font-size: 14px;
      border-radius: 10px;	
	  resize: vertical; /* ✅ pas "both" */
      display:block;
}  
	

div.photo {
position:relative;	
margin-left: auto;
margin-right: auto;	
width: 100%
	
}
nav.menu {
	margin-left: 5px;
	padding-left: 10px;
	padding-right: 10px;
	font: arial,tahoma;
	font-size: 12px;
	font-weight: bold;
	color: #404040;
	width: 60px;	
}

span.menu {
	margin-left: auto;
	margin-right: auto;
	vertical-align: middle;	
	background-color: #EFEFEF;	
	width: 100%;
	
}


#bouton {
 display:block;  
 width:150px;
 font-family: arial, tahoma;
 font-weight: bold;
 background-color:#0CB652;
 color:white;
 text-decoration:none;
 text-align:center;
 padding:20px;
 border:2px solid;
 border-color:#DCDCDC #696969 #696969 #DCDCDC;
 cursor:pointer;
}

}



/* écrans TABLETTES largeur MINI 481 px et MAXI 780 px ************************************************************************/
/*******************************************************************************************************************************************/
@media(min-width: 481px) AND (max-width: 780px) {
	
label.label { text-align: left; font-weight: bold; font-size: 16px; color:#F76A0C; height: 12px;font-family: arial, trebuchet; }	


	ul {
  width: 80%;
  max-width: 50em;
  min-width: 10em;
  justify-content: center;
 padding:0;
 list-style-type:none;
 }
li {
 margin-left:2px;
 float:left;
 }
ul li a {
 display:block;
 float:left;   
 width:200px;
 background-color:#F76A0C;
 color:white;
 text-decoration:none;
 text-align:center;
 padding:20px;
 border:2px solid;
 border-color:#DCDCDC #696969 #696969 #DCDCDC;
 }
ul li a:hover {
 background-color:#D3D3D3;
 border-color:#696969 #DCDCDC #DCDCDC #696969;
 }


table.menu { }
	
p.logo {
	color: #404040;
	padding-left: 5px;
	text-align: left;
	width: 100%;
}
p.exp {
	padding: 5px;
	text-align: left;
	font-style: arial,tahoma;
	font-weight : normal;
	font-size: 18px;	
}
	
p.menu {
	color: #404040;
	text-align: left;
	font-size: 12px;
	font-weight: bold;
	font: Arial,Tahoma;
	margin-left: 12px;	
	width: 100%;
}

img.photo {
 width:600px;
}
div.tarif {
	margin-left: auto;
	margin-right: auto;
	width: 50%;		
}
table.tarif {
	margin-top:5px;
	margin-left: auto;
	margin-right: auto;
    height: auto;
	width: 60%;
	border: 1;
	border-color: white;
}
table.tarif2 {
	margin-top:5px;
	margin-left: auto;
	margin-right: auto;
    height: auto;
	width: 40%;
	border: 1;
	border-color: white;
}
table.debut {
	margin-top:100px;
	margin-left: auto;
	margin-right: auto;
    height: auto;
	width: 80%;
	border: 1;
	border-color: white;
}

table.photo {
	width: 600px;
	height: auto;
	margin-left: auto;
	margin-right: auto;
	border: none;
	
}
th.photo {
	width: 100%;
	height: auto;
	margin-left: auto;
	margin-right: auto;
	border: none;	
	
}

th.prix {
	width: auto;
	height: auto;
	margin-left: auto;
	margin-right: auto;
	border: none;
	color: white;
	background-color: #F76A0C;	
	font-style: arial,tahoma;
	font-weight: bold;
	font-size: 16px;
	text-align: center;
}
td.prix {
	width: auto;
	height: auto;
	margin-left: auto;
	margin-right: auto;
	border: none;
	color: #404040;	
	font-style: arial,tahoma;
	font-weight: bold;
	font-size: 16px;
	text-align: right;
	background-color: #F1B652;		
}
td.prixC {
	width: auto;
	height: auto;
	margin-left: auto;
	margin-right: auto;
	border: none;
	color: #404040;
	font-style: arial,tahoma;
	font-weight: bold;
	font-size: 16px;
	text-align: center;
	background-color: #F1B652;		
}
td.prixL {
	width: auto;
	height: auto;
	margin-left: auto;
	margin-right: auto;
	border: none;
	color: #404040;
	font-style: arial,tahoma;
	font-weight: bold;
	font-size: 16px;
	text-align: left;
	background-color: #F1B652;		
}
th.titre {
font-family: arial;
font-size: 26px;
color: #F56001;
border: 0;
font-style: bold;
text-align: center;
width: auto;
padding: 0px;
background-color: white;
}
th.normalL {
font-family: arial;
font-size: 20px;
	color: #404040;
 border-width:2px;
 border-style:solid;
 border-color:white;
font-style: bold;
text-align: left;
width: auto;
padding: 0px;
background-color: white;
text-indent: 5em each-line;
}
th.normalLCouleur {

font-family: arial;
font-size: 20px;
	color: #F56001;
 border-width:2px;
 border-style:solid;
 border-color:white;
font-style: bold;
text-align: left;
width: auto;
padding: 0px;
background-color: white;
text-indent: 5em each-line;
}
th.normalLCouleurR {

font-family: arial;
font-size: 20px;
	color: #F56001;
 border-width:2px;
 border-style:solid;
 border-color:white;
font-style: bold;
text-align: right;
width: auto;
padding: 0px;
background-color: white;
text-indent: 5em each-line;
}

th.normalC {

font-family: arial;
font-size: 20px;
	color: #404040;
 border-width:2px;
 border-style:solid;
 border-color:white;
font-style: bold;
text-align: center;
width: auto;
padding: 0px;
background-color: white;
text-indent: 5em each-line;
}
th.normalD {

font-family: arial;
font-size: 20px;
	color: #404040;
 border-width:2px;
 border-style:solid;
 border-color:white;
font-style: bold;
text-align: right;
width: auto;
padding: 0px;
background-color: white;
text-indent: 5em each-line;
}

input.nom, input[type=text], input[type=password] {
      width: 70%;
      height: 5px;
	  margin-top: 0px;
      margin-left: auto;
	  border:solid 5px #ccc;
      background-color: white;
      padding:10px;
	  color: grey;
	  font-weight: bold;
	  font-size:20px;
      border-radius: 10px;
}

input.nomPM {
      width: 70%;
      height: 5px;
	  margin-top: 0px;
      margin-left: auto;
	  border:solid 5px #ccc;
      background-color: white;
      padding:10px;
	  color: grey;
	  font-weight: bold;
	  font-size:20px;
      border-radius: 10px;
}
input.age {
      width: 45%;
      height: 5px;
	  margin-top: 0px;
      margin-left: auto;
	  border:solid 5px #ccc;
      background-color: white;
      padding:10px;
	  color: grey;
	  font-weight: bold;
	  font-size:20px;
      border-radius: 10px;
}
select.nom {
      width: 90%;
      height: 40px;
	  margin-top: 2px;
      margin: 0 auto;
	  border:solid 5px #ccc;
      color:#213D64;
      background-color: white;
      padding:5px;
	  font-weight: bold;
	  font-size: 14px;
      border-radius: 10px;
margin:10px 0;font-family: arial, trebuchet;
 }
 textarea.nom {
	  margin-top: 2px;
      margin: 0 auto;
	  border:solid 5px #ccc;
      color:#213D64;
      background-color: white;
      padding:5px;
	  font-weight: bold;
	  font-size: 14px;
      border-radius: 10px;	
	  color:#213D64;
	  resize: vertical; /* ✅ */
	  min-width : 90%;
	  min-height : 40px;
	  max-width : 90%;
	  max-height : auto;

}
	

div.photo {
position: relative;
margin-left: auto;
margin-right: auto;
width: 60%;
}

span.menu {
	margin-left: auto;
	margin-right: auto;
	vertical-align: middle;	
	background-color: #EFEFEF;	
	width: 100%;
	
}

nav.menu {
	margin-left: 200px;
	padding-left: 20px;
	padding-right: 20px;
	font: arial,tahoma;
	font-size: 12px;
	font-weight: bold;
	color: #404040;
	width: 200px;	
}
	
.box {
margin-bottom: 0%;
position: relative;
width: 100%;
margin-left: 0px;
height: auto;

}

.box2 {
float: left;
width: 100%;
margin-top: 10px;
margin-left: 0px;

}

.box3 {
float: left;
width: 100%;
margin-left: 0px;
}
#bouton {
 display:block;  
 width:200px;
 font-family: arial, tahoma;
 font-weight: bold;
 background-color:#0CB652;
 color:white;
 text-decoration:none;
 text-align:center;
 padding:20px;
 border:2px solid;
 border-color:#DCDCDC #696969 #696969 #DCDCDC;
 cursor:pointer;

}



}	
	

/* écrans ORDIS largeur MINI 781 px ************************************************************************/
/*******************************************************************************************************************************************/
@media(min-width: 781px) {
	
label.label { text-align: left; font-weight: bold; font-size: 18px; color:#F76A0C; height: 12px;font-family: arial, trebuchet; }	


	ul {
  display: flex;
  justify-content: center;
 padding:0;
 list-style-type:none;
 }
li {
 margin-left:2px;
 float:left;
 }
ul li a {
 display:block;
 float:left;   
 width:200px;
 background-color:#F76A0C;
 color:white;
 text-decoration:none;
 text-align:center;
 padding:20px;
 border:2px solid;
 border-color:#DCDCDC #696969 #696969 #DCDCDC;
 }
ul li a:hover {
 background-color:#D3D3D3;
 border-color:#696969 #DCDCDC #DCDCDC #696969;
 }
	
p.logo {
	color: #404040;
	margin-left: 5px;
	text-align: left;
	width: 100%;
}

p.exp {
	padding: 5px;
	text-align: left;
	font-style: arial,tahoma;
	font-weight : normal;
	font-size: 22px;	
}
	
p.menu {
	color: #404040;
	text-align: left;
	font-size: 12px;
	font-weight: bold;
	font: Arial,Tahoma;
	margin-left: 12px;	
	width: 100%;
}

img.photo {
 width:600px;
}
div.tarif {
	margin-bottom: 0%;
	margin-left: auto;
	margin-right: auto;
	width: 70%;		
}
table.tarif {
	margin-top:5px;
	margin-left: auto;
	margin-right: auto;
    height: auto;
	width: 60%;
	border: 1;
	border-color: white;
}
table.tarif2 {
	margin-top:5px;
	margin-left: auto;
	margin-right: auto;
    height: auto;
	width: 25%;
	border: 1;
	border-color: white;
}
table.debut {
	margin-top:5px;
	margin-left: auto;
	margin-right: auto;
    height: auto;
	width: 60%;
	border: 1;
	border-color: white;
}

table.photo {
	width: 600px;
	height: auto;
	margin-left: auto;
	margin-right: auto;
	border: none;	
}
table.prix {
	width: auto;
	height: auto;
	margin-left: auto;
	margin-right: auto;
	border: none;	
}

th.photo {
	width: 100%;
	height: auto;
	margin-left: auto;
	margin-right: auto;
	border: none;	
	
}
th.prix {
	width: auto;
	height: auto;
	margin-left: auto;
	margin-right: auto;
	border: none;
	color: white;
	background-color: #F76A0C;	
	font-style: arial,tahoma;
	font-weight: bold;
	font-size: 18px;
	text-align: center;
}

td.prix {
	width: auto;
	height: auto;
	margin-left: auto;
	margin-right: auto;
	border: none;
	color: #404040;
	font-style: arial,tahoma;
	font-weight: bold;
	font-size: 18px;
	text-align: right;
	background-color: #F1B652;		
}	
td.prixC {
	width: auto;
	height: auto;
	margin-left: auto;
	margin-right: auto;
	border: none;
	color: #404040;
	font-style: arial,tahoma;
	font-weight: bold;
	font-size: 18px;
	text-align: center;
	background-color: #F1B652;		
}
td.prixL {
	width: auto;
	height: auto;
	margin-left: auto;
	margin-right: auto;
	border: none;
	color: #404040;
	font-style: arial,tahoma;
	font-weight: bold;
	font-size: 18px;
	text-align: left;
	background-color: #F1B652;		
}


th.titre {

font-family: arial;
font-size: 28px;
color: #F56001;
border: 0;
font-style: bold;
text-align: center;
width: auto;
padding: 0px;
background-color: white;
}


th.normalL {

font-family: arial;
font-size: 20px;
	color: #404040;
 border-width:2px;
 border-style:solid;
 border-color:white;
font-style: bold;
text-align: left;
width: auto;
padding: 0px;
background-color: white;
text-indent: 5em each-line;
}
th.normalLCouleur {

font-family: arial;
font-size: 20px;
	color: #F56001;
 border-width:2px;
 border-style:solid;
 border-color:white;
font-style: bold;
text-align: left;
width: auto;
padding: 0px;
background-color: white;
text-indent: 5em each-line;
}
th.normalLCouleurR {

font-family: arial;
font-size: 20px;
	color: #F56001;
 border-width:2px;
 border-style:solid;
 border-color:white;
font-style: bold;
text-align: right;
width: auto;
padding: 0px;
background-color: white;
text-indent: 5em each-line;
}
th.normalC {

font-family: arial;
font-size: 20px;
	color: #404040;
 border-width:2px;
 border-style:solid;
 border-color:white;
font-style: bold;
text-align: center;
width: auto;
padding: 0px;
background-color: white;
text-indent: 5em each-line;
}
th.normalD {

font-family: arial;
font-size: 20px;
	color: #404040;
 border-width:2px;
 border-style:solid;
 border-color:white;
font-style: bold;
text-align: right;
width: auto;
padding: 0px;
background-color: white;
text-indent: 5em each-line;
}

input.nom, input[type=text], input[type=password] {
      width: 60%;
      height: 5px;
	  margin-top: 0px;
      margin-left: auto;
	  border:solid 5px #ccc;
      background-color: white;
      padding:10px;
	  color: grey;
	  font-weight: bold;
	  font-size:20px;
      border-radius: 10px;
}

input.nomPM {
      width: 40%;
      height: 5px;
	  margin-top: 0px;
      margin-left: auto;
	  border:solid 5px #ccc;
      background-color: white;
      padding:10px;
	  color: grey;
	  font-weight: bold;
	  font-size:20px;
      border-radius: 10px;
}
input.age {
      width: 45%;
      height: 5px;
	  margin-top: 0px;
      margin-left: auto;
	  border:solid 5px #ccc;
      background-color: white;
      padding:10px;
	  color: grey;
	  font-weight: bold;
	  font-size:20px;
      border-radius: 10px;
}
select.nom {
      width: 90%;
      height: 40px;
	  margin-top: 2px;
      margin: 0 auto;
	  border:solid 5px #ccc;
      color:#213D64;
      background-color: white;
      padding:5px;
	  font-weight: bold;
	  font-size: 14px;
      border-radius: 10px;
margin:10px 0;font-family: arial, trebuchet;
 }
 
 textarea.nom {
	  margin-top: 2px;
      margin: 0 auto;
	  border:solid 5px #ccc;
      color:#213D64;
      background-color: white;
      padding:5px;
	  font-weight: bold;
	  font-size: 14px;
      border-radius: 10px;	
	  color:#213D64;
	  resize: vertical; /* ✅ */
	  min-width : 90%;
	  min-height : 40px;
	  max-width : 90%;
	  max-height : auto;

}


div.photo {
position: relative;
  margin-left:auto;
  margin-right: auto;
width: 40%;

}

span.menu {
	margin-left: auto;
	margin-right: auto;
	vertical-align: middle;	
	background-color: #EFEFEF;	
	width: 100%;
	
}

nav.menu {
	margin-left: 200px;
	padding-left: 20px;
	padding-right: 20px;
	font: arial,tahoma;
	font-size: 12px;
	font-weight: bold;
	color: #404040;
	width: 200px;	
}	

.box {
	margin-left:20%;
	margin-right: 20%;
	width: auto;
  display: flex;
  align-items: stretch;
}

.box2 {
margin-left: 0px;
width: 100%;
background-color: white;
color: #404040;		
}

.box3 {
margin-left: 0px;
width: 100%;	
background-color: white;
}

#bouton {
 display:block;  
 width:200px;
 font-family: arial, tahoma;
 font-weight: bold;
 background-color:#0CB652;
 color:white;
 text-decoration:none;
 text-align:center;
 padding: 20px;
 border:2px solid;
 border-color:#DCDCDC #696969 #696969 #DCDCDC;
 cursor:pointer;

}	
	
	
	
	
	
}	
/* ✅ FIX ANDROID/SAMSUNG : table + indent qui élargit la page */
@media (max-width: 480px){

  /* 1) on annule le text-indent qui fait dériver la largeur */
  th.normalL,
  th.normalLCouleur,
  th.normalLCouleurR,
  th.normalC,
  th.normalD{
    text-indent: 0 !important;
    padding-left: 8px !important;
    padding-right: 8px !important;
  }

  /* 2) la table ne doit jamais s’élargir (intrinsic width) */
  table.tarif2, table.tarif{
    width: 100% !important;
    table-layout: fixed !important;
  }

  /* 3) champs toujours contenus */
  input.nom, input[type=text], input[type=password],
  select.nom, textarea.nom,
  input, select, textarea{
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  /* 4) textarea : évite qu’elle “pousse” horizontalement */
  textarea.nom{
    resize: vertical !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }
}
