// lux/shared.jsx — Hotporacja shared i18n + Nav + Footer
// Use `<script type="text/babel" src="lux/shared.jsx"></script>` AFTER React + Babel + Framer Motion.
// Components are exported to window so multi-file Babel scripts can use them.

const { useState, useEffect, useRef, useMemo } = React;

const LX_I18N = {
  pl: {
    nav: {
      feast: 'Uczta', story: 'Historia', ritual: 'Rytuał', menu: 'Menu',
      ai: 'AI Sommelier', shop: 'Sklep', voucher: 'Voucher', faq: 'FAQ', blog: 'Blog',
      loyalty: 'Klub', biz: 'Biznes', visit: 'Kontakt', moments: 'Momenty', book: 'Zarezerwuj stolik',
    },
    floatBar: {
      bookBrand: 'ZJEDZ.MY',
      call: 'Zadzwoń',
      location: 'Lokalizacja',
      addressShort: 'ul. Zwycięska 5, Wrocław',
    },
    hero: {
      eyebrow: 'Wrocław · Autentyczny chiński hot pot',
      title1: 'Ogień.', title2: 'Wspólny', title3: 'stół.',
      subtitle: 'Bulgoczący syczuański bulion. Cienko krojona wołowina zanurzona w aromatycznej parze. Dłonie nad jednym garnkiem — i wieczór, który pamięta się tygodniami. Chiński rytuał wspólnego gotowania, podany przy Zwycięskiej 5, Wrocław.',
      cta1: 'Zarezerwuj stolik', cta2: 'Zobacz ucztę',
      live: 'Otwarte teraz', closed: 'Zamknięte',
      statusLbl: 'Status',
      scroll: 'Przewiń',
    },
    feast: {
      eyebrow: 'Triple Feast · Autentyczny chiński hot pot we Wrocławiu',
      titleA: 'Trzy uczty.',
      titleB: 'Bez limitu.',
      sub: 'Autentyczny chiński hot pot we Wrocławiu. Trzy formaty — od codziennego chińskiego śniadania po czterogodzinną kolację biznesową. Ty wybierasz tempo i intensywność, my pilnujemy ognia.',
      from: 'Od osoby',
      book: 'Zarezerwuj',
      details: 'Zobacz szczegóły',
      close: 'Zamknij',
      panels: [
        {
          letter: 'A',
          titleA: 'Chiński', titleB: 'poranek',
          cn: '中式早餐 · Chinese Breakfast',
          price: '60',
          hours: 'Codziennie · 09:00 – 12:00',
          desc: 'Puszyste baozi, ciepłe pierogi, gorące makarony i chrupiące przekąski smażone na złoto. Codziennie serwujemy tradycyjne chińskie śniadanie — proste, sycące i pełne smaku, dokładnie tak, jak zaczyna się dzień w wielu chińskich domach.',
          feats: ['Baozi', 'Pierogi', 'Makarony', 'Smażone przekąski'],
          details: {
            lead: 'Chiński poranek, codziennie. Tradycyjne chińskie śniadanie — proste, sycące i pełne smaku.',
            includesLabel: 'W cenie',
            includes: [
              'Baozi — różne rodzaje chińskich bułeczek',
              'Pierogi w chińskim stylu',
              'Gorące ramen',
              'Smażone przekąski śniadaniowe',
              'Warzywa, pikle i dodatki sezonowe',
              'Herbata lub ciepły napoj'
            ],
            policyLabel: 'Zasady',
            policy: [
              'Dostępne codziennie',
              '90 minut przy stoliku',
              'Dzieci do 6 lat — gratis',
              'Dzieci 7–12 lat — 50%',
              'Rezerwacja zalecana, wejścia z ulicy według dostępności'
            ],
            pairLabel: 'Do tego',
            pair: 'Polecamy herbatę Puerh 2018 lub mleczny oolong. Alkohol dostępny, ale to przede wszystkim spokojne, rodzinne śniadanie.',
          }
        },
        {
          letter: 'B',
          titleA: 'Ogień', titleB: '+ Ruszt',
          cn: '火锅 + 烤肉 · Duo',
          price: '135',
          hours: 'Codziennie · 17:00 – 23:00',
          desc: 'Nasza flagowa uczta: bulgoczący hot pot obok azjatyckiego grilla na papierze. Jeden stolik, dwa ognie, smaki bez limitu.',
          feats: ['Hot Pot', 'BBQ na stole', '2 godziny', 'Bar sosów'],
          details: {
            lead: 'Sygnowana kolacja Hotporacji. Dwa źródła ognia na jednym stole: rosół, który gotujemy 12 godzin, i papierowy grill w stylu koreańsko-syczuańskim.',
            includesLabel: 'W cenie',
            includes: [
              'Wybór 2 wywarów z naszej karty 8 smaków — od pikantnego syczuańskiego po łagodny pomidorowy, grzybowy, pekiński, tajski i ziołowy',
              'Krewetki, kalmary, ośmiornica oraz pasta krewetkowa',
              'Papierowo cienka wołowina, karkówka, jagnięcina, kurczak',
              'Ponad 20 rodzajów warzyw, grzybów i tofu',
              '4 rodzaje makaronów — od lamianu po wstęgi sweet potato',
              '5 sosów — sezamowy, satay, chili, czosnek'
            ],
            policyLabel: 'Zasady',
            policy: [
              '120 minut przy stoliku — zamówienia bez limitu',
              'Niedojedzone porcje: +20 PLN za 100 g',
              'Napoje i alkohol — osobno z karty',
              'Wegetariańska wersja dostępna'
            ],
            pairLabel: 'Do tego',
            pair: 'Polecamy nasze autorskie napoje przygotowywane na miejscu oraz ręcznie robiony bingsu — lekki, kremowy deser idealny po hot pocie i grillu.',
          }
        },
        {
          letter: 'C',
          titleA: 'Elite Business', titleB: 'Feast',
          cn: '尊享全席 · Full Menu',
          price: '250',
          hours: 'Rezerwacja · 4h',
          desc: 'Pełne doświadczenie Hotporacji: całe menu bez limitu, jedzenie i napoje w cenie. Jedyny wyjątek — alkohole powyżej 38%.',
          feats: ['Wagyu A5', 'Pełne menu', 'Prywatny pokój', '4h'],
          details: {
            lead: 'Kolacja Hotporacji dla stołu biznesowego lub wyjątkowego świętowania. Całe menu w cenie — jedzenie i napoje bez limitu, z wyjątkiem alkoholi wysokoprocentowych. Przy jednym stole spotykają się hot pot, grill, chińskie pierożki, azjatyckie napoje i deser przygotowywany na miejscu.',
            includesLabel: 'W cenie',
            includes: [
              'Pełne menu — bez ograniczeń ilości',
              'Wybór mięs do hot potu i grilla',
              'Tygrysie krewetki, białe krewetki, ośmiornica i kalmary',
              'Ręcznie ciągniony lamian, xiaolongbao, różne rodzaje pierożków na parze i pierożków smażonych',
              'Chińskie herbaty i napoje herbaciane',
              'Azjatyckie piwa — chińskie, japońskie i koreańskie',
              'Koreańskie makgeolli i soju',
              'Wybrane wina czerwone, białe i musujące',
              'Autorskie napoje przygotowywane na miejscu',
              'Ręcznie robiony bingsu',
              'Dedykowany kelner dla stolika'
            ],
            policyLabel: 'Zasady',
            policy: [
              'Maksymalnie 8 osób przy jednym stole',
              'Rezerwacja minimum 48 godzin wcześniej',
              'Zadatek: 30% wartości rezerwacji',
              'Alkohole wysokoprocentowe — chińskie baijiu, whisky i wódka — dostępne osobno z karty'
            ],
            pairLabel: 'Do tego',
            pair: 'Polecamy rozpocząć kolację od chińskiej herbaty, przejść do hot potu i grilla z azjatyckim piwem, soju lub winem, a zakończyć wieczór naszymi autorskimi napojami i ręcznie przygotowywanym bingsu.',
          }
        },
      ],
    },
    shop: {
      eyebrow: 'Sklep · 商店',
      titleA: 'Azja, do',
      titleB: 'Twojej kuchni.',
      sub: 'Te same składniki, których używamy u nas — butelkowane, spakowane, wysyłane. Olej chili z Chongqingu, czarna herbata Puerh, baijiu, suszone grzyby, własne pasty.',
      cta: 'Zobacz cały sklep',
      badge: 'Nowe',
      add: 'Do koszyka',
      cats: ['Wszystko', 'Przyprawy', 'Herbaty', 'Alkohole', 'Pasty', 'Makarony'],
      items: [
        { slug:'sichuan-oil', cat:'Przyprawy', name:'Olej chili z Chongqingu', cn:'重庆辣椒油', price:'42', unit:'250 ml', note:'Nasz własny, gotowany 12h z 14 przypraw.' },
        { slug:'peppercorn', cat:'Przyprawy', name:'Pieprz syczuański', cn:'花椒', price:'28', unit:'80 g', note:'Z prefektury Hanyuan. Pali i drętwieje — jak należy.', badge:'Bestseller' },
        { slug:'tea', cat:'Herbaty', name:'Puerh 2018 · cegła', cn:'普洱', price:'120', unit:'200 g', note:'Ziemisty, miękki, dojrzały. Do popołudniowej herbaty.' },
        { slug:'baijiu', cat:'Alkohole', name:'Baijiu Moutai-style', cn:'白酒', price:'240', unit:'500 ml', note:'53% — klasyczny ton sosu. Trzymaj w lodówce.', badge:'Nowość' },
        { slug:'noodles', cat:'Makarony', name:'Lamian ręcznie ciągnięte', cn:'拉面', price:'26', unit:'4 porcje', note:'Mrożone świeże — gotowe w 90 sekund.' },
        { slug:'broth-base', cat:'Pasty', name:'Baza do hot potu', cn:'火锅底料', price:'38', unit:'300 g', note:'Nasza receptura — wystarczy wrzucić do wody.', badge:'Szef' },
      ],
    },
    story: {
      eyebrow: 'Historia · 故事',
      titleA: 'Trzy tysiące lat',
      titleB: 'przy jednym stole.',
      body1: 'Hot pot ma swoje korzenie nad brzegami Jangcy — tam, gdzie gorący wywar, mięso, warzywa i przyprawy łączyły ludzi po całym dniu pracy. Z czasem stał się symbolem wspólnego jedzenia, rozmowy i bliskości. Dziś tę tradycję przenosimy do Wrocławia.',
      body2: 'Nie serwujemy zwykłej chińszczyzny. Tworzymy doświadczenie wspólnego gotowania. Każdy stolik ma własny garnek, każdy gość własne pałeczki, a każdy wieczór własne tempo.',
      stats: [
        { k: '3000+', v: 'lat chińskiej tradycji' },
        { k: '300M', v: 'osób je hot pot regularnie' },
        { k: '12h', v: 'gotowania rosołu dziennie' },
        { k: '1/1', v: 'autentyczny hot pot we Wrocławiu' },
      ],
    },
    boutique: {
      eyebrow: 'Asian Boutique · 精品店',
      title: 'Zabierz kuchnię do domu.',
      body: 'Przyprawy, herbaty, sake i ceremonialna porcelana — od tych samych dostawców, z którymi gotujemy.',
      cta: 'Wejdź do butiku',
    },
    ritual: {
      eyebrow: 'Rytuał · 火锅之道',
      title: 'Sztuka jedzenia hot potu.',
      lead: 'Sześć kroków do pełnego doświadczenia. Naucz się gotować, maczać i smakować tak, jak robią to nasi szefowie kuchni.',
      steps: [
        { n: '一', t: 'Wybierz bulion', d: 'Wybierz dwa wywary z naszej karty 8 smaków — od pikantnego syczuańskiego po łagodny pomidorowy, grzybowy, pekiński, tajski i ziołowy.', tag: 'Start' },
        { n: '二', t: 'Sosy i przyprawy', d: 'Stwórz własny sos z pięciu klasycznych dodatków — od pasty sezamowej i czosnku po chili, kolendrę i aromatyczne przyprawy.', tag: '5 sosów' },
        { n: '三', t: 'Najpierw mięso', d: 'Cienko krojoną wołowinę, wieprzowinę, jagnięcinę i kurczaka gotuj krótko w gorącym wywarze, aby zachować delikatność i pełny smak.', tag: '30–60 sek' },
        { n: '四', t: 'Następnie warzywa', d: 'Warzywa, grzyby i tofu dodaj później — potrzebują więcej czasu, a jednocześnie wzbogacają smak bulionu.', tag: '3–5 min' },
        { n: '五', t: 'Makaron na końcu', d: 'Makaron wrzuć dopiero na koniec, gdy bulion jest najbardziej aromatyczny i pełen smaku.', tag: 'Finał' },
        { n: '六', t: 'Zakończ deserem', d: 'Na zakończenie wybierz ręcznie przygotowywany snow ice / bingsu — lekki, kremowy deser idealny po hot pocie i grillu.', tag: 'Deser bingsu' },
      ],
    },
    menuMini: {
      eyebrow: 'Karta · 菜单',
      title: 'Stwórz swój własny hot pot.',
      lead: 'Osiem wywarów, dziesiątki składników i pięć sosów — jedna uczta, nieskończenie wiele kombinacji.',
      tabs: ['Wywary', 'Zestawy', 'Sosy', 'Deski', 'Dodatki', 'BBQ'],
      items: {
        'Wywary': [
          ['Wywar syczuański 🌶🌶🌶🌶', '辣', 'wlicz.'],
          ['Wywar tradycyjny 🌶🌶🌶', '传', 'wlicz.'],
          ['Pomidorowy — łagodny i kojący', '番', 'wlicz.'],
          ['Złoty z pędów bambusa 🌶', '金', 'wlicz.'],
          ['Wywar grzybowy', '菌', 'wlicz.'],
          ['Wywar w stylu pekińskim', '京', 'wlicz.'],
          ['Tajski 🌶🌶 · NEW', '泰', 'wlicz.'],
          ['Chińska zupa ziołowa · NEW', '药', 'wlicz.'],
        ],
        'Zestawy': [
          ['Kanton — owoce morza, kulki rybne, shiitake', '广', 'set'],
          ['Pekin — wołowina, wieprzowina, kapusta, konjac', '京', 'set'],
          ['Hongkong — homar, kalmary, krewetki, udon', '港', 'set'],
          ['Chengdu — pikantna wołowina, czarne grzyby, makaron z batatów', '蓉', 'set'],
          ['Hangzhou — kurczak, lotus, tofu rybne, wieprzowina marynowana', '杭', 'set'],
          ['Emei — boczniaki, kapusta, wodorosty, shiitake (warzywny)', '峨', 'set'],
        ],
        'Sosy': [
          ['Klasyczny orzechowo-sezamowy', '芝', 'wlicz.'],
          ['Ostry syczuański', '辣', 'wlicz.'],
          ['Sos shacha', '沙', 'wlicz.'],
          ['Sos hoisin', '海', 'wlicz.'],
          ['Sos siedmiu smaków', '七', 'wlicz.'],
        ],
        'Deski': [
          ['Metr cienko krojonej wołowiny', '牛', '1000 g'],
          ['Metr cienko krojonej wieprzowiny', '猪', '1000 g'],
          ['Pół metra cienko krojonej wołowiny', '牛', '500 g'],
          ['Pół metra cienko krojonej wieprzowiny', '猪', '500 g'],
          ['Metr antrykotu (grill)', '烤', '1000 g'],
          ['Metr boczku wieprzowego (grill)', '烤', '1000 g'],
        ],
        'Dodatki': [
          ['Plastry jagnięciny (300g)', '羊', '70 zł'],
          ['Flaki wołowe (200g)', '肚', '30 zł'],
          ['Krew kacza (300g)', '血', '28 zł'],
          ['Sakiewki szczęścia z ikrą (6 szt.)', '福', '70 zł'],
          ['Kulki rybne z ikrą (8 szt.)', '鱼', '40 zł'],
          ['Pasta krewetkowa (100g)', '虾', '50 zł'],
          ['Yam / chiński pochrzyn (200g)', '山', '40 zł'],
          ['Gong Cai chrupiący (100g)', '贡', '40 zł'],
          ['Świeże pędy bambusa (200g)', '笋', '40 zł'],
          ['Pak Choi (200g)', '青', '20 zł'],
          ['Kluski ryżowe (200g)', '糕', '25 zł'],
        ],
        'BBQ': [
          ['Set A — boczek, kurczak, wołowina, papryka, cebula, sałata, enoki', 'A', 'NEW'],
          ['Set B — boczek, chuda wieprzowina, krewetki, boczniaki, cebula, sałata, mielonka', 'B', 'NEW'],
          ['Set C — boczek, chuda wieprzowina, wołowina, boczniaki, cebula, sałata, czosnek', 'C', 'NEW'],
        ],
      },
      cta: 'Zobacz pełną kartę',
      pdfFile: 'assets/menu-hotporacja-2026-pl.pdf',
      pdfDownloadName: 'Hotporacja-menu-2026-PL.pdf',
      pdfLink: 'Pobierz menu PDF',
      pdfHint: 'Pełna karta 2026 — aktualna wersja polska do druku.',
    },
    voucher: {
      eyebrow: 'Voucher · 礼券',
      title: 'Daj komuś wieczór, nie rzecz.',
      lead: 'Elegancko drukowany voucher Hotporacji — dostępny do odbioru w restauracji lub z wysyłką kurierską.',
      tiers: [
        { name: 'Intymny', sub: 'DLA DWOJGA', price: 488, includes: ['HOTPOT & BBQ bez limitu', 'Wino / Prosecco (butelka czerwona, biała lub musująca)', '2x napój ORIENTAL VELVET SELECTION', '2x deser ORIENTAL VELVET SELECTION'] },
        { name: 'Uczta', sub: 'DLA CZWORGA', price: 988, includes: ['4x wybrane przystawki', 'HOTPOT & BBQ bez limitu', 'Wino / Prosecco (butelka czerwona, biała lub musująca)', '4x napój ORIENTAL VELVET SELECTION', '4x deser ORIENTAL VELVET SELECTION'] },
        { name: 'Imperium', sub: 'PEŁNE DOŚWIADCZENIE · DLA 6 OSÓB', price: 1880, includes: ['Pełne menu bez limitu (jedzenie i napoje)', 'HOTPOT + BBQ + napoje', 'Gratis: cała butelka chińskiego baijiu', 'Prywatna obsługa przy stole'] },
      ],
      cta: 'Zamów voucher',
    },
    biz: {
      eyebrow: 'Wydarzenia · 商务',
      title: 'Cała restauracja na Twoje spotkanie.',
      lead: 'Rodzinny obiad, urodziny, spotkanie z przyjaciółmi albo kolacja firmowa — w Hotporacji zorganizujemy wieczór pełen hot potu, grilla, azjatyckich smaków i wspólnej zabawy. Restauracja mieści do 42 osób — 10 wspólnych stołów z dzielonym hot potem oraz 12 miejsc solo z indywidualnym, jednoosobowym hot potem.',
      bullets: [
        'Pomoc w organizacji spotkania',
        'Menu dopasowane do okazji',
        'Hot pot, grill, przekąski, napoje i desery',
        'Szeroki wybór alkoholi i napojów',
        'Możliwość rezerwacji większej części lub całego lokalu',
      ],
      contact: 'tak@hotporacja.pl · +48 886 309 888',
      cta: 'Zapytaj o wycenę',
      statGuests: 'gości', statTables: 'stoły wspólne', statPots: 'miejsca solo',
    },
            moments: {
      eyebrow: 'Hotpot Moments · 瞬间',
      titleA: 'Wrocławski',
      titleB: 'stolik Instagrama.',
      sub: 'Para z garnka, dłonie nad ogniem, twarze wyostrzone światłem — każdy wieczór wygląda tu inaczej. Oznacz @hotporacja, a trafisz do naszej ściany.',
      handle: '@hotporacja',
      cta: 'Zobacz na Instagramie',
      scrollHint: 'Przeciągnij →',
      tags: ['#hotpot', '#wrocław', '#ognia', '#wspólnystół', '#火锅'],
      posts: [
        { user:'magda.k',   when:'2d',  caption:'Pierwszy raz hot pot — wychodzimy z sercem pełnym ognia.', likes:842, aspect:'4/5' },
        { user:'dawid.w',   when:'4d',  caption:'Mapo i piwo. Wrocławski wieczór idealny.',              likes:612, aspect:'1/1' },
        { user:'aniapoleci',when:'1w',  caption:'Jedziemy tu co piątek. Uzależnienie.',                   likes:1204, aspect:'4/5' },
        { user:'kuba.foto', when:'1w',  caption:'Światło z garnka — najlepszy ring light świata.',        likes:2310, aspect:'3/4' },
        { user:'olaiola',   when:'2w',  caption:'Urodziny w Hotporacji. Dym, łzy, śmiech.',              likes:498, aspect:'1/1' },
        { user:'piotr.eats',when:'3w',  caption:'Sichuan potrafi uleczyć grudniowy wieczór.',             likes:1876, aspect:'4/5' },
        { user:'basia.w',   when:'4w',  caption:'Mój chłopak nie wiedział co go czeka.',                  likes:751, aspect:'1/1' },
        { user:'tomek.k',   when:'1m',  caption:'Poliwa Azja × polska pogoda = hot pot.',                 likes:923, aspect:'3/4' },
      ],
    },
    visit: {
      eyebrow: 'Kontakt · 联系',
      titleA: 'ul. Zwycięska 5,', titleB: 'Wrocław.',
      sub: 'Rezerwacje online lub telefonicznie. Wchodzimy bez butów, wychodzimy z nowymi przyjaciółmi.',
      address: 'Adres', phone: 'Telefon', email: 'E-mail', hours: 'Godziny otwarcia',
      hoursArr: [
        ['Poniedziałek', '09:00 – 21:00'],
        ['Wtorek', '09:00 – 21:00'],
        ['Środa', '09:00 – 21:00'],
        ['Czwartek', '09:00 – 21:00'],
        ['Piątek', '09:00 – 23:00'],
        ['Sobota', '09:00 – 23:00'],
        ['Niedziela', '09:00 – 21:00'],
      ],
      book: 'Zarezerwuj stolik', route: 'Wyznacz trasę',
      form: {
        title: 'Napisz do nas',
        sub: 'Wiadomość trafi prosto do naszej skrzynki: tak@hotporacja.pl',
        name: 'Imię', namePh: 'Jak się nazywasz?',
        email: 'E-mail', emailPh: 'twoj@email.pl',
        msg: 'Wiadomość', msgPh: 'Napisz kilka słów…',
        send: 'Wyślij wiadomość',
      },
      mapHint: 'Otwórz w Mapach Google',
    },
    quickActions: { book: 'Zarezerwuj stolik', location: 'Lokalizacja', call: 'Zadzwoń', toggle: 'Menu akcji', closeLbl: 'Zamknij', address: 'ul. Zwycięska 5, Wrocław' },
        footer: {
      tagline: 'Ogień. Wspólny stół. Od maja 2023.',
      cols: { explore: 'Poznaj', shop: 'Sklep', info: 'Info', follow: 'Śledź' },
      madein: 'Wrocław · Made with 火', copy: '© 2026 Hotporacja',
    },
  },

  en: {
    nav: {
      feast: 'Feast', story: 'Story', ritual: 'Ritual', menu: 'Menu',
      ai: 'AI Sommelier', shop: 'Shop', voucher: 'Voucher', faq: 'FAQ', blog: 'Blog',
      loyalty: 'Club', biz: 'Business', visit: 'Contact', moments: 'Moments', book: 'Book a table',
    },
    floatBar: {
      bookBrand: 'ZJEDZ.MY',
      call: 'Call',
      location: 'Location',
      addressShort: 'Zwycięska 5, Wrocław',
    },
    hero: {
      eyebrow: "Wrocław · Authentic Chinese Hot Pot",
      title1: 'Fire.', title2: 'Shared', title3: 'table.',
      subtitle: "Bubbling Sichuan broth. Thinly sliced beef plunged into aromatic steam. Hands over one pot — and an evening you'll replay for weeks. The Chinese ritual of cooking together, served at Zwycięska 5, Wrocław.",
      cta1: 'Book a table', cta2: 'See the feast',
      live: 'Open now', closed: 'Closed',
      statusLbl: 'Status',
      scroll: 'Scroll',
    },
    feast: {
      eyebrow: 'Triple Feast · The only authentic Chinese hot pot in Wrocław',
      titleA: 'Three feasts.',
      titleB: 'Unlimited.',
      sub: 'Authentic Chinese hot pot in Wrocław. Three formats — from a daily Chinese breakfast to a four-hour business dinner. You set the pace and intensity, we keep the fire going.',
      from: 'From / pp',
      book: 'Reserve',
      details: 'See details',
      close: 'Close',
      panels: [
        {
          letter: 'A',
          titleA: 'Chinese', titleB: 'Morning',
          cn: '中式早餐',
          price: '60',
          hours: 'Daily · 09:00 – 12:00',
          desc: 'Fluffy baozi, warm dumplings, hot noodles and crispy golden bites. Every day we serve a traditional Chinese breakfast — simple, filling and full of flavour, exactly the way mornings begin in many Chinese homes.',
          feats: ['Baozi', 'Dumplings', 'Noodles', 'Fried bites'],
          details: {
            lead: 'A Chinese morning, every day. Traditional Chinese breakfast — simple, filling and full of flavour.',
            includesLabel: 'Included',
            includes: [
              'Baozi — a selection of Chinese steamed buns',
              'Chinese-style dumplings',
              'Hot ramen',
              'Fried breakfast bites',
              'Vegetables, pickles and seasonal sides',
              'Tea or a warm drink'
            ],
            policyLabel: 'Policy',
            policy: [
              'Available every day',
              '90 minutes at the table',
              'Children under 6 — free',
              'Children 7–12 — 50% off',
              'Booking recommended, walk-ins by availability'
            ],
            pairLabel: 'Pairing',
            pair: 'We recommend 2018 Puerh or milk oolong. Alcohol available — but this is, above all, a calm family breakfast.',
          }
        },
        {
          letter: 'B',
          titleA: 'Fire & Grill', titleB: 'Duo',
          cn: '火锅 + 烤肉',
          price: '135',
          hours: 'Daily · 17:00 – 23:00',
          desc: 'Our flagship feast: a bubbling hot pot beside an Asian paper grill. One table, two fires, flavours without limits.',
          feats: ['Hot Pot', 'Tabletop BBQ', '2 hours', 'Sauce bar'],
          details: {
            lead: 'Hotporacja\'s signature dinner. Two sources of fire at one table: a broth we simmer for 12 hours, and a Korean-Sichuan paper grill.',
            includesLabel: 'Included',
            includes: [
              '2 broths from our 8-flavour menu — from fiery Sichuan to mellow tomato, mushroom, Beijing-style, Thai and herbal',
              'Prawns, squid, octopus and shrimp paste',
              'Paper-thin beef, pork belly, lamb, chicken',
              '20+ vegetables, mushrooms and tofu',
              '4 noodle types — hand-pulled lamian to sweet-potato ribbons',
              '5 sauces — sesame, satay, chili, garlic'
            ],
            policyLabel: 'Policy',
            policy: [
              '120 minutes per table — unlimited ordering',
              'Unfinished food: +20 PLN per 100 g',
              'Drinks and alcohol — à la carte',
              'Vegetarian version available'
            ],
            pairLabel: 'And then',
            pair: 'We recommend our signature in-house drinks and hand-made bingsu — a light, creamy dessert, perfect after hot pot and grill.',
          }
        },
        {
          letter: 'C',
          titleA: 'Elite Business', titleB: 'Feast',
          cn: '尊享全席',
          price: '250',
          hours: 'Reservation · 4h',
          desc: 'The full Hotporacja experience: entire menu unlimited, food and drinks included. Only exception — spirits above 38%.',
          feats: ['A5 Wagyu', 'Full menu', 'Private room', '4h'],
          details: {
            lead: 'A Hotporacja dinner for the business table or a special celebration. The full menu is included — food and drinks unlimited, except for high-alcohol spirits. Hot pot, grill, Chinese dumplings, Asian drinks and desserts made on-site, all at one table.',
            includesLabel: 'Included',
            includes: [
              'Full menu — unlimited quantity',
              'Selection of meats for hot pot and grill',
              'Tiger prawns, white prawns, octopus and squid',
              'Hand-pulled lamian, xiaolongbao, assorted steamed and pan-fried dumplings',
              'Chinese teas and tea-based drinks',
              'Asian beers — Chinese, Japanese and Korean',
              'Korean makgeolli and soju',
              'Selected red, white and sparkling wines',
              'Signature drinks prepared on-site',
              'Hand-made bingsu',
              'Dedicated server for your table'
            ],
            policyLabel: 'Policy',
            policy: [
              'Maximum 8 guests per table',
              'Booking minimum 48 hours in advance',
              'Deposit: 30% of the reservation value',
              'High-alcohol spirits — Chinese baijiu, whisky and vodka — à la carte'
            ],
            pairLabel: 'And then',
            pair: 'We suggest opening with Chinese tea, moving on to hot pot and grill with Asian beer, soju or wine, and closing the evening with our signature drinks and hand-made bingsu.',
          }
        },
      ],
    },
    shop: {
      eyebrow: 'Shop · 商店',
      titleA: 'Asia,',
      titleB: 'in your kitchen.',
      sub: 'The same ingredients we use here — bottled, packed, shipped. Chongqing chili oil, aged Puerh, baijiu, dried mushrooms, our own pastes.',
      cta: 'Browse the shop',
      badge: 'New',
      add: 'Add to cart',
      cats: ['All', 'Spices', 'Teas', 'Liquor', 'Pastes', 'Noodles'],
      items: [
        { slug:'sichuan-oil', cat:'Spices', name:'Chongqing chili oil', cn:'重庆辣椒油', price:'42', unit:'250 ml', note:'Our own, 12-hour simmer with 14 spices.' },
        { slug:'peppercorn', cat:'Spices', name:'Sichuan peppercorn', cn:'花椒', price:'28', unit:'80 g', note:'From Hanyuan prefecture. Burns and numbs — properly.', badge:'Bestseller' },
        { slug:'tea', cat:'Teas', name:'2018 Puerh · brick', cn:'普洱', price:'120', unit:'200 g', note:'Earthy, soft, aged. For afternoon brewing.' },
        { slug:'baijiu', cat:'Liquor', name:'Baijiu, Moutai-style', cn:'白酒', price:'240', unit:'500 ml', note:'53% — classic sauce aroma. Keep chilled.', badge:'New' },
        { slug:'noodles', cat:'Noodles', name:'Hand-pulled lamian', cn:'拉面', price:'26', unit:'4 servings', note:'Flash-frozen fresh — ready in 90 seconds.' },
        { slug:'broth-base', cat:'Pastes', name:'Hot pot broth base', cn:'火锅底料', price:'38', unit:'300 g', note:'Our recipe — just drop in water.', badge:'Chef' },
      ],
    },
    story: {
      eyebrow: 'Story · 故事',
      titleA: 'Three thousand years',
      titleB: 'around one table.',
      body1: "Hot pot has its roots on the banks of the Yangtze — where hot broth, meat, vegetables and spices brought people together after a long day's work. Over time it became a symbol of sharing food, conversation and closeness. Today we bring that tradition to Wrocław.",
      body2: "We don't serve ordinary Chinese food. We create the experience of cooking together. Every table has its own pot, every guest their own chopsticks, every evening its own pace.",
      stats: [
        { k: '3000+', v: 'years of tradition' },
        { k: '300M', v: 'people eat hot pot regularly' },
        { k: '12h', v: 'broth simmer daily' },
        { k: '1/1', v: 'authentic hot pot in Wrocław' },
      ],
    },
    boutique: {
      eyebrow: 'Asian Boutique · 精品店',
      title: 'Take the kitchen home.',
      body: 'Spices, teas, sake and ceremonial teaware — hand-picked from the same suppliers we cook with.',
      cta: 'Enter the boutique',
    },
    ritual: {
      eyebrow: 'Ritual · 火锅之道',
      title: 'The art of eating hot pot.',
      lead: 'Six steps to the full experience. Learn to cook, dip and taste the way our chefs do.',
      steps: [
        { n: '一', t: 'Pick your broths', d: 'Choose two from our menu of eight — fiery Sichuan ma la, comforting mushroom, tomato, Beijing clear, Thai tom yum, herbal tonic and more.', tag: 'Start' },
        { n: '二', t: 'Build your sauce', d: 'Compose your own from five classic bases — sesame paste, minced garlic, chili oil, cilantro and house aromatics.', tag: '5 sauces' },
        { n: '三', t: 'Meats first', d: 'Paper-thin beef, pork, lamb and chicken need only a brief swirl in the simmering broth — that is where the texture lives.', tag: '30–60 sec' },
        { n: '四', t: 'Then vegetables', d: 'Vegetables, mushrooms and tofu come next — they take longer, and they enrich the broth as they cook.', tag: '3–5 min' },
        { n: '五', t: 'Noodles last', d: 'Drop the noodles only at the end, when the broth has reduced to its deepest, most fragrant version of itself.', tag: 'Finale' },
        { n: '六', t: 'Finish with bingsu', d: 'Close the meal with hand-shaved snow ice — light, creamy, the perfect counterpoint to hot pot and grill.', tag: 'Bingsu dessert' },
      ],
    },
    menuMini: {
      eyebrow: 'Menu · 菜单',
      title: 'Compose your own hot pot.',
      lead: 'Eight broths, dozens of ingredients and five sauces — one feast, endless combinations.',
      tabs: ['Broths', 'Sets', 'Sauces', 'Platters', 'Add-ons', 'BBQ'],
      items: {
        'Broths': [
          ['Sichuan ma la 🌶🌶🌶🌶', '辣', 'incl.'],
          ['Traditional 🌶🌶🌶', '传', 'incl.'],
          ['Tomato — mild & soothing', '番', 'incl.'],
          ['Golden bamboo shoot 🌶', '金', 'incl.'],
          ['Wild mushroom', '菌', 'incl.'],
          ['Beijing-style', '京', 'incl.'],
          ['Thai 🌶🌶 · NEW', '泰', 'incl.'],
          ['Chinese herbal soup · NEW', '药', 'incl.'],
        ],
        'Sets': [
          ['Canton — seafood, fish balls, shiitake', '广', 'set'],
          ['Beijing — beef, pork, napa, konjac', '京', 'set'],
          ['Hong Kong — lobster, squid, prawns, udon', '港', 'set'],
          ['Chengdu — spicy beef, black fungus, sweet potato noodles', '蓉', 'set'],
          ['Hangzhou — chicken, lotus, fish tofu, marinated pork', '杭', 'set'],
          ['Emei — oyster mushrooms, cabbage, seaweed, shiitake (veg)', '峨', 'set'],
        ],
        'Sauces': [
          ['Classic peanut-sesame', '芝', 'incl.'],
          ['Spicy Sichuan', '辣', 'incl.'],
          ['Shacha sauce', '沙', 'incl.'],
          ['Hoisin sauce', '海', 'incl.'],
          ['Seven-flavour sauce', '七', 'incl.'],
        ],
        'Platters': [
          ['One metre — thinly sliced beef', '牛', '1000 g'],
          ['One metre — thinly sliced pork', '猪', '1000 g'],
          ['Half metre — thinly sliced beef', '牛', '500 g'],
          ['Half metre — thinly sliced pork', '猪', '500 g'],
          ['One metre — ribeye (grill)', '烤', '1000 g'],
          ['One metre — pork belly (grill)', '烤', '1000 g'],
        ],
        'Add-ons': [
          ['Lamb slices (300g)', '羊', '70 PLN'],
          ['Beef tripe (200g)', '肚', '30 PLN'],
          ['Duck blood (300g)', '血', '28 PLN'],
          ['Lucky pouches with roe (6 pcs)', '福', '70 PLN'],
          ['Roe-filled fish balls (8 pcs)', '鱼', '40 PLN'],
          ['Shrimp paste (100g)', '虾', '50 PLN'],
          ['Chinese yam (200g)', '山', '40 PLN'],
          ['Crisp gong cai (100g)', '贡', '40 PLN'],
          ['Fresh bamboo shoots (200g)', '笋', '40 PLN'],
          ['Pak choi (200g)', '青', '20 PLN'],
          ['Rice cakes (200g)', '糕', '25 PLN'],
        ],
        'BBQ': [
          ['Set A — pork belly, chicken, beef, peppers, onion, lettuce, enoki', 'A', 'NEW'],
          ['Set B — pork belly, lean pork, prawns, oyster mushrooms, onion, lettuce, lunch meat', 'B', 'NEW'],
          ['Set C — pork belly, lean pork, beef, oyster mushrooms, onion, lettuce, garlic slices', 'C', 'NEW'],
        ],
      },
      cta: 'See full menu',
      pdfFile: 'assets/menu-hotporacja-2026-pl.pdf',
      pdfDownloadName: 'Hotporacja-menu-2026-PL.pdf',
      pdfLink: 'Download PDF',
      pdfHint: 'Full 2026 menu — Polish print edition (authoritative prices & terms).',
    },
    voucher: {
      eyebrow: 'Voucher · 礼券',
      title: 'Give an evening, not a thing.',
      lead: 'An elegantly printed Hotporacja voucher — pick it up at the restaurant or have it couriered to your door.',
      tiers: [
        { name: 'Intimate', sub: 'FOR TWO', price: 488, includes: ['HOTPOT & BBQ UNLIMITED', 'Wine / Prosecco (one bottle: red, white or sparkling)', '2x ORIENTAL VELVET SELECTION Drinks', '2x ORIENTAL VELVET SELECTION Desserts'] },
        { name: 'Feast', sub: 'FOR FOUR', price: 988, includes: ['4x Selected Starters', 'HOTPOT & BBQ UNLIMITED', 'Wine / Prosecco', '4x ORIENTAL VELVET SELECTION Drinks', '4x ORIENTAL VELVET SELECTION Desserts'] },
        { name: 'Empire', sub: 'FULL EXPERIENCE · FOR 6', price: 1880, includes: ['FULL MENU UNLIMITED (food & drinks)', 'HOTPOT + BBQ + DRINKS', 'FREE BOTTLE OF CHINESE BAIJIU', 'Private Dining Service'] },
      ],
      cta: 'Order voucher',
    },
    biz: {
      eyebrow: 'Events · 商务',
      title: 'The whole restaurant for your gathering.',
      lead: 'Family lunch, birthday, get-together with friends or a company dinner — at Hotporacja we put together an evening of hot pot, grill, Asian flavors and shared fun. The restaurant seats up to 42 — 10 shared tables with a communal hot pot, plus 12 solo seats each with their own individual one-person hot pot.',
      bullets: [
        'Hands-on help planning the event',
        'Menu tailored to the occasion',
        'Hot pot, grill, snacks, drinks and desserts',
        'Broad selection of alcohol and beverages',
        'Reserve a larger section or the entire venue',
      ],
      contact: 'tak@hotporacja.pl · +48 886 309 888',
      cta: 'Request a quote',
      statGuests: 'guests', statTables: 'shared tables', statPots: 'solo seats',
    },
            moments: {
      eyebrow: 'Hotpot Moments · 瞬间',
      titleA: 'Wrocław\u2019s',
      titleB: 'Instagram table.',
      sub: 'Steam, fire-lit faces, bowls raised mid-toast — every night here looks different. Tag @hotporacja and land on our wall.',
      handle: '@hotporacja',
      cta: 'Open on Instagram',
      scrollHint: 'Drag →',
      tags: ['#hotpot', '#wrocław', '#fire', '#sharedtable', '#火锅'],
      posts: [
        { user:'magda.k',   when:'2d',  caption:'First time hot pot — walking out with a heart full of fire.', likes:842, aspect:'4/5' },
        { user:'dawid.w',   when:'4d',  caption:'Mapo and beer. Perfect Wrocław evening.',                     likes:612, aspect:'1/1' },
        { user:'aniapoleci',when:'1w',  caption:'Coming here every Friday. Addicted.',                         likes:1204, aspect:'4/5' },
        { user:'kuba.foto', when:'1w',  caption:'Broth light — best ring light in the world.',                 likes:2310, aspect:'3/4' },
        { user:'olaiola',   when:'2w',  caption:'Birthday at Hotporacja. Smoke, tears, laughter.',             likes:498, aspect:'1/1' },
        { user:'piotr.eats',when:'3w',  caption:'Sichuan heals a December night.',                             likes:1876, aspect:'4/5' },
        { user:'basia.w',   when:'4w',  caption:'My boyfriend had no idea what was coming.',                   likes:751, aspect:'1/1' },
        { user:'tomek.k',   when:'1m',  caption:'Half Asia × Polish weather = hot pot.',                       likes:923, aspect:'3/4' },
      ],
    },
    visit: {
      eyebrow: 'Contact · 联系',
      titleA: 'ul. Zwycięska 5,', titleB: 'Wrocław.',
      sub: 'Book online or by phone. Shoes off at the door — leave with new friends.',
      address: 'Address', phone: 'Phone', email: 'Email', hours: 'Opening hours',
      hoursArr: [
        ['Monday', '09:00 – 21:00'],
        ['Tuesday', '09:00 – 21:00'],
        ['Wednesday', '09:00 – 21:00'],
        ['Thursday', '09:00 – 21:00'],
        ['Friday', '09:00 – 23:00'],
        ['Saturday', '09:00 – 23:00'],
        ['Sunday', '09:00 – 21:00'],
      ],
      book: 'Book a table', route: 'Get directions',
      form: {
        title: 'Drop us a line',
        sub: 'Goes straight to our inbox: tak@hotporacja.pl',
        name: 'Name', namePh: 'Your name',
        email: 'Email', emailPh: 'you@email.com',
        msg: 'Message', msgPh: 'Tell us what\u2019s on your mind…',
        send: 'Send message',
      },
      mapHint: 'Open in Google Maps',
    },
    quickActions: { book: 'Book a table', location: 'Location', call: 'Call', toggle: 'Open menu', closeLbl: 'Close', address: 'ul. Zwycięska 5, Wrocław' },
        footer: {
      tagline: 'Fire. Shared table. Since May 2023.',
      cols: { explore: 'Explore', shop: 'Shop', info: 'Info', follow: 'Follow' },
      madein: 'Wrocław · Made with 火', copy: '© 2026 Hotporacja',
    },
  },

  zh: {
    nav: {
      feast: '盛宴', story: '故事', ritual: '火锅之道', menu: '菜单',
      ai: '智能推荐', shop: '商店', voucher: '礼品券', faq: '', blog: '',
      loyalty: '会员', biz: '商务', visit: '联系我们', moments: '瞬间', book: '立即订座',
    },
    floatBar: {
      bookBrand: 'ZJEDZ.MY',
      call: '致电',
      location: '位置',
      addressShort: 'Zwycięska 5，弗罗茨瓦夫',
    },
    hero: {
      eyebrow: '弗罗茨瓦夫 · 正宗中式火锅',
      title1: '一炉火。', title2: '共此', title3: '一桌。',
      subtitle: '翻滚的川味红汤。薄切牛肉没入香气蒸腾的汤中。筷子伸向同一口锅——这一晚，值得回味数周。共煮共食的中式礼仪，安放于弗罗茨瓦夫 Zwycięska 5 号。',
      cta1: '立即订座', cta2: '探索盛宴',
      live: '营业中', closed: '已打烊',
      statusLbl: '状态',
      scroll: '向下',
    },
    feast: {
      eyebrow: '三重盛宴 · 弗罗茨瓦夫唯一正宗中式火锅',
      titleA: '三种盛宴，',
      titleB: '无限畅享。',
      sub: '弗罗茨瓦夫正宗的中式火锅。三种形式——从日常中式早餐到四小时商务晚宴。节奏与强度由你定，炉火由我们守。',
      from: '每位起',
      book: '立即订座',
      details: '查看详情',
      close: '关闭',
      panels: [
        {
          letter: '甲',
          titleA: '中式', titleB: '早餐',
          cn: 'Chinese Breakfast',
          price: '60',
          hours: '每天 · 09:00 – 12:00',
          desc: '现蹲现蒸的包子、热腾腾的饺子、酥脆的炸点、一碘馆粉面热汤。传统中式早餐——在弗罗茨瓦夫，天天供应。',
          feats: ['包子', '饺子', '炸点', '茶水已含'],
          details: {
            lead: '传统中式早餐，天天供应。茶水已包含，早餐车从首位客人开餐起，一直运转到中午十二点。',
            includesLabel: '包含',
            includes: [
              '包子——多种中式包子',
              '中式饺子',
              '热腾腾的拉面',
              '中式早餐炸点',
              '蔬菜、泡菜与时令小菜',
              '茶水或热饮'
            ],
            policyLabel: '说明',
            policy: [
              '天天供应',
              '用餐时限 90 分钟',
              '6 岁以下儿童——免费',
              '7–12 岁儿童——半价',
              '建议预约，无预约视位况入座'
            ],
            pairLabel: '茶点搭配',
            pair: '推荐 2018 普洱或奶香乌龙。亦有酒水，但早茶仍以茶为主。',
          }
        },
        {
          letter: '乙',
          titleA: '火锅 +', titleB: '烤肉',
          cn: 'Fire & Grill Duo',
          price: '135',
          hours: '每日 · 17:00 – 23:00',
          desc: '我们的招牌盛宴：一锅翻滚的火锅，一炉亚洲纸上烤。同一张桌子，两种火焰，滄头不设上限。',
          feats: ['火锅', '桌边炙烤', '2 小时', '酱料吧'],
          details: {
            lead: 'Hotporacja 的招牌晚宴。一桌两火：12 小时慢熬的汤底，以及纸上烤肉。',
            includesLabel: '包含',
            includes: [
              '8 款锅底任选 2 款——麻辣川锅、番茄、菌菇、京味、泰式、草本养生',
              '虾、鱿鱼、章鱼及虾滑',
              '纸片牛肉、五花、羊肉、鸡肉',
              '20+ 种蔬菜、菌菇、豆制品',
              '4 种面条——手拉面到红薯宽粉',
              '5 款蘸料——芝麻、沙茶、辣子、蒜香'
            ],
            policyLabel: '说明',
            policy: [
              '用餐 120 分钟——无限点单',
              '剩余食材：每 100 克 +20 波兰兹罗提',
              '酒水——另行点选',
              '提供素食版本'
            ],
            pairLabel: '餐后',
            pair: '推荐我们的现调招牌饮品，以及手工制作的雪冰——轻盈绵密，火锅烧烤之后最配。',
          }
        },
        {
          letter: '丙',
          titleA: '尊享', titleB: '全席',
          cn: 'Elite Business Feast',
          price: '250',
          hours: '需预约 · 4 小时',
          desc: '尊享 Hotporacja 全体验：全菜单无限畅享，饮品全含。唯一例外——38 度以上烈酒。',
          feats: ['A5 和牛', '全菜单', '私人包间', '4 小时'],
          details: {
            lead: '商务与庆典的四小时闭门宴。整份菜单任点，私人包间，专属服务生。',
            includesLabel: '包含',
            includes: [
              '全菜单任点——无数量限制',
              'A5 和牛、牛柳、牛肋排',
              '虎虾、章鱼、比目鱼、鲍鱼',
              '手拉拉面与小笼包',
              '冷前菜与甜点——杨枝甘露、芝麻豆腐',
              '优质茶饮（普洱、单丛）——无限量',
              '红白葡萄酒、啤酒——已含',
              '专属服务生与餐厅经理'
            ],
            policyLabel: '说明',
            policy: [
              '最少 4 人，最多 12 人',
              '带门私人包间——可商务洽谈',
              '48 小时前预约，30% 订金',
              '高度烈酒（53°+ 白酒、威士忌）——另行点选'
            ],
            pairLabel: '茶酒搭配',
            pair: '主厨推荐三段茶配：开席白茶、涮锅普洱、甜点单丛。另可选宁夏红葡萄酒。',
          }
        },
      ],
    },
    shop: {
      eyebrow: '商店 · Shop',
      titleA: '把亚洲',
      titleB: '带回厨房。',
      sub: '我们店里用的同一批食材——装瓶、打包、发货。重庆辣椒油、陈年普洱、白酒、干菌菇、自制底料。',
      cta: '浏览商店',
      badge: '新品',
      add: '加入购物车',
      cats: ['全部', '调料', '茶', '酒类', '酱料', '面食'],
      items: [
        { slug:'sichuan-oil', cat:'调料', name:'重庆辣椒油', cn:'Chongqing chili oil', price:'42', unit:'250 毫升', note:'自家熬制，12 小时 14 种香料。' },
        { slug:'peppercorn', cat:'调料', name:'汉源花椒', cn:'Sichuan peppercorn', price:'28', unit:'80 克', note:'产自汉源——又麻又香，正宗。', badge:'热销' },
        { slug:'tea', cat:'茶', name:'2018 普洱茶砖', cn:'Puerh brick', price:'120', unit:'200 克', note:'陈香绵润，下午泡饮。' },
        { slug:'baijiu', cat:'酒类', name:'酱香型白酒', cn:'Baijiu', price:'240', unit:'500 毫升', note:'53% 度——经典酱香，冰镇更佳。', badge:'新品' },
        { slug:'noodles', cat:'面食', name:'手拉拉面', cn:'Hand-pulled lamian', price:'26', unit:'4 人份', note:'急冻鲜制——90 秒即熟。' },
        { slug:'broth-base', cat:'酱料', name:'火锅底料', cn:'Hot pot base', price:'38', unit:'300 克', note:'我们的配方——下锅加水即可。', badge:'主厨' },
      ],
    },
    story: {
      eyebrow: '故事 · Story',
      titleA: '三千年，',
      titleB: '围于一桌。',
      body1: '火锅诞生于长江边——纤夫们用一锅麻辣汤暖透筋骨。从江岸一路走到皇家宫殿，如今——以最本真的面貌——第一次来到弗罗茨瓦夫。',
      body2: '我们不做「中餐」，我们主持一场仪式。每桌一锅，每人一筷，每晚各有节奏。',
      stats: [
        { k: '3000+', v: '年的中国传统' },
        { k: '3亿', v: '全球经常吃火锅的人' },
        { k: '12h', v: '每日熬汤时间' },
        { k: '1/1', v: '弗罗茨瓦夫唯一正宗火锅' },
      ],
    },
    boutique: {
      eyebrow: '精品店 · Asian Boutique',
      title: '把厨房带回家。',
      body: '香料、茶叶、清酒、茶器——与餐厅同源的精选供应商。',
      cta: '进入精品店',
    },
    ritual: {
      eyebrow: '火锅之道 · Ritual',
      title: '吃火锅的艺术。',
      lead: '六步体验。学会像主厨一样烫、蘸、品。',
      steps: [
        { n: '一', t: '选锅底', d: '八种锅底任选两味——麻辣、菌汤、番茄、京式清汤、泰式冬阴功、滋补药膳……鸳鸯任配。', tag: '起锅' },
        { n: '二', t: '调蘸料', d: '五种基底自由调配——麻酱、蒜泥、香菜、辣油、家传香料，调出属于自己的那一碟。', tag: '五味碟' },
        { n: '三', t: '先涮肉', d: '手切牛、猪、羊、鸡片薄如纸，在沸汤里轻轻一涮，几十秒锁住嫩度与香气。', tag: '30–60 秒' },
        { n: '四', t: '再下菜', d: '蔬菜、菌菇、豆腐随后下锅——煮得透，也把汤底喂得更浓。', tag: '3–5 分钟' },
        { n: '五', t: '最后下面', d: '面条压轴登场。汤已浓缩，吸饱所有滋味，是这一锅的尾声。', tag: '收尾' },
        { n: '六', t: '甜品收官', d: '一碗手刨雪冰 / Bingsu 收尾——清凉绵密，最配火锅与烧烤的余温。', tag: 'Bingsu 雪冰' },
      ],
    },
    menuMini: {
      eyebrow: '菜单 · Menu',
      title: '调出属于你的一锅。',
      lead: '八款锅底、数十种食材、五味蘸碟——一场聚餐，千变万化。',
      tabs: ['汤底', '套餐', '蘸料', '肉拼', '加点', '烧烤'],
      items: {
        '汤底': [
          ['四川麻辣 🌶🌶🌶🌶', '辣', '已含'],
          ['传统老汤 🌶🌶🌶', '传', '已含'],
          ['番茄汤 — 温润舒缓', '番', '已含'],
          ['金汤竹笋 🌶', '金', '已含'],
          ['野生菌汤', '菌', '已含'],
          ['京式清汤', '京', '已含'],
          ['泰式酸辣 🌶🌶 · NEW', '泰', '已含'],
          ['中式药膳汤 · NEW', '药', '已含'],
        ],
        '套餐': [
          ['广府套餐 — 海鲜、鱼丸、香菇', '广', '套'],
          ['北京套餐 — 牛、猪、白菜、魔芋', '京', '套'],
          ['香港套餐 — 龙虾、鱿鱼、虾、乌冬', '港', '套'],
          ['成都套餐 — 麻辣牛、黑木耳、苕粉', '蓉', '套'],
          ['杭州套餐 — 鸡、莲藕、鱼豆腐、卤猪肉', '杭', '套'],
          ['峨眉素套 — 平菇、白菜、海带、香菇', '峨', '套'],
        ],
        '蘸料': [
          ['经典花生芝麻酱', '芝', '已含'],
          ['川式麻辣酱', '辣', '已含'],
          ['沙茶酱', '沙', '已含'],
          ['海鲜酱', '海', '已含'],
          ['七味酱', '七', '已含'],
        ],
        '肉拼': [
          ['一米薄切牛肉', '牛', '1000 g'],
          ['一米薄切猪肉', '猪', '1000 g'],
          ['半米薄切牛肉', '牛', '500 g'],
          ['半米薄切猪肉', '猪', '500 g'],
          ['一米肋眼牛排（烧烤）', '烤', '1000 g'],
          ['一米五花肉（烧烤）', '烤', '1000 g'],
        ],
        '加点': [
          ['羊肉片 (300g)', '羊', '70 PLN'],
          ['毛肚 (200g)', '肚', '30 PLN'],
          ['鸭血 (300g)', '血', '28 PLN'],
          ['鱼籽福袋 (6 个)', '福', '70 PLN'],
          ['爆浆鱼籽丸 (8 个)', '鱼', '40 PLN'],
          ['虾滑 (100g)', '虾', '50 PLN'],
          ['鲜山药 (200g)', '山', '40 PLN'],
          ['脆贡菜 (100g)', '贡', '40 PLN'],
          ['鲜竹笋 (200g)', '笋', '40 PLN'],
          ['上海青 (200g)', '青', '20 PLN'],
          ['年糕 (200g)', '糕', '25 PLN'],
        ],
        '烧烤': [
          ['套餐 A — 五花、鸡、牛、彩椒、洋葱、生菜、金针菇', 'A', 'NEW'],
          ['套餐 B — 五花、瘦肉、虾、平菇、洋葱、生菜、午餐肉', 'B', 'NEW'],
          ['套餐 C — 五花、瘦肉、牛、平菇、洋葱、生菜、蒜片', 'C', 'NEW'],
        ],
      },
      cta: '查看完整菜单',
      pdfFile: 'assets/menu-hotporacja-2026-pl.pdf',
      pdfDownloadName: 'Hotporacja-menu-2026-PL.pdf',
      pdfLink: '下载 PDF',
      pdfHint: '2026 完整菜单（波兰语官方印刷版）；价格与规则以 PDF 为准。',
    },
    voucher: {
      eyebrow: '礼券 · Voucher',
      title: '送一个夜晚，不是一件物。',
      lead: '精印 Hotporacja 礼券——可到店领取，亦可快递送达。',
      tiers: [
        { name: '亲密', sub: '双人', price: 488, includes: ['HOTPOT & BBQ 不限量', '红酒 / 白葡萄酒 / 气泡酒（任意一瓶）', '2杯 ORIENTAL VELVET SELECTION 手工饮品', '2份 ORIENTAL VELVET SELECTION 甜品'] },
        { name: '盛宴', sub: '四人', price: 988, includes: ['4份精选前菜', 'HOTPOT & BBQ 不限量', '红酒 / 白葡萄酒 / 气泡酒（任意一瓶）', '4杯 ORIENTAL VELVET SELECTION 手工饮品', '4份 ORIENTAL VELVET SELECTION 甜品'] },
        { name: '帝国', sub: '完整体验 · 6人', price: 1880, includes: ['全菜单不限量（餐食与饮品）', '火锅 + 烧烤 + 饮品全覆盖', '赠送整瓶中国白酒', '私享包厢服务'] },
      ],
      cta: '订购礼券',
    },
    biz: {
      eyebrow: '商务 · Events',
      title: '整间餐厅，为你而开。',
      lead: '家庭聚餐、生日派对、朋友小聚，或是公司晚宴——Hotporacja 为你打造一场火锅、烧烤、亚洲风味与欢聚交织的夜晚。餐厅最多容纳 42 位客人——10 张共享大桌配大锅，另有 12 个单人位，每位一只独立小锅。',
      bullets: [
        '协助筹划整场活动',
        '按场合量身定制菜单',
        '火锅、烧烤、小食、饮品、甜品一应俱全',
        '丰富的酒水与饮料选择',
        '可预订半场或整场包场',
      ],
      contact: 'tak@hotporacja.pl · +48 886 309 888',
      cta: '索取报价',
      statGuests: '人', statTables: '共享桌', statPots: '单人位',
    },
            moments: {
      eyebrow: '瞬间 · Hotpot Moments',
      titleA: '弗罗茨瓦夫',
      titleB: '的打卡餐桌。',
      sub: '蒸汽、火光中的面孔、举起的碗——在这里，每个夜晚都长得不一样。标记 @hotporacja，你也会上我们的墙。',
      handle: '@hotporacja',
      cta: '到 Instagram 看更多',
      scrollHint: '拖动 →',
      tags: ['#火锅', '#弗罗茨瓦夫', '#围炉', '#同桌', '#Wrocław'],
      posts: [
        { user:'magda.k',   when:'2天前',  caption:'第一次吃火锅——走出店门时，心里还有火。',   likes:842, aspect:'4/5' },
        { user:'dawid.w',   when:'4天前',  caption:'麻婆配啤酒，完美的波兰夜晚。',            likes:612, aspect:'1/1' },
        { user:'aniapoleci',when:'1周前',  caption:'每周五都要来，已上瘾。',                  likes:1204, aspect:'4/5' },
        { user:'kuba.foto', when:'1周前',  caption:'锅里的光——世上最好的补光灯。',            likes:2310, aspect:'3/4' },
        { user:'olaiola',   when:'2周前',  caption:'生日在 Hotporacja，烟雾、眼泪、笑声。',     likes:498, aspect:'1/1' },
        { user:'piotr.eats',when:'3周前',  caption:'四川味，治愈 12 月的寒夜。',               likes:1876, aspect:'4/5' },
        { user:'basia.w',   when:'4周前',  caption:'我男朋友完全没想到会是这样。',              likes:751, aspect:'1/1' },
        { user:'tomek.k',   when:'1月前',  caption:'半个亚洲 × 波兰天气 = 火锅。',              likes:923, aspect:'3/4' },
      ],
    },
    visit: {
      eyebrow: '联系 · Contact',
      titleA: 'ul. Zwycięska 5,', titleB: '弗罗茨瓦夫。',
      sub: '在线或电话订座。进店脱鞋入座，离开时已是新朋友。',
      address: '地址', phone: '电话', email: '邮箱', hours: '营业时间',
      hoursArr: [
        ['周一', '09:00 – 21:00'],
        ['周二', '09:00 – 21:00'],
        ['周三', '09:00 – 21:00'],
        ['周四', '09:00 – 21:00'],
        ['周五', '09:00 – 23:00'],
        ['周六', '09:00 – 23:00'],
        ['周日', '09:00 – 21:00'],
      ],
      book: '立即订座', route: '查看路线',
      form: {
        title: '给我们发邮件',
        sub: '邮件将直接发送至：tak@hotporacja.pl',
        name: '称呼', namePh: '怎么称呼您？',
        email: '邮箱', emailPh: 'you@email.com',
        msg: '留言', msgPh: '想说点什么…',
        send: '发送邮件',
      },
      mapHint: '在 Google 地图中打开',
    },
    quickActions: { book: '立即订座', location: '导航路线', call: '电话联系', toggle: '快捷菜单', closeLbl: '关闭', address: 'ul. Zwycięska 5, 弗罗茨瓦夫' },
        footer: {
      tagline: '一炉火。共此桌。自 2023 年 5 月起。',
      cols: { explore: '探索', shop: '商店', info: '信息', follow: '关注' },
      madein: '弗罗茨瓦夫 · Made with 火', copy: '© 2026 Hotporacja',
    },
  },
};

