// Dados bilíngues — Trem de Minas
// Menu resumido: 3 categorias (café da manhã, almoço, jantar).
// O menu completo está no PDF: assets/menu-completo.pdf
const DATA = {
  pt: {
    nav: { sobre: "Sobre", menu: "Menu", eventos: "Eventos", visita: "Visita", reservar: "Reservar" },
    nome: "Trem de Minas",
    tagline: "Brazilian Café & Restaurant · Londres",
    hero: {
      eyebrow: "Brazilian Café & Restaurant",
      title1: "Um pedacinho",
      title2: "de Minas",
      title3: "no seu dia a dia.",
      accentWord: "Minas",
      lede: "Café brasileiro, feijoada no capricho, picanha no ponto e pão de queijo quentinho — em Earlsfield, Londres.",
      ctaReservar: "Reservar mesa",
      ctaMenu: "Ver cardápio",
      badgeOpen: "aberto agora",
      badgeText: "Café da manhã, almoço e jantar · todo dia, 6h–22h.",
      marquee: ['pão de queijo', 'feijoada', 'picanha na brasa', 'coxinha', 'pastel', 'açaí', 'pamonha', 'cachaça'],
    },
    sobre: {
      eyebrow: "Nossa história",
      title1: "Um pedacinho de",
      title2: "Minas",
      title3: "em Londres.",
      lede: "Café, restaurante e cantinho brasileiro em Earlsfield. Do café da manhã ao jantar, com aquela comida que mata a saudade.",
      paragrafos: [
        "A gente serve o dia inteiro: cuscuz com carne e misto quente pela manhã, coxinha e pastel no meio da tarde, picanha e feijoada no jantar. Tem açaí na tigela, pamonha doce ou salgada, e cachaça artesanal pra quem quer sentar e bater papo.",
        "A proposta é simples: comida brasileira de verdade, na porção que enche, no preço que cabe. Sem frescura, sem pressa — do jeito que a gente faz em casa.",
      ],
      caption: "Trem de Minas · Earlsfield",
      stats: [
        ["80+", "itens no menu"],
        ["£10,99", "buffet inglês"],
        ["6h–22h", "todo dia"],
      ],
    },
    menu: {
      eyebrow: "Cardápio",
      title1: "Comida de",
      title2: "casa",
      title3: ", feita aqui.",
      lede: "Do café da manhã ao jantar. Uma seleção abaixo — o cardápio impresso tem mais de 80 itens.",
      fineprint: "Preços em libras · serviço não incluído",
      pdfLink: "ver cardápio completo (PDF) →",
      categorias: [
        {
          id: "cafe", nome: "Café da Manhã", horario: "até 11:30",
          itens: [
            { nome: "Pão de queijo", desc: "Quentinho, feito na hora.", preco: "£3,00", tag: "clássico" },
            { nome: "Cuscuz com carne", desc: "Cuscuz tradicional com carne desfiada.", preco: "£7,00" },
            { nome: "Misto completo", desc: "Ovo, presunto (ou mortadela) e queijo.", preco: "£5,50" },
            { nome: "Tapioca", desc: "Presunto e queijo ou frango.", preco: "£6,00" },
            { nome: "Buffet Inglês", desc: "Linguiça, linguiça vegana, ovo, bacon, feijão, hash brown, cogumelo, abacate, tomate, torrada, fritas. Com bebida quente.", preco: "£10,99", tag: "favorito" },
          ],
        },
        {
          id: "almoco", nome: "Almoço", horario: "do meio-dia em diante",
          itens: [
            { nome: "Trem de Minas (executivo)", desc: "Arroz, macarrão ao sugo, feijão tropeiro, frango ao molho de açafrão e salada.", preco: "£12,99", tag: "favorito" },
            { nome: "Feijoada", desc: "500g, com arroz, couve, laranja, torresmo, farofa e banana frita.", preco: "£18,00", tag: "clássico" },
            { nome: "Picanha individual", desc: "150g de picanha, arroz, caldo de feijão, fritas e salada.", preco: "£15,99" },
            { nome: "Vaca atolada", desc: "Arroz, banana frita, farofa e salada.", preco: "£13,50" },
            { nome: "Frango à parmegiana", desc: "Arroz, fritas e salada.", preco: "£13,99" },
            { nome: "Burger Trem de Minas", desc: "Pão de queijo, hambúrguer, linguiça, bacon, halloumi, geleia de pimenta, cebola roxa, tomate e rúcula.", preco: "£17,99", tag: "favorito" },
          ],
        },
        {
          id: "jantar", nome: "Jantar", horario: "a partir das 18:00",
          itens: [
            { nome: "Picanha completa", desc: "400g de picanha, arroz, feijão tropeiro, mandioca ou fritas, maionese ou vinagrete. Serve 2.", preco: "£34,99", tag: "favorito" },
            { nome: "Costela Trem de Minas", desc: "800g de costela, arroz, feijão tropeiro, mandioca, banana frita, maionese e vinagrete. Serve 3.", preco: "£59,99" },
            { nome: "Mix de churrasco", desc: "Carne, frango, linguiça, arroz, feijão tropeiro, mandioca ou fritas, vinagrete. Serve 2.", preco: "£22,99" },
            { nome: "Camarão internacional", desc: "Arroz cremoso, camarão, presunto, ervilha, batata palha, bolinhos de camarão. Serve 2.", preco: "£22,50" },
            { nome: "Salmão à toscana", desc: "Arroz, salmão ao molho de espinafre e tomate cereja.", preco: "£17,99" },
            { nome: "Caldo verde", desc: "Tradicional português — couve, batata e chouriço.", preco: "£7,99" },
          ],
        },
      ],
    },
    eventos: {
      eyebrow: "Eventos",
      title1: "Comemorações,",
      title2: "aniversários",
      title3: "ou reunião.",
      lede: "Aniversários, confraternizações, festas brasileiras em Londres. A gente faz o cardápio do jeito que vocês quiserem — feijoada completa, churrasco, café da manhã para grupos.",
      caption: "Trem de Minas · salão para eventos",
      pacotes: [
        { nome: "Aniversário no salão", min: "até 20 pessoas", desc: "Cardápio fechado a combinar — com ou sem bolo, brigadeiro, decoração simples. Reserve o salão inteiro." },
        { nome: "Reunião de trabalho", min: "até 20 pessoas", desc: "Mesa reservada, menu executivo, café e água inclusos. Wi-Fi no salão, ambiente tranquilo." },
        { nome: "Confraternização", min: "até 20 pessoas", desc: "Churrasco, feijoada ou buffet inglês — você escolhe. Cachaça, caipirinha e cerveja por conta da casa combinam separado." },
      ],
      ctaOrcamento: "Pedir orçamento →",
    },
    reservas: {
      eyebrow: "Reservas",
      title1: "Reserve",
      title2: "sua mesa.",
      lede: "Aceitamos reservas para grupos de até 20 pessoas pelo formulário. Para grupos maiores ou eventos privativos, fale com a gente no WhatsApp.",
      confirmMsg: "confirmaremos em até 4 horas.",
      formHeader: "Formulário · grupo de 1 a 20 pessoas",
      f: {
        nome: "Nome completo", telefone: "Telefone", email: "Email",
        data: "Data", hora: "Horário", pessoas: "Pessoas",
        ocasiao: "Ocasião (opcional)", obs: "Observações (alergias, preferências)",
      },
      ocasioes: ["—", "Aniversário", "Jantar romântico", "Almoço de trabalho", "Primeira vez", "Matando a saudade"],
      submit: "Confirmar reserva",
      pessoa: "pessoa", pessoas: "pessoas",
      errNome: "Digite seu nome", errEmail: "Email inválido", errTel: "Telefone inválido",
      errData: "Escolha uma data", errPast: "Data no passado", errMon: "",
      successTitle: "Anotado",
      successMsgA: "Mesa para", successMsgB: "às", successMsgC: "no dia",
      successMsgD: "Confirmamos por email em breve.",
      newReserva: "Nova reserva →",
    },
    visita: {
      eyebrow: "Visita",
      title1: "Onde nos",
      title2: "encontrar.",
      lede: "A cinco minutos a pé da estação Earlsfield. Na Garratt Lane, fachada do Trem de Minas.",
      horariosTitle: "Horários",
      contatoTitle: "Contato",
      chegarTitle: "Como chegar",
      chegarTxt: "Saia da estação Earlsfield pela Garratt Lane e ande cerca de 5 minutos. Ônibus 44, 77, 270 e 280 param perto. Estamos no número 189.",
      tel: "Tel", email: "Email", trem: "Trem", whatsappLabel: "Falar no WhatsApp →",
      trainLabel: "Earlsfield (South Western Railway) — 5 min",
      horarios: [
        { dia: "Segunda — Sexta", h: "06:00 — 22:00" },
        { dia: "Sábado",           h: "06:00 — 22:00" },
        { dia: "Domingo",          h: "06:00 — 22:00" },
      ],
      fechado: "Fechado",
    },
    footer: {
      desc: "Brazilian Café & Restaurant em Earlsfield, Londres.",
      visite: "Visite", fale: "Fale", newsletter: "Newsletter",
      newsletterDesc: "Promoções, eventos e novidades.",
      newsletterPlaceholder: "seu@email.com",
      newsletterSubmit: "Entrar →",
      rights: "© 2026 Trem de Minas",
      madeWith: "feito com saudade · Londres",
    },
  },

  en: {
    nav: { sobre: "About", menu: "Menu", eventos: "Events", visita: "Visit", reservar: "Book a table" },
    nome: "Trem de Minas",
    tagline: "Brazilian Café & Restaurant · London",
    hero: {
      eyebrow: "Brazilian Café & Restaurant",
      title1: "A little piece",
      title2: "of Minas",
      title3: "in your day.",
      accentWord: "Minas",
      lede: "Brazilian coffee, proper feijoada, picanha done right, and warm pão de queijo — in Earlsfield, London.",
      ctaReservar: "Book a table",
      ctaMenu: "See the menu",
      badgeOpen: "open now",
      badgeText: "Breakfast, lunch and dinner · every day, 6am–10pm.",
      marquee: ['pão de queijo', 'feijoada', 'picanha steak', 'coxinha', 'pastel', 'açaí', 'pamonha', 'cachaça'],
    },
    sobre: {
      eyebrow: "Our story",
      title1: "A little piece of",
      title2: "Minas",
      title3: "in London.",
      lede: "A Brazilian café and restaurant in Earlsfield. From breakfast through dinner, with the kind of food that feels like home.",
      paragrafos: [
        "We serve all day: cuscuz and toasties at breakfast, coxinhas and pasteis in the afternoon, picanha and feijoada at dinner. Açaí bowls, sweet and savoury pamonha, and artisan cachaça for those who want to sit back and chat.",
        "The idea is simple: real Brazilian food, generous portions, honest prices. No fuss, no rush — the way we'd make it at home.",
      ],
      caption: "Trem de Minas · Earlsfield",
      stats: [
        ["80+", "items on the menu"],
        ["£10.99", "English buffet"],
        ["6am–10pm", "every day"],
      ],
    },
    menu: {
      eyebrow: "Menu",
      title1: "Home cooking,",
      title2: "done here",
      title3: ".",
      lede: "From breakfast to dinner. A selection below — the printed menu has 80+ items.",
      fineprint: "Prices in pounds · service not included",
      pdfLink: "see the full menu (PDF) →",
      categorias: [
        {
          id: "cafe", nome: "Breakfast", horario: "until 11:30",
          itens: [
            { nome: "Pão de queijo", desc: "Warm cheese bread, freshly baked.", preco: "£3.00", tag: "classic" },
            { nome: "Cuscuz with beef", desc: "Traditional cuscuz with shredded beef.", preco: "£7.00" },
            { nome: "Full toastie", desc: "Egg, ham (or mortadella) and cheese.", preco: "£5.50" },
            { nome: "Tapioca crêpe", desc: "Ham & cheese or chicken.", preco: "£6.00" },
            { nome: "English breakfast buffet", desc: "Sausage, vegan sausage, egg, bacon, beans, hash brown, mushroom, avocado, tomato, toast, fries. Hot drink included.", preco: "£10.99", tag: "favourite" },
          ],
        },
        {
          id: "almoco", nome: "Lunch", horario: "from midday",
          itens: [
            { nome: "Trem de Minas (set)", desc: "Rice, pasta with tomato sauce, tropeiro beans, chicken in saffron sauce, salad.", preco: "£12.99", tag: "favourite" },
            { nome: "Feijoada", desc: "500g, with rice, kale, orange, crackling, farofa and fried banana.", preco: "£18.00", tag: "classic" },
            { nome: "Picanha individual", desc: "150g picanha, rice, bean soup, fries and salad.", preco: "£15.99" },
            { nome: "Vaca atolada", desc: "Rice, fried banana, farofa, salad.", preco: "£13.50" },
            { nome: "Chicken parmigiana", desc: "Rice, fries and salad.", preco: "£13.99" },
            { nome: "Burger Trem de Minas", desc: "Cheese bread bun, burger, sausage, bacon, halloumi, pepper jelly, red onion, tomato and rocket.", preco: "£17.99", tag: "favourite" },
          ],
        },
        {
          id: "jantar", nome: "Dinner", horario: "from 18:00",
          itens: [
            { nome: "Picanha completa", desc: "400g picanha, rice, tropeiro beans, cassava or fries, mayo or vinaigrette. Serves 2.", preco: "£34.99", tag: "favourite" },
            { nome: "Ribs Trem de Minas", desc: "800g ribs, rice, tropeiro beans, cassava, fried banana, mayo and vinaigrette. Serves 3.", preco: "£59.99" },
            { nome: "BBQ mix", desc: "Beef, chicken, sausage, rice, tropeiro beans, cassava or fries, vinaigrette. Serves 2.", preco: "£22.99" },
            { nome: "Camarão internacional", desc: "Creamy rice, shrimp, ham, peas, potato sticks, shrimp fritters. Serves 2.", preco: "£22.50" },
            { nome: "Salmon à toscana", desc: "Rice, salmon with spinach and cherry-tomato sauce.", preco: "£17.99" },
            { nome: "Caldo verde", desc: "Traditional Portuguese kale, potato and chorizo soup.", preco: "£7.99" },
          ],
        },
      ],
    },
    eventos: {
      eyebrow: "Events",
      title1: "Birthdays,",
      title2: "celebrations",
      title3: "or meetings.",
      lede: "Birthdays, work drinks, Brazilian parties in London. We'll tailor the menu — full feijoada, churrasco, breakfast for groups.",
      caption: "Trem de Minas · events room",
      pacotes: [
        { nome: "Birthday in the dining room", min: "up to 20 people", desc: "Set menu to agree — with or without cake, brigadeiros, simple décor. Private hire available." },
        { nome: "Work meeting", min: "up to 20 people", desc: "Reserved table, set lunch menu, coffee and water included. Wi-Fi on site, quiet room." },
        { nome: "Team gathering", min: "up to 20 people", desc: "Churrasco, feijoada or English buffet — your pick. Cachaça, caipirinha and beer priced separately." },
      ],
      ctaOrcamento: "Request a quote →",
    },
    reservas: {
      eyebrow: "Reservations",
      title1: "Book",
      title2: "your table.",
      lede: "We accept bookings for up to 20 people through the form. For larger groups or private events, message us on WhatsApp.",
      confirmMsg: "we'll confirm within 4 hours.",
      formHeader: "Booking form · 1 to 20 people",
      f: {
        nome: "Full name", telefone: "Phone", email: "Email",
        data: "Date", hora: "Time", pessoas: "People",
        ocasiao: "Occasion (optional)", obs: "Notes (allergies, preferences)",
      },
      ocasioes: ["—", "Birthday", "Date night", "Business lunch", "First time", "Feeling homesick"],
      submit: "Confirm booking",
      pessoa: "person", pessoas: "people",
      errNome: "Enter your name", errEmail: "Invalid email", errTel: "Invalid phone",
      errData: "Pick a date", errPast: "Date in the past", errMon: "",
      successTitle: "Booked",
      successMsgA: "Table for", successMsgB: "at", successMsgC: "on",
      successMsgD: "We'll confirm by email shortly.",
      newReserva: "New booking →",
    },
    visita: {
      eyebrow: "Visit",
      title1: "Where to",
      title2: "find us.",
      lede: "Five minutes on foot from Earlsfield station. On Garratt Lane, look for the Trem de Minas shopfront.",
      horariosTitle: "Opening hours",
      contatoTitle: "Contact",
      chegarTitle: "How to get here",
      chegarTxt: "Leave Earlsfield station onto Garratt Lane and walk for about five minutes. Buses 44, 77, 270 and 280 stop nearby. We're at number 189.",
      tel: "Tel", email: "Email", trem: "Train", whatsappLabel: "Message us on WhatsApp →",
      trainLabel: "Earlsfield (South Western Railway) — 5 min",
      horarios: [
        { dia: "Monday — Friday", h: "06:00 — 22:00" },
        { dia: "Saturday",         h: "06:00 — 22:00" },
        { dia: "Sunday",           h: "06:00 — 22:00" },
      ],
      fechado: "Closed",
    },
    footer: {
      desc: "Brazilian Café & Restaurant in Earlsfield, London.",
      visite: "Visit", fale: "Contact", newsletter: "Newsletter",
      newsletterDesc: "Offers, events and news.",
      newsletterPlaceholder: "you@email.com",
      newsletterSubmit: "Join →",
      rights: "© 2026 Trem de Minas",
      madeWith: "made with saudade · London",
    },
  },
};

