// data.jsx — SHIKI Leipzig: bilingual strings, menu data, icons, atmospheric imagery
// Exposes to window: SHIKI_STRINGS, SHIKI_MENU, SHIKI_DELIVERY, SHIKI_INDEX, SHIKI_NAV, Icon, Photo

// ─────────────────────────────────────────────────────────────
// UI strings  (de = primary German, en = English)
// ─────────────────────────────────────────────────────────────
const SHIKI_STRINGS = {
  tagline:      { de: 'JAPANISCHE HAUTE CUISINE', en: 'JAPANESE FINE DINING' },
  address:      { de: 'KLOSTERGASSE 18 · 04109 LEIPZIG', en: 'KLOSTERGASSE 18 · 04109 LEIPZIG' },
  enter:        { de: 'Zum Eintreten tippen', en: 'Tap to enter' },
  bookCta:      { de: 'JETZT RESERVIEREN', en: 'BOOK A TABLE' },
  exploreHint:  { de: 'Nach oben wischen', en: 'Swipe up' },
  // index
  indexKicker:  { de: 'WILLKOMMEN BEI', en: 'WELCOME TO' },
  indexSub:     { de: 'Vier Jahreszeiten, eine Tafel.', en: 'Four seasons, one table.' },
  // nav
  navHome:      { de: 'Start', en: 'Home' },
  navMenu:      { de: 'Karte', en: 'Menu' },
  navLounge:    { de: 'Lounge', en: 'Lounge' },
  navDelivery:  { de: 'Lieferung', en: 'Delivery' },
  navBook:      { de: 'Buchen', en: 'Book' },
  // menu screen
  menuTitle:    { de: 'Die Karte', en: 'The Menu' },
  menuKicker:   { de: 'DINE-IN · À LA CARTE', en: 'DINE-IN · À LA CARTE' },
  signature:    { de: 'SIGNATURE', en: 'SIGNATURE' },
  toDelivery:   { de: 'Lieferung & Takeaway bestellen', en: 'Order delivery & takeaway' },
  // dish detail
  ingredients:  { de: 'Zutaten', en: 'Ingredients' },
  allergens:    { de: 'Allergene', en: 'Allergens' },
  pairing:      { de: 'Empfohlene Begleitung', en: 'Suggested pairing' },
  addNote:      { de: 'Zur Auswahl notieren', en: 'Note to selection' },
  // lounge
  loungeKicker: { de: 'ENTDECKEN SIE UNSEREN RAUM', en: 'DISCOVER OUR SPACE' },
  loungeTitle:  { de: 'Die Lounge', en: 'The Lounge' },
  loungeDesc:   { de: 'Treten Sie ein in unser modernes japanisches Refugium. Wo Tradition auf zeitgenössisches Design trifft, erzählt jede Ecke eine Geschichte von Handwerkskunst und Wärme.', en: 'Step inside our modern Japanese sanctuary. Where tradition meets contemporary design, every corner tells a story of craftsmanship and warmth.' },
  virtualTour:  { de: 'Virtuelle Tour', en: 'Virtual Tour' },
  virtualTourDesc: { de: '360° Interaktives Erlebnis', en: '360° Interactive Experience' },
  explore3d:    { de: 'IN 3D ERKUNDEN', en: 'EXPLORE IN 3D' },
  highlights:   { de: 'Highlights', en: 'Highlights' },
  hlSushi:      { de: 'Offene Sushi-Bar', en: 'Open Sushi Bar' },
  hlSushiDesc:  { de: 'Sehen Sie unseren Meisterköchen an der offenen Küchentheke bei der Zubereitung Ihres Sushis zu.', en: 'Watch our master chefs craft your sushi at our live open kitchen counter.' },
  hlBar:        { de: 'Die Lounge-Bar', en: 'The Lounge Bar' },
  hlBarDesc:    { de: 'Handgefertigte Cocktails und Premium-Sake in gemütlicher Atmosphäre.', en: 'Handcrafted cocktails and premium sake in an intimate setting.' },
  hlPrivate:    { de: 'Private Dining', en: 'Private Dining' },
  hlPrivateDesc: { de: 'Exklusive, Tatami-inspirierte Räume für besondere Anlässe mit bis zu 12 Gästen.', en: 'Exclusive tatami-inspired spaces for special occasions up to 12 guests.' },
  gallery:      { de: 'Galerie', en: 'Gallery' },
  viewGallery:  { de: 'Galerie ansehen →', en: 'View Gallery →' },
  // delivery
  delTitle:     { de: 'SHIKI Zuhause', en: 'SHIKI at Home' },
  delKicker:    { de: 'NACH HAUSE GEBRACHT', en: 'BROUGHT TO YOUR DOOR' },
  delBlurb:     { de: 'Ausgewählte Gerichte, sorgfältig für die Reise verpackt. Lieferung über unseren Partner.', en: 'A curated selection, carefully packed for the journey. Delivered via our partner.' },
  delCta:       { de: 'Schnellbestellung via Lieferando', en: 'Quick Order via Lieferando' },
  delExternal:  { de: 'Öffnet externe Seite · Lieferando.de', en: 'Opens external site · Lieferando.de' },
  // booking
  bookTitle:    { de: 'Tisch reservieren', en: 'Reserve a Table' },
  bookKicker:   { de: 'OMOTENASHI · GASTFREUNDSCHAFT', en: 'OMOTENASHI · HOSPITALITY' },
  date:         { de: 'Datum', en: 'Date' },
  time:         { de: 'Uhrzeit', en: 'Time' },
  guests:       { de: 'Gäste', en: 'Guests' },
  guest1:       { de: 'Gast', en: 'Guest' },
  guestN:       { de: 'Gäste', en: 'Guests' },
  confirm:      { de: 'Reservierung bestätigen', en: 'Confirm Reservation' },
  resDetails:   { de: 'Reservierungsdetails', en: 'Reservation Details' },
  resSub:       { de: 'Bitte füllen Sie Ihre Informationen aus', en: 'Please fill in your information' },
  nameLbl:      { de: 'Name *', en: 'Name *' },
  namePlh:      { de: 'Geben Sie Ihren vollständigen Namen ein', en: 'Enter your full name' },
  phoneLbl:     { de: 'Telefon *', en: 'Phone *' },
  phonePlh:     { de: 'Geben Sie Ihre Telefonnummer ein', en: 'Enter your phone number' },
  phoneErr:     { de: 'Ungültige Telefonnummer', en: 'Invalid phone number' },
  emailLbl:     { de: 'E-Mail *', en: 'Email *' },
  emailPlh:     { de: 'Geben Sie Ihre E-Mail-Adresse ein', en: 'Enter your email address' },
  emailErr:     { de: 'Ungültige E-Mail-Adresse', en: 'Invalid email address' },
  msgLbl:       { de: 'Nachricht', en: 'Message' },
  msgPlh:       { de: 'Allergien, Sitzplatzwünsche, etc.', en: 'Allergies, seating preference, etc.' },
  submitRes:    { de: 'RESERVIERUNG ABSCHLIESSEN', en: 'SUBMIT RESERVATION' },
  successTitle: { de: 'Reserviert', en: 'Reserved' },
  successMsg:   { de: 'Wir freuen uns auf Ihren Besuch. Eine Bestätigung wurde versendet.', en: 'We look forward to welcoming you. A confirmation has been sent.' },
  // home sections
  coreKicker:   { de: 'ENTDECKEN', en: 'DISCOVER' },
  coreTitle:    { de: 'Drei Welten', en: 'Three Worlds' },
  storyKicker:  { de: 'SEIT 2016 · LEIPZIG', en: 'SINCE 2016 · LEIPZIG' },
  storyTitle:   { de: 'Die SHIKI Geschichte', en: 'The SHIKI Story' },
  storyBody:    { de: 'Seit über einem Jahrzehnt verbindet SHIKI im Herzen Leipzigs authentische japanische Handwerkskunst mit der Kunst des modernen Fine Dining. Von der Binchotan-Glut des Robata-Grills bis zum präzisen Schnitt unseres Sushi-Meisters — jede Saison erzählt ihre eigene Geschichte.', en: 'For over a decade, SHIKI has united authentic Japanese craft with the art of modern fine dining in the heart of Leipzig. From the binchotan embers of the robata grill to the precise cut of our sushi master — every season tells its own story.' },
  newsKicker:   { de: 'AKTUELLES', en: 'JOURNAL' },
  newsTitle:    { de: 'Im Rampenlicht', en: 'In the Spotlight' },
  readMore:     { de: 'Weiterlesen', en: 'Read more' },
  nlKicker:     { de: 'BLEIBEN SIE IN VERBINDUNG', en: 'STAY CONNECTED' },
  nlTitle:      { de: 'Saisonale Menüs & Events', en: 'Seasonal menus & events' },
  nlPlaceholder:{ de: 'Ihre E-Mail-Adresse', en: 'Your email address' },
  nlButton:     { de: 'Abonnieren', en: 'Subscribe' },
  nlDone:       { de: 'Vielen Dank für Ihre Anmeldung.', en: 'Thank you for subscribing.' },
  revKicker:    { de: 'GÄSTEBEWERTUNGEN', en: 'GUEST REVIEWS' },
  revCount:     { de: 'Basierend auf über 300+ Google-Bewertungen', en: 'Based on over 300+ Google reviews' },
  revAll:       { de: 'Alle Google-Bewertungen ansehen ↗', en: 'View all Google reviews ↗' },
  hoursLabel:   { de: 'Öffnungszeiten', en: 'Opening Hours' },
  addrLabel:    { de: 'Adresse', en: 'Address' },
  directions:   { de: 'Route über Google Maps', en: 'Directions via Google Maps' },
  footerTag:    { de: 'JAPANISCHE HAUTE CUISINE', en: 'JAPANESE FINE DINING' },
  // robata page
  robataKicker: { de: 'BINCHOTAN HOLZKOHLE', en: 'BINCHOTAN CHARCOAL' },
  robataIntro:  { de: 'Im Herzen unserer Küche glüht der Robata-Grill. Über weißer Binchotan-Kohle — bei nahezu 800 °C, rauchfrei und rein — gart der Küchenchef edelste Cuts und Fisch vor Ihren Augen. Eine Jahrhunderte alte Technik aus dem Norden Japans, reduziert auf das Wesentliche: Feuer, Zeit und Präzision.', en: 'At the heart of our kitchen glows the robata grill. Over white binchotan charcoal — at nearly 800 °C, smokeless and pure — the chef cooks the finest cuts and fish before your eyes. A centuries-old technique from northern Japan, reduced to its essence: fire, time and precision.' },
  robataFrom:   { de: 'Vom Grill', en: 'From the Grill' },
  done:         { de: 'Fertig', en: 'Done' },
  for:          { de: 'für', en: 'for' },
  // about
  moreAbout:    { de: 'Mehr über SHIKI', en: 'More about SHIKI' },
};

// month names
const SHIKI_MONTHS = {
  de: ['Januar','Februar','März','April','Mai','Juni','Juli','August','September','Oktober','November','Dezember'],
  en: ['January','February','March','April','May','June','July','August','September','October','November','December'],
};
const SHIKI_DOW = {
  de: ['Mo','Di','Mi','Do','Fr','Sa','So'],
  en: ['Mo','Tu','We','Th','Fr','Sa','Su'],
};

