I would like to point your code is fine, and what is below may not apply to your case, see more like guide line for long run rather than a code review.
Simplify css selectors
Avoid use of tags names, make classes your default and use ids when it makes sense. This will make your css less dependent on html structure, and more reusable.
Don't use selector combinators. They can be confusing and may not be efficent.
Make hierarchy of classes, it helps to organize your css file and show dependcies between classes. Example .parent parent-child .parent-child-superchild. Don't abuse this, three levels may be enough.
Down side of this is more classes on your html, it may not be very pretty.