Barcelona bans smoking on beaches