// ─────────────────────────────────────────────────────────────
// Index sections (screen B feature cards)
// ─────────────────────────────────────────────────────────────
const SHIKI_INDEX = [
  { id:'robata', target:'menu', photo:'robata',
    title:{ de:'Robata Grill', en:'Robata Grill' },
    sub:{ de:'& À LA CARTE', en:'& À LA CARTE' },
    line:{ de:'Traditioneller Holzkohlegeschmack trifft edle Cuts.', en:'Traditional charcoal flavours meet fine cuts.' } },
  { id:'lounge', target:'lounge', photo:'lounge',
    title:{ de:'Die Lounge', en:'The Lounge' },
    sub:{ de:'COCKTAILS & SAKE', en:'COCKTAILS & SAKE' },
    line:{ de:'Craft-Cocktails & entspannte Atmosphäre.', en:'Craft cocktails & relaxed vibes.' } },
  { id:'dinein', target:'menu', photo:'sushi',
    title:{ de:'Dine-In Karte', en:'Dine-In Menu' },
    sub:{ de:'SUSHI & SASHIMI', en:'SUSHI & SASHIMI' },
    line:{ de:'Entdecken Sie unsere Kochkunst.', en:'Explore our culinary arts.' } },
  { id:'delivery', target:'delivery', photo:'bento',
    title:{ de:'Lieferung', en:'Delivery' },
    sub:{ de:'TAKEAWAY', en:'TAKEAWAY' },
    line:{ de:'SHIKI zu Hause genießen.', en:'Enjoy SHIKI at home.' } },
];

// ─────────────────────────────────────────────────────────────
// Bottom navigation
// ─────────────────────────────────────────────────────────────
const SHIKI_NAV = [
  { id:'home',     icon:'home',     label:'navHome' },
  { id:'menu',     icon:'menu',     label:'navMenu' },
  { id:'book',     icon:'book',     label:'navBook' },
  { id:'more',     icon:'burger',   isIcon: true },
];

// Home core-services cards (Section 2)
const SHIKI_SERVICES = [
  { id:'robata', target:'robata', photo:'robata', img:'assets/svc-robata.png', pos:'center 42%',
    title:{ de:'Robata Grill', en:'Robata Grill' },
    line:{ de:'Traditioneller Holzkohlegeschmack trifft edle Cuts.', en:'Traditional charcoal flavours meet fine cuts.' } },
  { id:'lounge', target:'lounge', photo:'lounge', img:'assets/svc-lounge-v2.png', pos:'center 40%',
    title:{ de:'Die Lounge', en:'The Lounge' },
    line:{ de:'Signature Craft-Cocktails & Late-Night-Atmosphäre.', en:'Signature craft cocktails & late-night vibes.' } },
  { id:'delivery', target:'delivery', photo:'bento', img:'assets/svc-delivery-v2.png', pos:'center 38%',
    title:{ de:'Lieferung & Takeaway', en:'Delivery & Takeaway' },
    line:{ de:'Premium-SHIKI-Erlebnis bei Ihnen zu Hause – powered by Lieferando.', en:'Premium SHIKI experience at your doorstep — powered by Lieferando.' } },
];

const SHIKI_HOURS = {
  de: [
    ['Mo. - So. (Mittags)', '11:00 bis 14:00'],
    ['Mo. - So. (Abends)', '17:30 bis 22:00']
  ],
  en: [
    ['Mo - Su (Lunch)', '11:00 to 14:00'],
    ['Mo - Su (Dinner)', '17:30 to 22:00']
  ],
};
const SHIKI_MAPS_URL = 'https://maps.google.com/?q=Klostergasse+18,+04109+Leipzig';

const SHIKI_REVIEWS = [
  { id: 1, author: "Sarah M.", time: { de: "vor 2 Wochen", en: "2 weeks ago" }, text: { de: "Bester Omakase-Abend in der Stadt. Das Sushi schmilzt auf der Zunge und der Service ist herausragend.", en: "Best Omakase evening in the city. The sushi melts in your mouth and the service is outstanding." } },
  { id: 2, author: "Lukas K.", time: { de: "vor 1 Monat", en: "1 month ago" }, text: { de: "Exzellente Qualität und ein fantastisches Ambiente. Ein echtes Fine-Dining Erlebnis in Leipzig.", en: "Excellent quality and a fantastic ambiance. A true fine-dining experience in Leipzig." } },
  { id: 3, author: "J. Wagner", time: { de: "vor 3 Monaten", en: "3 months ago" }, text: { de: "Unglaublich authentisch. Die Robata-Spieße waren perfekt auf den Punkt gegrillt. Absolut empfehlenswert!", en: "Incredibly authentic. The Robata skewers were grilled to perfection. Highly recommended!" } }
];

// Featured news / journal (horizontal slider)
const SHIKI_NEWS = [
  { id:'sakura', img:'assets/hero-salmon.jpg', pos:'center 60%',
    cat:{ de:'MENÜ', en:'MENU' }, date:{ de:'Mai 2026', en:'May 2026' },
    title:{ de:'Neue Frühlingskarte zur Sakura-Saison', en:'New spring menu for the sakura season' },
    content:{ 
      de:'Feiern Sie mit uns die Kirschblüte. Unser Küchenchef hat eine exklusive Auswahl an leichten, floralen Gerichten zusammengestellt, die die Frische des Frühlings einfangen. Begleitet von saisonalem Sake wird dies zu einem unvergesslichen Erlebnis.\n\nDie Sakura-Saison ist in Japan nicht nur ein Naturphänomen, sondern ein kulturelles Ereignis, das den Neuanfang und die Vergänglichkeit feiert. In unserem neuen Menü spiegeln wir diese Philosophie durch die Verwendung von zarten, vergänglichen Zutaten wie wildem Spargel, frischen Bambussprossen und natürlich eingelegten Kirschblüten wider.\n\nEin besonderes Highlight ist das Sakura-Nigiri, bei dem frisch zubereiteter Sushi-Reis sanft mit einem Hauch von Kirschblütenessenz parfümiert wird, bevor er mit fangfrischem Seebrassen (Tai) belegt wird. Auch unsere Desserts, wie das luftige Sakura-Mochi, sind eine Hommage an die zarte rosa Blütenpracht.\n\nBegleitend dazu hat unser Sommelier eine Auswahl an Frühlings-Sakes (Haruzake) kuratiert, die sich durch ihre frischen, floralen und leichten Noten auszeichnen und perfekt mit den feinen Aromen der Gerichte harmonieren. Diese seltenen Tropfen sind nur für wenige Wochen verfügbar.\n\nWir laden Sie ein, dieses besondere Ereignis mit uns zu teilen. Reservieren Sie frühzeitig, da die Plätze für unser spezielles Sakura-Omakase begrenzt sind.',
      en:'Celebrate the cherry blossom season with us. Our chef has put together an exclusive selection of light, floral dishes that capture the freshness of spring. Accompanied by seasonal sake, this will be an unforgettable experience.\n\nThe Sakura season in Japan is not just a natural phenomenon, but a cultural event celebrating new beginnings and transience. In our new menu, we reflect this philosophy by using delicate, ephemeral ingredients such as wild asparagus, fresh bamboo shoots and, of course, pickled cherry blossoms.\n\nA special highlight is the Sakura Nigiri, where freshly prepared sushi rice is gently perfumed with a hint of cherry blossom essence before being topped with freshly caught sea bream (Tai). Our desserts, such as the airy Sakura Mochi, are also a homage to the delicate pink blossoms.\n\nTo accompany this, our sommelier has curated a selection of spring sakes (Haruzake) that are characterised by their fresh, floral and light notes and harmonise perfectly with the delicate flavours of the dishes. These rare drops are only available for a few weeks.\n\nWe invite you to share this special event with us. Please book early, as places for our special Sakura Omakase are limited.' 
    } },
  { id:'award', img:'assets/svc-lounge-v2.png', pos:'center 45%',
    cat:{ de:'PRESSE', en:'PRESS' }, date:{ de:'April 2026', en:'April 2026' },
    title:{ de:'SHIKI mit Gault&Millau ausgezeichnet', en:'SHIKI honoured by Gault&Millau' },
    content:{ 
      de:'Wir sind unglaublich stolz darauf, unsere erste Haube von Gault&Millau erhalten zu haben. Diese Auszeichnung ist eine Bestätigung für die Leidenschaft und Hingabe unseres gesamten Teams, jeden Tag authentische japanische Haute Cuisine in Leipzig zu präsentieren.\n\nDer angesehene Restaurantführer hob besonders die Präzision unseres Sushi-Meisters sowie die innovative Nutzung unseres Binchotan-Holzkohlegrills hervor. "SHIKI bringt eine neue Dimension der japanischen Esskultur nach Leipzig", so die Kritiker.\n\nDarüber hinaus lobte die Jury unsere Weinkarte und die bemerkenswerte Sake-Auswahl, die als "hervorragend auf das kulinarische Angebot abgestimmt" beschrieben wurde. Der Service wurde als unaufdringlich, aber stets präsent und höchst kompetent bewertet, was unsere Philosophie der Omotenashi (japanische Gastfreundschaft) perfekt widerspiegelt.\n\nDiese Anerkennung motiviert uns, unsere Standards weiter zu erhöhen und noch kreativer zu werden, ohne dabei unsere traditionellen Wurzeln aus den Augen zu verlieren. Wir planen bereits neue, exklusive Menüs, um diesen Erfolg gebührend zu feiern.\n\nWir möchten diese Gelegenheit nutzen, um all unseren Gästen für ihre fortlaufende Unterstützung zu danken. Ohne Ihre Neugier und Wertschätzung für unsere Handwerkskunst wäre dieser Meilenstein nicht möglich gewesen.',
      en:'We are incredibly proud to have received our first toque from Gault&Millau. This award is an acknowledgement of the passion and dedication of our entire team in presenting authentic Japanese haute cuisine in Leipzig every day.\n\nThe prestigious restaurant guide particularly highlighted the precision of our sushi master and the innovative use of our Binchotan charcoal grill. "SHIKI brings a new dimension of Japanese dining culture to Leipzig," according to the critics.\n\nIn addition, the jury praised our wine list and remarkable sake selection, describing it as "superbly matched to the culinary offerings". The service was rated as unobtrusive but always present and highly competent, perfectly reflecting our philosophy of Omotenashi (Japanese hospitality).\n\nThis recognition motivates us to raise our standards even further and become even more creative, without losing sight of our traditional roots. We are already planning new, exclusive menus to properly celebrate this success.\n\nWe would like to take this opportunity to thank all our guests for their ongoing support. Without your curiosity and appreciation for our craftsmanship, this milestone would not have been possible.' 
    } },
  { id:'omakase', img:'assets/news-omakase.png', pos:'center 50%',
    cat:{ de:'EVENT', en:'EVENT' }, date:{ de:'März 2026', en:'March 2026' },
    title:{ de:'Omakase-Abende mit Chef Tanaka', en:'Omakase evenings with Chef Tanaka' },
    content:{ 
      de:'Erleben Sie die wahre Kunst des Omakase ("Ich überlasse es Ihnen"). Chef Tanaka kreiert direkt vor Ihren Augen ein 12-Gänge-Menü aus den frischesten Zutaten des Tages. Sichern Sie sich jetzt Ihren Platz am Tresen für dieses intime kulinarische Erlebnis.\n\nJeder Gang ist eine Überraschung, sorgfältig abgestimmt auf die Jahreszeit und die Verfügbarkeit der besten Meeresfrüchte. Lassen Sie sich auf eine Reise durch die japanische Kulinarik entführen, begleitet von persönlichen Anekdoten unseres Küchenchefs.',
      en:'Experience the true art of Omakase ("I leave it up to you"). Chef Tanaka creates a 12-course menu right before your eyes using the freshest ingredients of the day. Secure your seat at the counter now for this intimate culinary experience.\n\nEach course is a surprise, carefully tailored to the season and the availability of the best seafood. Let yourself be taken on a journey through Japanese cuisine, accompanied by personal anecdotes from our head chef.' 
    } },
  { id:'robata', img:'assets/svc-robata.png', pos:'center 45%',
    cat:{ de:'STORY', en:'STORY' }, date:{ de:'Februar 2026', en:'February 2026' },
    title:{ de:'Robata-Meisterklasse: hinter den Kulissen', en:'Robata masterclass: behind the scenes' },
    content:{ 
      de:'Die Seele unseres Restaurants ist der Robata-Grill. Erfahren Sie mehr über die traditionelle Binchotan-Holzkohle, die extrem hohe Temperaturen erreicht, ohne zu rauchen, und wie unsere Grillmeister damit den perfekten Umami-Geschmack erzeugen.\n\nIn dieser exklusiven Meisterklasse werfen Sie einen Blick hinter die Kulissen. Sie lernen die Grundlagen der Temperaturkontrolle und die Kunst des Wendens, um Fleisch, Fisch und Gemüse genau im richtigen Moment zu perfektionieren.',
      en:'The soul of our restaurant is the Robata grill. Learn more about the traditional Binchotan charcoal, which reaches extremely high temperatures without smoking, and how our grill masters use it to create the perfect umami flavour.\n\nIn this exclusive masterclass, you will get a look behind the scenes. You will learn the basics of temperature control and the art of turning to perfect meat, fish and vegetables at exactly the right moment.' 
    } },
  { id:'sakenight', img:'assets/hero-salmon.jpg', pos:'center 40%',
    cat:{ de:'EVENT', en:'EVENT' }, date:{ de:'Januar 2026', en:'January 2026' },
    title:{ de:'Sake-Nacht: Exklusive Verkostung mit Sommelier', en:'Sake Night: Exclusive tasting with Sommelier' },
    content:{ 
      de:'Tauchen Sie ein in die Welt des Sake. Unser zertifizierter Sake-Sommelier führt Sie durch eine sorgfältig kuratierte Auswahl seltener Tropfen aus kleinen japanischen Brauereien, perfekt abgestimmt auf passende Izakaya-Häppchen.',
      en:'Immerse yourself in the world of sake. Our certified sake sommelier will guide you through a carefully curated selection of rare drops from small Japanese breweries, perfectly matched with suitable Izakaya snacks.' 
    } },
  { id:'newyear', img:'assets/svc-lounge-v2.png', pos:'center 55%',
    cat:{ de:'FEIER', en:'CELEBRATION' }, date:{ de:'Dezember 2025', en:'December 2025' },
    title:{ de:'Silvester-Gala im SHIKI Leipzig', en:'New Year\'s Eve Gala at SHIKI Leipzig' },
    content:{ 
      de:'Begrüßen Sie das neue Jahr mit Stil. Genießen Sie ein exklusives 8-Gänge-Galamenü, Live-Musik und Mitternachts-Champagner in unserer eleganten Lounge. Ein glamouröser Abend, um das vergangene Jahr gebührend zu verabschieden.',
      en:'Welcome the new year in style. Enjoy an exclusive 8-course gala dinner, live music and midnight champagne in our elegant lounge. A glamorous evening to bid a fitting farewell to the past year.' 
    } },
];

