A student asked me over lunch: Some stores have announced that they won't sell rifles and shotguns to under-21-year-olds. Is that legal, given that federal law only limits sales of handguns to under-21-year-olds, and doesn't ban sales of long guns to 18-to-20-year-olds?
[1.] Stores' own age limits don't violate the Second Amendment, because the Second Amendment limits only the government, not private companies. Likewise for the Equal Protection Clause (plus the Equal Protection Clause generally doesn't forbid even governmental age classifications).
[2.] The federal Civil Rights Act doesn't cover retail stores, and doesn't cover age, so it doesn't bar such policies, either.
[3.] But about a third of all states ban discrimination based on age in places of public accommodation, and some of those statutes may well ban refusal to sell guns to 18-to-20-year-olds. These laws vary from state to state, so I can't speak to all of them; but the one I checked -- Connecticut (the alphabetically first on the list) -- does indeed seem to ban discrimination against 18-to-20-year-olds in retail sales, with no exception for guns.
[4.] Likewise, some cities and counties have similar ordinances (even if their states don't); two I found, for instance, are Madison, Wisconsin and Broward County, Florida. (I looked them up just because I remembered from other research that they have broad antidiscrimination ordinances.) Seattle, on the other hand, bans age discrimination, but apparently only against people 21 and above, again without regard to whether the store sells guns or anything else.
[5.] Of course, the state and local laws will only affect the stores' policies in those jurisdictions; a store could have a general nationwide policy of not selling some products to under-21-year-olds, but a different policy in those states that require equal treatment of 18-to-20-year-olds.