I think the first step is to design the website structure, if I had to do this, I would go with a Custom Post Type for each section. It's really simple as that...
If you create a post type named Football, WordPress outputs an additional body class like this:
single single-football postid-357
This will allow you to override styles of each post type simply via CSS, I suggest when you do that, try adding your sections styles to the main child theme styles.css file, so your page will still load fast!
WooCommerce and BuddyPress are based on custom post types, for example: you will find a body class called single-product that you can use to style single product pages.
In addition, and since you are using Genesis Framework (Which is great!), you can even create custom templates for each post type and archives. Another advantage is the ability to add a custom body class -within the Layout Settings post meta- to any individual page and give it its own unique style.
I am not sure about styling WooCommerce and BuddyPress depending on which section this user is coming from (if I get this right), if you must do that, you may want to consider URL parameters.
Probably you can append the post type "name" or "slug" (or whatever custom class name) to the check out page URL as a parameter, then check with $_GET whenever this parameter exists, add it via Genesis' body class filter, and take it from there.
I hope this helps.