As long as they're refusing to sell to everyone under 21, they should have no problem. What's problematic is the refusal of service to members of a protected class: the Federal Civil Rights Act of 1964 prohibits discrimination by privately owned places of public accommodation (which includes stores) on the basis of race, color, religion or national origin. In many states, these protections extend to gender and/or sexual orientation.
Dick's could, if they chose, refuse to sell to anyone wearing camo -- and that would be perfectly legal, as long as they apply it to
everyone.