// ─────────────────────────────────────────────────────────────
// Dine-in menu  (categories → dishes)
// ─────────────────────────────────────────────────────────────
const SHIKI_MENU = [
  { id:'robata', title:{ de:'Robata', en:'Robata' }, jp:'炉端焼き', dishes:[
      { id:'wagyusirloin', photo:'robata', src:'assets/robata-wagyu.png', price:'52,00', signature:true,
        name:{ de:'A5 Wagyu Sirloin', en:'A5 Wagyu Sirloin' },
        desc:{ de:'Zartes A5 Wagyu aus Kagoshima, meisterhaft tranchiert, serviert mit Meersalz und frischem Wasabi.', en:'Tender A5 Wagyu from Kagoshima, masterfully sliced, served with sea salt and fresh wasabi.' } },
      { id:'blackcod', photo:'robata', src:'assets/robata-cod.png', price:'34,00',
        name:{ de:'Black Cod Saikyo', en:'Black Cod Saikyo' },
        desc:{ de:'72 Stunden in Miso mariniert, auf dem Grill karamellisiert.', en:'72-hour miso marinade, caramelized on the grill with tender, aromatic fish.' } },
      { id:'robataprawn', photo:'robata', src:'assets/robata-prawn.png', price:'28,00',
        name:{ de:'Robata King Prawn', en:'Robata King Prawn' },
        desc:{ de:'Gegrillte Riesengarnelen mit feiner Yuzu-Knoblauch-Butter und frisch gemahlenem Sansho-Pfeffer.', en:'Grilled king prawns with fine yuzu-garlic butter and freshly ground Sansho pepper.' } },
      { id:'robatascallop', photo:'robata', src:'assets/robata-prawn.png', price:'26,00',
        name:{ de:'Hokkaido Scallops', en:'Hokkaido Scallops' },
        desc:{ de:'Gegrillte Jakobsmuscheln mit Jalapeño-Dressing und knusprigem Shiso.', en:'Grilled scallops with jalapeño dressing and crispy shiso.' } },
      { id:'robatapork', photo:'robata', src:'assets/robata-wagyu.png', price:'32,00', signature:true,
        name:{ de:'Iberico Pork Belly', en:'Iberico Pork Belly' },
        desc:{ de:'Langsam gegart, auf dem Robata-Grill glasiert mit scharf-süßer Miso-Sauce.', en:'Slow-cooked, glazed on the robata grill with spicy-sweet miso sauce.' } },
      { id:'robataasparagus', photo:'robata', src:'assets/robata-cod.png', price:'14,00',
        name:{ de:'Green Asparagus', en:'Green Asparagus' },
        desc:{ de:'Frischer grüner Spargel mit Wafu-Dressing und geröstetem Sesam.', en:'Fresh green asparagus with wafu dressing and toasted sesame.' } }
  ] },
  { id:'aperitif', title:{ de:'Aperitif', en:'Aperitif/Pre-Dinner' }, jp:'食前酒', dishes:[
      { id:'lilletwildberry', photo:'drink', price:'11,90',
        name:{ de:'Lillet Wild Berry', en:'Lillet Wild Berry' },
        desc:{ de:'Lillet Blanc, Crémant, Beeren.', en:'Lillet Blanc, Crémant, berries.' },
        allergens:{ de:'A, F', en:'A, F' } },
      { id:'margarita', photo:'drink', price:'11,50',
        name:{ de:'Mango Passion Fruit Margarita', en:'Mango Passion Fruit Margarita' },
        desc:{ de:'Passionsfrucht, Rosmarinsirup, Limette, Soda (alkoholfrei).', en:'Passion fruit, rosemary syrup, lime, soda (non-alcoholic).' },
        allergens:{ de:'B', en:'B' } },
      { id:'shikiredleaf', photo:'drink', price:'9,50',
        name:{ de:'Shiki Red Leaf Sprizz', en:'Shiki Red Leaf Sprizz' },
        desc:{ de:'Papaya-Mango-Kardamom-Püree, Aperol, Yuzushu Azuma, frischer Zitronensaft, Scavi & Ray Prosecco, Shiso-Blatt.', en:'Papaya-mango-cardamom puree, Aperol, Yuzushu Azuma, fresh lemon juice, Scavi & Ray prosecco, shiso leaf.' },
        allergens:{ de:'11', en:'11' } },
      { id:'testarossa', photo:'drink', price:'10,50',
        name:{ de:'Shiki Testarossa', en:'Shiki Testarossa' },
        desc:{ de:'Crémant, Himbeerpüree, Ingwerlikör.', en:'Crémant, raspberry puree, ginger liqueur.' },
        allergens:{ de:'11', en:'11' } },
      { id:'saketini', photo:'drink', price:'9,90',
        name:{ de:'Cucumber Sake-tini', en:'Cucumber Sake-tini' },
        desc:{ de:'Sake, Gurke, Limette, Holunder.', en:'Sake, cucumber, lime, elderflower.' },
        allergens:{ de:'11', en:'11' } },
      { id:'plumspritzer', photo:'drink', price:'9,90',
        name:{ de:'Plum Spritzer', en:'Plum Spritzer' },
        desc:{ de:'Pflaumenwein, Nigori Ume Sake, Soda.', en:'Plum wine, Nigori ume sake, soda.' },
        allergens:{ de:'11', en:'11' } },
      { id:'cremantloire', photo:'drink', price:'10,00',
        name:{ de:'Crémant de Loire Bouvet Rosé (0,1 l)', en:'Crémant de Loire Bouvet Rosé (0.1 l)' },
        desc:{ de:'Flaschengärung, feine Frucht mit Anklängen von Himbeeren, dezenten Preiselbeeren und einem Hauch von Zitrusfrucht und frischem Brot.', en:'Bottle-fermented, fine fruit with hints of raspberries, subtle cranberries, and a touch of citrus and fresh bread.' } },
      { id:'moet', photo:'drink', price:'45,00',
        name:{ de:'Moët & Chandon Imperial (0,2 l Flasche)', en:'Moët & Chandon Imperial (0.2 l Bottle)' },
        desc:{ de:'Komponenten von exotischen Früchten, weißem Pfirsich mit zarten Nuancen von süßer Brioche.', en:'Components of exotic fruits, white peach with delicate nuances of sweet brioche.' } },
      { id:'ninki', photo:'drink', price:'39,00',
        name:{ de:'Ninki "Sparkling Junmai Ginjo" (0,3 l Flasche)', en:'Ninki "Sparkling Junmai Ginjo" (0.3 l Bottle)' },
        desc:{ de:'Fukushima Präfektur. Fruchtig und leicht, Flaschengärung.', en:'Fukushima prefecture. Fruity and light, bottle-fermented.' } },
      { id:'hanami', photo:'drink', price:'15,00',
        name:{ de:'Hanami', en:'Hanami' },
        desc:{ de:'Shiki HM Shiso Gin, Kirschblüte, Litschi, Zitrone, Yasmin.', en:'Shiki HM Shiso Gin, cherry blossom, lychee, lemon, jasmine.' },
        allergens:{ de:'11', en:'11' } },
      { id:'midori', photo:'drink', price:'15,00',
        name:{ de:'Midori', en:'Midori' },
        desc:{ de:'Sake, Gurke, Genmaicha, Yuzu, Ponzu.', en:'Sake, cucumber, genmaicha, yuzu, ponzu.' },
        allergens:{ de:'11', en:'11' } },
      { id:'tigermilk', photo:'drink', price:'13,90',
        name:{ de:'Tiger Milk', en:'Tiger Milk' },
        desc:{ de:'Sake, Matcha, Nigori Sake, Limette, Shiki HM Padansirup, Sparkling Sake.', en:'Sake, matcha, nigori sake, lime, Shiki HM pandan syrup, sparkling sake.' },
        allergens:{ de:'11', en:'11' } },
      { id:'thaibasil', photo:'drink', price:'13,90',
        name:{ de:'Thai Basil Smash', en:'Thai Basil Smash' },
        desc:{ de:'Shiki HM Thai Basil Gin, Yuzu, Mandel, Aloe-Vera.', en:'Shiki HM Thai Basil Gin, yuzu, almond, aloe vera.' },
        allergens:{ de:'11', en:'11' } },
      { id:'tomka', photo:'drink', price:'13,50',
        name:{ de:'Tom Ka Mule', en:'Tom Ka Mule' },
        desc:{ de:'Shiki HM Tom Ka Mix, Kalamansi, Ginger Ale, Limette.', en:'Shiki HM Tom Ka mix, calamansi, ginger ale, lime.' },
        allergens:{ de:'11', en:'11' } }
  ] },
  { id:'soup', title:{ de:'Suppen', en:'SOUP' }, jp:'スープ', dishes:[
      { id:'veggieshiitake', photo:'soup', price:'9,00',
        name:{ de:'VEGGIE Shiitake Soup', en:'VEGGIE Shiitake Soup' },
        desc:{ de:'Misopaste, Enoki-Pilze, Seidentofu, Seetang, Frühlingszwiebeln.', en:'Miso, Enoki mushrooms, silken tofu, seaweed, spring onions.' },
        allergens:{ de:'A, F', en:'A, F' } },
      { id:'fishsoup', photo:'soup', price:'13,00',
        name:{ de:'FiSH Soup', en:'FiSH Soup' },
        desc:{ de:'Edelfischsuppe mit exotischen Gewürzen.', en:'Fine fish soup with exotic spices.' },
        allergens:{ de:'B, D, N', en:'B, D, N' } },
      { id:'lobstersoup', photo:'soup', price:'16,00',
        name:{ de:'Lobster Soup', en:'Lobster Soup' },
        desc:{ de:'Verfeinerter Hummer in leckerer Brühe, See-Algen.', en:'Refined lobster in delicious broth, sea algae.' },
        allergens:{ de:'B, G, I', en:'B, G, I' } }
  ] },
  { id:'salad', title:{ de:'Salate', en:'Salad' }, jp:'サラダ', dishes:[
      { id:'duckpomelo', photo:'salad', price:'14,90',
        name:{ de:'Ente Pomelo Salat', en:'Ente Pomelo Salat' },
        desc:{ de:'Knusprige Ente, Pomelo, Salat, Kräuter, Mango, Erdnüsse.', en:'Crispy duck, pomelo, salad, herbs, mango, peanuts.' },
        allergens:{ de:'A, E, H, F, I', en:'A, E, H, F, I' } },
      { id:'shrimppapaya', photo:'salad', price:'15,00',
        name:{ de:'Garnelen Papaya Salat', en:'Garnelen Papaya Salat' },
        desc:{ de:'Garnelen, grüne Papaya, Karotten, Kräuter, Nüsse, Limetten-Dressing.', en:'Shrimp, green papaya, carrots, herbs, nuts, lime dressing.' },
        allergens:{ de:'A, B, D, E', en:'A, B, D, E' } },
      { id:'tunaglassnoodle', photo:'salad', price:'16,00',
        name:{ de:'Thunfisch Glasnudel Salat', en:'Thunfisch Glasnudel Salat' },
        desc:{ de:'Gebratene Thunfischwürfel, Glasnudeln, Salat, Nüsse, Tom-Yum-Sauce.', en:'Fried tuna cubes, glass noodles, salad, nuts, tom yum sauce.' },
        allergens:{ de:'D, E, K', en:'D, E, K' } },
      { id:'shrimpsalad', photo:'salad', price:'16,50',
        name:{ de:'Garnelen Salat', en:'Garnelen Salat' },
        desc:{ de:'Gegrillte Garnelen mit Pilzen, Tomaten, Salat der Saison, Focaccia-Crunch, Ponzu-Sauce.', en:'Grilled shrimp with mushrooms, tomatoes, seasonal salad, focaccia crunch, ponzu sauce.' },
        allergens:{ de:'D, E, K', en:'D, E, K' } }
  ] },
  { id:'vegetables', title:{ de:'Gemüse', en:'Vegetables' }, jp:'野菜', dishes:[
      { id:'veggiekimchi', photo:'vegetable', price:'7,00',
        name:{ de:'VEGGIE Kimchi', en:'VEGGIE Kimchi' },
        desc:{ de:'Scharf eingelegter Chinakohl.', en:'Spicy pickled Chinese cabbage.' },
        allergens:{ de:'1, 2', en:'1, 2' } },
      { id:'veggieedamame', photo:'vegetable', price:'7,00',
        name:{ de:'VEGGIE Edamame', en:'VEGGIE Edamame' },
        desc:{ de:'Gedämpfte japanische grüne Bohnen, Meersalz, Togarashi.', en:'Japanese steamed green beans, sea salt, togarashi.' } },
      { id:'veggieasparagus', photo:'vegetable', price:'12,00',
        name:{ de:'VEGGIE Grüner Spargel', en:'VEGGIE Grüner Spargel' },
        desc:{ de:'Grüner Spargel vom Robata-Grill, Ponzu, Nussbutter, Miso-Hollandaise.', en:'Green asparagus from robata grill, ponzu, nut butter, miso hollandaise.' },
        allergens:{ de:'C, E, F', en:'C, E, F' } },
      { id:'veggiebroccoli', photo:'vegetable', price:'12,00',
        name:{ de:'VEGGIE Buttery Broccoli', en:'VEGGIE Buttery Broccoli' },
        desc:{ de:'Wilder Broccoli vom Robata-Grill, Miso.', en:'Wild broccoli from the robata grill, miso.' },
        allergens:{ de:'F', en:'F' } },
      { id:'veggieeggplant', photo:'vegetable', price:'11,50',
        name:{ de:'VEGGIE Aubergine Miso', en:'VEGGIE Aubergine Miso' },
        desc:{ de:'Gegrillte karamellisierte Aubergine, Miso, Nüsse.', en:'Grilled caramelized eggplant, miso, nuts.' },
        allergens:{ de:'E, F', en:'E, F' } },
      { id:'veggiebuddha', photo:'vegetable', price:'15,00',
        name:{ de:'VEGGIE Budda Delight', en:'VEGGIE Budda Delight' },
        desc:{ de:'Gebratenes Gemüse, Pilze, Hon-Tsuyu-Buttersauce.', en:'Fried vegetables, mushrooms, Hon Tsuyu butter sauce.' },
        allergens:{ de:'E, F', en:'E, F' } }
  ] },
  { id:'sidedishes', title:{ de:'Beilagen', en:'Side dishes' }, jp:'副菜', dishes:[
      { id:'veggiechahan', photo:'sidedish', price:'9,50',
        name:{ de:'VEGGIE Chahan', en:'VEGGIE Chahan' },
        desc:{ de:'Reis mit Ei und Zwiebeln.', en:'Fried sushi rice with egg and onion.' },
        allergens:{ de:'C, F', en:'C, F' } },
      { id:'veggiesweetpotato', photo:'sidedish', price:'9,90',
        name:{ de:'VEGGIE Süßkartoffel Pommes frites', en:'VEGGIE Sweet Potato Fries' },
        desc:{ de:'Süßkartoffel Pommes frites.', en:'Sweet potato fries.' } },
      { id:'veggieudon', photo:'sidedish', price:'15,00',
        name:{ de:'VEGGIE Udon Carbonara', en:'VEGGIE Udon Carbonara' },
        desc:{ de:'Japanische Nudeln, Parmesan, Gemüse.', en:'Japanese noodles, parmesan, vegetables.' },
        allergens:{ de:'C, G', en:'C, G' } }
  ] },
  { id:'appetizer', title:{ de:'Vorspeisen', en:'Appetizer' }, jp:'前菜', dishes:[
      { id:'osakaoyster', photo:'appetizer', price:'Tagespreis',
        name:{ de:'Osaka Austern (zum Tagespreis)', en:'Osaka Oysters (for the price of the day)' },
        desc:{ de:'Frische Austern, lila Schalotten-Ponzu.', en:'Fresh oysters, purple shallot ponzu.' },
        allergens:{ de:'F, N', en:'F, N' } },
      { id:'tacos', photo:'appetizer', price:'12,00',
        name:{ de:'Tacos (2 Stück)', en:'Tacos (2 pieces)' },
        desc:{ de:'Lachs-Tatar, Thunfisch-Tatar, Kräuter, Guacamole, Tobiko.', en:'Salmon tartare, tuna tartare, herbs, guacamole, tobiko.' },
        allergens:{ de:'A, D, E, F, K', en:'A, D, E, F, K' } },
      { id:'salmonsteakcaviar', photo:'appetizer', price:'16,00',
        name:{ de:'SALMON Steak & Crémant Caviar', en:'SALMON Steak & Crémant Caviar' },
        desc:{ de:'Lachssteak, Crémant Rosé, AKI Kaviar-Schaum.', en:'Salmon steak, Crémant Rosé, AKI caviar foam.' },
        allergens:{ de:'A, C, D, F, G, K', en:'A, C, D, F, G, K' } },
      { id:'salmontataki', photo:'appetizer', price:'15,00',
        name:{ de:'SALMON No Tataki', en:'SALMON No Tataki' },
        desc:{ de:'Leicht gebratener Lachs, Sesam, Nussbutter.', en:'Lightly fried salmon, sesame, nut butter.' },
        allergens:{ de:'D, F, G', en:'D, F, G' } },
      { id:'tunaahipoke', photo:'appetizer', price:'17,00',
        name:{ de:'Tuna Ahi Poke', en:'Tuna Ahi Poke' },
        desc:{ de:'Thunfischwürfel, Tomaten, Avocado, Koriander, Ponzu, Reis-Chip.', en:'Tuna cubes, tomatoes, avocado, coriander, ponzu, rice chip.' },
        allergens:{ de:'A, C, D, G, F, K', en:'A, C, D, G, F, K' } },
      { id:'octopusceviche', photo:'appetizer', price:'19,00',
        name:{ de:'OCTOPUS CEVICHE', en:'OCTOPUS CEVICHE' },
        desc:{ de:'Gegrillter Oktopus, Tomaten, Schalotten, Avocado, Shishito, Chili, Sojasauce-Dressing.', en:'Grilled octopus, tomatoes, shallots, avocado, shishito, chili, soy sauce dressing.' },
        allergens:{ de:'D, E, K, N', en:'D, E, K, N' } },
      { id:'classicgyoza', photo:'appetizer', price:'12,00',
        name:{ de:'Classic Gyoza', en:'Classic Gyoza' },
        desc:{ de:'Teigtaschen mit Maishähnchen-Füllung, Gemüse, Ponzu-Sauce.', en:'Dumplings filled with corn-fed chicken, vegetables, ponzu sauce.' },
        allergens:{ de:'A, H, I, B, D, N', en:'A, H, I, B, D, N' } },
      { id:'shumai', photo:'appetizer', price:'16,00',
        name:{ de:'Shumai', en:'Shumai' },
        desc:{ de:'Gedämpfte Wan Tan, Gemüse, Garnelen, Hummer-Tatar, Kaviar.', en:'Steamed wonton, vegetables, shrimp, lobster tartare, caviar.' },
        allergens:{ de:'B, D, F', en:'B, D, F' } },
      { id:'chickenkatsu', photo:'appetizer', price:'14,00',
        name:{ de:'Chicken Katsu', en:'Chicken Katsu' },
        desc:{ de:'Knuspriges Maishähnchenfleisch, Pankopanierung, Parmesan, Aprikosen-Miso.', en:'Crispy corn-fed chicken, panko breading, Parmesan cheese, apricot miso.' },
        allergens:{ de:'G', en:'G' } },
      { id:'smokedribs', photo:'appetizer', price:'18,00',
        name:{ de:'Smoked Baby RIBS', en:'Smoked Baby RIBS' },
        desc:{ de:'Schweinerippchen, Umami-Geschmack, fermentierte Ananas.', en:'Pork ribs, umami flavor, fermented pineapple.' },
        allergens:{ de:'C, E, F', en:'C, E, F' } },
      { id:'lackierteroktopus', photo:'appetizer', price:'21,50',
        name:{ de:'Lackierter Oktopus', en:'Lacquered Octopus' },
        desc:{ de:'Oktopus vom Robata-Grill, Wasabi-Crunch, Salate.', en:'Octopus from robata grill, wasabi crunch, salads.' },
        allergens:{ de:'F, K, N', en:'F, K, N' } }
  ] },
  { id:'tempura', title:{ de:'Tempura', en:'Tempura' }, jp:'天ぷら', dishes:[
      { id:'tempuraveg', photo:'tempura', price:'15,00',
        name:{ de:'Tempura Gemüse', en:'Tempura Gemüse' },
        desc:{ de:'Gemischtes Gemüse-Tempura, Chili-Mayo-Sauce.', en:'Mixed vegetable tempura, chili mayo.' },
        allergens:{ de:'G, F', en:'G, F' } },
      { id:'rockshrimp', photo:'tempura', price:'19,00',
        name:{ de:'Rock Shrimp with Ponzu', en:'Rock Shrimp with Ponzu' },
        desc:{ de:'Wildgarnelen-Tempura, Tobiko, Parmesan, Chili-Mayo-Sauce.', en:'Wild prawn tempura, tobiko, Parmesan, chili mayo.' },
        allergens:{ de:'B, A, C, D, G', en:'B, A, C, D, G' } },
      { id:'crispysoftshell', photo:'tempura', price:'17,00',
        name:{ de:'Crispy Soft Shell', en:'Crispy Soft Shell' },
        desc:{ de:'Butterkrebs im Tempurateigmantel, Avocado, Tobiko, Eigelb.', en:'Soft-shell crab in tempura batter, avocado, tobiko, egg yolk.' },
        allergens:{ de:'A, B, C, D, G', en:'A, B, C, D, G' } },
      { id:'wantantsuki', photo:'tempura', price:'12,00',
        name:{ de:'Wantan Tsuki', en:'Wantan Tsuki' },
        desc:{ de:'Knusprige Meeresfrüchte, Gemüse, Ingwer-Chili-Mayo.', en:'Crispy seafood, vegetables, ginger-chili mayo.' },
        allergens:{ de:'A, B, D, F, K, N', en:'A, B, D, F, K, N' } }
  ] },
  { id:'chefsrec', title:{ de:'Empfehlung des Küchenchefs', en:"Chef's Recommendation" }, jp:'おまかせ', dishes:[
      { id:'unagisalmontempura', photo:'chefsrec', price:'17,00',
        name:{ de:'UNAGI Salmon Tempura Roll', en:'UNAGI Salmon Tempura Roll' },
        desc:{ de:'Gebackene Sushi mit Lachs, Aal, Frischkäse, Avocado.', en:'Baked sushi with salmon, eel, cream cheese, avocado.' },
        allergens:{ de:'B, D, G, F', en:'B, D, G, F' } },
      { id:'wagyufocaccia', photo:'chefsrec', price:'18,00',
        name:{ de:'Wagyu Focaccia', en:'Wagyu Focaccia' },
        desc:{ de:'Japanisches Rinderhackfleisch, schwarzer Knoblauch, Umeshu-Pflaume, Kräuter.', en:'Japanese ground beef, black garlic, umeshu plum, herbs.' },
        allergens:{ de:'C, E, F', en:'C, E, F' } },
      { id:'gyozawagyubeef', photo:'chefsrec', price:'18,00',
        name:{ de:'Gyoza Wagyu Beef', en:'Gyoza Wagyu Beef' },
        desc:{ de:'Entecôte, Foie gras, Gemüse, Dashi-Brühe, Umami-Geschmack.', en:'Entecôte, foie gras, vegetables, dashi broth, umami flavor.' },
        allergens:{ de:'A, C, F, G, K', en:'A, C, F, G, K' } },
      { id:'torotartare', photo:'chefsrec', price:'17,00',
        name:{ de:'Toro tatar', en:'Toro Tartare' },
        desc:{ de:'Thunfisch-Tatar, Chips, Avocado, Kräuter, Kaviar-Perlen.', en:'Tuna tartare, chips, avocado, herbs, caviar pearls.' },
        allergens:{ de:'A, C, D, K', en:'A, C, D, K' } },
      { id:'searedscallops', photo:'chefsrec', price:'23,00',
        name:{ de:'Seared Scallops', en:'Seared Scallops' },
        desc:{ de:'Flambierte Jakobsmuscheln, Kartoffelpüree, Miso-Parmesan-Tempuraflocken, Kaviar.', en:'Flambeéd scallops, mashed potatoes, miso-parmesan tempura flakes, caviar.' },
        allergens:{ de:'C, D, F, K, N', en:'C, D, F, K, N' } },
      { id:'wagyuyakiniku', photo:'chefsrec', price:'Tagespreis',
        name:{ de:'The Wagyu-Yakiniku (100g / 150g / 200g)', en:'The Wagyu-Yakiniku (100g / 150g / 200g)' },
        desc:{ de:'Japanische Steakwürfel A5, Enoki-Pilz-Ponzu-Nussbutter, Spargel (zum Tagespreis).', en:'Japanese steak cubes A5, Enoki mushroom ponzu nut butter, asparagus (for the price of the day).' },
        allergens:{ de:'F, I', en:'F, I' } }
  ] },
  { id:'sushinigiri', title:{ de:'Sushi Nigiri Shiki Art', en:'Sushi nigiri Shiki Style' }, jp:'握り寿司', dishes:[
      { id:'nigiriotoro', photo:'nigiri', price:'14,00',
        name:{ de:'O-TORO (2 Stück)', en:'O-TORO (2 pieces)' },
        desc:{ de:'Thunfischbauch-Tatar, Trüffelbutter.', en:'Tuna belly tartare, truffle butter.' },
        allergens:{ de:'D, N', en:'D, N' } },
      { id:'nigirihotategai', photo:'nigiri', price:'13,00',
        name:{ de:'Hotategai (2 Stück)', en:'Hotategai (2 pieces)' },
        desc:{ de:'Flambiertes Jakobsmuschel-Tatar, Kaviar.', en:'Flambeéd scallop tartare, caviar.' },
        allergens:{ de:'D, N', en:'D, N' } },
      { id:'nigirisake', photo:'nigiri', price:'9,00',
        name:{ de:'SAKE (2 Stück)', en:'SAKE (2 pieces)' },
        desc:{ de:'Lachs.', en:'Salmon.' },
        allergens:{ de:'D, N', en:'D, N' } },
      { id:'nigirituna', photo:'nigiri', price:'10,00',
        name:{ de:'Tuna (2 Stück)', en:'Tuna (2 pieces)' },
        desc:{ de:'Thunfisch.', en:'Tuna.' },
        allergens:{ de:'D, N', en:'D, N' } },
      { id:'nigirihamachi', photo:'nigiri', price:'10,00',
        name:{ de:'Hamachi (2 Stück)', en:'Hamachi (2 pieces)' },
        desc:{ de:'Gelbschwanzmakrele.', en:'Yellowtail.' },
        allergens:{ de:'D, N', en:'D, N' } },
      { id:'nigiriart', photo:'nigiri', price:'27,00',
        name:{ de:'Nigiri art (6 Stück)', en:'Nigiri art (6 pieces)' },
        desc:{ de:'Verschiedene Nigiri.', en:'Various nigiri.' },
        allergens:{ de:'D, N', en:'D, N' } }
  ] },
  { id:'sashimi', title:{ de:'Sashimi', en:'Sashimi' }, jp:'刺身', dishes:[
      { id:'lachssashimi', photo:'sashimi', price:'16,00',
        name:{ de:'Lachs Sashimi (6 Stück)', en:'Salmon Sashimi (6 pieces)' },
        allergens:{ de:'D', en:'D' } },
      { id:'tunasashimi', photo:'sashimi', price:'18,00',
        name:{ de:'Tuna Sashimi (6 Stück)', en:'Tuna Sashimi (6 pieces)' },
        allergens:{ de:'D', en:'D' } },
      { id:'ochutorosashimi', photo:'sashimi', price:'22,00',
        name:{ de:'O-Chutoro Sashimi (6 Stück)', en:'O-Chutoro Sashimi (6 pieces)' },
        allergens:{ de:'D', en:'D' } },
      { id:'seafoodplatte', photo:'sashimi', price:'35,00',
        name:{ de:'Seafood Platte (pro Person)', en:'Seafood Platter (per person)' },
        desc:{ de:'Sashimi und Meeresfrüchte Zusammenstellung nach bester Wahl des Sushi-Chefs.', en:"Sashimi and seafood – Assortment of the sushi chef's best choice." },
        allergens:{ de:'B, D, F, N', en:'B, D, F, N' } }
  ] },
  { id:'sushiroll', title:{ de:'Sushi Inside-Out Roll', en:'Sushi inside-out Roll' }, jp:'巻き寿司', dishes:[
      { id:'greenveggie', photo:'sushiroll', price:'15,00',
        name:{ de:'VEGGIE Green Veggie (8 Stück)', en:'VEGGIE Green Veggie (8 pieces)' },
        desc:{ de:'Eingelegte Gemüse, Gurke, Avocado, Sesam.', en:'Pickled vegetables, cucumber, avocado, sesame.' },
        allergens:{ de:'K', en:'K' } },
      { id:'sexytuna', photo:'sushiroll', price:'15,00',
        name:{ de:'Sexy Tuna Roll (6 Stück)', en:'Sexy Tuna Roll (6 pieces)' },
        desc:{ de:'Butterkrebs-Tempura, Thunfisch-Tatar, Gurke, Mango, Sesam, Tobiko.', en:'6 p. soft-shell crab tempura, tuna tartare, cucumber, mango, sesame, tobiko.' },
        allergens:{ de:'B, D, G, K', en:'B, D, G, K' } },
      { id:'unagitempura', photo:'sushiroll', price:'17,00',
        name:{ de:'UNAGI Tempura Roll (6 Stück)', en:'UNAGI Tempura Roll (6 pieces)' },
        desc:{ de:'Gebackene Inside-Out Roll mit Aal, Edelfisch, Lachs, Unagisauce.', en:'6 p. baked inside-out roll with eel, fine fish, salmon, unagi sauce.' },
        allergens:{ de:'C, D, G, K', en:'C, D, G, K' } },
      { id:'crunchytobiko', photo:'sushiroll', price:'16,00',
        name:{ de:'Crunchy Tobiko (6 Stück)', en:'Crunchy Tobiko (6 pieces)' },
        desc:{ de:'Tempura-Sushi, Avocado, Krebs-Surimi, Edelfisch, Wasabi-Mayo-Sauce.', en:'6p. tempura sushi, avocado, crab surimi, fine fish, wasabi mayo.' },
        allergens:{ de:'B, D, G, F', en:'B, D, G, F' } },
      { id:'classicsalmon', photo:'sushiroll', price:'13,00',
        name:{ de:'Classic Salmon Roll (8 Stück)', en:'Classic Salmon Roll (8 pieces)' },
        desc:{ de:'Lachs, Avocado, Gurke, Tobiko, Sesam.', en:'Salmon, avocado, cucumber, tobiko, sesame.' },
        allergens:{ de:'D, F, K', en:'D, F, K' } },
      { id:'geisharoll', photo:'sushiroll', price:'16,00',
        name:{ de:'Geisha Roll (8 Stück)', en:'Geisha Roll (8 pieces)' },
        desc:{ de:'Lachsmantel, Avocado, Gurke, Tobiko, Sesam, Panko-Tempuraflocken.', en:'Salmon coat, avocado, cucumber, tobiko, sesame, panko tempura flakes.' },
        allergens:{ de:'D, E, F, K', en:'D, E, F, K' } },
      { id:'tunaqueen', photo:'sushiroll', price:'17,90',
        name:{ de:'Tuna Queen Roll (8 Stück)', en:'Tuna Queen Roll (8 pieces)' },
        desc:{ de:'Thunfisch-Topping, Kräuter, Avocado, Gurke, Tobiko, Sesam.', en:'Tuna topping, herbs, avocado, cucumber, tobiko, sesame.' },
        allergens:{ de:'D, E, F, K', en:'D, E, F, K' } },
      { id:'tempuraavocado', photo:'sushiroll', price:'16,90',
        name:{ de:'Tempura Avocado (8 Stück)', en:'Tempura Avocado (8 pieces)' },
        desc:{ de:'Wildgarnelen-Tempura, Avocado, Tobiko, Sesam.', en:'Wild shrimp tempura, avocado, tobiko, sesame.' },
        allergens:{ de:'A, B, E, F, K', en:'A, B, E, F, K' } },
      { id:'hottempuratuna', photo:'sushiroll', price:'18,00',
        name:{ de:'Hot Tempura Tuna (8 Stück)', en:'Hot Tempura Tuna (8 pieces)' },
        desc:{ de:'Thunfisch-Tatar, Wildgarnelen-Tempura, Avocado, Sesam, Tobiko.', en:'Tuna tartare, wild shrimp tempura, avocado, sesame, tobiko.' },
        allergens:{ de:'A, B, E, F, K', en:'A, B, E, F, K' } },
      { id:'salmonunagi', photo:'sushiroll', price:'18,90',
        name:{ de:'Salmon Unagi (8 Stück)', en:'Salmon Unagi (8 pieces)' },
        desc:{ de:'Flambierter Lachs, Aal, Avocado, Gurke, Tobiko-Sesam.', en:'Flambeéd salmon, eel, avocado, cucumber, tobiko sesame.' },
        allergens:{ de:'C, D, G, K', en:'C, D, G, K' } },
      { id:'blackandwhite', photo:'sushiroll', price:'19,90',
        name:{ de:'Black & White (8 Stück)', en:'Black & White (8 pieces)' },
        desc:{ de:'Flambiertes Rindfleisch, Wildgarnelen-Tempura, Avocado, Sesam, Trüffelbutter.', en:'Flambéed beef, wild shrimp tempura, avocado, sesame, truffle butter.' },
        allergens:{ de:'A, F, G, K', en:'A, F, G, K' } },
      { id:'scallopunagi', photo:'sushiroll', price:'23,00',
        name:{ de:'Scallop Unagi Roll (8 Stück)', en:'Scallop Unagi Roll (8 pieces)' },
        desc:{ de:'Flambierte Jacobsmuscheln, Aal, Avocado, Sesam, Panko-Crumbs.', en:'Flambéed scallops, eel, avocado, sesame, panko crumbs.' },
        allergens:{ de:'B, D, E, F, K, N', en:'B, D, E, F, K, N' } },
      { id:'shikipremiumroll', photo:'sushiroll', price:'23,00',
        name:{ de:'Shiki Premium Roll (8 Stück)', en:'Shiki Premium Roll (8 pieces)' },
        desc:{ de:'Eine ganz besondere Rolle, die vom Sushi-Meister aus verschiedenen Fischen zubereitet wird.', en:'A very special roll prepared by the sushi master from various fish.' },
        allergens:{ de:'C, D, G, K', en:'C, D, G, K' } },
      { id:'omakasemenu', photo:'omakase', price:'35,00',
        name:{ de:'Omakase Menu for One', en:'Omakase Menu for One' },
        desc:{ de:'Maki-, Sashimi- und Spezial-Roll, zusammengestellt von unserem Sushi-Meister.', en:'Variation of maki, sashimi, and special roll, selected by our sushi master.' },
        allergens:{ de:'B, D, E, F, K, N', en:'B, D, E, F, K, N' } },
      { id:'shikipremiummenu', photo:'omakase', price:'45,00',
        name:{ de:'Shiki Premium Menu for One', en:'Shiki Premium Menu for One' },
        desc:{ de:'Eine einzigartige Kreation unseres Sushi-Meisters aus erlesenem Fisch, Nigiri, Premium Sushi und Sashimi.', en:'A unique creation by our sushi master made from exquisite fish, nigiri, premium sushi, and sashimi.' },
        allergens:{ de:'B, D, E, F, K, N', en:'B, D, E, F, K, N' } }
  ] },
  { id:'maindishes', title:{ de:'Hauptgerichte', en:'Main dishes' }, jp:'主菜', dishes:[
      { id:'shanghaihalibut', photo:'maindish', price:'33,00',
        name:{ de:'Shanghai Halibut', en:'Shanghai Halibut' },
        desc:{ de:'Gegrillter Heilbutt, Pak Choi, Gemüse, Koriander, Dill, Chili, Ingwer, Reis.', en:'Grilled halibut, bok choy, vegetables, cilantro, dill, chili, ginger, rice.' },
        allergens:{ de:'C, D, F, G, K', en:'C, D, F, G, K' } },
      { id:'tunaonstone', photo:'maindish', price:'32,00',
        name:{ de:'Tuna on the Stone', en:'Tuna on the Stone' },
        desc:{ de:'Auf heißer Steinplatte gegrilltes Thunfischsteak, Gemüse, Kartoffelpüree.', en:'Tuna steak grilled on a hot stone slab, vegetables, mashed potatoes.' },
        allergens:{ de:'C, D, E, F, K', en:'C, D, E, F, K' } },
      { id:'seafoodcurry', photo:'maindish', price:'27,00',
        name:{ de:'Seafood Curry', en:'Seafood Curry' },
        desc:{ de:'Edelfisch, Meeresfrüchte, Zitronengras, frisches Gemüse, Hokkaidokürbis-Püree, Risotto.', en:'Fine fish, seafood, lemongrass, fresh vegetables, Hokkaido pumpkin puree, risotto.' },
        allergens:{ de:'C, D, F, G, K, N', en:'C, D, F, G, K, N' } },
      { id:'salmonsteak', photo:'maindish', price:'25,00',
        name:{ de:'Salmon Steak', en:'Salmon Steak' },
        desc:{ de:'Lachssteak, saisonaler Spargel, Gemüse, Miso-Hollandaise, Kartoffelpüree.', en:'Salmon steak, seasonal asparagus, vegetables, miso hollandaise, mashed potatoes.' },
        allergens:{ de:'C, D, F, G', en:'C, D, F, G' } },
      { id:'thaiduckcurry', photo:'maindish', price:'27,00',
        name:{ de:'Thai Duck Curry', en:'Thai Duck Curry' },
        desc:{ de:'Gegrillte Barbarie-Ente, Gemüse, Thai-Kokosmilch, Ananas, Reis.', en:'Grilled Barbary duck, vegetables, Thai coconut milk, pineapple, rice.' },
        allergens:{ de:'C, E, F, G', en:'C, E, F, G' } },
      { id:'canardalorange', photo:'maindish', price:'28,00',
        name:{ de:"Canard a l'orange", en:"Canard a l'orange" },
        desc:{ de:'Gegrillte Entenbrust, Kartoffelpüree, Gemüse, Orangensauce.', en:'Grilled duck breast, mashed potatoes, vegetables, orange sauce.' },
        allergens:{ de:'C, E, F, G', en:'C, E, F, G' } },
      { id:'filetbinchotan', photo:'maindish', price:'45,00',
        name:{ de:'Filet Binchōtan', en:'Filet Binchōtan' },
        desc:{ de:'Rinderfilet vom Holzkohlegrill inklusive Beilagen.', en:'Beef fillet from the charcoal grill including side dishes.' },
        allergens:{ de:'F, G', en:'F, G' } },
      { id:'ribeyesteak', photo:'maindish', price:'35,00',
        name:{ de:'Rib Eye SteAk', en:'Rib Eye SteAk' },
        desc:{ de:'Premium Rib Eye Steak vom Robata-Grill, Süßkartoffel Pommes Frites.', en:'Premium rib eye steak from the Robata grill, sweet potato fries.' },
        allergens:{ de:'C, E, F, G', en:'C, E, F, G' } },
      { id:'shortrib24h', photo:'maindish', price:'32,00',
        name:{ de:'24 h Short rib', en:'24 h Short rib' },
        desc:{ de:'1 Tag lang geschmorte Querrippe vom Rind, getrüffelt, Hokkaidokürbis-Püree, karamellisierte Ananas.', en:'1 day braised short rib of beef, truffled, Hokkaido pumpkin puree, caramelized pineapple.' },
        allergens:{ de:'C, E, F, G', en:'C, E, F, G' } },
      { id:'ribeyeudon', photo:'maindish', price:'32,00',
        name:{ de:'Rib Eye Udon Carbonara', en:'Rib Eye Udon Carbonara' },
        desc:{ de:'Rib-Eye Steakstreifen, gebratene Udon-Nudeln, Toriyama Wagyu Speck, grüner Spargel.', en:'Rib-eye steak strips, fried udon noodles, Toriyama Wagyu bacon, green asparagus.' },
        allergens:{ de:'C, F, G', en:'C, F, G' } },
      { id:'meinteikoscallop', photo:'maindish', price:'32,00',
        name:{ de:'Meinteiko Scallop NOODLEs', en:'Meinteiko Scallop NOODLEs' },
        desc:{ de:'Grüne Nudeln, Pesto, gegrillte Jakobsmuscheln, Kaviar vom Kabeljau.', en:'Green pasta, pesto, grilled scallops, cod caviar.' },
        allergens:{ de:'C, D, F, G', en:'C, D, F, G' } },
      { id:'enteramen', photo:'maindish', price:'25,00',
        name:{ de:'ENTE RAMEn', en:'ENTE RAMEn' },
        desc:{ de:'Entenbrustfilet, frische Ramen-Nudeln, Hackfleisch, Pak Choi, Gemüse, Ei.', en:'Duck breast fillet, fresh ramen noodles, minced meat, bok choy, vegetables, egg.' },
        allergens:{ de:'A, C, F', en:'A, C, F' } }
  ] },
  { id:'desserts', title:{ de:'Desserts', en:'Desserts' }, jp:'デザート', dishes:[
      { id:'cremebrulee', photo:'dessert', price:'9,90',
        name:{ de:'Crème Brûlée', en:'Crème Brûlée' },
        desc:{ de:'Mit Ananas, Mango, Passionsfrucht und Calamansi.', en:'With pineapple, mango, passion fruit and calamansi.' },
        allergens:{ de:'G', en:'G' } },
      { id:'tropicalpannacotta', photo:'dessert', price:'10,90',
        name:{ de:'Tropical Panna Cotta', en:'Tropical Panna Cotta' },
        desc:{ de:'Mit Limette, Ananas-Marmelade, Passionsfrucht.', en:'With lime, pineapple jam, passion fruit.' },
        allergens:{ de:'G', en:'G' } },
      { id:'mochieiscreme', photo:'dessert', price:'9,90',
        name:{ de:'Mochi Eiscreme', en:'Mochi Ice Cream' },
        desc:{ de:'Reiskuchen mit Eisfüllung, Obst der Saison.', en:'Rice cake with ice cream filling, seasonal fruit.' },
        allergens:{ de:'G', en:'G' } },
      { id:'schokomousse', photo:'dessert', price:'11,00',
        name:{ de:'Schokomousse Parfait', en:'Schokomousse Parfait' },
        desc:{ de:'Mit tropischen Früchten, Ananas, Granatapfel.', en:'With tropical fruits, pineapple, pomegranate.' },
        allergens:{ de:'1, C, G', en:'1, C, G' } },
      { id:'shikistyle', photo:'dessert', price:'30,00',
        name:{ de:'SHIKI STYLE (für 2 Personen)', en:'SHIKI STYLE (for 2 persons)' },
        desc:{ de:'Eine außergewöhnliche Dessert-Kreation des Küchenchefs.', en:'An extraordinary dessert creation by the chef.' },
        allergens:{ de:'G', en:'G' } }
  ] },
];

