I have a website built with Drupal 7. Each page on the site can have an infinite number of child pages. Each page has "areas"; an area can be a thing such as left or right side bars that contain blocks, views or attributes/fields of the page content type (e.g., page.sponsor_ad_1, page.sponsor_ad_2).
I want the child pages inherit the areas of its closest ancestor page by default. A content editor can override it afterwards.
What's the best way to achieve this? What module does, completely or partially, what I need?