// Resolve language from localStorage / URL ?lang= / browser, default 'pl'
function lxResolveLang() {
  try {
    const url = new URLSearchParams(location.search);
    const q = url.get('lang');
    if (q && LX_I18N[q]) return q;
    const stored = localStorage.getItem('hp.lang');
    if (stored && LX_I18N[stored]) return stored;
  } catch (_) {}
  const nav = (navigator.language || 'pl').slice(0,2).toLowerCase();
  if (LX_I18N[nav]) return nav;
  return 'pl';
}

function lxPersistLang(l) {
  try { localStorage.setItem('hp.lang', l); } catch(_) {}
  document.documentElement.lang = l === 'zh' ? 'zh-CN' : l;
}

function useLuxLang() {
  const [lang, setLangRaw] = useState(lxResolveLang);
  useEffect(() => { lxPersistLang(lang); }, [lang]);
  useEffect(() => {
    try {
      const u = new URL(location.href);
      if (u.searchParams.get('lang') !== lang) {
        u.searchParams.set('lang', lang);
        history.replaceState(null, '', u.pathname + u.search + u.hash);
      }
    } catch (_) {}
  }, [lang]);
  const setLang = (l) => { setLangRaw(l); };
  const t = LX_I18N[lang] || LX_I18N.pl;
  return { lang, setLang, t };
}