// ─────────────────────────────────────────────────────────────
// Delivery (simpler, packed-for-travel selection)
// ─────────────────────────────────────────────────────────────
const SHIKI_DELIVERY = [
  { id:'donburi', photo:'wagyu', src:'assets/wagyu.jpg', price:'24,00',
    name:{ de:'Wagyu Donburi', en:'Wagyu Donburi' },
    desc:{ de:'Wagyu auf Sushireis, Onsen-Ei, Teriyaki.', en:'Wagyu over sushi rice, onsen egg, teriyaki.' },
    allergens:{ de:'G, C, F', en:'G, C, F' },
    pairing:{ de:'Sake Junmai Daiginjo', en:'Sake Junmai Daiginjo' } },
  { id:'sushiset', photo:'omakase', src:'assets/sushi16.jpg', price:'32,00',
    name:{ de:'SHIKI Sushi-Set (16)', en:'SHIKI Sushi Set (16)' },
    desc:{ de:'16 Stück Auswahl, Wasabi, Gari, Sojasauce.', en:'16-piece selection, wasabi, gari, soy.' },
    allergens:{ de:'A, B, D, F', en:'A, B, D, F' },
    pairing:{ de:'Riesling Spätlese', en:'Riesling Spätlese' } },
  { id:'bento', photo:'bento', src:'assets/bento.jpg', price:'27,00',
    name:{ de:'Robata Bento', en:'Robata Bento' },
    desc:{ de:'Gegrillter Fisch, Tempura, Reis, Tsukemono.', en:'Grilled fish, tempura, rice, tsukemono.' },
    allergens:{ de:'A, C, F, G', en:'A, C, F, G' },
    pairing:{ de:'Grüner Tee', en:'Green Tea' } },
  { id:'ramen', photo:'eggplant', src:'assets/shoyu.jpg', price:'19,00',
    name:{ de:'Shoyu Ramen', en:'Shoyu Ramen' },
    desc:{ de:'12-Stunden-Brühe, Chashu, Ajitama, Nori.', en:'12-hour broth, chashu, ajitama, nori.' },
    allergens:{ de:'A, C, F, G', en:'A, C, F, G' },
    pairing:{ de:'Asahi Bier', en:'Asahi Beer' } },
  { id:'gyoza', photo:'gyoza', src:'assets/bento.jpg', price:'12,00',
    name:{ de:'Gyoza (6)', en:'Gyoza (6)' },
    desc:{ de:'Hausgemachte Teigtaschen, Schweinefleisch oder vegetarisch.', en:'Homemade dumplings, pork or vegetarian.' },
    allergens:{ de:'A, F, N', en:'A, F, N' },
    pairing:{ de:'Sapporo Bier', en:'Sapporo Beer' } },
  { id:'tempura', photo:'tempura', src:'assets/sushi16.jpg', price:'18,00',
    name:{ de:'Ebi Tempura', en:'Ebi Tempura' },
    desc:{ de:'Garnelen im knusprigen Teigmantel, Dashi-Dip.', en:'Crispy battered shrimp, dashi dip.' },
    allergens:{ de:'A, B, C, F', en:'A, B, C, F' },
    pairing:{ de:'Sake Ginjo', en:'Sake Ginjo' } },
  { id:'yakitori', photo:'yakitori', src:'assets/wagyu.jpg', price:'14,00',
    name:{ de:'Yakitori Spieße', en:'Yakitori Skewers' },
    desc:{ de:'Gegrilltes Hähnchen, Tare-Sauce, Frühlingslauch.', en:'Grilled chicken, tare sauce, spring onion.' },
    allergens:{ de:'F, N', en:'F, N' },
    pairing:{ de:'Kirin Ichiban', en:'Kirin Ichiban' } },
  { id:'sashimi', photo:'sashimi', src:'assets/sushi16.jpg', price:'38,00',
    name:{ de:'Premium Sashimi', en:'Premium Sashimi' },
    desc:{ de:'Frischeste Auswahl an Fisch, 12 Scheiben.', en:'Freshest selection of fish, 12 slices.' },
    allergens:{ de:'D', en:'D' },
    pairing:{ de:'Yuzu Sake', en:'Yuzu Sake' } },
  { id:'mochi', photo:'mochi', src:'assets/shoyu.jpg', price:'8,00',
    name:{ de:'Matcha Mochi', en:'Matcha Mochi' },
    desc:{ de:'Klebreiskuchen mit Matcha-Eiscreme-Füllung.', en:'Sticky rice cakes with matcha ice cream filling.' },
    allergens:{ de:'G', en:'G' },
    pairing:{ de:'Sencha', en:'Sencha' } },
];

