Read the code loosely
Wedding dress codes are permission, not precision. Cocktail attire means the good dress or the sharp suit. Semi-formal means the same with permission to relax. Black tie still expects the full register.
Most guests over-buy because the invitation reads like an obligation to be new. It is an obligation to be considered.