// Adapted Nav for sub-pages: hash links jump to homepage anchors,
// and `shop` keeps its boutique behaviour. Page-specific links live in NAV_TARGETS.
const NAV_TARGETS = {
  feast:   '/#feast',
  ritual:  'ritual.html',
  menu:    'menu.html',
  voucher: 'voucher.html',
  faq:     'faq.html',
  blog:    'blog.html',
  shop:    'Hotporacja Shop.html',
  visit:   'visit.html',
  story:   'story.html',
  biz:     'biz.html',
  home:    '/',
};

const HP_FLOAT_BOOK = 'https://zjedz.my/hotporacja';
const HP_FLOAT_TEL = 'tel:+48886309888';
const HP_FLOAT_TEL_TEXT = '+48 886 309 888';
/** Canonical Google Maps place page for Hotporacja (used site-wide). */
const GOOGLE_MAPS_PLACE_URL =
  'https://www.google.com/maps/place/Hotporacja/@51.060938,16.9983505,17z/data=!3m1!4b1!4m6!3m5!1s0x470fc3a44bf34c53:0xa843e5f874bd9552!8m2!3d51.0609347!4d17.0009254!16s%2Fg%2F11kjf9dy8d';
const HP_FLOAT_MAPS = GOOGLE_MAPS_PLACE_URL;