// ─────────────────────────────────────────────────────────────
// Icons — thin line, stroke = currentColor
// ─────────────────────────────────────────────────────────────
function Icon({ name, size = 22, stroke = 1.5, style = {} }) {
  const p = { fill:'none', stroke:'currentColor', strokeWidth:stroke, strokeLinecap:'round', strokeLinejoin:'round' };
  const paths = {
    home:     <><path {...p} d="M3 10.5 12 3l9 7.5"/><path {...p} d="M5 9.5V21h14V9.5"/></>,
    menu:     <><path {...p} d="M4 6h16M4 12h16M4 18h10"/></>,
    lounge:   <><path {...p} d="M6 3h12l-1 6a5 5 0 0 1-10 0L6 3Z"/><path {...p} d="M12 15v6M8 21h8"/></>,
    delivery: <><path {...p} d="M3 7h11v9H3zM14 10h4l3 3v3h-7"/><circle {...p} cx="7" cy="18" r="2"/><circle {...p} cx="17.5" cy="18" r="2"/></>,
    book:     <><rect {...p} x="3.5" y="4.5" width="17" height="16" rx="2"/><path {...p} d="M3.5 9h17M8 3v3M16 3v3"/><path {...p} d="M8.5 13.5l2 2 4-4"/></>,
    chevR:    <><path {...p} d="M9 6l6 6-6 6"/></>,
    chevL:    <><path {...p} d="M15 6l-6 6 6 6"/></>,
    chevUp:   <><path {...p} d="M6 15l6-6 6 6"/></>,
    chevDown: <><path {...p} d="M6 9l6 6 6-6"/></>,
    close:    <><path {...p} d="M6 6l12 12M18 6L6 18"/></>,
    globe:    <><circle {...p} cx="12" cy="12" r="9"/><path {...p} d="M3 12h18M12 3c2.5 2.5 2.5 15 0 18M12 3c-2.5 2.5-2.5 15 0 18"/></>,
    clock:    <><circle {...p} cx="12" cy="12" r="9"/><path {...p} d="M12 7v5l3 2"/></>,
    cal:      <><rect {...p} x="3.5" y="4.5" width="17" height="16" rx="2"/><path {...p} d="M3.5 9h17M8 3v3M16 3v3"/></>,
    star:     <><path {...p} d="M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z"/></>,
    starFill: <><path fill="currentColor" stroke="none" d="M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z"/></>,
    google:   <><path fill="currentColor" stroke="none" d="M12.2 4.7c1.8 0 3.3.6 4.6 1.8l3.4-3.4C18.1 1.2 15.4 0 12.2 0 7.6 0 3.6 2.6 1.6 6.4l4 3.1c1-2.9 3.7-4.8 6.6-4.8zm6.6 7.3h-6.6v4.5h3.9c-.2 1.5-1.1 2.8-2.4 3.6l3.9 3c2.3-2.1 3.6-5.2 3.6-8.8 0-.8-.1-1.6-.2-2.3z"/><path fill="currentColor" stroke="none" d="M12.2 24c3.2 0 6-1.1 8-2.9l-3.9-3c-1.1.7-2.5 1.1-4.1 1.1-3 0-5.6-2-6.5-4.8l-4 3.1c1.9 3.9 5.9 6.5 10.5 6.5zm-6.8-9.1c-.2-.9-.4-1.9-.4-2.9 0-1.1.2-2.1.5-3.1L1.5 5.8C.5 7.7 0 9.8 0 12c0 2.2.5 4.3 1.5 6.2l3.9-3.3z"/></>,
    user:     <><circle {...p} cx="12" cy="8" r="3.5"/><path {...p} d="M5 20c0-3.5 3-6 7-6s7 2.5 7 6"/></>,
    minus:    <><path {...p} d="M5 12h14"/></>,
    plus:     <><path {...p} d="M12 5v14M5 12h14"/></>,
    ext:      <><path {...p} d="M14 4h6v6M20 4l-9 9"/><path {...p} d="M18 13v6H5V6h6"/></>,
    check:    <><path {...p} d="M5 12.5l4.5 4.5L19 7"/></>,
    pin:      <><path {...p} d="M12 21s7-6.2 7-11a7 7 0 1 0-14 0c0 4.8 7 11 7 11Z"/><circle {...p} cx="12" cy="10" r="2.5"/></>,
    arrowUp:  <><path {...p} d="M12 20V5M6 11l6-6 6 6"/></>,
    mail:     <><rect {...p} x="3" y="5" width="18" height="14" rx="2"/><path {...p} d="M3.5 6.5 12 13l8.5-6.5"/></>,
    scooter:  <><circle {...p} cx="6" cy="17" r="2.6"/><circle {...p} cx="17.5" cy="17" r="2.6"/><path {...p} d="M8.5 17h6.4M15 17l2.2-8.5h2.3M5 8h5l3.3 6"/><path {...p} d="M9 8V6h3"/></>,
    burger:   <><path {...p} d="M4 6h16M4 12h16M4 18h16"/></>,
    phone:    <><path {...p} 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.72c.127.96.361 1.903.7 2.81a2 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-.45c.907.339 1.85.573 2.81.7A2 2 0 0 1 22 16.92z"/></>,
    utensils: <><path {...p} d="M3 2v7c0 1.1.9 2 2 2h4a2 2 0 0 0 2-2V2"/><path {...p} d="M7 2v20"/><path {...p} d="M21 15V2v0a5 5 0 0 0-5 5v6c0 1.1.9 2 2 2h3Zm0 0v7"/></>,
    'circle-x': <><path {...p} d="M8 22h8"/><path {...p} d="M12 15v7"/><path {...p} d="M12 15a5 5 0 0 0 5-5c0-2-.5-4-2-8H9c-1.5 4-2 6-2 8a5 5 0 0 0 5 5z"/></>,
    users:    <><path {...p} d="M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2"/><circle {...p} cx="9" cy="7" r="4"/><path {...p} d="M22 21v-2a4 4 0 0 0-3-3.87"/><path {...p} d="M16 3.13a4 4 0 0 1 0 7.75"/></>,
    play:     <><polygon {...p} points="5 3 19 12 5 21 5 3"/></>,
  };
  return (
    <svg width={size} height={size} viewBox="0 0 24 24" style={style} aria-hidden="true">
      {paths[name] || null}
    </svg>
  );
}

