Antigravity AI commited on
Commit
5fd5c53
·
1 Parent(s): 9a80bc9

Update menu to white background, add history section and 13 example products

Browse files
public/images/burger.png CHANGED

Git LFS Details

  • SHA256: 0f54199e9195030b98912c63abd18c2ccc9d95c131554c6da9253ec4b1a911b8
  • Pointer size: 130 Bytes
  • Size of remote file: 52.9 kB

Git LFS Details

  • SHA256: 96a6b678444d5f85a72527d20aac44efee7f8ceb1ef81c9e9865c4c600d682d6
  • Pointer size: 131 Bytes
  • Size of remote file: 704 kB
public/images/pasta.png CHANGED

Git LFS Details

  • SHA256: afcca52ef1b75592e07606080b4365c720b4c2714e8151bfd5a8566217c8bf0c
  • Pointer size: 130 Bytes
  • Size of remote file: 42.9 kB

Git LFS Details

  • SHA256: bbfee5fabb0c46c8acb84eea5e484137ccbb5388a3842837391a6e9214d5aa81
  • Pointer size: 131 Bytes
  • Size of remote file: 722 kB
public/images/pizza.png CHANGED

Git LFS Details

  • SHA256: bb4c7151ce441d72a2fb70ad328ee07b80f83d5d100d6343b62b5da0c92cc2fa
  • Pointer size: 130 Bytes
  • Size of remote file: 76.7 kB

Git LFS Details

  • SHA256: 475ec7c991b5bf00d1d353a293b18b01e3f8a10064de8d50a2ac09a50638656d
  • Pointer size: 131 Bytes
  • Size of remote file: 898 kB
public/images/risotto.png ADDED

Git LFS Details

  • SHA256: 1fc58d5675391f13efebd5082e090928111fb4f4e64ce8204e4722d3444b52c8
  • Pointer size: 131 Bytes
  • Size of remote file: 740 kB
public/images/steak.png ADDED

Git LFS Details

  • SHA256: 42fe47818e094f9737040d990d2fe76073445c0874d4a1c52f18419bc10fa44b
  • Pointer size: 131 Bytes
  • Size of remote file: 785 kB
public/images/tacos.png CHANGED

Git LFS Details

  • SHA256: e31c13c57b8ca6bdbdaa2525fcd1383997005f215547f7a3fa4403a9e796da81
  • Pointer size: 130 Bytes
  • Size of remote file: 48.1 kB

Git LFS Details

  • SHA256: e0f172cea352564ee2171ebb81a1f0506b8a9a9736afdc3aa0f21b499a9f99be
  • Pointer size: 131 Bytes
  • Size of remote file: 897 kB