function LuxNav({ t, lang, setLang }) {
  const [scrolled, setScrolled] = useState(false);
  const [open, setOpen] = useState(false);

  useEffect(() => {
    const onScroll = () => setScrolled(window.scrollY > 30);
    window.addEventListener('scroll', onScroll, { passive: true });
    onScroll();
    return () => window.removeEventListener('scroll', onScroll);
  }, []);

  useEffect(() => {
    document.body.style.overflow = open ? 'hidden' : '';
  }, [open]);

  const links = [
    ['feast',   t.nav.feast,   false, NAV_TARGETS.feast],
    ['ritual',  t.nav.ritual,  false, NAV_TARGETS.ritual],
    ['menu',    t.nav.menu,    false, NAV_TARGETS.menu],
    ['voucher', t.nav.voucher, false, NAV_TARGETS.voucher],
    ['faq',     t.nav.faq,     false, NAV_TARGETS.faq],
    ['blog',    t.nav.blog,    false, NAV_TARGETS.blog],
    ['shop',    t.nav.shop,    true,  NAV_TARGETS.shop],
    ['visit',   t.nav.visit,   false, NAV_TARGETS.visit],
  ];
  const visibleLinks = links.filter(([id, label]) => label);

  const goToShop = (e) => {
    e.preventDefault();
    const curtain = document.createElement('div');
    curtain.className = 'lx-page-curtain';
    curtain.innerHTML = '<div class="lx-page-curtain-glyph">精</div>';
    document.body.appendChild(curtain);
    requestAnimationFrame(() => curtain.classList.add('on'));
    setTimeout(() => { window.location.href = 'Hotporacja Shop.html'; }, 600);
  };

  return (
    <>
      <header className={`lx-nav ${scrolled ? 'scrolled' : ''}`}>
        <div className="wrap lx-nav-row">
          <a href="/" className="lx-logo">
            <span className="lx-logo-mark">火</span>
            <span>Hotporacja</span>
          </a>
          <nav className="lx-nav-links">
            {visibleLinks.map(([id, label, shop, ext]) => (
              <a
                key={id}
                href={ext}
                className={`lx-nav-link ${shop ? 'shop' : ''}`}
                onClick={shop ? goToShop : undefined}
              >{label}</a>
            ))}
          </nav>
          <div style={{ display:'flex', alignItems:'center', gap:12 }}>
            <div className="lx-lang" role="group" aria-label="Language">
              <span
                className="lx-lang-pill"
                style={{
                  transform: `translateX(${['pl','en','zh'].indexOf(lang) * 100}%)`,
                }}
              />
              {['pl','en','zh'].map(l => (
                <button
                  key={l}
                  className={lang === l ? 'on' : ''}
                  onClick={() => setLang(l)}
                  aria-pressed={lang === l}
                  aria-label={l === 'pl' ? 'Polski' : l === 'en' ? 'English' : '中文'}
                >
                  {l === 'zh' ? <span className="lx-lang-glyph">中</span> : l.toUpperCase()}
                </button>
              ))}
            </div>
            <button className="lx-menu-toggle" onClick={() => setOpen(!open)} aria-label="Menu">
              <span /><span /><span />
            </button>
          </div>
        </div>
      </header>

      <div className={`lx-mobile-menu ${open ? 'open' : ''}`} role="dialog" aria-hidden={!open}>
        <button
          type="button"
          className="lx-menu-close"
          onClick={() => setOpen(false)}
          aria-label="Close menu"
        />
        {visibleLinks.map(([id, label, shop, ext]) => (
          <a
            key={id}
            href={ext}
            onClick={() => setOpen(false)}
            className={shop ? 'shop' : ''}
          >{label}</a>
        ))}
        <a href={NAV_TARGETS.visit} onClick={() => setOpen(false)} style={{ color:'var(--lx-fire)' }}>{t.nav.book} →</a>
      </div>
    </>
  );
}

