/* ========= CONFIG DE TEMPO ========= */
window.SPEECH_MAX_TIME = 5;   // default = 5s
window.SPEECH_MIN_GAP  = 2;   // default = 2s

/* ========= VOCABULÁRIO: PONTOS TURÍSTICOS ========= */
const DATA = [
  // 1) Bilheteria
  { ptbr:"Onde fica a bilheteria?", fr:"Où se trouve la billetterie ?", it:"Dov’è la biglietteria?", es:"¿Dónde está la taquilla?", en:"Where is the ticket office?", pt:"Onde fica a bilheteira?", de:"Wo ist die Kasse?", zh:"售票处在哪里？", ko:"매표소가 어디예요?", ja:"チケット売り場はどこですか？",
    icon1:"https://api.iconify.design/mdi:ticket.svg", icon2:"https://api.iconify.design/mdi:map-marker.svg" ,"info_ptbr":"NA", "info_ptpt":"NA", "info_fr":"NA", "info_en":"NA", "info_es":"NA", "info_it":"NA", "info_de":"NA", "info_zh":"NA", "info_ja":"NA", "info_ko":"NA"
},
  { ptbr:"Logo à entrada, à esquerda.", fr:"Juste à l’entrée, à gauche.", it:"Subito all’ingresso, a sinistra.", es:"Justo en la entrada, a la izquierda.", en:"Right at the entrance, on the left.", pt:"Mesmo à entrada, à esquerda.", de:"Gleich am Eingang, links.", zh:"就在入口左侧。", ko:"입구 왼쪽에 있어요.", ja:"入口のすぐ左です。",
    icon1:"https://api.iconify.design/mdi:door.svg", icon2:"https://api.iconify.design/mdi:arrow-left-bold.svg" ,"info_ptbr":"NA", "info_ptpt":"NA", "info_fr":"NA", "info_en":"NA", "info_es":"NA", "info_it":"NA", "info_de":"NA", "info_zh":"NA", "info_ja":"NA", "info_ko":"NA"
},

  // 2) Horário de abertura
  { ptbr:"A que horas abre?", fr:"À quelle heure ça ouvre ?", it:"A che ora apre?", es:"¿A qué hora abre?", en:"What time does it open?", pt:"A que horas abre?", de:"Wann öffnet es?", zh:"几点开门？", ko:"몇 시에 여나요?", ja:"何時に開きますか？",
    icon1:"https://api.iconify.design/mdi:clock-time-six-outline.svg", icon2:"https://api.iconify.design/mdi:calendar-clock.svg" ,"info_ptbr":"NA", "info_ptpt":"NA", "info_fr":"NA", "info_en":"NA", "info_es":"NA", "info_it":"NA", "info_de":"NA", "info_zh":"NA", "info_ja":"NA", "info_ko":"NA"
},
  { ptbr:"Às 9h, diariamente.", fr:"À 9h, tous les jours.", it:"Alle 9, tutti i giorni.", es:"A las 9, todos los días.", en:"At 9 am, daily.", pt:"Às 9h, todos os dias.", de:"Um 9 Uhr, täglich.", zh:"每天上午9点。", ko:"매일 오전 9시에요.", ja:"毎日9時です。",
    icon1:"https://api.iconify.design/mdi:clock-check-outline.svg", icon2:"https://api.iconify.design/mdi:check-bold.svg" ,"info_ptbr":"NA", "info_ptpt":"NA", "info_fr":"NA", "info_en":"NA", "info_es":"NA", "info_it":"NA", "info_de":"NA", "info_zh":"NA", "info_ja":"NA", "info_ko":"NA"
},

  // 3) Visita guiada
  { ptbr:"Há visita guiada em português?", fr:"Y a-t-il une visite guidée en portugais ?", it:"C’è una visita guidata in portoghese?", es:"¿Hay visita guiada en portugués?", en:"Is there a guided tour in Portuguese?", pt:"Há visita guiada em português?", de:"Gibt es eine Führung auf Portugiesisch?", zh:"有葡萄牙语导览吗？", ko:"포르투갈어 가이드 투어 있나요?", ja:"ポルトガル語のガイドはありますか？",
    icon1:"https://api.iconify.design/mdi:account-voice.svg", icon2:"https://api.iconify.design/mdi:account-group.svg" ,"info_ptbr":"NA", "info_ptpt":"NA", "info_fr":"NA", "info_en":"NA", "info_es":"NA", "info_it":"NA", "info_de":"NA", "info_zh":"NA", "info_ja":"NA", "info_ko":"NA"
},
  { ptbr:"Sim, às 11h e 15h.", fr:"Oui, à 11h et 15h.", it:"Sì, alle 11 e alle 15.", es:"Sí, a las 11 y a las 15.", en:"Yes, at 11 am and 3 pm.", pt:"Sim, às 11h e às 15h.", de:"Ja, um 11 und 15 Uhr.", zh:"有，11点和15点。", ko:"네, 11시와 15시에 있어요.", ja:"はい、11時と15時です。",
    icon1:"https://api.iconify.design/mdi:clock-outline.svg", icon2:"https://api.iconify.design/mdi:calendar.svg" ,"info_ptbr":"NA", "info_ptpt":"NA", "info_fr":"NA", "info_en":"NA", "info_es":"NA", "info_it":"NA", "info_de":"NA", "info_zh":"NA", "info_ja":"NA", "info_ko":"NA"
},

  // 4) Áudio-guia
  { ptbr:"Tem áudio-guia disponível?", fr:"Avez-vous un audioguide ?", it:"Avete un’audioguida?", es:"¿Hay audioguía disponible?", en:"Is there an audio guide available?", pt:"Há áudio-guia disponível?", de:"Gibt es einen Audioguide?", zh:"有语音导览吗？", ko:"오디오 가이드 있나요?", ja:"音声ガイドはありますか？",
    icon1:"https://api.iconify.design/mdi:headphones.svg", icon2:"https://api.iconify.design/mdi:music-note.svg" ,"info_ptbr":"NA", "info_ptpt":"NA", "info_fr":"NA", "info_en":"NA", "info_es":"NA", "info_it":"NA", "info_de":"NA", "info_zh":"NA", "info_ja":"NA", "info_ko":"NA"
},
  { ptbr:"Sim, com locução em 8 idiomas.", fr:"Oui, en 8 langues.", it:"Sì, in 8 lingue.", es:"Sí, en 8 idiomas.", en:"Yes, in 8 languages.", pt:"Sim, em 8 idiomas.", de:"Ja, in 8 Sprachen.", zh:"有，支持8种语言。", ko:"네, 8개 언어 제공해요.", ja:"はい、8言語対応です。",
    icon1:"https://api.iconify.design/mdi:check-decagram.svg", icon2:"https://api.iconify.design/mdi:translate.svg" ,"info_ptbr":"NA", "info_ptpt":"NA", "info_fr":"NA", "info_en":"NA", "info_es":"NA", "info_it":"NA", "info_de":"NA", "info_zh":"NA", "info_ja":"NA", "info_ko":"NA"
},

  // 5) Filas / tempo de espera
  { ptbr:"Quanto tempo de fila agora?", fr:"Combien de temps d’attente maintenant ?", it:"Quanto è la coda adesso?", es:"¿Cuánto tiempo de fila ahora?", en:"How long is the line now?", pt:"Quanto tempo de fila agora?", de:"Wie lang ist die Schlange jetzt?", zh:"现在排队要多久？", ko:"지금 대기 시간이 얼마나 되나요?", ja:"今の待ち時間はどれくらいですか？",
    icon1:"https://api.iconify.design/mdi:account-multiple.svg", icon2:"https://api.iconify.design/mdi:timer-outline.svg" ,"info_ptbr":"NA", "info_ptpt":"NA", "info_fr":"NA", "info_en":"NA", "info_es":"NA", "info_it":"NA", "info_de":"NA", "info_zh":"NA", "info_ja":"NA", "info_ko":"NA"
},
  { ptbr:"Cerca de vinte minutos.", fr:"Environ vingt minutes.", it:"Circa venti minuti.", es:"Unos veinte minutos.", en:"About twenty minutes.", pt:"Cerca de vinte minutos.", de:"Etwa zwanzig Minuten.", zh:"大约二十分钟。", ko:"약 20분 정도요.", ja:"およそ20分です。",
    icon1:"https://api.iconify.design/mdi:clock-fast.svg", icon2:"https://api.iconify.design/mdi:information-outline.svg" ,"info_ptbr":"NA", "info_ptpt":"NA", "info_fr":"NA", "info_en":"NA", "info_es":"NA", "info_it":"NA", "info_de":"NA", "info_zh":"NA", "info_ja":"NA", "info_ko":"NA"
},

  // 6) Mirante / melhor foto
  { ptbr:"Onde é o melhor ponto para fotos?", fr:"Où est le meilleur point photo ?", it:"Dov’è il punto migliore per le foto?", es:"¿Dónde está el mejor punto para fotos?", en:"Where is the best photo spot?", pt:"Onde é o melhor ponto para fotos?", de:"Wo ist der beste Fotopunkt?", zh:"哪里是最佳拍照点？", ko:"사진 찍기 좋은 곳이 어디예요?", ja:"写真に最適なスポットはどこですか？",
    icon1:"https://api.iconify.design/mdi:camera-outline.svg", icon2:"https://api.iconify.design/mdi:image-outline.svg" ,"info_ptbr":"NA", "info_ptpt":"NA", "info_fr":"NA", "info_en":"NA", "info_es":"NA", "info_it":"NA", "info_de":"NA", "info_zh":"NA", "info_ja":"NA", "info_ko":"NA"
},
  { ptbr:"No mirante do terraço.", fr:"Au belvédère de la terrasse.", it:"Al belvedere sulla terrazza.", es:"En el mirador de la terraza.", en:"At the terrace viewpoint.", pt:"No miradouro do terraço.", de:"Auf der Terrassen-Aussichtsplattform.", zh:"在露台观景台。", ko:"테라스 전망대예요.", ja:"テラスの展望台です。",
    icon1:"https://api.iconify.design/mdi:binoculars.svg", icon2:"https://api.iconify.design/mdi:stairs-up.svg" ,"info_ptbr":"NA", "info_ptpt":"NA", "info_fr":"NA", "info_en":"NA", "info_es":"NA", "info_it":"NA", "info_de":"NA", "info_zh":"NA", "info_ja":"NA", "info_ko":"NA"
},

  // 7) Mapa / percurso
  { ptbr:"Há mapa do percurso?", fr:"Y a-t-il un plan du parcours ?", it:"C’è una mappa del percorso?", es:"¿Hay un mapa del recorrido?", en:"Is there a route map?", pt:"Há mapa do percurso?", de:"Gibt es einen Routenplan?", zh:"有路线图吗？", ko:"코스 지도 있나요?", ja:"ルートマップはありますか？",
    icon1:"https://api.iconify.design/mdi:map-outline.svg", icon2:"https://api.iconify.design/mdi:map-legend.svg" ,"info_ptbr":"NA", "info_ptpt":"NA", "info_fr":"NA", "info_en":"NA", "info_es":"NA", "info_it":"NA", "info_de":"NA", "info_zh":"NA", "info_ja":"NA", "info_ko":"NA"
},
  { ptbr:"Sim, baixe pelo QR code.", fr:"Oui, téléchargez via QR code.", it:"Sì, scarichi tramite QR code.", es:"Sí, descárguelo por código QR.", en:"Yes, download via QR code.", pt:"Sim, descarregue por QR code.", de:"Ja, per QR-Code herunterladen.", zh:"有，扫码下载。", ko:"네, QR코드로 다운로드하세요.", ja:"はい、QRコードでダウンロードできます。",
    icon1:"https://api.iconify.design/mdi:qrcode-scan.svg", icon2:"https://api.iconify.design/mdi:download.svg" ,"info_ptbr":"NA", "info_ptpt":"NA", "info_fr":"NA", "info_en":"NA", "info_es":"NA", "info_it":"NA", "info_de":"NA", "info_zh":"NA", "info_ja":"NA", "info_ko":"NA"
},

  // 8) Banheiros / acessibilidade
  { ptbr:"Onde ficam os banheiros acessíveis?", fr:"Où sont les toilettes accessibles ?", it:"Dove sono i servizi accessibili?", es:"¿Dónde están los baños accesibles?", en:"Where are the accessible restrooms?", pt:"Onde ficam as casas de banho acessíveis?", de:"Wo sind barrierefreie Toiletten?", zh:"无障碍厕所在哪里？", ko:"장애인 화장실은 어디에 있어요?", ja:"バリアフリートイレはどこですか？",
    icon1:"https://api.iconify.design/mdi:toilet.svg", icon2:"https://api.iconify.design/mdi:wheelchair-accessibility.svg" ,"info_ptbr":"NA", "info_ptpt":"NA", "info_fr":"NA", "info_en":"NA", "info_es":"NA", "info_it":"NA", "info_de":"NA", "info_zh":"NA", "info_ja":"NA", "info_ko":"NA"
},
  { ptbr:"No térreo, ao lado do elevador.", fr:"Au rez-de-chaussée, à côté de l’ascenseur.", it:"Al piano terra, accanto all’ascensore.", es:"En la planta baja, junto al ascensor.", en:"On the ground floor, next to the elevator.", pt:"No rés-do-chão, junto ao elevador.", de:"Im Erdgeschoss, neben dem Aufzug.", zh:"一楼，电梯旁。", ko:"1층 엘리베이터 옆이에요.", ja:"1階のエレベーター横です。",
    icon1:"https://api.iconify.design/mdi:elevator-passenger.svg", icon2:"https://api.iconify.design/mdi:stairs.svg" ,"info_ptbr":"NA", "info_ptpt":"NA", "info_fr":"NA", "info_en":"NA", "info_es":"NA", "info_it":"NA", "info_de":"NA", "info_zh":"NA", "info_ja":"NA", "info_ko":"NA"
},

  // 9) Loja de lembranças
  { ptbr:"Onde fica a loja de lembranças?", fr:"Où est la boutique de souvenirs ?", it:"Dov’è il negozio di souvenir?", es:"¿Dónde está la tienda de recuerdos?", en:"Where is the gift shop?", pt:"Onde fica a loja de lembranças?", de:"Wo ist der Souvenirshop?", zh:"纪念品商店在哪里？", ko:"기념품 가게는 어디예요?", ja:"お土産屋はどこですか？",
    icon1:"https://api.iconify.design/mdi:storefront-outline.svg", icon2:"https://api.iconify.design/twemoji:shopping-bags.svg" ,"info_ptbr":"NA", "info_ptpt":"NA", "info_fr":"NA", "info_en":"NA", "info_es":"NA", "info_it":"NA", "info_de":"NA", "info_zh":"NA", "info_ja":"NA", "info_ko":"NA"
},
  { ptbr:"Na saída do circuito.", fr:"À la sortie du circuit.", it:"All’uscita del percorso.", es:"A la salida del recorrido.", en:"At the end of the route.", pt:"À saída do percurso.", de:"Am Ende des Rundgangs.", zh:"在路线出口处。", ko:"동선 끝, 출구에 있어요.", ja:"見学コースの出口にあります。",
    icon1:"https://api.iconify.design/mdi:door-open.svg", icon2:"https://api.iconify.design/mdi:arrow-right-bold.svg" ,"info_ptbr":"NA", "info_ptpt":"NA", "info_fr":"NA", "info_en":"NA", "info_es":"NA", "info_it":"NA", "info_de":"NA", "info_zh":"NA", "info_ja":"NA", "info_ko":"NA"
},

  // 10) Código de vestimenta (locais religiosos)
  { ptbr:"Precisa cobrir ombros/joelhos aqui?", fr:"Faut-il couvrir épaules/genoux ici ?", it:"Bisogna coprire spalle/ginocchia qui?", es:"¿Hay que cubrir hombros/rodillas aquí?", en:"Do I need to cover shoulders/knees here?", pt:"É preciso cobrir ombros/joelhos aqui?", de:"Muss man hier Schultern/Knie bedecken?", zh:"这里需要遮住肩膀/膝盖吗？", ko:"여기서 어깨/무릎 가려야 하나요?", ja:"ここでは肩や膝を隠す必要がありますか？",
    icon1:"https://api.iconify.design/mdi:account-tie-woman.svg", icon2:"https://api.iconify.design/mdi:information-outline.svg" ,"info_ptbr":"NA", "info_ptpt":"NA", "info_fr":"NA", "info_en":"NA", "info_es":"NA", "info_it":"NA", "info_de":"NA", "info_zh":"NA", "info_ja":"NA", "info_ko":"NA"
},
  { ptbr:"Sim, há exigência de vestimenta modesta.", fr:"Oui, tenue modeste exigée.", it:"Sì, è richiesto abbigliamento modesto.", es:"Sí, se exige vestimenta modesta.", en:"Yes, modest dress is required.", pt:"Sim, é exigido traje modesto.", de:"Ja, angemessene Kleidung ist erforderlich.", zh:"需要，要求穿着端庄。", ko:"네, 단정한 복장이 필요합니다.", ja:"はい、控えめな服装が必要です。",
    icon1:"https://api.iconify.design/mdi:check-bold.svg", icon2:"https://api.iconify.design/mdi:shield-check.svg" ,"info_ptbr":"NA", "info_ptpt":"NA", "info_fr":"NA", "info_en":"NA", "info_es":"NA", "info_it":"NA", "info_de":"NA", "info_zh":"NA", "info_ja":"NA", "info_ko":"NA"
},
];