// ─────────────────────────────────────────────────────────────
// Photo — atmospheric, dark, photographic CSS imagery (no broken links)
// Layered gradients evoke embers / smoke / lacquer / dim food light.
// ─────────────────────────────────────────────────────────────
const PHOTO_RECIPES = {
  robata: [
    'radial-gradient(120% 90% at 50% 118%, rgba(232,96,32,0.85) 0%, rgba(150,30,16,0.55) 26%, rgba(40,10,8,0) 60%)',
    'radial-gradient(40% 30% at 30% 78%, rgba(255,170,70,0.5) 0%, rgba(255,150,60,0) 70%)',
    'radial-gradient(50% 40% at 72% 30%, rgba(120,40,30,0.4) 0%, rgba(10,6,6,0) 70%)',
    'linear-gradient(180deg, #1a0d0a 0%, #0c0605 100%)',
  ],
  lounge: [
    'radial-gradient(60% 50% at 78% 22%, rgba(214,168,84,0.5) 0%, rgba(214,168,84,0) 64%)',
    'radial-gradient(40% 36% at 22% 70%, rgba(150,40,40,0.35) 0%, rgba(20,10,12,0) 70%)',
    'radial-gradient(30% 24% at 50% 40%, rgba(230,200,150,0.18) 0%, rgba(0,0,0,0) 70%)',
    'linear-gradient(170deg, #16100e 0%, #0a0707 100%)',
  ],
  sushi: [
    'radial-gradient(70% 55% at 50% 24%, rgba(196,40,44,0.42) 0%, rgba(120,20,24,0.18) 40%, rgba(12,8,8,0) 72%)',
    'radial-gradient(34% 30% at 26% 76%, rgba(220,190,160,0.16) 0%, rgba(0,0,0,0) 70%)',
    'linear-gradient(180deg, #160e0e 0%, #0b0707 100%)',
  ],
  bento: [
    'radial-gradient(60% 48% at 32% 28%, rgba(214,168,84,0.34) 0%, rgba(214,168,84,0) 62%)',
    'radial-gradient(50% 44% at 76% 78%, rgba(150,34,38,0.34) 0%, rgba(10,8,8,0) 68%)',
    'linear-gradient(150deg, #15100d 0%, #0a0706 100%)',
  ],
  // dishes
  edamame:  [ 'radial-gradient(70% 60% at 50% 36%, rgba(90,120,60,0.5) 0%, rgba(40,60,30,0.2) 46%, rgba(8,8,6,0) 74%)', 'linear-gradient(180deg,#0f1109 0%,#080a06 100%)' ],
  tataki:   [ 'radial-gradient(72% 60% at 50% 34%, rgba(170,46,42,0.6) 0%, rgba(96,22,20,0.25) 46%, rgba(10,6,6,0) 74%)', 'linear-gradient(180deg,#170c0b 0%,#0a0605 100%)' ],
  eggplant: [ 'radial-gradient(70% 58% at 50% 36%, rgba(120,70,150,0.5) 0%, rgba(60,30,80,0.22) 48%, rgba(8,6,10,0) 74%)', 'linear-gradient(180deg,#120c16 0%,#08060a 100%)' ],
  otoro:    [ 'radial-gradient(72% 60% at 50% 34%, rgba(214,110,110,0.55) 0%, rgba(150,40,46,0.22) 48%, rgba(10,6,6,0) 74%)', 'linear-gradient(180deg,#160d0d 0%,#0a0606 100%)' ],
  aburi:    [ 'radial-gradient(72% 60% at 50% 34%, rgba(232,140,80,0.55) 0%, rgba(170,70,40,0.24) 46%, rgba(12,7,6,0) 74%)', 'linear-gradient(180deg,#170e0a 0%,#0a0605 100%)' ],
  omakase:  [ 'radial-gradient(74% 62% at 50% 34%, rgba(214,168,84,0.4) 0%, rgba(150,40,44,0.26) 50%, rgba(10,7,6,0) 76%)', 'linear-gradient(180deg,#15100c 0%,#0a0706 100%)' ],
  wagyu:    [ 'radial-gradient(72% 60% at 50% 36%, rgba(196,54,44,0.6) 0%, rgba(110,26,20,0.28) 46%, rgba(10,6,5,0) 74%)', 'radial-gradient(36% 30% at 30% 74%, rgba(255,160,70,0.3) 0%, rgba(0,0,0,0) 70%)', 'linear-gradient(180deg,#170c09 0%,#0a0504 100%)' ],
  blackcod: [ 'radial-gradient(72% 60% at 50% 34%, rgba(190,150,90,0.46) 0%, rgba(120,80,40,0.2) 48%, rgba(10,8,6,0) 74%)', 'linear-gradient(180deg,#14100a 0%,#0a0706 100%)' ],
  prawn:    [ 'radial-gradient(72% 60% at 50% 34%, rgba(228,96,70,0.55) 0%, rgba(150,40,30,0.24) 48%, rgba(12,6,5,0) 74%)', 'linear-gradient(180deg,#160c09 0%,#0a0605 100%)' ],
  gyoza:    [ 'radial-gradient(72% 60% at 50% 35%, rgba(208,140,80,0.5) 0%, rgba(150,70,36,0.24) 46%, rgba(12,8,6,0) 74%)', 'radial-gradient(34% 28% at 70% 72%, rgba(196,54,44,0.32) 0%, rgba(0,0,0,0) 70%)', 'linear-gradient(180deg,#160f0a 0%,#0a0705 100%)' ],
  ceviche:  [ 'radial-gradient(72% 60% at 50% 34%, rgba(120,150,90,0.42) 0%, rgba(170,90,50,0.2) 48%, rgba(10,9,6,0) 74%)', 'radial-gradient(30% 26% at 28% 74%, rgba(232,140,80,0.26) 0%, rgba(0,0,0,0) 70%)', 'linear-gradient(180deg,#121009 0%,#080806 100%)' ],
};