// Sitewide bottom bar: home · zjedz.my · phone · maps
function FloatingActionBar({ t }) {
  return (
    <nav className="lx-float-bar" aria-label={t.nav.book}>
      <a href={NAV_TARGETS.home} className="lx-float-bar__logo">
        <span className="lx-float-bar__mark" aria-hidden="true">火</span>
      </a>
      <a
        href={HP_FLOAT_BOOK}
        className="lx-float-bar__cell lx-float-bar__book"
        target="_blank"
        rel="noopener noreferrer"
      >
        <span className="lx-float-bar__icon" aria-hidden="true">
          <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round">
            <rect x="3" y="4" width="18" height="18" rx="2"/>
            <line x1="16" y1="2" x2="16" y2="6"/>
            <line x1="8" y1="2" x2="8" y2="6"/>
            <line x1="3" y1="10" x2="21" y2="10"/>
          </svg>
        </span>
        <span className="lx-float-bar__text">
          <span className="lx-float-bar__main">{t.nav.book}</span>
          <span className="lx-float-bar__sub">{t.floatBar.bookBrand}</span>
        </span>
      </a>
      <a href={HP_FLOAT_TEL} className="lx-float-bar__cell">
        <span className="lx-float-bar__icon" aria-hidden="true">
          <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round">
            <path d="M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z"/>
          </svg>
        </span>
        <span className="lx-float-bar__text">
          <span className="lx-float-bar__main">{t.floatBar.call}</span>
          <span className="lx-float-bar__subnum">{HP_FLOAT_TEL_TEXT}</span>
        </span>
      </a>
      <span className="lx-float-bar__sep" aria-hidden="true" />
      <a href={HP_FLOAT_MAPS} className="lx-float-bar__cell" target="_blank" rel="noopener noreferrer">
        <span className="lx-float-bar__icon" aria-hidden="true">
          <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round">
            <path d="M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z"/>
            <circle cx="12" cy="10" r="3"/>
          </svg>
        </span>
        <span className="lx-float-bar__text">
          <span className="lx-float-bar__main">{t.floatBar.location}</span>
          <span className="lx-float-bar__subnum">{t.floatBar.addressShort}</span>
        </span>
      </a>
    </nav>
  );
}

