I am absolutely certain that it is not! She was not fired for being pregnant. She was fired for violating the terms of her contract. No different than if she had too many unexcused absences or was grossly insubordinate to her supervisor.
She is an at will employee under an employment contract. The contract contains a nonnegotiable morals clause requiring adherence to the rules of the Roman Catholic Church. She violated those rules by engaging in premarital sexual intercourse with a man. The byproduct of that immorality is a pregnancy.
The pregnancy makes the immoral behavior public knowledge. The public knowledge of her immoral behavior REQUIRES her to be released from employment. If she had been convicted of a crime like theft she would also have been released under the terms of her contract. Theft is an immoral act as well. So is public defiance of Church teachings. She willfully engaged in premarital sexual intercourse. She made that decision with all the knowledge that it was moral wrong, was against the teachings of the Church and violated the terms of her employment contract.
I certainly hope that the lawyer didn't take the case on retainer, he will never see a dime of a settlement. She will lose. The case should be dismissed with prejudice at the first hearing.
Your assertion is that she can be fired for the circumstances of her pregnancy. I don’t think that is legally true.