function Photo({ kind = 'sushi', src, className = '', style = {}, children, grain = true, pos = 'center' }) {
  const layers = PHOTO_RECIPES[kind] || PHOTO_RECIPES.sushi;
  const useImg = !!src;
  return (
    <div className={'shiki-photo ' + className} style={{
      position:'relative', overflow:'hidden',
      backgroundImage: useImg ? `url("${src}")` : layers.join(', '),
      backgroundSize: useImg ? 'cover' : undefined,
      backgroundPosition: useImg ? pos : undefined,
      backgroundColor:'#0a0606',
      ...style,
    }}>
      {grain && <div className="shiki-grain" />}
      {/* soft vignette */}
      <div style={{ position:'absolute', inset:0, boxShadow:'inset 0 0 60px 10px rgba(0,0,0,0.55)', pointerEvents:'none' }} />
      {children}
    </div>
  );
}

// ─────────────────────────────────────────────────────────────
// Brand logo — real SHIKI emblem + wordmark (single path, recolorable)
// ─────────────────────────────────────────────────────────────
const SHIKI_LOGO_PATH = "M95.7,137.4h-4.4v21.7h4.4V137.4z M49.5,137.5h-4.3v21.7h4.3v-8.7h33v8.7h4.3v-21.7h-4.3v8.7h-33V137.5z M41.7,137.4l-36.5,0c-3.4,0-5.2,1.8-5.2,5.3v2.9c0,3.2,1.8,4.9,5.3,4.9h30.3c1.2,0,1.8,0.6,1.8,1.7v1.1c0,1.1-0.6,1.6-1.8,1.6H0.1L0,159.1h36.4c3.5,0,5.3-1.8,5.3-5.3v-2.5c0-3.4-1.8-5.1-5.3-5.1H6c-1.1,0-1.7-0.6-1.7-1.8v-0.9c0-1.2,0.6-1.7,1.7-1.7h35.6V137.4z M76.2,60.9L58.6,73.3l17.6,12.4l17.6-12.4L76.2,60.9z M55.4,70.5L73,58.1L55.4,45.7L37.9,58.1L55.4,70.5z M76.2,55.5l17.6-12.4L76.2,30.7L58.6,43.1L76.2,55.5z M97,70.5l17.6-12.4L97,45.7L79.5,58.1L97,70.5z M116.3,58.7L97.4,71.9L97,72.2l-0.4-0.3L77.8,58.7l-0.8-0.6l0.8-0.6l18.8-13.3l0.4-0.3l0.4,0.3l18.8,13.3l0.8,0.6L116.3,58.7z M96.3,43.1l-0.8,0.6L76.6,57l-0.4,0.3L75.8,57L56.9,43.7l-0.8-0.6l0.8-0.6l18.8-13.3l0.4-0.3l0.4,0.3l18.8,13.3L96.3,43.1z M55.9,44.3l18.8,13.3l0.8,0.6l-0.8,0.6L55.9,72l-0.4,0.3L55,72L36.2,58.7l-0.8-0.6l0.8-0.6L55,44.3l0.4-0.3L55.9,44.3z M56.1,73.3l0.8-0.6l18.8-13.3l0.4-0.3l0.4,0.3l18.8,13.3l0.8,0.6l-0.8,0.6L76.6,87.2l-0.4,0.3l-0.4-0.3L56.9,73.9L56.1,73.3z M119.9,58.4c0-24.3-19.7-44-44-44c-24.3,0-44,19.7-44,44c0,24.3,19.7,44,44,44C100.2,102.4,119.9,82.7,119.9,58.4 M127.2,58.4c0,28.3-22.9,51.2-51.2,51.2c-28.3,0-51.2-22.9-51.2-51.2c0-28.3,22.9-51.2,51.2-51.2C104.2,7.2,127.2,30.1,127.2,58.4 M134.4,58.4C134.4,26.2,108.2,0,75.9,0C43.7,0,17.5,26.2,17.5,58.4c0,32.3,26.2,58.4,58.4,58.4C108.2,116.8,134.4,90.7,134.4,58.4 M144.5,159.1l-6.1-10.9l6.1-10.8h-5.2l-5.2,8.7h-30.3v-8.7h-4.4l0.1,21.7h4.3v-8.7H134l5.2,8.7H144.5z M151.9,137.4h-4.4v21.7h4.4V137.4z";

