:root{ --rouge:#e5173f; --texte:#3a3a3a; --bord:#d9d9d9; }
*{ box-sizing:border-box; }
html,body{ max-width:100%; overflow-x:hidden; }
body{ margin:0; font-family:-apple-system,Segoe UI,Roboto,Arial,sans-serif; color:var(--texte);
      background:var(--rouge); }
.wrap{ min-height:100vh; padding:40px 16px; }
.card{ width:100%; max-width:740px; margin:0 auto; background:#fff; border-radius:10px; padding:40px 50px; }
.logo{ text-align:center; margin-bottom:8px; }
.logo img{ max-width:280px; width:100%; height:auto; }
h1{ font-size:26px; margin:8px 0 28px; }
.field{ margin-bottom:22px; }
label{ display:block; color:#000; font-weight:700; font-size:16px; margin-bottom:8px; }
.req{ color:var(--rouge); }
input[type=text],input[type=email],input[type=number],input[type=tel],select,textarea{
  width:100%; padding:11px 12px; border:1px solid var(--bord); border-radius:4px; font-size:16px; }
textarea{ resize:vertical; }
.iti{ width:100%; }
.row2{ display:flex; gap:16px; } .row2>div{ flex:1; min-width:0; }
.opt{ display:flex; align-items:center; gap:8px; color:#000; font-weight:400; font-size:15px; margin:8px 0; }
.zones{ display:flex; flex-wrap:wrap; }
.zones .opt{ width:50%; }
.hint{ color:#8a8a8a; font-size:13px; margin:6px 0 0; }
.section-note{ color:#000; font-weight:700; font-size:16px; margin:22px 0 12px; }
hr{ border:none; border-top:1px solid #eee; margin:26px 0; }
.btn{ background:var(--rouge); color:#fff; border:none; padding:12px 20px; border-radius:3px;
      font-size:16px; cursor:pointer; }
.btn.ghost{ background:#eee; color:#333; margin-right:8px; }
.nav{ margin-top:20px; }
.hidden{ display:none !important; }
.hp{ position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }
.err{ color:var(--rouge); font-size:13px; margin:6px 0 0; display:none; }
.err.show{ display:block; }
input.invalid,textarea.invalid,select.invalid{ border-color:var(--rouge); }

/* Mobile — usage principal (inspecteurs sur cellulaire) */
@media(max-width:640px){
  .wrap{ padding:18px 10px; }
  .card{ padding:24px 18px; border-radius:8px; }
  h1{ font-size:22px; margin-bottom:22px; }
  .row2{ flex-direction:column; gap:0; }
  .zones{ flex-direction:column; }
  .zones .opt{ width:100%; }
  input[type=text],input[type=email],input[type=number],input[type=tel],select,textarea{ font-size:16px; }
}
