
 
*{box-sizing:border-box;margin:0;padding:0}
html,body{height:100%}
body{font-family:Arial,Helvetica,sans-serif;color:#fff;background:#000;line-height:1.6}
.navbar{position:fixed;top:0;left:0;right:0;height:64px;background:rgba(0,0,0,.98);z-index:1000;display:flex;justify-content:center;align-items:center}
.main-nav{display:grid;grid-auto-flow:column;align-items:center;height:64px;gap:22px}
.start{position: absolute;top: 0;left: 0;margin-top:10px;margin-left:10px}
.navitem{height:64px;display:flex;align-items:center;justify-content:center}
.navitem a{font-weight:700;font-size:0.95rem;text-transform:uppercase;color:#fff;text-decoration:none;padding:0 14px;height:64px;line-height:64px;display:flex;align-items:center;justify-content:center}
.navitem a:hover{color:#ddd}
/*
.dropdown{position:relative;height:64px;display:flex;align-items:center}
.dropdown-content{display:none;position:absolute;top:100%;left:0;background:rgba(0,0,0,.95);min-width:220px;border-radius:6px;flex-direction:column;box-shadow:0 8px 24px rgba(0,0,0,.6);overflow:hidden}
.dropdown-content a{display:block;padding:12px 16px;text-decoration:none;text-transform:uppercase;color:#fff;text-align:left;height:auto;line-height:1.4}
.dropdown:hover .dropdown-content{display:flex}
*/

/* supp body.section{min-height:88vh;display:flex;align-items:center;justify-content:center;background-size:cover;background-position:center;padding:110px 24px;margin-top:64px}*/
.section {
	width: 80%; /* Largeur du conteneur */
    height: 720px;
	max-width: 960px; /* Largeur maximale */
    margin: 0 auto; /* Centre le conteneur horizontalement */
    padding: 20px; /* Espace intérieur */
	margin-bottom: 50px;
}

/* supp body
.overlay{background:rgba(0,0,0,.62);padding:36px 32px;border-radius:14px;max-width:1100px;text-align:left}
h2{font-size:2rem;font-weight:800;text-transform:uppercase;margin-bottom:12px}
h3{font-size:1.15rem;font-weight:700;text-transform:uppercase;margin:12px 0}
p{color:#e8eef3;white-space:pre-line}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}
input,textarea,button{width:100%;padding:12px;margin-top:10px;border-radius:8px;border:1px solid rgba(255,255,255,.15);background:rgba(255,255,255,.04);color:#fff}
button{cursor:pointer;font-weight:700}
.hp{display:none}
@media(max-width:900px){.main-nav{gap:12px}.grid2{grid-template-columns:1fr}}
*/
.logo img{height:40px}
.navbar{display:flex;align-items:center;justify-content:space-between;padding:0 20px}
.main-nav{flex:1;display:flex;justify-content:center;gap:20px}

/*supp lang
.lang-switch{color:#fff;font-size:14px}
.lang-switch a{color:#fff;text-decoration:none;margin:0 5px}
.lang-switch a:hover{text-decoration:underline}
*/

.overlay{margin-top:70px;}

.contact-form-wrapper{margin-top:50px;padding:0px 0;display:flex;justify-content:center}
#contact{min-height:600px;display:flex;flex-direction:column;align-items:center;justify-content:center}

form input, form textarea, form button {
  width: 100%;
  box-sizing: border-box;
}

.form-row{display:flex;gap:20px;margin-bottom:15px}
.form-row.single{flex-direction:column}
.form-row div{flex:1;display:flex;flex-direction:column}
form input, form textarea, form button{width:100%;box-sizing:border-box}
textarea{min-height:120px}


/* Wider form container */
#contact form {max-width:900px;margin:0 auto;}

/* Inputs larger width inside their columns */
form input, form textarea, form button {
  width: 100%;
  box-sizing: border-box;
}

/* Highlight invalid fields */
form input:invalid, form textarea:invalid {
  border: 2px solid red;
}


/* --- Form sizing & validation visuals --- */

/* Make columns a bit wider and allow them to grow */
.form-row { display:flex; gap:24px; margin-bottom:18px; align-items:center; }
.form-row.single { flex-direction:column; }
.form-row div { flex: 1 1 50%; display:flex; flex-direction:column; gap:6px; }

/* Slightly larger text in inputs without increasing vertical padding too much */
form input, form textarea, form button {
  width: 100%;
  box-sizing: border-box;
  font-size: 16px; /* slightly larger text */
  padding: 10px 14px; /* keep reasonable height */
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.04);
  color: #fff;
  transition: border-color 160ms ease-in-out, box-shadow 160ms ease-in-out;
}

/* Increase available space for the form block if needed (keeps centered) */
#contact form { max-width: 900px; width: 100%; margin: 0 auto; padding: 18px; }

/* Validation visuals: only apply to required fields so optional fields don't show green when empty */
input:required:invalid, textarea:required:invalid {
  border: 2px solid #e74c3c; /* red */
  box-shadow: 0 0 0 3px rgba(231,76,60,0.06);
}

input:required:valid, textarea:required:valid {
  border: 2px solid #2ecc71; /* green */
  box-shadow: 0 0 0 3px rgba(46,204,113,0.06);
}

/* Captcha input visuals */
.captcha input { font-size:16px; padding:10px 14px; }

/* Ensure button is prominent */
form button {
  padding: 12px 16px;
  font-weight:700;
  cursor:pointer;
  background: #ffffff;
  color: #000;
  border: none;
  border-radius: 6px;
}

/* Responsive adjustments: stack columns on small screens */
@media (max-width: 900px) {
  .form-row { flex-direction: column; gap:12px; }
  .form-row div { width: 100%; }
  #contact form { padding: 12px; }
}


/* Force full-width for single-row blocks */
.form-row.single { flex-direction: column !important; }
.form-row.single > div { width: 100% !important; }
.form-row.single input, .form-row.single textarea { width: 100% !important; }

/* Ensure textarea request is comfortable */
form textarea { min-height: 160px; resize: vertical; }

/* Ensure captcha input full width */
.captcha input { width: 100% !important; box-sizing: border-box; }

/* keep form centered and wide */
#contact form { max-width: 900px; width: 100%; margin: 0 auto; }


/* Section images */
.section-img {
  max-width: 100%;
  height: auto;
  object-fit: cover;
  display: block;
  margin-bottom: 20px;
}