const FloatingBook = FloatingActionBar;

Object.assign(window, { LuxNav, FloatingBook, FloatingActionBar });

// ===== LuxFooter (homepage anchors → standalone pages) =====
function LuxFooter({ t }) {
  const cats = (t.shop && t.shop.cats) ? t.shop.cats.slice(1) : [];
  return (
    <footer className="lx-footer">
      <div className="wrap">
        <div className="lx-footer-grid">
          <div>
            <a href={NAV_TARGETS.home} className="lx-logo" style={{ marginBottom: 18 }}>
              <span className="lx-logo-mark">火</span>
              <span>Hotporacja</span>
            </a>
            <p style={{ color:'var(--lx-bone-3)', fontSize:14, maxWidth:'32ch', lineHeight:1.55, marginTop: 18 }}>{t.footer.tagline}</p>
          </div>
          <div>
            <h5>{t.footer.cols.explore}</h5>
            <ul>
              <li><a href={NAV_TARGETS.feast}>{t.nav.feast}</a></li>
              <li><a href={NAV_TARGETS.ritual}>{t.nav.ritual}</a></li>
              <li><a href={NAV_TARGETS.menu}>{t.nav.menu}</a></li>
              <li><a href={NAV_TARGETS.voucher}>{t.nav.voucher}</a></li>
              <li><a href={NAV_TARGETS.biz}>{t.nav.biz}</a></li>
              <li><a href={NAV_TARGETS.story}>{t.nav.story}</a></li>
              <li><a href={NAV_TARGETS.visit}>{t.nav.visit}</a></li>
              {t.nav.faq && <li><a href={NAV_TARGETS.faq}>{t.nav.faq}</a></li>}
              {t.nav.blog && <li><a href={NAV_TARGETS.blog}>{t.nav.blog}</a></li>}
            </ul>
          </div>
          <div>
            <h5>{t.footer.cols.shop}</h5>
            <ul>
              {cats.map(c => <li key={c}><a href={NAV_TARGETS.shop}>{c}</a></li>)}
            </ul>
          </div>
          <div>
            <h5>{t.footer.cols.follow}</h5>
            <ul>
              <li><a href="https://www.instagram.com/explore/locations/116992577987128/hotporacja---the-original-hotpot/" target="_blank" rel="noopener">Instagram</a></li>
              <li><a href="https://www.facebook.com/zwycieska5/" target="_blank" rel="noopener">Facebook</a></li>
              <li><a href="https://zjedz.my/hotporacja" target="_blank" rel="noopener">zjedz.my</a></li>
              <li><a href="tel:+48886309888">+48 886 309 888</a></li>
            </ul>
          </div>
        </div>
        <div className="lx-footer-mega">堂食135 · HOTPORACJA</div>
        <div className="lx-footer-bottom">
          <span>{t.footer.copy}</span>
          <span>{t.footer.madein}</span>
        </div>
      </div>
    </footer>
  );
}

Object.assign(window, { LX_I18N, lxResolveLang, lxPersistLang, useLuxLang, NAV_TARGETS, GOOGLE_MAPS_PLACE_URL, LuxFooter });
