# Demo Restaurant - Estructura Completa

## Árbol de Archivos

```
cd-system/
├── config/
│   ├── cd-system.php          # theme.demo = 'demo-restaurant'
│   ├── page-headers.php       # demo-restaurant usa 'modern' (fallback)
│   └── site.php               # contact, social, footer, assets
│
├── public/template/
│   ├── css/
│   │   ├── demos/
│   │   │   └── demo-restaurant.css    # Reglas scoped html.demo-restaurant
│   │   └── skins/
│   │       └── skin-restaurant.css    # Colores/theme
│   └── img/
│       └── cd-project/img/demos/restaurant/
│           ├── backgrounds/           # Hero, section backgrounds
│           ├── generic/               # Galería, showcase
│           ├── icons/                 # TripAdvisor, phone, email, location
│           └── cheff.jpg
│
├── resources/views/
│   ├── layout/front/
│   │   ├── master.blade.php            # Añade clase demo-restaurant al <html>
│   │   ├── partials/
│   │   │   ├── _header.blade.php       # Incluye get_demo_layout('header')
│   │   │   ├── _footer.blade.php      # Incluye get_demo_layout('footer')
│   │   │   └── _styles.blade.php      # Carga demo-restaurant.css
│   │   ├── headers/
│   │   │   └── demo-restaurant.blade.php
│   │   └── footers/
│   │       └── demo-restaurant.blade.php
│   │
│   └── modules/
│       ├── cd-base/frontend/
│       │   ├── partials/
│       │   │   └── dynamic-header.blade.php   # Page header genérico (isRestaurant)
│       │   └── demos/demo-restaurant/
│       │       ├── welcome.blade.php          # Home
│       │       ├── about.blade.php             # Our Story
│       │       ├── contact.blade.php           # Contact
│       │       └── menu.blade.php              # Menú estático (si existe)
│       │
│       ├── blog/frontend/partials/
│       │   └── dynamic-header.blade.php       # Blog con estilo restaurant
│       ├── menu/frontend/partials/
│       │   └── dynamic-header.blade.php       # Menú módulo con estilo restaurant
│       ├── services/frontend/partials/
│       │   └── dynamic-header.blade.php
│       ├── projects/frontend/partials/
│       │   └── dynamic-header.blade.php
│       ├── gallery/frontend/partials/
│       │   └── dynamic-header.blade.php
│       ├── faqs/.../partials/dynamic-header.blade.php
│       ├── team-members/.../partials/dynamic-header.blade.php
│       ├── products/.../partials/dynamic-header.blade.php
│       └── references/.../partials/dynamic-header.blade.php
│
├── app/
│   └── helpers.php            # get_demo_layout_mapping(), get_theme_demo(), get_active_demo()
│
└── database/seeders/
    └── project-data/
        ├── cd-system.json     # demo: demo-restaurant, módulos activos
        ├── site-data.json     # contact, social, footer
        ├── assets.json
        └── analytics.json
```

## Rutas Frontend (demo-restaurant activo)

| Ruta | Vista | Módulo |
|------|-------|--------|
| / | welcome.blade.php (demo-restaurant) | cd-base |
| /about | about.blade.php (demo-restaurant) | cd-base |
| /contact | contact.blade.php (cd-base genérico o demo) | cd-base |
| /menu | modules/menu/frontend/index | menu |
| /blog | modules/blog/frontend/index | blog |
| /services | modules/services/frontend/services | services |
| /projects | modules/projects/frontend/index | projects |
| /gallery | modules/gallery/frontend/index | gallery |
| /faqs | modules/cd-base/faqs/frontend/index | faqs |
| /team | modules/team-members/frontend/team | team-members |
| /products | modules/products/frontend/index | products |
| /references | modules/references/frontend/index | references |

## Orden de Carga CSS

1. Vendor → Theme → CD-System → Modular CSS → Skin → Custom → **Demo CSS** → @yield('css')

El Demo CSS (`demo-restaurant.css`) se carga después de custom.css para que prevalezca.