src/components/admin/DashboardOverview.jsx CHANGED
@@ -25,14 +25,25 @@ export default function DashboardOverview() {
25
  const seedData = async () => {
26
  if (!window.confirm('¿Deseas cargar toda la información de ejemplo en el sistema? Esto agregará productos, insumos y mesas.')) return;
27
 
28
- // 1. Sembrar Menú
29
  const menuRef = ref(db, 'menu');
30
  const menuExamples = [
31
- { name: 'Hamburgesa Trufada', price: 18.50, category: 'Fuertes', image: '/images/burger_classic.png', active: true, ingredients: [], extras: [] },
32
- { name: 'Pizza Prosciutto', price: 22.00, category: 'Pizzas', image: 'https://images.unsplash.com/photo-1513104890138-7c749659a591?auto=format&fit=crop&q=80&w=1000', active: true, ingredients: [], extras: [] },
33
- { name: 'Limonada de Coco', price: 6.50, category: 'Bebidas', image: 'https://images.unsplash.com/photo-1543648964-1699e74bf300?auto=format&fit=crop&q=80&w=1000', active: true, ingredients: [], extras: [] },
34
- { name: 'Ensalada César', price: 14.00, category: 'Entradas', image: 'https://images.unsplash.com/photo-1550304943-4f24f54ddde9?auto=format&fit=crop&q=80&w=1000', active: true, ingredients: [], extras: [] },
35
- { name: 'Volcán de Chocolate', price: 9.50, category: 'Postres', image: 'https://images.unsplash.com/photo-1624353365286-3f8d62daad51?auto=format&fit=crop&q=80&w=1000', active: true, ingredients: [], extras: [] }
 
 
 
 
 
 
 
 
 
 
 
36
  ];
37
  for (const item of menuExamples) { await set(push(menuRef), item); }
38
 
 
25
  const seedData = async () => {
26
  if (!window.confirm('¿Deseas cargar toda la información de ejemplo en el sistema? Esto agregará productos, insumos y mesas.')) return;
27
 
28
+ // 1. Sembrar Menú (8 Productos + 5 Especialidades)
29
  const menuRef = ref(db, 'menu');
30
  const menuExamples = [
31
+ // Productos (8)
32
+ { name: 'Hamburgesa Clásica', price: 12.50, category: 'Fuertes', image: '/images/burger.png', active: true },
33
+ { name: 'Pasta Pomodoro', price: 10.00, category: 'Pasta', image: '/images/pasta.png', active: true },
34
+ { name: 'Tacos de Pollo', price: 9.00, category: 'Entradas', image: '/images/tacos.png', active: true },
35
+ { name: 'Pizza Margherita', price: 14.00, category: 'Pizzas', image: '/images/pizza.png', active: true },
36
+ { name: 'Ensalada César', price: 8.50, category: 'Entradas', image: 'https://images.unsplash.com/photo-1550304943-4f24f54ddde9?auto=format&fit=crop&q=80&w=1000', active: true },
37
+ { name: 'Sopa de Tomate', price: 7.00, category: 'Entradas', image: 'https://images.unsplash.com/photo-1547592166-23ac45744acd?auto=format&fit=crop&q=80&w=1000', active: true },
38
+ { name: 'Sandwich Gourmet', price: 11.00, category: 'Fuertes', image: 'https://images.unsplash.com/photo-1528735602780-2552fd46c7af?auto=format&fit=crop&q=80&w=1000', active: true },
39
+ { name: 'Chocolate Muffin', price: 4.50, category: 'Postres', image: 'https://images.unsplash.com/photo-1582231222779-1adb0b322f84?auto=format&fit=crop&q=80&w=1000', active: true },
40
+
41
+ // Especialidades (5)
42
+ { name: 'Ribeye Premium', price: 35.00, category: 'Especialidades', image: '/images/steak.png', active: true },
43
+ { name: 'Risotto de Trufa', price: 28.00, category: 'Especialidades', image: '/images/risotto.png', active: true },
44
+ { name: 'Salmón Glaseado', price: 26.00, category: 'Especialidades', image: 'https://images.unsplash.com/photo-1467003909585-2f8a72700288?auto=format&fit=crop&q=80&w=1000', active: true },
45
+ { name: 'Pato a la Naranja', price: 32.00, category: 'Especialidades', image: 'https://images.unsplash.com/photo-1626082927389-6cd097cdc6ec?auto=format&fit=crop&q=80&w=1000', active: true },
46
+ { name: 'Langosta Thermidor', price: 45.00, category: 'Especialidades', image: 'https://images.unsplash.com/photo-1553243599-c052f82958d2?auto=format&fit=crop&q=80&w=1000', active: true }
47
  ];
48
  for (const item of menuExamples) { await set(push(menuRef), item); }
49
 
src/pages/CustomerMenu.jsx CHANGED
@@ -37,12 +37,15 @@ export default function CustomerMenu() {
37
  : menuItems.filter(item => item.category === activeCategory);
38
 
39
  const isDark = menuTheme === 'dark';
 
 
 
40
  const themeColors = {
41
- bg: isDark ? '#050505' : '#f8f9fa',
42
- text: isDark ? '#ffffff' : '#1a1a1a',
43
- muted: isDark ? 'rgba(255,255,255,0.5)' : 'rgba(0,0,0,0.5)',
44
- card: isDark ? 'rgba(255,255,255,0.02)' : 'rgba(255,255,255,0.8)',
45
- border: isDark ? 'rgba(255,255,255,0.08)' : 'rgba(0,0,0,0.08)',
46
  accent: '#FF6B6B',
47
  accentGradient: 'linear-gradient(135deg, #FF6B6B 0%, #FF4757 100%)'
48
  };
@@ -61,14 +64,15 @@ export default function CustomerMenu() {
61
  <header style={{
62
  position: 'fixed', top: 0, left: 0, width: '100%', zIndex: 1000,
63
  padding: '20px 40px', display: 'flex', justifyContent: 'space-between', alignItems: 'center',
64
- background: 'rgba(0,0,0,0.2)', backdropFilter: 'blur(20px)', borderBottom: `1px solid ${themeColors.border}`
 
65
  }}>
66
  <div style={{ display: 'flex', alignItems: 'center', gap: '12px' }}>
67
- <img src="/images/logo.png" alt="Logo" style={{ height: '40px', filter: isDark ? 'invert(0)' : 'invert(1)' }} />
68
- <span style={{ fontSize: '1.5rem', fontWeight: '900', letterSpacing: '-1px' }}>RESTAURANT<span style={{color: themeColors.accent}}>OS</span></span>
69
  </div>
70
- <div style={{ display: 'flex', gap: '15px' }}>
71
- <button onClick={() => navigate('/login')} style={{ background: 'none', border: 'none', color: themeColors.text, cursor: 'pointer', fontWeight: '600' }}>Admin</button>
72
  <div style={{ position: 'relative', cursor: 'pointer' }}>
73
  <Utensils size={24} />
74
  {cartCount > 0 && <span style={{ position: 'absolute', top: '-8px', right: '-8px', background: themeColors.accent, color: '#fff', borderRadius: '50%', width: '18px', height: '18px', fontSize: '0.7rem', display: 'flex', alignItems: 'center', justifyContent: 'center', fontWeight: '800' }}>{cartCount}</span>}
@@ -76,57 +80,62 @@ export default function CustomerMenu() {
76
  </div>
77
  </header>
78
 
79
- {/* Hero Section with Parallax Effect */}
80
  <section style={{
81
- height: '85vh', position: 'relative', display: 'flex', alignItems: 'center', justifyContent: 'center',
82
- background: `linear-gradient(rgba(0,0,0,0.5), ${themeColors.bg}), url('https://images.unsplash.com/photo-1504674900247-0877df9cc836?auto=format&fit=crop&q=80&w=2070')`,
83
  backgroundSize: 'cover', backgroundPosition: 'center', backgroundAttachment: 'fixed'
84
  }}>
85
  <div style={{ textAlign: 'center', padding: '0 20px', maxWidth: '900px' }} className="animate-fade-in">
86
- <div style={{
87
- display: 'inline-flex', alignItems: 'center', gap: '10px', padding: '8px 20px',
88
- borderRadius: '40px', background: 'rgba(255,107,107,0.1)', border: '1px solid rgba(255,107,107,0.2)',
89
- color: themeColors.accent, fontWeight: '700', fontSize: '0.85rem', marginBottom: '2rem', textTransform: 'uppercase', letterSpacing: '2px'
90
- }}>
91
- <ChefHat size={16} /> Experiencia Gastronómica Única
92
- </div>
93
- <h1 style={{ fontSize: '5rem', fontWeight: '900', marginBottom: '1.5rem', letterSpacing: '-3px', lineHeight: '0.9' }}>
94
- Sabor que despierta tus <span className="text-gradient">sentidos.</span>
95
  </h1>
96
- <p style={{ fontSize: '1.4rem', color: themeColors.muted, maxWidth: '700px', margin: '0 auto', lineHeight: '1.5' }}>
97
- Una selección exclusiva de platos preparados por chefs de clase mundial, usando ingredientes locales de la más alta calidad.
98
  </p>
99
-
100
- <div style={{ marginTop: '3rem', display: 'flex', gap: '1.5rem', justifyContent: 'center' }}>
101
- <button className="btn-primary" style={{ padding: '18px 40px', borderRadius: '40px', fontSize: '1.1rem', fontWeight: '700', boxShadow: '0 20px 40px rgba(255,107,107,0.3)' }}>
102
- Ver Especialidades
103
- </button>
104
- <button className="btn-glass" style={{ padding: '18px 40px', borderRadius: '40px', fontSize: '1.1rem', fontWeight: '700' }}>
105
- Nuestra Historia
106
- </button>
 
 
 
 
 
 
 
 
 
107
  </div>
108
  </div>
109
  </section>
110
 
111
- {/* Main Content Area */}
112
  <main style={{ maxWidth: '1400px', margin: '0 auto', padding: '80px 40px' }}>
113
 
114
- {/* Categories Navigation */}
 
 
 
 
 
115
  <div style={{
116
- position: 'sticky', top: '100px', zIndex: 100, marginBottom: '60px',
117
- display: 'flex', justifyContent: 'center', gap: '12px',
118
- background: 'rgba(0,0,0,0.05)', padding: '10px', borderRadius: '50px', backdropFilter: 'blur(10px)',
119
- width: 'fit-content', margin: '0 auto 60px'
120
  }}>
121
  {categories.map(cat => (
122
  <button
123
  key={cat}
124
  onClick={() => setActiveCategory(cat)}
125
  style={{
126
- padding: '12px 28px', borderRadius: '40px', border: 'none', cursor: 'pointer',
127
- background: activeCategory === cat ? themeColors.accentGradient : 'transparent',
128
- color: activeCategory === cat ? '#fff' : themeColors.text,
129
- fontWeight: '700', transition: 'all 0.3s cubic-bezier(0.4, 0, 0.2, 1)',
130
  whiteSpace: 'nowrap', fontSize: '0.95rem'
131
  }}
132
  >
@@ -135,73 +144,51 @@ export default function CustomerMenu() {
135
  ))}
136
  </div>
137
 
138
- {/* Dynamic Grid */}
139
  <div style={{
140
  display: 'grid',
141
- gridTemplateColumns: 'repeat(auto-fill, minmax(400px, 1fr))',
142
  gap: '40px'
143
  }}>
144
  {filteredItems.map(item => (
145
  <div key={item.id} style={{
146
- background: themeColors.card, borderRadius: '30px', overflow: 'hidden',
147
- border: `1px solid ${themeColors.border}`, transition: 'all 0.4s ease',
 
148
  position: 'relative'
149
  }} className="menu-card-hover">
150
 
151
- {/* Image Container */}
152
- <div style={{ height: '300px', overflow: 'hidden', position: 'relative' }}>
153
  <img
154
  src={item.image || 'https://images.unsplash.com/photo-1546069901-ba9599a7e63c?auto=format&fit=crop&q=80&w=1760'}
155
  alt={item.name}
156
- style={{ width: '100%', height: '100%', objectFit: 'cover', transition: 'transform 0.6s ease' }}
157
- className="card-image"
158
  />
159
  <div style={{
160
  position: 'absolute', top: '20px', right: '20px',
161
- background: 'rgba(0,0,0,0.8)', color: '#fff', padding: '8px 20px',
162
  borderRadius: '30px', fontWeight: '900', fontSize: '1.2rem', backdropFilter: 'blur(10px)',
163
- boxShadow: '0 10px 20px rgba(0,0,0,0.2)'
164
  }}>
165
  ${item.price}
166
  </div>
167
- {item.category === 'Fuertes' && (
168
- <div style={{
169
- position: 'absolute', top: '20px', left: '20px',
170
- background: themeColors.accentGradient, color: '#fff', padding: '5px 15px',
171
- borderRadius: '30px', fontSize: '0.7rem', fontWeight: '800', textTransform: 'uppercase'
172
- }}>
173
- Popular
174
- </div>
175
- )}
176
  </div>
177
 
178
- {/* Content Container */}
179
- <div style={{ padding: '35px' }}>
180
- <div style={{ display: 'flex', justifyContent: 'space-between', alignItems: 'flex-start', marginBottom: '15px' }}>
181
- <div>
182
- <h3 style={{ fontSize: '1.8rem', fontWeight: '800', marginBottom: '8px' }}>{item.name}</h3>
183
- <div style={{ display: 'flex', gap: '15px', color: themeColors.muted, fontSize: '0.85rem' }}>
184
- <span style={{ display: 'flex', alignItems: 'center', gap: '5px' }}><Clock size={14} /> 25 min</span>
185
- <span style={{ display: 'flex', alignItems: 'center', gap: '5px' }}><ChefHat size={14} /> Chef Selection</span>
186
- </div>
187
- </div>
188
- </div>
189
- <p style={{ color: themeColors.muted, fontSize: '1rem', lineHeight: '1.6', marginBottom: '25px' }}>
190
- Preparado magistralmente con técnicas artesanales y los mejores ingredientes seleccionados para garantizar una explosión de sabor.
191
  </p>
192
  <div style={{ display: 'flex', justifyContent: 'space-between', alignItems: 'center' }}>
193
- <div style={{ display: 'flex', gap: '5px' }}>
194
- {[1,2,3,4,5].map(s => <Star key={s} size={14} fill={themeColors.accent} color={themeColors.accent} />)}
195
- </div>
196
  <button
197
  onClick={() => setCartCount(c => c + 1)}
198
  style={{
199
- background: themeColors.accentGradient, border: 'none', color: '#fff',
200
- width: '45px', height: '45px', borderRadius: '15px', cursor: 'pointer',
201
- display: 'flex', alignItems: 'center', justifyContent: 'center',
202
- boxShadow: '0 10px 20px rgba(255,107,107,0.2)'
203
  }}>
204
- <Plus size={24} />
205
  </button>
206
  </div>
207
  </div>
@@ -210,56 +197,13 @@ export default function CustomerMenu() {
210
  </div>
211
  </main>
212
 
213
- {/* QR & Info Section */}
214
- <section style={{
215
- background: isDark ? 'rgba(255,255,255,0.02)' : 'rgba(0,0,0,0.02)',
216
- padding: '100px 40px', borderTop: `1px solid ${themeColors.border}`
217
- }}>
218
- <div style={{ maxWidth: '1200px', margin: '0 auto', display: 'grid', gridTemplateColumns: '1fr 1fr', gap: '100px', alignItems: 'center' }}>
219
- <div>
220
- <h2 style={{ fontSize: '3rem', fontWeight: '900', marginBottom: '2rem', lineHeight: '1' }}>Lleva el menú en tu bolsillo.</h2>
221
- <p style={{ fontSize: '1.2rem', color: themeColors.muted, marginBottom: '2.5rem' }}>
222
- Escanea el código QR para acceder a nuestra carta digital actualizada en tiempo real, ver promociones exclusivas y realizar tu pedido.
223
- </p>
224
- <div style={{ display: 'flex', gap: '30px' }}>
225
- <div style={{ textAlign: 'center' }}>
226
- <div style={{ fontSize: '2.5rem', fontWeight: '900', color: themeColors.accent }}>100%</div>
227
- <div style={{ fontSize: '0.8rem', textTransform: 'uppercase', letterSpacing: '1px', fontWeight: '700' }}>Digital</div>
228
- </div>
229
- <div style={{ textAlign: 'center' }}>
230
- <div style={{ fontSize: '2.5rem', fontWeight: '900', color: themeColors.accent }}>0</div>
231
- <div style={{ fontSize: '0.8rem', textTransform: 'uppercase', letterSpacing: '1px', fontWeight: '700' }}>Contacto</div>
232
- </div>
233
- <div style={{ textAlign: 'center' }}>
234
- <div style={{ fontSize: '2.5rem', fontWeight: '900', color: themeColors.accent }}>24/7</div>
235
- <div style={{ fontSize: '0.8rem', textTransform: 'uppercase', letterSpacing: '1px', fontWeight: '700' }}>Soporte</div>
236
- </div>
237
- </div>
238
- </div>
239
- <div style={{ display: 'flex', justifyContent: 'center' }}>
240
- <div className="glass-card" style={{ padding: '40px', borderRadius: '40px', position: 'relative' }}>
241
- <img src="/images/qr_menu.png" alt="QR Code" style={{ width: '300px', borderRadius: '20px' }} />
242
- <div style={{ position: 'absolute', top: '-20px', right: '-20px', background: themeColors.accentGradient, padding: '15px', borderRadius: '50%', color: '#fff', fontWeight: '900' }}>SCAN</div>
243
- </div>
244
- </div>
245
- </div>
246
- </section>
247
-
248
  {/* Modern Footer */}
249
- <footer style={{ padding: '100px 40px', borderTop: `1px solid ${themeColors.border}`, textAlign: 'center' }}>
250
- <div style={{ maxWidth: '800px', margin: '0 auto' }}>
251
- <img src="/images/logo.png" alt="Logo" style={{ height: '60px', marginBottom: '30px', filter: isDark ? 'invert(0)' : 'invert(1)' }} />
252
- <h2 style={{ fontSize: '2.5rem', fontWeight: '900', marginBottom: '1.5rem' }}>RESTAURANT OS</h2>
253
- <p style={{ color: themeColors.muted, fontSize: '1.1rem', marginBottom: '40px' }}>
254
- Donde la innovación se encuentra con la tradición culinaria. Únete a nuestra comunidad para recibir noticias y eventos.
255
- </p>
256
- <div style={{ display: 'flex', justifyContent: 'center', gap: '30px', marginBottom: '60px' }}>
257
- <Instagram size={32} style={{ cursor: 'pointer', transition: 'transform 0.3s' }} />
258
- <Facebook size={32} style={{ cursor: 'pointer', transition: 'transform 0.3s' }} />
259
- <MessageSquare size={32} style={{ cursor: 'pointer', transition: 'transform 0.3s' }} />
260
- </div>
261
- <div style={{ fontSize: '0.9rem', color: themeColors.muted, borderTop: `1px solid ${themeColors.border}`, paddingTop: '40px' }}>
262
- © {new Date().getFullYear()} Restaurant OS Premium Management System. Designed with Passion.
263
  </div>
264
  </div>
265
  </footer>
@@ -268,3 +212,4 @@ export default function CustomerMenu() {
268
  );
269
  }
270
 
 
 
37
  : menuItems.filter(item => item.category === activeCategory);
38
 
39
  const isDark = menuTheme === 'dark';
40
+ // Forzamos modo claro si el usuario lo pidió, o usamos el tema de la DB
41
+ const forceLight = true;
42
+
43
  const themeColors = {
44
+ bg: forceLight ? '#ffffff' : (isDark ? '#050505' : '#f8f9fa'),
45
+ text: forceLight ? '#1a1a1a' : (isDark ? '#ffffff' : '#1a1a1a'),
46
+ muted: forceLight ? '#666666' : (isDark ? 'rgba(255,255,255,0.5)' : 'rgba(0,0,0,0.5)'),
47
+ card: forceLight ? '#ffffff' : (isDark ? 'rgba(255,255,255,0.02)' : 'rgba(255,255,255,0.8)'),
48
+ border: forceLight ? '#eeeeee' : (isDark ? 'rgba(255,255,255,0.08)' : 'rgba(0,0,0,0.08)'),
49
  accent: '#FF6B6B',
50
  accentGradient: 'linear-gradient(135deg, #FF6B6B 0%, #FF4757 100%)'
51
  };
 
64
  <header style={{
65
  position: 'fixed', top: 0, left: 0, width: '100%', zIndex: 1000,
66
  padding: '20px 40px', display: 'flex', justifyContent: 'space-between', alignItems: 'center',
67
+ background: 'rgba(255,255,255,0.8)', backdropFilter: 'blur(20px)', borderBottom: `1px solid ${themeColors.border}`,
68
+ boxShadow: '0 2px 20px rgba(0,0,0,0.05)'
69
  }}>
70
  <div style={{ display: 'flex', alignItems: 'center', gap: '12px' }}>
71
+ <img src="/images/logo.png" alt="Logo" style={{ height: '40px', filter: 'invert(1)' }} />
72
+ <span style={{ fontSize: '1.5rem', fontWeight: '900', letterSpacing: '-1px', color: '#1a1a1a' }}>RESTAURANT<span style={{color: themeColors.accent}}>OS</span></span>
73
  </div>
74
+ <div style={{ display: 'flex', gap: '15px', color: '#1a1a1a' }}>
75
+ <button onClick={() => navigate('/login')} style={{ background: 'none', border: 'none', color: 'inherit', cursor: 'pointer', fontWeight: '600' }}>Admin</button>
76
  <div style={{ position: 'relative', cursor: 'pointer' }}>
77
  <Utensils size={24} />
78
  {cartCount > 0 && <span style={{ position: 'absolute', top: '-8px', right: '-8px', background: themeColors.accent, color: '#fff', borderRadius: '50%', width: '18px', height: '18px', fontSize: '0.7rem', display: 'flex', alignItems: 'center', justifyContent: 'center', fontWeight: '800' }}>{cartCount}</span>}
 
80
  </div>
81
  </header>
82
 
83
+ {/* Hero Section */}
84
  <section style={{
85
+ height: '70vh', position: 'relative', display: 'flex', alignItems: 'center', justifyContent: 'center',
86
+ background: `linear-gradient(rgba(255,255,255,0.4), #ffffff), url('https://images.unsplash.com/photo-1514362545857-3bc16c4c7d1b?auto=format&fit=crop&q=80&w=2070')`,
87
  backgroundSize: 'cover', backgroundPosition: 'center', backgroundAttachment: 'fixed'
88
  }}>
89
  <div style={{ textAlign: 'center', padding: '0 20px', maxWidth: '900px' }} className="animate-fade-in">
90
+ <h1 style={{ fontSize: '5rem', fontWeight: '900', marginBottom: '1.5rem', letterSpacing: '-3px', lineHeight: '0.9', color: '#1a1a1a' }}>
91
+ Nuestra <span style={{color: themeColors.accent}}>Historia</span> y Sabor.
 
 
 
 
 
 
 
92
  </h1>
93
+ <p style={{ fontSize: '1.4rem', color: '#666', maxWidth: '700px', margin: '0 auto', lineHeight: '1.5' }}>
94
+ Desde 1995, fusionando la tradición culinaria con la innovación moderna.
95
  </p>
96
+ </div>
97
+ </section>
98
+
99
+ {/* History Section */}
100
+ <section style={{ padding: '100px 40px', background: '#fff' }}>
101
+ <div style={{ maxWidth: '1000px', margin: '0 auto', display: 'grid', gridTemplateColumns: '1fr 1fr', gap: '60px', alignItems: 'center' }}>
102
+ <div style={{ borderRadius: '30px', overflow: 'hidden', boxShadow: '0 30px 60px rgba(0,0,0,0.1)' }}>
103
+ <img src="https://images.unsplash.com/photo-1552566626-52f8b828add9?auto=format&fit=crop&q=80&w=1000" alt="History" style={{ width: '100%', display: 'block' }} />
104
+ </div>
105
+ <div>
106
+ <h2 style={{ fontSize: '2.5rem', fontWeight: '900', marginBottom: '1.5rem', color: '#1a1a1a' }}>Un Legado de Pasión</h2>
107
+ <p style={{ color: '#666', fontSize: '1.1rem', lineHeight: '1.8', marginBottom: '1.5rem' }}>
108
+ Lo que comenzó como un pequeño bistro familiar en el corazón de la ciudad, se ha transformado en un referente de la gastronomía contemporánea.
109
+ </p>
110
+ <p style={{ color: '#666', fontSize: '1.1rem', lineHeight: '1.8' }}>
111
+ Nuestra misión es simple: servir felicidad en cada plato, respetando los ingredientes y celebrando la creatividad de nuestro equipo.
112
+ </p>
113
  </div>
114
  </div>
115
  </section>
116
 
117
+ {/* Main Menu Area */}
118
  <main style={{ maxWidth: '1400px', margin: '0 auto', padding: '80px 40px' }}>
119
 
120
+ <div style={{ textAlign: 'center', marginBottom: '60px' }}>
121
+ <h2 style={{ fontSize: '3rem', fontWeight: '900', color: '#1a1a1a' }}>Nuestra Carta Digital</h2>
122
+ <div style={{ width: '80px', height: '5px', background: themeColors.accentGradient, margin: '20px auto', borderRadius: '10px' }}></div>
123
+ </div>
124
+
125
+ {/* Categories */}
126
  <div style={{
127
+ display: 'flex', justifyContent: 'center', gap: '12px', marginBottom: '60px',
128
+ padding: '10px', overflowX: 'auto'
 
 
129
  }}>
130
  {categories.map(cat => (
131
  <button
132
  key={cat}
133
  onClick={() => setActiveCategory(cat)}
134
  style={{
135
+ padding: '12px 28px', borderRadius: '40px', border: activeCategory === cat ? 'none' : '1px solid #ddd', cursor: 'pointer',
136
+ background: activeCategory === cat ? themeColors.accentGradient : '#fff',
137
+ color: activeCategory === cat ? '#fff' : '#666',
138
+ fontWeight: '700', transition: 'all 0.3s ease',
139
  whiteSpace: 'nowrap', fontSize: '0.95rem'
140
  }}
141
  >
 
144
  ))}
145
  </div>
146
 
147
+ {/* Menu Grid */}
148
  <div style={{
149
  display: 'grid',
150
+ gridTemplateColumns: 'repeat(auto-fill, minmax(380px, 1fr))',
151
  gap: '40px'
152
  }}>
153
  {filteredItems.map(item => (
154
  <div key={item.id} style={{
155
+ background: '#fff', borderRadius: '30px', overflow: 'hidden',
156
+ border: '1px solid #eee', transition: 'all 0.4s ease',
157
+ boxShadow: '0 10px 30px rgba(0,0,0,0.03)',
158
  position: 'relative'
159
  }} className="menu-card-hover">
160
 
161
+ <div style={{ height: '280px', overflow: 'hidden', position: 'relative' }}>
 
162
  <img
163
  src={item.image || 'https://images.unsplash.com/photo-1546069901-ba9599a7e63c?auto=format&fit=crop&q=80&w=1760'}
164
  alt={item.name}
165
+ style={{ width: '100%', height: '100%', objectFit: 'cover' }}
 
166
  />
167
  <div style={{
168
  position: 'absolute', top: '20px', right: '20px',
169
+ background: 'rgba(255,255,255,0.9)', color: '#1a1a1a', padding: '8px 20px',
170
  borderRadius: '30px', fontWeight: '900', fontSize: '1.2rem', backdropFilter: 'blur(10px)',
171
+ boxShadow: '0 10px 20px rgba(0,0,0,0.05)'
172
  }}>
173
  ${item.price}
174
  </div>
 
 
 
 
 
 
 
 
 
175
  </div>
176
 
177
+ <div style={{ padding: '30px' }}>
178
+ <h3 style={{ fontSize: '1.6rem', fontWeight: '800', marginBottom: '10px', color: '#1a1a1a' }}>{item.name}</h3>
179
+ <p style={{ color: '#666', fontSize: '0.95rem', lineHeight: '1.6', marginBottom: '20px' }}>
180
+ Una delicia preparada con ingredientes frescos para deleitar tu paladar.
 
 
 
 
 
 
 
 
 
181
  </p>
182
  <div style={{ display: 'flex', justifyContent: 'space-between', alignItems: 'center' }}>
183
+ <span style={{ fontSize: '0.8rem', color: themeColors.accent, fontWeight: '800', textTransform: 'uppercase' }}>{item.category}</span>
 
 
184
  <button
185
  onClick={() => setCartCount(c => c + 1)}
186
  style={{
187
+ background: '#f5f5f5', border: 'none', color: '#1a1a1a',
188
+ width: '40px', height: '40px', borderRadius: '12px', cursor: 'pointer',
189
+ display: 'flex', alignItems: 'center', justifyContent: 'center'
 
190
  }}>
191
+ <Plus size={20} />
192
  </button>
193
  </div>
194
  </div>
 
197
  </div>
198
  </main>
199
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
200
  {/* Modern Footer */}
201
+ <footer style={{ padding: '80px 40px', borderTop: '1px solid #eee', textAlign: 'center', background: '#fafafa' }}>
202
+ <div style={{ maxWidth: '600px', margin: '0 auto' }}>
203
+ <h2 style={{ fontSize: '2rem', fontWeight: '900', marginBottom: '1rem', color: '#1a1a1a' }}>RESTAURANT OS</h2>
204
+ <p style={{ color: '#666', marginBottom: '30px' }}>Pasión por la cocina, amor por el servicio.</p>
205
+ <div style={{ fontSize: '0.85rem', color: '#999' }}>
206
+ © {new Date().getFullYear()} Gourmet Experience. Todos los derechos reservados.
 
 
 
 
 
 
 
 
207
  </div>
208
  </div>
209
  </footer>
 
212
  );
213
  }
214
 
215
+