/* ===== Reset utiles ===== */
*,
*::before,
*::after { box-sizing: border-box; }

img, svg { display:block; max-width:100%; height:auto; }

/* ===== Carte principale ===== */
.simu-card{
  background:#FFFFFF;
  border-radius:18px;
  box-shadow:0 12px 36px rgba(0,0,0,.08);
  padding:28px clamp(16px, 4vw, 32px);
  width:min(820px, 96%);
  margin:24px auto;
  display:flex;
  flex-direction:column;
  gap:8px;
}

/* Titre + sous-titre */
.simu-card h1{
  font-size:clamp(22px, 1.6rem, 28px);
  line-height:1.2;
  letter-spacing:-.02em;
  color:#10367A;
  text-align:center;       /* centré */
  margin:0 0 6px;
}
.simu-card .subtitle{
  color:#D3D3D3;
  text-align:center;       /* centré */
  margin:0 0 18px;
  font-size:.98rem;
}

/* ===== Grille 2 colonnes (espacement garanti) ===== */
.row-2{
  display:grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  column-gap: 18px !important;   /* espace horizontal */
  row-gap: 16px !important;      /* espace vertical */
  margin: 0 !important;
  padding: 0 !important;
}
.row-2 > .field{
  min-width: 0;
  margin: 0 !important;
}
@media (max-width: 768px){
  .row-2{
    grid-template-columns: 1fr !important;
    column-gap: 0 !important;
  }
}

/* ===== Champs ===== */
.field{ display:block; text-align:left; }   /* libellés alignés à gauche */

label{
  display:block;
  margin:.6rem 0 .4rem;
  color:#000000;
  font-weight:700;
  font-size:.95rem;
  text-align:left;                        /* sécurité : à gauche */
}

/* Inputs & selects : fond blanc, pas transparent */
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="mode"],
select{
  display:block;
  width:100%;
  padding:12px 12px;
  border:1.5px solid #D3D3D3;
  border-radius:10px;
  background:#FFFFFF;                     /* <= fond BLANC fixé */
  color:#000000;
  font-size:.95rem;
  transition:border-color .85s ease, box-shadow .15s ease, background .15s ease;
}

input:focus,
select:focus{
  outline:none;
  background : #D3D3D3;
  border-color:#10367A;
  box-shadow:0 0 0 3px rgba(16, 54, 122,.25);
}

/* ===== Radios “pill” ===== */
.radio-group{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
}
.radio-pill{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:10px 14px;
  border:1.5px solid #D3D3D3;
  border-radius:999px;
  background:#FFFFFF;
  cursor:pointer;
  transition:border-color .15s ease, box-shadow .15s ease, background .15s ease;
}
.radio-pill:hover{
  border-color:#10367A;
  box-shadow:0 0 0 3px rgba(16, 54, 122,.18);
}
.radio-pill input{
  appearance:none;
  width:14px; height:14px;
  border-radius:50%;
  border:2px solid #10367A;
  display:grid; place-items:center;
}
.radio-pill input::after{
  content:"";
  width:8px; height:8px;
  border-radius:50%;
  background:#FE5716;
  transform:scale(0);
  transition:transform .15s;
}
.radio-pill input:checked{ border-color:#FE5716; }
.radio-pill input:checked::after{ transform:scale(1); }
.radio-pill span{ font-weight:600; color:#000000; }

/* ===== Bouton ===== */
.action-btn{
  width:100%;
  background:linear-gradient(90deg, #10367A, #FE5716);
  color:#fff; border:none; padding:12px 0;
  font-size:1rem; border-radius:10px; margin-top:12px; cursor:pointer; font-weight:800;
  box-shadow:0 8px 24px rgba(16, 54, 122,.25);
  transition:transform .12s ease, filter .2s ease, box-shadow .2s ease;
}
.action-btn:hover{ transform:translateY(-1px); filter:saturate(1.06); box-shadow:0 12px 30px rgba(16, 54, 122,.28); }
.action-btn:active{ transform:translateY(0); }

/* ===== Aide ===== */
.hint{ margin:.6rem 0 0; font-size:.88rem; color:#64748b; text-align:center; }

/* ===== Accessibilité ===== */
:focus-visible{ outline:2px solid #FE5716; outline-offset:2px; border-radius:6px; }

/* ===== Fallback rare (si gap est cassé par un autre CSS) ===== */
@supports not (gap: 1rem){
  .row-2{ display:flex !important; flex-wrap:wrap; }
  .row-2 > .field{ flex: 1 1 50%; }
  .row-2 > .field + .field{ margin-left:18px !important; }
  @media (max-width:768px){
    .row-2{ flex-direction:column; }
    .row-2 > .field + .field{ margin-left:0 !important; }
  }
}