.membership-form .field-invalid{border:2px solid var(--red, #e00613)!important;border-radius:8px;background:#fff2f3!important;box-shadow:0 0 0 2px rgba(224,6,19,.12)}
.membership-form label.field-invalid{padding:.45rem}.membership-form .document-upload.field-invalid{background:#fff2f3}
/* Même badge pour les champs, consentements, code e-mail et justificatifs. */
.membership-form .required-mark,
.membership-form .document-upload header .required-mark {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  align-self: start;
  justify-self: start;
  flex: 0 0 auto;
  width: max-content;
  max-width: 100%;
  margin: 0 0 0 .45rem;
  padding: .25rem .55rem;
  border: 0;
  border-radius: 999px;
  background: var(--red, #e00613);
  color: #fff;
  font: 700 .72rem/1.3 Inter, Arial, sans-serif;
  letter-spacing: .015em;
  text-transform: uppercase;
  vertical-align: middle;
  white-space: nowrap;
}
.membership-form .document-upload header .required-mark { margin-left: 0; }
.signature-email-check{border:1px solid #bbb;padding:1rem;margin-top:1rem}.signature-email-check p{margin:.55rem 0}.signature-email-check [data-signature-status]{min-height:1.4rem}.signature-email-check label{display:block;margin-top:.75rem}.signature-email-check input[name="signature_code"]{display:block;max-width:220px;letter-spacing:.15em;font-size:1.2rem}

/* Choix d’adhésion : deux groupes distincts, lisibles sur mobile. */
.membership-form .membership-choice-group { margin-top:1.4rem; min-width:0; }
.membership-form .membership-choice-group + .membership-choice-group { border-top:1px solid #d6d6da; padding-top:1.5rem; }
.membership-form .membership-choice-group h3 { margin:0 0 .4rem; font-size:1.15rem; line-height:1.4; color:#151518; }
.membership-form .membership-choice-group > p { margin:.4rem 0 1rem; line-height:1.5; }
.membership-form .membership-choice-group .choice-card { min-width:0; cursor:pointer; line-height:1.5; }
.membership-form .membership-choice-group .choice-card span { min-width:0; overflow-wrap:anywhere; }
.membership-form .membership-choice-group .choice-card input { flex:0 0 auto; accent-color:var(--red, #e30613); }
.membership-form .membership-choice-group .choice-card:has(input:checked) { border-color:var(--red, #e30613); background:#fff4f5; box-shadow:inset 0 0 0 1px var(--red, #e30613); }
.membership-form .membership-choice-group .choice-card:focus-within { outline:2px solid var(--red, #e30613); outline-offset:2px; }
@media (max-width:850px) { .membership-form .membership-choice-group .membership-fields { grid-template-columns:minmax(0,1fr); } }
