Improve the frontend 3

This commit is contained in:
Urtzi Alfaro
2025-10-30 21:08:07 +01:00
parent 36217a2729
commit 63f5c6d512
184 changed files with 21512 additions and 7442 deletions

View File

@@ -9,12 +9,12 @@ import {
getCookieCategories,
CookiePreferences
} from '../../components/ui/CookieConsent';
import { useToast } from '../../hooks/ui/useToast';
import { showToast } from '../../utils/toast';
export const CookiePreferencesPage: React.FC = () => {
const { t } = useTranslation();
const navigate = useNavigate();
const { success } = useToast();
const [preferences, setPreferences] = useState<CookiePreferences>({
essential: true,
@@ -48,7 +48,7 @@ export const CookiePreferencesPage: React.FC = () => {
};
saveCookieConsent(updatedPreferences);
success(
showToast.success(
t('common:cookie.preferences_saved', 'Your cookie preferences have been saved successfully.'),
{ title: t('common:cookie.success', 'Preferences Saved') }
);
@@ -66,7 +66,7 @@ export const CookiePreferencesPage: React.FC = () => {
saveCookieConsent(allEnabled);
setPreferences(allEnabled);
success(
showToast.success(
t('common:cookie.all_accepted', 'All cookies have been accepted.'),
{ title: t('common:cookie.success', 'Preferences Saved') }
);
@@ -84,7 +84,7 @@ export const CookiePreferencesPage: React.FC = () => {
saveCookieConsent(essentialOnly);
setPreferences(essentialOnly);
success(
showToast.success(
t('common:cookie.only_essential', 'Only essential cookies are enabled.'),
{ title: t('common:cookie.success', 'Preferences Saved') }
);

View File

@@ -32,7 +32,9 @@ import {
Target,
CheckCircle2,
Sparkles,
Recycle
Recycle,
MapPin,
Globe
} from 'lucide-react';
const LandingPage: React.FC = () => {
@@ -56,6 +58,7 @@ const LandingPage: React.FC = () => {
variant: "default",
navigationItems: [
{ id: 'features', label: t('landing:navigation.features', 'Características'), href: '#features' },
{ id: 'local', label: t('landing:navigation.local', 'Datos Locales'), href: '#local' },
{ id: 'benefits', label: t('landing:navigation.benefits', 'Beneficios'), href: '#benefits' },
{ id: 'pricing', label: t('landing:navigation.pricing', 'Precios'), href: '#pricing' },
{ id: 'faq', label: t('landing:navigation.faq', 'Preguntas Frecuentes'), href: '#faq' }
@@ -76,6 +79,10 @@ const LandingPage: React.FC = () => {
<Shield className="w-4 h-4 mr-2" />
{t('landing:hero.badge_sustainability', 'Reducción de Desperdicio Alimentario')}
</span>
<span className="inline-flex items-center px-3 py-1 rounded-full text-sm font-medium bg-blue-500/10 text-blue-600 dark:text-blue-400">
<MapPin className="w-4 h-4 mr-2" />
{t('landing:hero.badge_local', 'Datos Hiperlocales Españoles')}
</span>
</div>
<h1 className="text-4xl tracking-tight font-extrabold text-[var(--text-primary)] sm:text-5xl lg:text-7xl">
@@ -178,7 +185,7 @@ const LandingPage: React.FC = () => {
</div>
</div>
</div>
{/* Background decoration */}
<div className="absolute top-0 left-0 right-0 h-full overflow-hidden -z-10">
<div className="absolute -top-40 -right-40 w-80 h-80 bg-[var(--color-primary)]/5 rounded-full blur-3xl"></div>
@@ -581,6 +588,128 @@ const LandingPage: React.FC = () => {
</div>
</section>
{/* Hyper-Local Spanish Intelligence Section */}
<section id="local" className="py-24 bg-gradient-to-br from-blue-50 to-indigo-50 dark:from-blue-900/20 dark:to-indigo-900/20">
<div className="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
<div className="text-center mb-16">
<div className="inline-flex items-center gap-2 px-4 py-2 bg-blue-600 text-white rounded-full text-sm font-semibold mb-6">
<MapPin className="w-4 h-4" />
{t('landing:local.badge', 'Datos Hiperlocales Españoles')}
</div>
<h2 className="text-3xl lg:text-5xl font-extrabold text-[var(--text-primary)] mb-6">
{t('landing:local.title_main', 'Inteligencia Hiperlocal')}
<span className="block text-[var(--color-primary)]">{t('landing:local.title_accent', 'para España')}</span>
</h2>
<p className="text-lg text-[var(--text-secondary)] max-w-3xl mx-auto">
{t('landing:local.subtitle', 'Nuestra IA está entrenada con datos hiperlocales españoles: información meteorológica AEMET, datos históricos de tráfico congestionado, y eventos culturales específicos de cada región. Comenzamos en Madrid, pero estamos preparados para tu ciudad con la misma precisión local.')}
</p>
</div>
<div className="grid md:grid-cols-3 gap-8 mb-16">
{/* Weather Data */}
<div className="bg-white dark:bg-[var(--bg-primary)] rounded-2xl p-8 shadow-lg border-2 border-blue-200 dark:border-blue-800 hover:border-blue-400 dark:hover:border-blue-600 transition-all duration-300">
<div className="w-16 h-16 bg-gradient-to-br from-blue-500 to-indigo-600 rounded-2xl flex items-center justify-center mb-6 mx-auto">
<Droplets className="w-8 h-8 text-white" />
</div>
<h3 className="text-xl font-bold text-[var(--text-primary)] mb-4 text-center">{t('landing:local.weather.title', 'Datos Meteorológicos AEMET')}</h3>
<p className="text-[var(--text-secondary)] text-center mb-6">
{t('landing:local.weather.description', 'Precisión meteorológica local con datos AEMET para predicciones hiperlocales que entienden las microclimas de tu ciudad.')}
</p>
<div className="space-y-3">
<div className="flex items-center gap-3">
<CheckCircle2 className="w-5 h-5 text-green-600 flex-shrink-0" />
<span className="text-sm text-[var(--text-secondary)]">{t('landing:local.weather.features.aemet', 'Integración directa con AEMET')}</span>
</div>
<div className="flex items-center gap-3">
<CheckCircle2 className="w-5 h-5 text-green-600 flex-shrink-0" />
<span className="text-sm text-[var(--text-secondary)]">{t('landing:local.weather.features.microclimate', 'Datos de microclima por ciudad')}</span>
</div>
<div className="flex items-center gap-3">
<CheckCircle2 className="w-5 h-5 text-green-600 flex-shrink-0" />
<span className="text-sm text-[var(--text-secondary)]">{t('landing:local.weather.features.local', 'Adaptado a cada región española')}</span>
</div>
</div>
</div>
{/* Traffic Data */}
<div className="bg-white dark:bg-[var(--bg-primary)] rounded-2xl p-8 shadow-lg border-2 border-purple-200 dark:border-purple-800 hover:border-purple-40 dark:hover:border-purple-600 transition-all duration-300">
<div className="w-16 h-16 bg-gradient-to-br from-purple-500 to-pink-600 rounded-2xl flex items-center justify-center mb-6 mx-auto">
<Globe className="w-8 h-8 text-white" />
</div>
<h3 className="text-xl font-bold text-[var(--text-primary)] mb-4 text-center">{t('landing:local.traffic.title', 'Datos de Tráfico Históricos')}</h3>
<p className="text-[var(--text-secondary)] text-center mb-6">
{t('landing:local.traffic.description', 'Análisis de patrones de tráfico congestionado en ciudades españolas para entender mejor los flujos de clientes y demanda.')}
</p>
<div className="space-y-3">
<div className="flex items-center gap-3">
<CheckCircle2 className="w-5 h-5 text-green-600 flex-shrink-0" />
<span className="text-sm text-[var(--text-secondary)]">{t('landing:local.traffic.features.historical', 'Datos históricos de tráfico')}</span>
</div>
<div className="flex items-center gap-3">
<CheckCircle2 className="w-5 h-5 text-green-600 flex-shrink-0" />
<span className="text-sm text-[var(--text-secondary)]">{t('landing:local.traffic.features.patterns', 'Patrones de movilidad por ciudad')}</span>
</div>
<div className="flex items-center gap-3">
<CheckCircle2 className="w-5 h-5 text-green-600 flex-shrink-0" />
<span className="text-sm text-[var(--text-secondary)]">{t('landing:local.traffic.features.local', 'Adaptado a cada ciudad española')}</span>
</div>
</div>
</div>
{/* Events Data */}
<div className="bg-white dark:bg-[var(--bg-primary)] rounded-2xl p-8 shadow-lg border-2 border-amber-200 dark:border-amber-800 hover:border-amber-400 dark:hover:border-amber-600 transition-all duration-300">
<div className="w-16 h-16 bg-gradient-to-br from-amber-500 to-orange-600 rounded-2xl flex items-center justify-center mb-6 mx-auto">
<Calendar className="w-8 h-8 text-white" />
</div>
<h3 className="text-xl font-bold text-[var(--text-primary)] mb-4 text-center">{t('landing:local.events.title', 'Eventos y Festividades')}</h3>
<p className="text-[var(--text-secondary)] text-center mb-6">
{t('landing:local.events.description', 'Integración de festividades locales, nacionales y eventos culturales específicos de cada región para predicciones más precisas.')}
</p>
<div className="space-y-3">
<div className="flex items-center gap-3">
<CheckCircle2 className="w-5 h-5 text-green-600 flex-shrink-0" />
<span className="text-sm text-[var(--text-secondary)]">{t('landing:local.events.features.local_holidays', 'Festivos locales y autonómicos')}</span>
</div>
<div className="flex items-center gap-3">
<CheckCircle2 className="w-5 h-5 text-green-600 flex-shrink-0" />
<span className="text-sm text-[var(--text-secondary)]">{t('landing:local.events.features.cultural', 'Eventos culturales regionales')}</span>
</div>
<div className="flex items-center gap-3">
<CheckCircle2 className="w-5 h-5 text-green-600 flex-shrink-0" />
<span className="text-sm text-[var(--text-secondary)]">{t('landing:local.events.features.scalable', 'Listo para cualquier ciudad española')}</span>
</div>
</div>
</div>
</div>
{/* Spanish Cities Ready */}
<div className="bg-gradient-to-r from-[var(--color-primary)]/10 to-orange-500/10 rounded-2xl p-10 border-2 border-[var(--color-primary)]/30">
<div className="text-center">
<h3 className="text-2xl font-bold text-[var(--text-primary)] mb-4">
{t('landing:local.scalability.title', 'Construido para España, Listo para Tu Ciudad')}
</h3>
<p className="text-[var(--text-secondary)] max-w-3xl mx-auto mb-6">
{t('landing:local.scalability.description', 'Aunque comenzamos en Madrid, nuestra arquitectura está diseñada para escalar a cualquier ciudad española manteniendo la misma precisión hiperlocal.')}
</p>
<div className="flex flex-wrap justify-center gap-6 text-sm">
<div className="flex items-center gap-2">
<MapPin className="w-5 h-5 text-[var(--color-primary)]" />
<span className="text-[var(--text-secondary)]">{t('landing:local.scalability.madrid', 'Madrid (Lanzamiento)')}</span>
</div>
<div className="flex items-center gap-2">
<MapPin className="w-5 h-5 text-[var(--color-success)]" />
<span className="text-[var(--text-secondary)]">{t('landing:local.scalability.scalable', 'Listo para otras ciudades')}</span>
</div>
<div className="flex items-center gap-2">
<Globe className="w-5 h-5 text-blue-600" />
<span className="text-[var(--text-secondary)]">{t('landing:local.scalability.national', 'Arquitectura nacional')}</span>
</div>
</div>
</div>
</div>
</div>
</section>
{/* Sustainability & SDG Compliance Section */}
<section className="py-24 bg-gradient-to-b from-green-50 to-white dark:from-green-950/20 dark:to-[var(--bg-secondary)]">
<div className="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
@@ -608,7 +737,7 @@ const LandingPage: React.FC = () => {
<TreeDeciduous className="w-8 h-8 text-white" />
</div>
<div className="text-center">
<div className="text-4xl font-bold text-green-600 dark:text-green-400 mb-2">855 kg</div>
<div className="text-4xl font-bold text-green-600 dark:text-green-400 mb-2">85 kg</div>
<div className="text-sm font-semibold text-[var(--text-primary)] mb-2">{t('landing:sustainability.metrics.co2_avoided', 'CO₂ Avoided Monthly')}</div>
<div className="text-xs text-[var(--text-secondary)]">{t('landing:sustainability.metrics.co2_equivalent', 'Equivalent to 43 trees planted')}</div>
</div>
@@ -671,34 +800,34 @@ const LandingPage: React.FC = () => {
</div>
</div>
<div className="flex-1 w-full">
<div className="bg-white dark:bg-[var(--bg-primary)] rounded-xl p-6 shadow-lg">
<div className="flex justify-between items-center mb-3">
<span className="text-sm font-semibold text-[var(--text-primary)]">{t('landing:sustainability.sdg.progress_label', 'Progress to Target')}</span>
<div className="bg-white dark:bg-[var(--bg-primary)] rounded-xl p-6 shadow-lg">
<div className="flex justify-between items-center mb-3">
<span className="text-sm font-semibold text-[var(--text-primary)]">{t('landing:sustainability.sdg.progress_label', 'Progress to Target')}</span>
<span className="text-2xl font-bold text-green-600">65%</span>
</div>
<div className="w-full bg-gray-200 dark:bg-gray-700 rounded-full h-6 overflow-hidden">
<div className="bg-gradient-to-r from-green-500 to-emerald-500 h-6 rounded-full flex items-center justify-end pr-3" style={{ width: '65%' }}>
<TrendingUp className="w-4 h-4 text-white" />
</div>
<div className="w-full bg-gray-200 dark:bg-gray-700 rounded-full h-6 overflow-hidden">
<div className="bg-gradient-to-r from-green-500 to-emerald-500 h-6 rounded-full flex items-center justify-end pr-3" style={{ width: '65%' }}>
<TrendingUp className="w-4 h-4 text-white" />
</div>
</div>
<div className="mt-4 grid grid-cols-3 gap-4 text-center">
<div>
<div className="text-xs text-[var(--text-secondary)] mb-1">{t('landing:sustainability.sdg.baseline', 'Baseline')}</div>
<div className="text-lg font-bold text-[var(--text-primary)]">25%</div>
</div>
<div className="mt-4 grid grid-cols-3 gap-4 text-center">
<div>
<div className="text-xs text-[var(--text-secondary)] mb-1">{t('landing:sustainability.sdg.baseline', 'Baseline')}</div>
<div className="text-lg font-bold text-[var(--text-primary)]">25%</div>
</div>
<div>
<div className="text-xs text-[var(--text-secondary)] mb-1">{t('landing:sustainability.sdg.current', 'Current')}</div>
<div>
<div className="text-xs text-[var(--text-secondary)] mb-1">{t('landing:sustainability.sdg.current', 'Current')}</div>
<div className="text-lg font-bold text-green-600">16.25%</div>
</div>
<div>
<div className="text-xs text-[var(--text-secondary)] mb-1">{t('landing:sustainability.sdg.target', 'Target 2030')}</div>
<div className="text-lg font-bold text-[var(--text-primary)]">12.5%</div>
</div>
</div>
<div>
<div className="text-xs text-[var(--text-secondary)] mb-1">{t('landing:sustainability.sdg.target', 'Target 2030')}</div>
<div className="text-lg font-bold text-[var(--text-primary)]">12.5%</div>
</div>
</div>
</div>
</div>
</div>
</div>
{/* Grant Programs Grid */}
<div className="mt-16 grid md:grid-cols-2 lg:grid-cols-3 xl:grid-cols-5 gap-6">
@@ -784,408 +913,408 @@ const LandingPage: React.FC = () => {
</div>
</section>
{/* Benefits Section - Problem/Solution Focus */}
<section id="benefits" className="py-24 bg-[var(--bg-primary)]">
<div className="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
<div className="text-center mb-16">
<h2 className="text-3xl lg:text-4xl font-extrabold text-[var(--text-primary)]">
{t('landing:benefits.title', 'El Problema Que Resolvemos')}
<span className="block text-[var(--color-primary)]">{t('landing:benefits.title_accent', 'Para Panaderías')}</span>
</h2>
<p className="mt-6 text-lg text-[var(--text-secondary)] max-w-3xl mx-auto">
{t('landing:benefits.subtitle', 'Sabemos lo frustrante que es tirar pan al final del día, o quedarte sin producto cuando llegan clientes. La producción artesanal es difícil de optimizar... hasta ahora.')}
</p>
</div>
{/* Benefits Section - Problem/Solution Focus */}
<section id="benefits" className="py-24 bg-[var(--bg-primary)]">
<div className="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
<div className="text-center mb-16">
<h2 className="text-3xl lg:text-4xl font-extrabold text-[var(--text-primary)]">
{t('landing:benefits.title', 'El Problema Que Resolvemos')}
<span className="block text-[var(--color-primary)]">{t('landing:benefits.title_accent', 'Para Panaderías')}</span>
</h2>
<p className="mt-6 text-lg text-[var(--text-secondary)] max-w-3xl mx-auto">
{t('landing:benefits.subtitle', 'Sabemos lo frustrante que es tirar pan al final del día, o quedarte sin producto cuando llegan clientes. La producción artesanal es difícil de optimizar... hasta ahora.')}
</p>
</div>
<div className="grid lg:grid-cols-2 gap-12 items-center">
{/* Left: Problems */}
<div className="space-y-6">
<div className="bg-red-50 dark:bg-red-900/10 border-l-4 border-red-500 p-6 rounded-lg">
<div className="flex items-start gap-4">
<div className="w-10 h-10 bg-red-500 rounded-full flex items-center justify-center flex-shrink-0">
<span className="text-white font-bold text-xl"></span>
</div>
<div>
<h4 className="text-lg font-bold text-red-700 dark:text-red-400 mb-2">{t('landing:benefits.problems.waste.title', 'Desperdicias entre 15-40% de producción')}</h4>
<p className="text-[var(--text-secondary)] text-sm">
{t('landing:benefits.problems.waste.description', 'Al final del día tiras producto que nadie compró. Son cientos de euros a la basura cada semana.')}
</p>
<div className="grid lg:grid-cols-2 gap-12 items-center">
{/* Left: Problems */}
<div className="space-y-6">
<div className="bg-red-50 dark:bg-red-900/10 border-l-4 border-red-500 p-6 rounded-lg">
<div className="flex items-start gap-4">
<div className="w-10 h-10 bg-red-500 rounded-full flex items-center justify-center flex-shrink-0">
<span className="text-white font-bold text-xl"></span>
</div>
<div>
<h4 className="text-lg font-bold text-red-700 dark:text-red-400 mb-2">{t('landing:benefits.problems.waste.title', 'Desperdicias entre 15-40% de producción')}</h4>
<p className="text-[var(--text-secondary)] text-sm">
{t('landing:benefits.problems.waste.description', 'Al final del día tiras producto que nadie compró. Son cientos de euros a la basura cada semana.')}
</p>
</div>
</div>
</div>
</div>
<div className="bg-red-50 dark:bg-red-900/10 border-l-4 border-red-500 p-6 rounded-lg">
<div className="flex items-start gap-4">
<div className="w-10 h-10 bg-red-500 rounded-full flex items-center justify-center flex-shrink-0">
<span className="text-white font-bold text-xl"></span>
</div>
<div>
<div className="bg-red-50 dark:bg-red-900/10 border-l-4 border-red-500 p-6 rounded-lg">
<div className="flex items-start gap-4">
<div className="w-10 h-10 bg-red-500 rounded-full flex items-center justify-center flex-shrink-0">
<span className="text-white font-bold text-xl"></span>
</div>
<div>
<h4 className="text-lg font-bold text-red-700 dark:text-red-400 mb-2">{t('landing:benefits.problems.stockouts.title', 'Pierdes ventas por falta de stock')}</h4>
<p className="text-[var(--text-secondary)] text-sm">
{t('landing:benefits.problems.stockouts.description', 'Clientes que vienen por su pan favorito y se van sin comprar porque ya se te acabó a las 14:00.')}
</p>
<p className="text-[var(--text-secondary)] text-sm">
{t('landing:benefits.problems.stockouts.description', 'Clientes que vienen por su pan favorito y se van sin comprar porque ya se te acabó a las 14:00.')}
</p>
</div>
</div>
</div>
<div className="bg-red-50 dark:bg-red-900/10 border-l-4 border-red-500 p-6 rounded-lg">
<div className="flex items-start gap-4">
<div className="w-10 h-10 bg-red-500 rounded-full flex items-center justify-center flex-shrink-0">
<span className="text-white font-bold text-xl"></span>
</div>
<div>
<h4 className="text-lg font-bold text-red-700 dark:text-red-400 mb-2">{t('landing:benefits.problems.manual.title', 'Excel, papel y "experiencia"')}</h4>
<p className="text-[var(--text-secondary)] text-sm">
{t('landing:benefits.problems.manual.description', 'Planificas basándote en intuición. Funciona... hasta que no funciona.')}
</p>
</div>
</div>
</div>
</div>
<div className="bg-red-50 dark:bg-red-900/10 border-l-4 border-red-500 p-6 rounded-lg">
<div className="flex items-start gap-4">
<div className="w-10 h-10 bg-red-500 rounded-full flex items-center justify-center flex-shrink-0">
<span className="text-white font-bold text-xl"></span>
</div>
<div>
<h4 className="text-lg font-bold text-red-700 dark:text-red-400 mb-2">{t('landing:benefits.problems.manual.title', 'Excel, papel y "experiencia"')}</h4>
<p className="text-[var(--text-secondary)] text-sm">
{t('landing:benefits.problems.manual.description', 'Planificas basándote en intuición. Funciona... hasta que no funciona.')}
</p>
{/* Right: Solutions */}
<div className="space-y-6">
<div className="bg-green-50 dark:bg-green-900/10 border-l-4 border-green-500 p-6 rounded-lg">
<div className="flex items-start gap-4">
<div className="w-10 h-10 bg-green-500 rounded-full flex items-center justify-center flex-shrink-0">
<Check className="text-white w-6 h-6" />
</div>
<div>
<h4 className="text-lg font-bold text-green-700 dark:text-green-400 mb-2">{t('landing:benefits.solutions.exact_production.title', 'Produce exactamente lo que vas a vender')}</h4>
<p className="text-[var(--text-secondary)] text-sm">
{t('landing:benefits.solutions.exact_production.description', 'La IA analiza tus ventas históricas, clima, eventos locales y festivos para predecir demanda real.')}
</p>
</div>
</div>
</div>
</div>
</div>
{/* Right: Solutions */}
<div className="space-y-6">
<div className="bg-green-50 dark:bg-green-900/10 border-l-4 border-green-500 p-6 rounded-lg">
<div className="flex items-start gap-4">
<div className="bg-green-50 dark:bg-green-900/10 border-l-4 border-green-500 p-6 rounded-lg">
<div className="flex items-start gap-4">
<div className="w-10 h-10 bg-green-500 rounded-full flex items-center justify-center flex-shrink-0">
<Check className="text-white w-6 h-6" />
</div>
<div>
<h4 className="text-lg font-bold text-green-700 dark:text-green-400 mb-2">{t('landing:benefits.solutions.exact_production.title', 'Produce exactamente lo que vas a vender')}</h4>
<p className="text-[var(--text-secondary)] text-sm">
{t('landing:benefits.solutions.exact_production.description', 'La IA analiza tus ventas históricas, clima, eventos locales y festivos para predecir demanda real.')}
</p>
</div>
</div>
</div>
<div className="bg-green-50 dark:bg-green-900/10 border-l-4 border-green-500 p-6 rounded-lg">
<div className="flex items-start gap-4">
<div className="w-10 h-10 bg-green-500 rounded-full flex items-center justify-center flex-shrink-0">
<Check className="text-white w-6 h-6" />
</div>
<div>
<Check className="text-white w-6 h-6" />
</div>
<div>
<h4 className="text-lg font-bold text-green-700 dark:text-green-400 mb-2">{t('landing:benefits.solutions.stock_availability.title', 'Siempre tienes stock de lo que más se vende')}</h4>
<p className="text-[var(--text-secondary)] text-sm">
{t('landing:benefits.solutions.stock_availability.description', 'El sistema te avisa qué productos van a tener más demanda cada día, para que nunca te quedes sin.')}
</p>
<p className="text-[var(--text-secondary)] text-sm">
{t('landing:benefits.solutions.stock_availability.description', 'El sistema te avisa qué productos van a tener más demanda cada día, para que nunca te quedes sin.')}
</p>
</div>
</div>
</div>
</div>
<div className="bg-green-50 dark:bg-green-900/10 border-l-4 border-green-500 p-6 rounded-lg">
<div className="flex items-start gap-4">
<div className="bg-green-50 dark:bg-green-900/10 border-l-4 border-green-500 p-6 rounded-lg">
<div className="flex items-start gap-4">
<div className="w-10 h-10 bg-green-500 rounded-full flex items-center justify-center flex-shrink-0">
<Check className="text-white w-6 h-6" />
<Check className="text-white w-6 h-6" />
</div>
<div>
<h4 className="text-lg font-bold text-green-700 dark:text-green-400 mb-2">{t('landing:benefits.solutions.smart_automation.title', 'Automatización inteligente + datos reales')}</h4>
<p className="text-[var(--text-secondary)] text-sm">
{t('landing:benefits.solutions.smart_automation.description', 'Desde planificación de producción hasta gestión de inventario. Todo basado en matemáticas, no corazonadas.')}
</p>
</div>
</div>
<div>
<h4 className="text-lg font-bold text-green-700 dark:text-green-400 mb-2">{t('landing:benefits.solutions.smart_automation.title', 'Automatización inteligente + datos reales')}</h4>
<p className="text-[var(--text-secondary)] text-sm">
{t('landing:benefits.solutions.smart_automation.description', 'Desde planificación de producción hasta gestión de inventario. Todo basado en matemáticas, no corazonadas.')}
</p>
</div>
</div>
</div>
{/* Value Proposition Summary */}
<div className="mt-16 bg-gradient-to-r from-[var(--color-primary)]/10 to-orange-500/10 rounded-2xl p-8 border-2 border-[var(--color-primary)]/30">
<div className="text-center">
<h3 className="text-2xl font-bold text-[var(--text-primary)] mb-4">
{t('landing:benefits.value_proposition.title', 'El Objetivo: Que Ahorres Dinero Desde el Primer Mes')}
</h3>
<p className="text-[var(--text-secondary)] max-w-3xl mx-auto mb-6" dangerouslySetInnerHTML={{ __html: t('landing:benefits.value_proposition.description', 'No prometemos números mágicos porque cada panadería es diferente. Lo que SÍ prometemos es que si después de 3 meses no has reducido desperdicios o mejorado tus márgenes, <strong>te ayudamos gratis a optimizar tu negocio de otra forma</strong>.') }} />
<div className="flex flex-wrap justify-center gap-6 text-sm">
<div className="flex items-center gap-2">
<TrendingUp className="w-5 h-5 text-[var(--color-success)]" />
<span className="text-[var(--text-secondary)]">{t('landing:benefits.value_proposition.points.waste', 'Menos desperdicio = más beneficio')}</span>
</div>
<div className="flex items-center gap-2">
<Clock className="w-5 h-5 text-blue-600" />
<span className="text-[var(--text-secondary)]">{t('landing:benefits.value_proposition.points.time', 'Menos tiempo en Excel, más en tu negocio')}</span>
</div>
<div className="flex items-center gap-2">
<Shield className="w-5 h-5 text-purple-600" />
<span className="text-[var(--text-secondary)]">{t('landing:benefits.value_proposition.points.data', 'Tus datos siempre son tuyos')}</span>
</div>
</div>
</div>
</div>
</div>
</section>
{/* Value Proposition Summary */}
<div className="mt-16 bg-gradient-to-r from-[var(--color-primary)]/10 to-orange-500/10 rounded-2xl p-8 border-2 border-[var(--color-primary)]/30">
<div className="text-center">
<h3 className="text-2xl font-bold text-[var(--text-primary)] mb-4">
{t('landing:benefits.value_proposition.title', 'El Objetivo: Que Ahorres Dinero Desde el Primer Mes')}
</h3>
<p className="text-[var(--text-secondary)] max-w-3xl mx-auto mb-6" dangerouslySetInnerHTML={{ __html: t('landing:benefits.value_proposition.description', 'No prometemos números mágicos porque cada panadería es diferente. Lo que SÍ prometemos es que si después de 3 meses no has reducido desperdicios o mejorado tus márgenes, <strong>te ayudamos gratis a optimizar tu negocio de otra forma</strong>.') }} />
<div className="flex flex-wrap justify-center gap-6 text-sm">
<div className="flex items-center gap-2">
<TrendingUp className="w-5 h-5 text-[var(--color-success)]" />
<span className="text-[var(--text-secondary)]">{t('landing:benefits.value_proposition.points.waste', 'Menos desperdicio = más beneficio')}</span>
</div>
<div className="flex items-center gap-2">
<Clock className="w-5 h-5 text-blue-600" />
<span className="text-[var(--text-secondary)]">{t('landing:benefits.value_proposition.points.time', 'Menos tiempo en Excel, más en tu negocio')}</span>
</div>
<div className="flex items-center gap-2">
<Shield className="w-5 h-5 text-purple-600" />
<span className="text-[var(--text-secondary)]">{t('landing:benefits.value_proposition.points.data', 'Tus datos siempre son tuyos')}</span>
</div>
{/* Risk Reversal & Transparency Section */}
<section id="testimonials" className="py-24 bg-[var(--bg-secondary)]">
<div className="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
<div className="text-center mb-16">
<h2 className="text-3xl lg:text-4xl font-extrabold text-[var(--text-primary)]">
{t('landing:risk_reversal.title', 'Sin Riesgo. Sin Ataduras.')}
</h2>
<p className="mt-4 max-w-2xl mx-auto text-lg text-[var(--text-secondary)]">
{t('landing:risk_reversal.subtitle', 'Somos transparentes: esto es un piloto. Estamos construyendo la mejor herramienta para panaderías, y necesitamos tu ayuda.')}
</p>
</div>
<div className="grid grid-cols-1 lg:grid-cols-2 gap-12 mb-16">
{/* Left: What You Get */}
<div className="bg-gradient-to-br from-green-50 to-emerald-50 dark:from-green-900/20 dark:to-emerald-900/20 rounded-2xl p-8 border-2 border-green-300 dark:border-green-700">
<h3 className="text-2xl font-bold text-[var(--text-primary)] mb-6 flex items-center gap-3">
<div className="w-10 h-10 bg-green-600 rounded-full flex items-center justify-center">
<Check className="w-6 h-6 text-white" />
</div>
{t('landing:risk_reversal.what_you_get.title', 'Lo Que Obtienes')}
</h3>
<ul className="space-y-4">
<li className="flex items-start gap-3">
<Check className="w-5 h-5 text-green-600 dark:text-green-400 mt-1 flex-shrink-0" />
<span className="text-[var(--text-secondary)]" dangerouslySetInnerHTML={{ __html: t('landing:risk_reversal.what_you_get.free_trial', '<strong>3 meses completamente gratis</strong> para probar todas las funcionalidades') }} />
</li>
<li className="flex items-start gap-3">
<Check className="w-5 h-5 text-green-600 dark:text-green-400 mt-1 flex-shrink-0" />
<span className="text-[var(--text-secondary)]" dangerouslySetInnerHTML={{ __html: t('landing:risk_reversal.what_you_get.lifetime_discount', '<strong>20% de descuento de por vida</strong> si decides continuar después del piloto') }} />
</li>
<li className="flex items-start gap-3">
<Check className="w-5 h-5 text-green-600 dark:text-green-400 mt-1 flex-shrink-0" />
<span className="text-[var(--text-secondary)]" dangerouslySetInnerHTML={{ __html: t('landing:risk_reversal.what_you_get.founder_support', '<strong>Soporte directo del equipo fundador</strong> - respondemos en horas, no días') }} />
</li>
<li className="flex items-start gap-3">
<Check className="w-5 h-5 text-green-600 dark:text-green-400 mt-1 flex-shrink-0" />
<span className="text-[var(--text-secondary)]" dangerouslySetInnerHTML={{ __html: t('landing:risk_reversal.what_you_get.priority_features', '<strong>Tus ideas se implementan primero</strong> - construimos lo que realmente necesitas') }} />
</li>
<li className="flex items-start gap-3">
<Check className="w-5 h-5 text-green-600 dark:text-green-400 mt-1 flex-shrink-0" />
<span className="text-[var(--text-secondary)]" dangerouslySetInnerHTML={{ __html: t('landing:risk_reversal.what_you_get.cancel_anytime', '<strong>Cancelas cuando quieras</strong> sin explicaciones ni penalizaciones') }} />
</li>
</ul>
</div>
</div>
</div>
</div>
</section>
{/* Risk Reversal & Transparency Section */}
<section id="testimonials" className="py-24 bg-[var(--bg-secondary)]">
<div className="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
<div className="text-center mb-16">
<h2 className="text-3xl lg:text-4xl font-extrabold text-[var(--text-primary)]">
{t('landing:risk_reversal.title', 'Sin Riesgo. Sin Ataduras.')}
</h2>
<p className="mt-4 max-w-2xl mx-auto text-lg text-[var(--text-secondary)]">
{t('landing:risk_reversal.subtitle', 'Somos transparentes: esto es un piloto. Estamos construyendo la mejor herramienta para panaderías, y necesitamos tu ayuda.')}
</p>
</div>
<div className="grid grid-cols-1 lg:grid-cols-2 gap-12 mb-16">
{/* Left: What You Get */}
<div className="bg-gradient-to-br from-green-50 to-emerald-50 dark:from-green-900/20 dark:to-emerald-900/20 rounded-2xl p-8 border-2 border-green-300 dark:border-green-700">
<h3 className="text-2xl font-bold text-[var(--text-primary)] mb-6 flex items-center gap-3">
<div className="w-10 h-10 bg-green-600 rounded-full flex items-center justify-center">
<Check className="w-6 h-6 text-white" />
</div>
{t('landing:risk_reversal.what_you_get.title', 'Lo Que Obtienes')}
</h3>
<ul className="space-y-4">
<li className="flex items-start gap-3">
<Check className="w-5 h-5 text-green-600 dark:text-green-400 mt-1 flex-shrink-0" />
<span className="text-[var(--text-secondary)]" dangerouslySetInnerHTML={{ __html: t('landing:risk_reversal.what_you_get.free_trial', '<strong>3 meses completamente gratis</strong> para probar todas las funcionalidades') }} />
</li>
<li className="flex items-start gap-3">
<Check className="w-5 h-5 text-green-600 dark:text-green-400 mt-1 flex-shrink-0" />
<span className="text-[var(--text-secondary)]" dangerouslySetInnerHTML={{ __html: t('landing:risk_reversal.what_you_get.lifetime_discount', '<strong>20% de descuento de por vida</strong> si decides continuar después del piloto') }} />
</li>
<li className="flex items-start gap-3">
<Check className="w-5 h-5 text-green-600 dark:text-green-400 mt-1 flex-shrink-0" />
<span className="text-[var(--text-secondary)]" dangerouslySetInnerHTML={{ __html: t('landing:risk_reversal.what_you_get.founder_support', '<strong>Soporte directo del equipo fundador</strong> - respondemos en horas, no días') }} />
</li>
<li className="flex items-start gap-3">
<Check className="w-5 h-5 text-green-600 dark:text-green-400 mt-1 flex-shrink-0" />
<span className="text-[var(--text-secondary)]" dangerouslySetInnerHTML={{ __html: t('landing:risk_reversal.what_you_get.priority_features', '<strong>Tus ideas se implementan primero</strong> - construimos lo que realmente necesitas') }} />
</li>
<li className="flex items-start gap-3">
<Check className="w-5 h-5 text-green-600 dark:text-green-400 mt-1 flex-shrink-0" />
<span className="text-[var(--text-secondary)]" dangerouslySetInnerHTML={{ __html: t('landing:risk_reversal.what_you_get.cancel_anytime', '<strong>Cancelas cuando quieras</strong> sin explicaciones ni penalizaciones') }} />
</li>
</ul>
</div>
{/* Right: What We Ask */}
<div className="bg-gradient-to-br from-blue-50 to-indigo-50 dark:from-blue-900/20 dark:to-indigo-900/20 rounded-2xl p-8 border-2 border-blue-300 dark:border-blue-700">
<h3 className="text-2xl font-bold text-[var(--text-primary)] mb-6 flex items-center gap-3">
{/* Right: What We Ask */}
<div className="bg-gradient-to-br from-blue-50 to-indigo-50 dark:from-blue-900/20 dark:to-indigo-900/20 rounded-2xl p-8 border-2 border-blue-300 dark:border-blue-700">
<h3 className="text-2xl font-bold text-[var(--text-primary)] mb-6 flex items-center gap-3">
<div className="w-10 h-10 bg-blue-600 rounded-full flex items-center justify-center">
<Users className="w-6 h-6 text-white" />
</div>
{t('landing:risk_reversal.what_we_ask.title', 'Lo Que Pedimos')}
</h3>
<ul className="space-y-4">
<li className="flex items-start gap-3">
<ArrowRight className="w-5 h-5 text-blue-600 dark:text-blue-400 mt-1 flex-shrink-0" />
<span className="text-[var(--text-secondary)]" dangerouslySetInnerHTML={{ __html: t('landing:risk_reversal.what_we_ask.feedback', '<strong>Feedback honesto semanal</strong> (15 min) sobre qué funciona y qué no') }} />
</li>
<li className="flex items-start gap-3">
<ArrowRight className="w-5 h-5 text-blue-600 dark:text-blue-400 mt-1 flex-shrink-0" />
<span className="text-[var(--text-secondary)]" dangerouslySetInnerHTML={{ __html: t('landing:risk_reversal.what_we_ask.patience', '<strong>Paciencia con bugs</strong> - estamos en fase beta, habrá imperfecciones') }} />
</li>
<li className="flex items-start gap-3">
<ArrowRight className="w-5 h-5 text-blue-600 dark:text-blue-400 mt-1 flex-shrink-0" />
<span className="text-[var(--text-secondary)]" dangerouslySetInnerHTML={{ __html: t('landing:risk_reversal.what_we_ask.data', '<strong>Datos de ventas históricos</strong> (opcional) para mejorar las predicciones') }} />
</li>
<li className="flex items-start gap-3">
<ArrowRight className="w-5 h-5 text-blue-600 dark:text-blue-400 mt-1 flex-shrink-0" />
<span className="text-[var(--text-secondary)]" dangerouslySetInnerHTML={{ __html: t('landing:risk_reversal.what_we_ask.communication', '<strong>Comunicación abierta</strong> - queremos saber si algo no te gusta') }} />
</li>
</ul>
<Users className="w-6 h-6 text-white" />
</div>
{t('landing:risk_reversal.what_we_ask.title', 'Lo Que Pedimos')}
</h3>
<ul className="space-y-4">
<li className="flex items-start gap-3">
<ArrowRight className="w-5 h-5 text-blue-600 dark:text-blue-400 mt-1 flex-shrink-0" />
<span className="text-[var(--text-secondary)]" dangerouslySetInnerHTML={{ __html: t('landing:risk_reversal.what_we_ask.feedback', '<strong>Feedback honesto semanal</strong> (15 min) sobre qué funciona y qué no') }} />
</li>
<li className="flex items-start gap-3">
<ArrowRight className="w-5 h-5 text-blue-600 dark:text-blue-400 mt-1 flex-shrink-0" />
<span className="text-[var(--text-secondary)]" dangerouslySetInnerHTML={{ __html: t('landing:risk_reversal.what_we_ask.patience', '<strong>Paciencia con bugs</strong> - estamos en fase beta, habrá imperfecciones') }} />
</li>
<li className="flex items-start gap-3">
<ArrowRight className="w-5 h-5 text-blue-600 dark:text-blue-400 mt-1 flex-shrink-0" />
<span className="text-[var(--text-secondary)]" dangerouslySetInnerHTML={{ __html: t('landing:risk_reversal.what_we_ask.data', '<strong>Datos de ventas históricos</strong> (opcional) para mejorar las predicciones') }} />
</li>
<li className="flex items-start gap-3">
<ArrowRight className="w-5 h-5 text-blue-600 dark:text-blue-400 mt-1 flex-shrink-0" />
<span className="text-[var(--text-secondary)]" dangerouslySetInnerHTML={{ __html: t('landing:risk_reversal.what_we_ask.communication', '<strong>Comunicación abierta</strong> - queremos saber si algo no te gusta') }} />
</li>
</ul>
<div className="mt-6 p-4 bg-white dark:bg-gray-800 rounded-lg border border-blue-200 dark:border-blue-800">
<p className="text-sm text-[var(--text-secondary)] italic" dangerouslySetInnerHTML={{ __html: t('landing:risk_reversal.promise', '<strong>Promesa:</strong> Si después de 3 meses sientes que no te ayudamos a ahorrar dinero o reducir desperdicios, te damos una sesión gratuita de consultoría para optimizar tu panadería de otra forma.') }} />
<div className="mt-6 p-4 bg-white dark:bg-gray-800 rounded-lg border border-blue-200 dark:border-blue-800">
<p className="text-sm text-[var(--text-secondary)] italic" dangerouslySetInnerHTML={{ __html: t('landing:risk_reversal.promise', '<strong>Promesa:</strong> Si después de 3 meses sientes que no te ayudamos a ahorrar dinero o reducir desperdicios, te damos una sesión gratuita de consultoría para optimizar tu panadería de otra forma.') }} />
</div>
</div>
</div>
{/* Credibility Signals */}
<div className="bg-[var(--bg-primary)] rounded-2xl p-8 shadow-lg border border-[var(--border-primary)]">
<div className="text-center mb-8">
<h3 className="text-xl font-bold text-[var(--text-primary)] mb-3">
{t('landing:risk_reversal.credibility.title', '¿Por Qué Confiar en Nosotros?')}
</h3>
<p className="text-[var(--text-secondary)]">
{t('landing:risk_reversal.credibility.subtitle', 'Entendemos que probar nueva tecnología es un riesgo. Por eso somos completamente transparentes:')}
</p>
</div>
<div className="grid grid-cols-1 md:grid-cols-3 gap-6">
<div className="text-center">
<div className="w-16 h-16 bg-purple-100 dark:bg-purple-900/30 rounded-full flex items-center justify-center mx-auto mb-4">
<Shield className="w-8 h-8 text-purple-600 dark:text-purple-400" />
</div>
<h4 className="font-semibold text-[var(--text-primary)] mb-2">{t('landing:risk_reversal.credibility.spanish.title', '100% Española')}</h4>
<p className="text-sm text-[var(--text-secondary)]">
{t('landing:risk_reversal.credibility.spanish.description', 'Empresa registrada en España. Tus datos están protegidos por RGPD y nunca salen de la UE.')}
</p>
</div>
<div className="text-center">
<div className="w-16 h-16 bg-orange-100 dark:bg-orange-900/30 rounded-full flex items-center justify-center mx-auto mb-4">
<Brain className="w-8 h-8 text-orange-600 dark:text-orange-400" />
</div>
<h4 className="font-semibold text-[var(--text-primary)] mb-2">{t('landing:risk_reversal.credibility.technology.title', 'Tecnología Probada')}</h4>
<p className="text-sm text-[var(--text-secondary)]">
{t('landing:risk_reversal.credibility.technology.description', 'Usamos algoritmos de IA validados académicamente, adaptados específicamente para panaderías.')}
</p>
</div>
<div className="text-center">
<div className="w-16 h-16 bg-teal-100 dark:bg-teal-900/30 rounded-full flex items-center justify-center mx-auto mb-4">
<Award className="w-8 h-8 text-teal-600 dark:text-teal-400" />
</div>
<h4 className="font-semibold text-[var(--text-primary)] mb-2">{t('landing:risk_reversal.credibility.team.title', 'Equipo Experto')}</h4>
<p className="text-sm text-[var(--text-secondary)]">
{t('landing:risk_reversal.credibility.team.description', 'Fundadores con experiencia en proyectos de alto valor tecnológico + proyectos internacionales.')}
</p>
</div>
</div>
</div>
</div>
</section>
{/* Credibility Signals */}
<div className="bg-[var(--bg-primary)] rounded-2xl p-8 shadow-lg border border-[var(--border-primary)]">
<div className="text-center mb-8">
<h3 className="text-xl font-bold text-[var(--text-primary)] mb-3">
{t('landing:risk_reversal.credibility.title', '¿Por Qué Confiar en Nosotros?')}
</h3>
<p className="text-[var(--text-secondary)]">
{t('landing:risk_reversal.credibility.subtitle', 'Entendemos que probar nueva tecnología es un riesgo. Por eso somos completamente transparentes:')}
{/* Pricing Section */}
<section id="pricing">
<PricingSection />
</section>
{/* FAQ Section */}
<section id="faq" className="py-24 bg-[var(--bg-secondary)]">
<div className="max-w-4xl mx-auto px-4 sm:px-6 lg:px-8">
<div className="text-center">
<h2 className="text-3xl lg:text-4xl font-extrabold text-[var(--text-primary)]">
{t('landing:faq.title', 'Preguntas Frecuentes')}
</h2>
<p className="mt-4 text-lg text-[var(--text-secondary)]">
{t('landing:faq.subtitle', 'Todo lo que necesitas saber sobre Panadería IA')}
</p>
</div>
<div className="grid grid-cols-1 md:grid-cols-3 gap-6">
<div className="text-center">
<div className="w-16 h-16 bg-purple-100 dark:bg-purple-900/30 rounded-full flex items-center justify-center mx-auto mb-4">
<Shield className="w-8 h-8 text-purple-600 dark:text-purple-400" />
</div>
<h4 className="font-semibold text-[var(--text-primary)] mb-2">{t('landing:risk_reversal.credibility.spanish.title', '100% Española')}</h4>
<p className="text-sm text-[var(--text-secondary)]">
{t('landing:risk_reversal.credibility.spanish.description', 'Empresa registrada en España. Tus datos están protegidos por RGPD y nunca salen de la UE.')}
</p>
</div>
<div className="text-center">
<div className="w-16 h-16 bg-orange-100 dark:bg-orange-900/30 rounded-full flex items-center justify-center mx-auto mb-4">
<Brain className="w-8 h-8 text-orange-600 dark:text-orange-400" />
</div>
<h4 className="font-semibold text-[var(--text-primary)] mb-2">{t('landing:risk_reversal.credibility.technology.title', 'Tecnología Probada')}</h4>
<p className="text-sm text-[var(--text-secondary)]">
{t('landing:risk_reversal.credibility.technology.description', 'Usamos algoritmos de IA validados académicamente, adaptados específicamente para panaderías.')}
</p>
</div>
<div className="text-center">
<div className="w-16 h-16 bg-teal-100 dark:bg-teal-900/30 rounded-full flex items-center justify-center mx-auto mb-4">
<Award className="w-8 h-8 text-teal-600 dark:text-teal-400" />
</div>
<h4 className="font-semibold text-[var(--text-primary)] mb-2">{t('landing:risk_reversal.credibility.team.title', 'Equipo Experto')}</h4>
<p className="text-sm text-[var(--text-secondary)]">
{t('landing:risk_reversal.credibility.team.description', 'Fundadores con experiencia en proyectos de alto valor tecnológico + proyectos internacionales.')}
</p>
</div>
</div>
</div>
</div>
</section>
{/* Pricing Section */}
<section id="pricing">
<PricingSection />
</section>
{/* FAQ Section */}
<section id="faq" className="py-24 bg-[var(--bg-secondary)]">
<div className="max-w-4xl mx-auto px-4 sm:px-6 lg:px-8">
<div className="text-center">
<h2 className="text-3xl lg:text-4xl font-extrabold text-[var(--text-primary)]">
{t('landing:faq.title', 'Preguntas Frecuentes')}
</h2>
<p className="mt-4 text-lg text-[var(--text-secondary)]">
{t('landing:faq.subtitle', 'Todo lo que necesitas saber sobre Panadería IA')}
</p>
</div>
<div className="mt-16 space-y-8">
<div className="bg-[var(--bg-primary)] rounded-xl p-8 border border-[var(--border-primary)]">
<h3 className="text-lg font-semibold text-[var(--text-primary)]">
<div className="mt-16 space-y-8">
<div className="bg-[var(--bg-primary)] rounded-xl p-8 border border-[var(--border-primary)]">
<h3 className="text-lg font-semibold text-[var(--text-primary)]">
{t('landing:faq.questions.accuracy.q', '¿Qué tan precisa es la predicción de demanda?')}
</h3>
<p className="mt-4 text-[var(--text-secondary)]">
{t('landing:faq.questions.accuracy.a', 'Nuestra IA alcanza una precisión del 92% en predicciones de demanda, analizando más de 50 variables incluyendo histórico de ventas, clima, eventos locales, estacionalidad y tendencias de mercado. La precisión mejora continuamente con más datos de tu panadería.')}
</p>
</div>
</h3>
<p className="mt-4 text-[var(--text-secondary)]">
{t('landing:faq.questions.accuracy.a', 'Nuestra IA alcanza una precisión del 92% en predicciones de demanda, analizando más de 50 variables incluyendo histórico de ventas, clima, eventos locales, estacionalidad y tendencias de mercado. La precisión mejora continuamente con más datos de tu panadería.')}
</p>
</div>
<div className="bg-[var(--bg-primary)] rounded-xl p-8 border border-[var(--border-primary)]">
<h3 className="text-lg font-semibold text-[var(--text-primary)]">
{t('landing:faq.questions.implementation.q', '¿Cuánto tiempo toma implementar el sistema?')}
</h3>
<p className="mt-4 text-[var(--text-secondary)]">
{t('landing:faq.questions.implementation.a', 'La configuración inicial toma solo 5 minutos. Nuestro equipo te ayuda a migrar tus datos históricos en 24-48 horas. La IA comienza a generar predicciones útiles después de una semana de datos, alcanzando máxima precisión en 30 días.')}
</p>
</div>
<div className="bg-[var(--bg-primary)] rounded-xl p-8 border border-[var(--border-primary)]">
<h3 className="text-lg font-semibold text-[var(--text-primary)]">
{t('landing:faq.questions.implementation.q', '¿Cuánto tiempo toma implementar el sistema?')}
</h3>
<p className="mt-4 text-[var(--text-secondary)]">
{t('landing:faq.questions.implementation.a', 'La configuración inicial toma solo 5 minutos. Nuestro equipo te ayuda a migrar tus datos históricos en 24-48 horas. La IA comienza a generar predicciones útiles después de una semana de datos, alcanzando máxima precisión en 30 días.')}
</p>
</div>
<div className="bg-[var(--bg-primary)] rounded-xl p-8 border border-[var(--border-primary)]">
<h3 className="text-lg font-semibold text-[var(--text-primary)]">
{t('landing:faq.questions.integration.q', '¿Se integra con mi sistema POS actual?')}
</h3>
<p className="mt-4 text-[var(--text-secondary)]">
{t('landing:faq.questions.integration.a', 'Sí, nos integramos con más de 50 sistemas POS populares en España. También incluimos nuestro propio POS optimizado para panaderías. Si usas un sistema específico, nuestro equipo técnico puede crear una integración personalizada.')}
</p>
</div>
<div className="bg-[var(--bg-primary)] rounded-xl p-8 border border-[var(--border-primary)]">
<h3 className="text-lg font-semibold text-[var(--text-primary)]">
{t('landing:faq.questions.integration.q', '¿Se integra con mi sistema POS actual?')}
</h3>
<p className="mt-4 text-[var(--text-secondary)]">
{t('landing:faq.questions.integration.a', 'Sí, nos integramos con más de 50 sistemas POS populares en España. También incluimos nuestro propio POS optimizado para panaderías. Si usas un sistema específico, nuestro equipo técnico puede crear una integración personalizada.')}
</p>
</div>
<div className="bg-[var(--bg-primary)] rounded-xl p-8 border border-[var(--border-primary)]">
<h3 className="text-lg font-semibold text-[var(--text-primary)]">
{t('landing:faq.questions.support.q', '¿Qué soporte técnico ofrecen?')}
</h3>
<p className="mt-4 text-[var(--text-secondary)]">
{t('landing:faq.questions.support.a', 'Ofrecemos soporte 24/7 en español por chat, email y teléfono. Todos nuestros técnicos son expertos en operaciones de panadería. Además, incluimos onboarding personalizado y training para tu equipo sin costo adicional.')}
</p>
</div>
<div className="bg-[var(--bg-primary)] rounded-xl p-8 border border-[var(--border-primary)]">
<h3 className="text-lg font-semibold text-[var(--text-primary)]">
{t('landing:faq.questions.support.q', '¿Qué soporte técnico ofrecen?')}
</h3>
<p className="mt-4 text-[var(--text-secondary)]">
{t('landing:faq.questions.support.a', 'Ofrecemos soporte 24/7 en español por chat, email y teléfono. Todos nuestros técnicos son expertos en operaciones de panadería. Además, incluimos onboarding personalizado y training para tu equipo sin costo adicional.')}
</p>
</div>
<div className="bg-[var(--bg-primary)] rounded-xl p-8 border border-[var(--border-primary)]">
<h3 className="text-lg font-semibold text-[var(--text-primary)]">
{t('landing:faq.questions.security.q', '¿Mis datos están seguros?')}
</h3>
<p className="mt-4 text-[var(--text-secondary)]">
{t('landing:faq.questions.security.a', 'Absolutamente. Utilizamos cifrado AES-256, servidores en la UE, cumplimos 100% con RGPD y realizamos auditorías de seguridad trimestrales. Tus datos nunca se comparten con terceros y tienes control total sobre tu información.')}
</p>
<div className="bg-[var(--bg-primary)] rounded-xl p-8 border border-[var(--border-primary)]">
<h3 className="text-lg font-semibold text-[var(--text-primary)]">
{t('landing:faq.questions.security.q', '¿Mis datos están seguros?')}
</h3>
<p className="mt-4 text-[var(--text-secondary)]">
{t('landing:faq.questions.security.a', 'Absolutamente. Utilizamos cifrado AES-256, servidores en la UE, cumplimos 100% con RGPD y realizamos auditorías de seguridad trimestrales. Tus datos nunca se comparten con terceros y tienes control total sobre tu información.')}
</p>
</div>
</div>
</div>
</div>
</section>
</section>
{/* Final CTA Section - With Urgency & Scarcity */}
<section className="py-24 bg-gradient-to-r from-[var(--color-primary)] to-[var(--color-primary-dark)] relative overflow-hidden">
<div className="absolute inset-0">
<div className="absolute -top-40 -right-40 w-80 h-80 bg-white/5 rounded-full blur-3xl"></div>
<div className="absolute -bottom-40 -left-40 w-80 h-80 bg-white/5 rounded-full blur-3xl"></div>
</div>
<div className="max-w-4xl mx-auto text-center px-4 sm:px-6 lg:px-8 relative">
{/* Scarcity Badge */}
<div className="inline-flex items-center gap-2 bg-red-600 text-white px-6 py-3 rounded-full text-sm font-bold mb-6 shadow-lg animate-pulse">
<Clock className="w-5 h-5" />
<span>{t('landing:final_cta.scarcity_badge', 'Quedan 12 plazas de las 20 del programa piloto')}</span>
{/* Final CTA Section - With Urgency & Scarcity */}
<section className="py-24 bg-gradient-to-r from-[var(--color-primary)] to-[var(--color-primary-dark)] relative overflow-hidden">
<div className="absolute inset-0">
<div className="absolute -top-40 -right-40 w-80 h-80 bg-white/5 rounded-full blur-3xl"></div>
<div className="absolute -bottom-40 -left-40 w-80 h-80 bg-white/5 rounded-full blur-3xl"></div>
</div>
<h2 className="text-3xl lg:text-5xl font-extrabold text-white">
{t('landing:final_cta.title', 'Sé de las Primeras 20 Panaderías')}
<span className="block text-white/90 mt-2">{t('landing:final_cta.title_accent', 'En Probar Esta Tecnología')}</span>
</h2>
<p className="mt-6 text-lg text-white/90 max-w-2xl mx-auto" dangerouslySetInnerHTML={{ __html: t('landing:final_cta.subtitle', 'No es para todo el mundo. Buscamos panaderías que quieran <strong>reducir desperdicios y aumentar ganancias</strong> con ayuda de IA, a cambio de feedback honesto.') }} />
<div className="max-w-4xl mx-auto text-center px-4 sm:px-6 lg:px-8 relative">
{/* Scarcity Badge */}
<div className="inline-flex items-center gap-2 bg-red-600 text-white px-6 py-3 rounded-full text-sm font-bold mb-6 shadow-lg animate-pulse">
<Clock className="w-5 h-5" />
<span>{t('landing:final_cta.scarcity_badge', 'Quedan 12 plazas de las 20 del programa piloto')}</span>
</div>
<h2 className="text-3xl lg:text-5xl font-extrabold text-white">
{t('landing:final_cta.title', 'Sé de las Primeras 20 Panaderías')}
<span className="block text-white/90 mt-2">{t('landing:final_cta.title_accent', 'En Probar Esta Tecnología')}</span>
</h2>
<p className="mt-6 text-lg text-white/90 max-w-2xl mx-auto" dangerouslySetInnerHTML={{ __html: t('landing:final_cta.subtitle', 'No es para todo el mundo. Buscamos panaderías que quieran <strong>reducir desperdicios y aumentar ganancias</strong> con ayuda de IA, a cambio de feedback honesto.') }} />
<div className="mt-10 flex flex-col sm:flex-row gap-6 justify-center">
<Link to={getRegisterUrl()} className="w-full sm:w-auto">
<Button
size="lg"
className="w-full sm:w-auto group relative px-10 py-5 text-lg font-bold bg-gradient-to-r from-[var(--color-primary)] to-orange-600 hover:from-[var(--color-primary-dark)] hover:to-orange-700 text-white shadow-2xl hover:shadow-3xl transform hover:scale-105 transition-all duration-300 rounded-xl overflow-hidden"
>
<span className="absolute inset-0 w-full h-full bg-gradient-to-r from-white/0 via-white/20 to-white/0 translate-x-[-100%] group-hover:translate-x-[100%] transition-transform duration-700"></span>
<span className="relative flex items-center justify-center gap-2">
{t('landing:final_cta.cta_primary', 'Solicitar Plaza en el Piloto')}
<ArrowRight className="w-6 h-6 group-hover:translate-x-1 transition-transform duration-200" />
</span>
</Button>
</Link>
<Link to={getDemoUrl()} className="w-full sm:w-auto">
<Button
variant="outline"
size="lg"
<Link to={getRegisterUrl()} className="w-full sm:w-auto">
<Button
size="lg"
className="w-full sm:w-auto group relative px-10 py-5 text-lg font-bold bg-gradient-to-r from-[var(--color-primary)] to-orange-600 hover:from-[var(--color-primary-dark)] hover:to-orange-700 text-white shadow-2xl hover:shadow-3xl transform hover:scale-105 transition-all duration-300 rounded-xl overflow-hidden"
>
<span className="absolute inset-0 w-full h-full bg-gradient-to-r from-white/0 via-white/20 to-white/0 translate-x-[-100%] group-hover:translate-x-[100%] transition-transform duration-700"></span>
<span className="relative flex items-center justify-center gap-2">
{t('landing:final_cta.cta_primary', 'Solicitar Plaza en el Piloto')}
<ArrowRight className="w-6 h-6 group-hover:translate-x-1 transition-transform duration-200" />
</span>
</Button>
</Link>
<Link to={getDemoUrl()} className="w-full sm:w-auto">
<Button
variant="outline"
size="lg"
className="w-full sm:w-auto group px-10 py-5 text-lg font-semibold border-3 border-[var(--color-primary)] text-[var(--text-primary)] hover:bg-[var(--color-primary)] hover:text-white hover:border-[var(--color-primary-dark)] shadow-lg hover:shadow-xl transition-all duration-300 rounded-xl backdrop-blur-sm bg-white/50 dark:bg-gray-800/50"
>
<span className="flex items-center justify-center gap-2">
<Play className="w-5 h-5 group-hover:scale-110 transition-transform duration-200" />
{t('landing:hero.cta_secondary', 'Ver Demo')}
</span>
</Button>
</Link>
</div>
>
<span className="flex items-center justify-center gap-2">
<Play className="w-5 h-5 group-hover:scale-110 transition-transform duration-200" />
{t('landing:hero.cta_secondary', 'Ver Demo')}
</span>
</Button>
</Link>
</div>
{/* Social Proof Alternative - Loss Aversion */}
<div className="mt-12 bg-white/10 backdrop-blur-sm rounded-2xl p-6 border border-white/20">
<p className="text-white/90 text-base mb-4">
<strong>{t('landing:final_cta.why_now.title', '¿Por qué actuar ahora?')}</strong>
</p>
<div className="grid grid-cols-1 sm:grid-cols-3 gap-6 text-sm">
<div className="flex flex-col items-center">
<Award className="w-8 h-8 text-white mb-2" />
<div className="text-white font-semibold">{t('landing:final_cta.why_now.lifetime_discount.title', '20% descuento de por vida')}</div>
<div className="text-white/70">{t('landing:final_cta.why_now.lifetime_discount.subtitle', 'Solo primeros 20')}</div>
</div>
<div className="flex flex-col items-center">
<Users className="w-8 h-8 text-white mb-2" />
<div className="text-white font-semibold">{t('landing:final_cta.why_now.influence.title', 'Influyes en el roadmap')}</div>
<div className="text-white/70">{t('landing:final_cta.why_now.influence.subtitle', 'Tus necesidades primero')}</div>
</div>
<div className="flex flex-col items-center">
<Zap className="w-8 h-8 text-white mb-2" />
<div className="text-white font-semibold">{t('landing:final_cta.why_now.vip_support.title', 'Soporte VIP')}</div>
<div className="text-white/70">{t('landing:final_cta.why_now.vip_support.subtitle', 'Acceso directo al equipo')}</div>
{/* Social Proof Alternative - Loss Aversion */}
<div className="mt-12 bg-white/10 backdrop-blur-sm rounded-2xl p-6 border border-white/20">
<p className="text-white/90 text-base mb-4">
<strong>{t('landing:final_cta.why_now.title', '¿Por qué actuar ahora?')}</strong>
</p>
<div className="grid grid-cols-1 sm:grid-cols-3 gap-6 text-sm">
<div className="flex flex-col items-center">
<Award className="w-8 h-8 text-white mb-2" />
<div className="text-white font-semibold">{t('landing:final_cta.why_now.lifetime_discount.title', '20% descuento de por vida')}</div>
<div className="text-white/70">{t('landing:final_cta.why_now.lifetime_discount.subtitle', 'Solo primeros 20')}</div>
</div>
<div className="flex flex-col items-center">
<Users className="w-8 h-8 text-white mb-2" />
<div className="text-white font-semibold">{t('landing:final_cta.why_now.influence.title', 'Influyes en el roadmap')}</div>
<div className="text-white/70">{t('landing:final_cta.why_now.influence.subtitle', 'Tus necesidades primero')}</div>
</div>
<div className="flex flex-col items-center">
<Zap className="w-8 h-8 text-white mb-2" />
<div className="text-white font-semibold">{t('landing:final_cta.why_now.vip_support.title', 'Soporte VIP')}</div>
<div className="text-white/70">{t('landing:final_cta.why_now.vip_support.subtitle', 'Acceso directo al equipo')}</div>
</div>
</div>
</div>
{/* Guarantee */}
<div className="mt-8 text-white/80 text-sm">
<Shield className="w-5 h-5 inline mr-2" />
<span>{t('landing:final_cta.guarantee', 'Garantía: Cancelas en cualquier momento sin dar explicaciones')}</span>
</div>
</div>
</section>
{/* Guarantee */}
<div className="mt-8 text-white/80 text-sm">
<Shield className="w-5 h-5 inline mr-2" />
<span>{t('landing:final_cta.guarantee', 'Garantía: Cancelas en cualquier momento sin dar explicaciones')}</span>
</div>
</div>
</section>
</PublicLayout>
);
};
</PublicLayout>
);
};
export default LandingPage;
export default LandingPage;