const DATA_SHARED = {
  endereco: {
    rua: "189 Garratt Lane",
    bairro: "Earlsfield",
    cidade: "London SW18 4DR",
    tel: "+44 20 7946 0830",
    email: "oi@tremdeminas.co.uk",
  },
  menuPdf: "assets/menu-completo.pdf",
  whatsapp: "https://wa.me/message/HZDOYF2VYMO3H1",
};

const LangStore = {
  listeners: new Set(),
  get lang() {
    try { return localStorage.getItem('tdm_lang') || 'pt'; } catch (_) { return 'pt'; }
  },
  set(l) {
    try { localStorage.setItem('tdm_lang', l); } catch (_) {}
    document.documentElement.lang = l === 'en' ? 'en' : 'pt-BR';
    this.listeners.forEach(fn => fn(l));
  },
  subscribe(fn) { this.listeners.add(fn); return () => this.listeners.delete(fn); },
};

function useLang() {
  const [lang, setLang] = React.useState(LangStore.lang);
  React.useEffect(() => LangStore.subscribe(setLang), []);
  return [lang, (l) => LangStore.set(l)];
}
function useT() {
  const [lang] = useLang();
  return DATA[lang] || DATA.pt;
}

window.DATA = DATA;
window.DATA_SHARED = DATA_SHARED;
window.LangStore = LangStore;
window.useLang = useLang;
window.useT = useT;
