Nesting should be as long as it needs to be provided the structure is semantic and not html tags.
https://developers.google.com/speed/docs/best-practices/rend...
See Github's slide deck on CSS performance, and what they gained by being smart about refactoring, and how they use selectors:
instead of the below which is just recreating the dom. This allows you to meaningfully target the elements you want instead of just blindly applying styles everywhere.
div { a {} div {} }