I think I got the origin of the bug.
It came from CSS and the best way I found to solve is:
.hidden-by-conditional-logic + .acf-field {
clear: both;
}
It happens when a conditional logic hide/show 2 fields + 1 field.
Example:
CONDITION 1 shows FIELD A and FIELD B
CONDITION 2 shows FIELD C
Since the original CSS says:
.acf-field[data-width] + .acf-field[data-width] {
clear: none;
}
and
.acf-field[data-width] + .acf-field {
clear: both;
}
in the case FIELD C is hidden, there’s no field telling to the next one to clear:both.
I sign this topic as Solved and I’ll open a ticket.
At the moment I solved it with CSS:
.acf-field-message{
clear: both;
}
but it’s not a clean way, since Message fields support field width.