Files
gkachele-saas/demo/themes/restaurante-asiatico/template.html
2026-01-17 11:40:17 +01:00

732 lines
23 KiB
HTML

<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>{{ site_name or 'Restaurante Asiático' }}</title>
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500;700&family=Oswald:wght@400;600;700&display=swap" rel="stylesheet">
<style>
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
:root {
--primary: {{ colors.primary if colors else '#e63946' }};
--secondary: {{ colors.secondary if colors else '#f77f00' }};
--accent: {{ colors.accent if colors else '#fcbf49' }};
--text-dark: {{ colors.text if colors else '#1d3557' }};
--text-light: #666;
--bg-light: #f8f9fa;
--white: #ffffff;
--gradient-hero: linear-gradient(135deg, rgba(230, 57, 70, 0.95) 0%, rgba(247, 127, 0, 0.95) 100%);
--shadow-soft: 0 4px 20px rgba(0, 0, 0, 0.1);
--shadow-hover: 0 8px 30px rgba(0, 0, 0, 0.2);
--transition-smooth: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
body {
font-family: 'Roboto', sans-serif;
color: var(--text-dark);
line-height: 1.6;
overflow-x: hidden;
}
h1, h2, h3, h4, h5, h6 {
font-family: '{{ typography.headings if typography else 'Oswald' }}', sans-serif;
font-weight: 600;
line-height: 1.2;
letter-spacing: 1px;
}
.section {
padding: 100px 20px;
position: relative;
}
.container {
max-width: 1200px;
margin: 0 auto;
}
/* Header / Navigation */
header {
background: rgba(29, 53, 87, 0.98);
backdrop-filter: blur(10px);
box-shadow: var(--shadow-soft);
position: fixed;
width: 100%;
top: 0;
z-index: 1000;
transition: var(--transition-smooth);
}
nav {
display: flex;
justify-content: space-between;
align-items: center;
padding: 20px 40px;
}
.logo {
font-family: 'Oswald', sans-serif;
font-size: 32px;
color: var(--white);
font-weight: 700;
letter-spacing: 2px;
text-transform: uppercase;
}
.nav-links {
display: flex;
list-style: none;
gap: 40px;
}
.nav-links a {
text-decoration: none;
color: var(--white);
font-weight: 500;
font-size: 15px;
text-transform: uppercase;
letter-spacing: 1px;
position: relative;
transition: var(--transition-smooth);
padding: 5px 0;
}
.nav-links a::after {
content: '';
position: absolute;
bottom: 0;
left: 0;
width: 0;
height: 3px;
background: var(--accent);
transition: width 0.3s ease;
}
.nav-links a:hover {
color: var(--accent);
}
.nav-links a:hover::after {
width: 100%;
}
/* Hero Section */
.hero {
background: var(--gradient-hero);
background-size: cover;
background-position: center;
color: var(--white);
text-align: center;
padding: 200px 20px 140px;
margin-top: 80px;
position: relative;
overflow: hidden;
}
.hero::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: linear-gradient(135deg, rgba(230, 57, 70, 0.92) 0%, rgba(247, 127, 0, 0.92) 100%);
z-index: 1;
}
.hero .container {
position: relative;
z-index: 2;
}
.hero h1 {
font-size: 80px;
margin-bottom: 30px;
color: var(--white);
text-shadow: 0 4px 30px rgba(0, 0, 0, 0.3);
animation: fadeInUp 0.8s ease-out;
text-transform: uppercase;
}
.hero p {
font-size: 24px;
margin-bottom: 50px;
opacity: 0.98;
font-weight: 300;
letter-spacing: 1px;
animation: fadeInUp 0.8s ease-out 0.2s both;
}
.btn {
display: inline-block;
padding: 20px 50px;
background: var(--accent);
color: var(--text-dark);
text-decoration: none;
border-radius: 50px;
font-weight: 700;
font-size: 18px;
text-transform: uppercase;
letter-spacing: 1px;
transition: var(--transition-smooth);
box-shadow: 0 6px 20px rgba(0, 0, 0, 0.3);
animation: fadeInUp 0.8s ease-out 0.4s both;
}
.btn:hover {
transform: translateY(-5px) scale(1.05);
box-shadow: 0 10px 30px rgba(0, 0, 0, 0.4);
background: var(--white);
}
@keyframes fadeInUp {
from {
opacity: 0;
transform: translateY(40px);
}
to {
opacity: 1;
transform: translateY(0);
}
}
/* Menu Section */
.menu {
background: var(--white);
}
.section-title {
text-align: center;
font-size: 48px;
color: var(--primary);
margin-bottom: 70px;
text-transform: uppercase;
position: relative;
padding-bottom: 20px;
}
.section-title::after {
content: '';
position: absolute;
bottom: 0;
left: 50%;
transform: translateX(-50%);
width: 100px;
height: 4px;
background: var(--accent);
}
.menu-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
gap: 40px;
margin-top: 50px;
}
.menu-item {
background: var(--white);
padding: 40px;
border-radius: 20px;
transition: var(--transition-smooth);
border: 2px solid transparent;
position: relative;
overflow: hidden;
box-shadow: var(--shadow-soft);
}
.menu-item::before {
content: '';
position: absolute;
top: 0;
left: -100%;
width: 100%;
height: 100%;
background: linear-gradient(90deg, transparent, rgba(252, 191, 73, 0.1), transparent);
transition: left 0.6s;
}
.menu-item:hover::before {
left: 100%;
}
.menu-item:hover {
transform: translateY(-10px);
box-shadow: var(--shadow-hover);
border-color: var(--primary);
}
.menu-item h3 {
color: var(--primary);
margin-bottom: 15px;
font-size: 26px;
text-transform: uppercase;
}
.menu-item p {
color: var(--text-light);
margin-bottom: 20px;
line-height: 1.8;
}
.menu-price {
font-size: 32px;
font-weight: 700;
color: var(--primary);
margin-top: 20px;
display: inline-block;
padding: 10px 25px;
background: linear-gradient(135deg, var(--accent), var(--secondary));
color: var(--white);
border-radius: 30px;
}
/* Horarios Section */
.horarios {
background: var(--bg-light);
}
.horarios-content {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
gap: 40px;
text-align: center;
}
.horario-item {
background: var(--white);
padding: 40px;
border-radius: 20px;
box-shadow: var(--shadow-soft);
transition: var(--transition-smooth);
border: 2px solid transparent;
}
.horario-item:hover {
transform: translateY(-8px);
box-shadow: var(--shadow-hover);
border-color: var(--accent);
}
.horario-item h3 {
color: var(--primary);
margin-bottom: 20px;
font-size: 24px;
text-transform: uppercase;
}
.horario-item p {
color: var(--text-light);
font-size: 20px;
font-weight: 500;
}
/* Reservas Section */
.reservas {
background: var(--white);
}
.reservas-content {
max-width: 700px;
margin: 0 auto;
text-align: center;
}
.reservas-form {
display: grid;
gap: 25px;
margin-top: 50px;
}
.form-group {
text-align: left;
}
.form-group label {
display: block;
margin-bottom: 10px;
color: var(--text-dark);
font-weight: 600;
text-transform: uppercase;
font-size: 14px;
letter-spacing: 1px;
}
.form-group input,
.form-group textarea,
.form-group select {
width: 100%;
padding: 16px 20px;
border: 2px solid #e0e0e0;
border-radius: 12px;
font-family: 'Roboto', sans-serif;
font-size: 16px;
transition: var(--transition-smooth);
background: var(--white);
}
.form-group input:focus,
.form-group textarea:focus,
.form-group select:focus {
outline: none;
border-color: var(--primary);
box-shadow: 0 0 0 4px rgba(230, 57, 70, 0.1);
}
.btn-primary {
background: linear-gradient(135deg, var(--primary), var(--secondary));
color: var(--white);
border: none;
padding: 18px 50px;
font-size: 18px;
font-weight: 700;
text-transform: uppercase;
letter-spacing: 1px;
cursor: pointer;
border-radius: 50px;
transition: var(--transition-smooth);
box-shadow: 0 6px 20px rgba(230, 57, 70, 0.4);
}
.btn-primary:hover {
transform: translateY(-3px);
box-shadow: 0 10px 30px rgba(230, 57, 70, 0.5);
}
/* Especialidad Culinaria Section */
.especialidad {
background: var(--gradient-hero);
color: var(--white);
position: relative;
overflow: hidden;
}
.especialidad::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: linear-gradient(135deg, rgba(230, 57, 70, 0.95) 0%, rgba(247, 127, 0, 0.95) 100%);
z-index: 1;
}
.especialidad .container {
position: relative;
z-index: 2;
}
.especialidad-content {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 60px;
align-items: center;
}
.especialidad-text h2 {
color: var(--white);
margin-bottom: 25px;
font-size: 42px;
text-transform: uppercase;
}
.especialidad-text p {
font-size: 20px;
opacity: 0.95;
line-height: 1.9;
}
.especialidad-image {
text-align: center;
}
.especialidad-image img {
max-width: 100%;
border-radius: 20px;
box-shadow: 0 15px 40px rgba(0,0,0,0.4);
}
/* Contacto Section */
.contacto {
background: var(--bg-light);
}
.contacto-content {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 60px;
}
.contacto-info h3 {
color: var(--primary);
margin-bottom: 25px;
font-size: 28px;
text-transform: uppercase;
}
.contacto-info p {
color: var(--text-light);
margin-bottom: 18px;
font-size: 17px;
line-height: 1.8;
}
.contacto-info strong {
color: var(--text-dark);
font-weight: 600;
}
.redes-sociales {
margin-top: 40px;
}
.redes-sociales a {
display: inline-block;
margin-right: 20px;
color: var(--primary);
font-size: 28px;
transition: transform 0.3s;
}
.redes-sociales a:hover {
transform: scale(1.3) rotate(5deg);
}
/* Footer */
footer {
background: var(--text-dark);
color: var(--white);
text-align: center;
padding: 50px 20px;
}
footer p {
font-size: 16px;
opacity: 0.9;
}
/* Responsive */
@media (max-width: 768px) {
.hero h1 {
font-size: 48px;
}
.nav-links {
display: none;
}
.especialidad-content,
.contacto-content {
grid-template-columns: 1fr;
}
.section {
padding: 60px 20px;
}
.section-title {
font-size: 36px;
}
}
</style>
</head>
<body>
<!-- Header -->
<header>
<nav>
<div class="logo">{{ site_name or 'Restaurante Asiático' }}</div>
<ul class="nav-links">
<li><a href="#inicio">Inicio</a></li>
<li><a href="#menu">Menú</a></li>
<li><a href="#horarios">Horarios</a></li>
<li><a href="#reservas">Reservas</a></li>
<li><a href="#contacto">Contacto</a></li>
</ul>
</nav>
</header>
<!-- Hero Section -->
<section id="inicio" class="section hero">
<div class="container">
<h1>{{ hero_title or 'TU LUGAR FAVORITO DE COMIDA ASIÁTICA EN LA CIUDAD' }}</h1>
<p>{{ hero_description or 'Sabores auténticos que despiertan tus sentidos' }}</p>
<a href="#reservas" class="btn">Reservar Mesa</a>
</div>
</section>
<!-- Menu Section -->
<section id="menu" class="section menu">
<div class="container">
<h2 class="section-title">Nuestro Menú</h2>
<div class="menu-grid">
<div class="menu-item">
<h3>Bibimbap</h3>
<p>Arroz con verduras frescas, carne y huevo, servido en un bowl caliente. Sabores tradicionales coreanos.</p>
<div class="menu-price">$18.00</div>
</div>
<div class="menu-item">
<h3>Ramen Especial</h3>
<p>Fideos japoneses en caldo rico, con cerdo, huevo y verduras. Una experiencia culinaria única.</p>
<div class="menu-price">$22.00</div>
</div>
<div class="menu-item">
<h3>Sushi Premium</h3>
<p>Selección de sushi fresco preparado por nuestros chefs expertos. Pescado de primera calidad.</p>
<div class="menu-price">$28.00</div>
</div>
<div class="menu-item">
<h3>Pad Thai</h3>
<p>Fideos tailandeses salteados con camarones, tofu y verduras. El sabor auténtico de Tailandia.</p>
<div class="menu-price">$20.00</div>
</div>
</div>
{% if menu_url %}
<div style="text-align: center; margin-top: 50px;">
<a href="{{ menu_url }}" class="btn" target="_blank">Ver Menú Completo</a>
</div>
{% endif %}
</div>
</section>
<!-- Horarios Section -->
<section id="horarios" class="section horarios">
<div class="container">
<h2 class="section-title">Horarios de Atención</h2>
<div class="horarios-content">
<div class="horario-item">
<h3>Lunes - Viernes</h3>
<p>{{ horarios.lunes_viernes or '12:00 PM - 10:00 PM' }}</p>
</div>
<div class="horario-item">
<h3>Sábados</h3>
<p>{{ horarios.sabados or '12:00 PM - 11:00 PM' }}</p>
</div>
<div class="horario-item">
<h3>Domingos</h3>
<p>{{ horarios.domingos or '12:00 PM - 9:00 PM' }}</p>
</div>
</div>
</div>
</section>
<!-- Reservas Section -->
<section id="reservas" class="section reservas">
<div class="container">
<h2 class="section-title">Reserva tu Mesa</h2>
<div class="reservas-content">
<p style="color: var(--text-light); margin-bottom: 40px; font-size: 18px;">
Completa el formulario y nos pondremos en contacto contigo para confirmar tu reserva.
</p>
<form class="reservas-form">
<div class="form-group">
<label>Nombre Completo</label>
<input type="text" name="nombre" required>
</div>
<div class="form-group">
<label>Teléfono</label>
<input type="tel" name="telefono" required>
</div>
<div class="form-group">
<label>Email</label>
<input type="email" name="email" required>
</div>
<div class="form-group">
<label>Fecha</label>
<input type="date" name="fecha" required>
</div>
<div class="form-group">
<label>Hora</label>
<input type="time" name="hora" required>
</div>
<div class="form-group">
<label>Número de Personas</label>
<select name="personas" required>
<option value="1">1 persona</option>
<option value="2">2 personas</option>
<option value="3">3 personas</option>
<option value="4">4 personas</option>
<option value="5+">5 o más personas</option>
</select>
</div>
<div class="form-group">
<label>Mensaje (opcional)</label>
<textarea name="mensaje" rows="4"></textarea>
</div>
<button type="submit" class="btn-primary">Enviar Reserva</button>
</form>
</div>
</div>
</section>
<!-- Especialidad Culinaria Section -->
<section class="section especialidad">
<div class="container">
<div class="especialidad-content">
<div class="especialidad-text">
<h2>{{ especialidad_culinaria.titulo or 'Nuestra Especialidad' }}</h2>
<p>{{ especialidad_culinaria.descripcion or 'Cada plato es una obra de arte culinaria, preparado con ingredientes frescos y técnicas tradicionales que honran la autenticidad de nuestros sabores asiáticos.' }}</p>
</div>
<div class="especialidad-image">
<img src="{{ especialidad_culinaria.imagen or 'https://via.placeholder.com/500x400?text=Especialidad' }}" alt="Especialidad Culinaria">
</div>
</div>
</div>
</section>
<!-- Contacto Section -->
<section id="contacto" class="section contacto">
<div class="container">
<h2 class="section-title">Contacto</h2>
<div class="contacto-content">
<div class="contacto-info">
<h3>Información de Contacto</h3>
<p><strong>Dirección:</strong> {{ direccion or 'Calle Principal 123, Ciudad' }}</p>
<p><strong>Teléfono:</strong> {{ telefono or '+34 123 456 789' }}</p>
<p><strong>Email:</strong> {{ email or 'contacto@restaurante.com' }}</p>
{% if capacidad %}
<p><strong>Capacidad:</strong> {{ capacidad }} personas</p>
{% endif %}
<div class="redes-sociales">
{% if redes_sociales.facebook %}
<a href="{{ redes_sociales.facebook }}" target="_blank">📘</a>
{% endif %}
{% if redes_sociales.instagram %}
<a href="{{ redes_sociales.instagram }}" target="_blank">📷</a>
{% endif %}
{% if redes_sociales.twitter %}
<a href="{{ redes_sociales.twitter }}" target="_blank">🐦</a>
{% endif %}
{% if redes_sociales.whatsapp %}
<a href="https://wa.me/{{ redes_sociales.whatsapp }}" target="_blank">💬</a>
{% endif %}
</div>
</div>
<div class="contacto-info">
<h3>Ubicación</h3>
{% if mapa_url %}
<iframe src="{{ mapa_url }}" width="100%" height="300" style="border:0; border-radius: 15px;" allowfullscreen="" loading="lazy"></iframe>
{% else %}
<p style="color: var(--text-light);">Mapa de ubicación disponible próximamente</p>
{% endif %}
</div>
</div>
</div>
</section>
<!-- Footer -->
<footer>
<div class="container">
<p>&copy; 2025 {{ site_name or 'Restaurante Asiático' }}. Todos los derechos reservados.</p>
<p style="margin-top: 10px; font-size: 14px; opacity: 0.7;">© 2025 GKACHELE™. Todos los derechos reservados.</p>
</div>
</footer>
</body>
</html>