function Logo({ height = 96, color = '#ece7df', style = {} }) {
  return (
    <svg viewBox="0 0 151.9 159.1" height={height} role="img" aria-label="SHIKI"
      style={{ display:'block', width:'auto', fill: color, ...style }}>
      <path fill={color} d={SHIKI_LOGO_PATH} />
    </svg>
  );
}

// Wordmark only — crops the logo to the 'SHIKI' lettering (drops the round emblem)
function LogoWordmark({ width = 180, color = '#ece7df', style = {} }) {
  return (
    <svg viewBox="0 137.2 151.9 22.1" width={width} role="img" aria-label="SHIKI"
      style={{ display:'block', height:'auto', fill: color, ...style }}>
      <path fill={color} d={SHIKI_LOGO_PATH} />
    </svg>
  );
}
// ─────────────────────────────────────────────────────────────
// Shared footer — social + links + address
// ─────────────────────────────────────────────────────────────
function SiteFooter({ lang, onNavigate, noPadBottom }) {
  const trF = (o) => o ? (o[lang] ?? o.de) : '';
  return (
    <div className="site-footer">
      {/* Social */}
      <div className="about-social">
        <a href="https://www.facebook.com/shikileipzig#" target="_blank" rel="noopener noreferrer" aria-label="Facebook">
          <svg className="about-social-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="1.5" strokeLinecap="round" strokeLinejoin="round">
            <path d="M18 2h-3a5 5 0 0 0-5 5v3H7v4h3v8h4v-8h3l1-4h-4V7a1 1 0 0 1 1-1h3z"/>
          </svg>
        </a>
        <a href="https://www.instagram.com/shikileipzig/" target="_blank" rel="noopener noreferrer" aria-label="Instagram">
          <svg className="about-social-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="1.5" strokeLinecap="round" strokeLinejoin="round">
            <rect x="2" y="2" width="20" height="20" rx="5"/>
            <circle cx="12" cy="12" r="5"/>
            <circle cx="17.5" cy="6.5" r="1.5" fill="currentColor" stroke="none"/>
          </svg>
        </a>
        <a href="https://www.youtube.com/channel/UCHJiPQsLOapPpTxLkGwoERw" target="_blank" rel="noopener noreferrer" aria-label="YouTube">
          <svg className="about-social-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="1.5" strokeLinecap="round" strokeLinejoin="round">
            <path d="M22.54 6.42a2.78 2.78 0 0 0-1.94-2C18.88 4 12 4 12 4s-6.88 0-8.6.46a2.78 2.78 0 0 0-1.94 2A29 29 0 0 0 1 11.75a29 29 0 0 0 .46 5.33A2.78 2.78 0 0 0 3.4 19.13C5.12 19.56 12 19.56 12 19.56s6.88 0 8.6-.46a2.78 2.78 0 0 0 1.94-2 29 29 0 0 0 .46-5.25 29 29 0 0 0-.46-5.43z"/>
            <polygon points="9.75 15.02 15.5 11.75 9.75 8.48 9.75 15.02" fill="currentColor" stroke="none"/>
          </svg>
        </a>
      </div>
      {/* Footer */}
      <div className={'about-footer' + (noPadBottom ? ' no-pad-bottom' : '')}>
        <div className="about-footer-links">
          <div className="about-footer-link" onClick={() => onNavigate && onNavigate('about')} style={{ cursor:'pointer' }}>ABOUT SHIKI LEIPZIG</div>
          <div className="about-footer-rule" />
          <div className="about-footer-link muted" onClick={() => onNavigate && onNavigate('legal')} style={{ cursor:'pointer' }}>LEGAL NOTICE & PRIVACY POLICY</div>
          <div className="about-footer-rule" />
          <div className="about-footer-link muted" onClick={() => onNavigate && onNavigate('contact')} style={{ cursor:'pointer' }}>CONTACT</div>
        </div>
        <div className="about-goldline" style={{ margin:'20px 0' }}>
          <span /><div className="about-diamond" /><span />
        </div>
        <div className="about-footer-addr-row">
          <span className="about-footer-addr">
            SHIKI Leipzig – Asian Cuisine & Sushibar
          </span>
          <span className="about-footer-addr">·</span>
          <span className="about-footer-addr">
            Klostergasse 18, 04109 Leipzig
          </span>
          <span className="about-footer-addr">·</span>
          <span className="about-footer-contact">0341 9769160 · info@shikileipzig.de</span>
        </div>
        <div className="about-footer-copy">© 2026 SHIKI LEIPZIG. All rights reserved.</div>
      </div>
    </div>
  );
}

function StickyHeroLayout({ heroContent, children, className = "", scrollRef }) {
  return (
    <div className={`screen sticky-hero-screen ${className}`} ref={scrollRef}>
      <div className="sticky-hero-banner">
        {heroContent}
      </div>
      <div className="sticky-hero-overlay">
        {children}
      </div>
    </div>
  );
}

Object.assign(window, {
  SHIKI_STRINGS, SHIKI_MONTHS, SHIKI_DOW, SHIKI_INDEX, SHIKI_NAV,
  SHIKI_MENU, SHIKI_DELIVERY, SHIKI_SERVICES, SHIKI_HOURS, SHIKI_MAPS_URL, SHIKI_REVIEWS, SHIKI_NEWS, Icon, Photo, Logo, LogoWordmark,
  SiteFooter, StickyHeroLayout
});
