.conteneur {
  width: 100%;
  display: flex;
  justify-content: center;
}

.carte {
  width: 100%;
  max-width: 400px;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.titre {
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--gris-fonce);
}

.sousTitre {
  font-size: 14px;
  color: var(--gris-moyen);
  margin-top: -8px;
}

.erreur {
  font-size: 14px;
  color: var(--erreur);
  background: rgba(192, 57, 43, 0.08);
  border-radius: var(--radius-md);
  padding: 10px 12px;
}

.champ {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.label {
  font-size: 14px;
  font-weight: 500;
  color: var(--gris-fonce);
}

.input {
  border: 1px solid #dddddd;
  border-radius: var(--radius-md);
  padding: 12px 16px;
  font-size: 16px;
  font-family: inherit;
  color: var(--gris-fonce);
  transition: border-color 0.15s ease;
}

.input:focus {
  outline: none;
  border: 2px solid var(--vert-moyen);
  padding: 11px 15px;
}

.messageErreur {
  font-size: 13px;
  color: var(--erreur);
}

.oublie {
  align-self: flex-end;
  font-size: 13px;
  color: var(--vert-fonce);
}

.oublie:hover {
  text-decoration: underline;
}

.submit {
  width: 100%;
  margin-top: 8px;
}

.pied {
  text-align: center;
  font-size: 14px;
  color: var(--gris-moyen);
}

.pied a {
  color: var(--vert-fonce);
  font-weight: 500;
}

.pied a:hover {
  text-decoration: underline;
}
