What about the Civil Rights Act? It explicitly makes this type of discrimination illegal. Basically, if a company is selling products or services to the public, it's can't discriminate against its customers. There's a reason why putting up a "whites only" or "no jews" sign outside your business is illegal. This isn't a freedom of speech issue, but a civil rights issue.