{
  "version": 3,
  "sources": ["/cdn/shop/t/2/assets/nav.js?x=1784435862"],
  "sourcesContent": ["/* \u5CAD\u5357\u6F2B\u6E38 \u2014\u2014 \u5355\u9875\u4E3B\u9898\uFF1Ahash \u8DEF\u7531 + \u4E2D/EN \u8BED\u8A00\u5207\u6362 + \u5BBD\u5EA6\u81EA\u9002\u5E94\n * \u9875\u9762 HTML \u7531 assets/page-<lang>-<route>.js \u6CE8\u5165\u5230 window.LN_HTML[lang][route]\u3002 */\n(function () {\n  var ROUTES = ['home', 'guangxi', 'guangfo', 'xiangqing', 'dingzhi', 'about', 'liting', 'sc7d', 'guilong', 'liyu', 'jinpin', 'yangcheng', 'gftour', 'trip', 'stories'];\n  var DESIGN_W = 1440;\n\n  var LANGS = ['en', 'cn', 'tw', 'ja', 'ko', 'ms'];\n  // \u8BED\u8A00\u4F18\u5148\u7EA7\uFF1A\u7528\u6237\u624B\u52A8\u9009\u62E9(localStorage) > \u6D4F\u89C8\u5668\u8BED\u8A00\u81EA\u52A8\u5339\u914D > \u82F1\u6587\n  var LANG = (function () {\n    try {\n      var s = localStorage.getItem('ln_lang');\n      if (LANGS.indexOf(s) >= 0) return s;\n    } catch (e) {}\n    var cands = (navigator.languages && navigator.languages.length)\n      ? navigator.languages : [navigator.language || 'en'];\n    for (var i = 0; i < cands.length; i++) {\n      var c = String(cands[i]).toLowerCase();\n      if (c.indexOf('zh') === 0) return 'cn';\n      if (c.indexOf('ja') === 0) return 'ja';\n      if (c.indexOf('ko') === 0) return 'ko';\n      if (c.indexOf('ms') === 0) return 'ms';\n      if (c.indexOf('en') === 0) return 'en';\n    }\n    return 'en';\n  })();\n\n  // \u56FE\u5C42\u540D -> \u8DEF\u7531\uFF08\u4E2D\u82F1\u5408\u5E76\uFF1B\u5361\u7247\u524D\u7F00\u4E24\u8BED\u8A00\u5171\u7528\uFF09\n  var exact = {\n    // CN\n    'CnBrand': 'home', 'CnFooterBrand': 'home', 'CnFooterSeal': 'home',\n    'CnNavLink-\u9996\u9875': 'home', 'CnNavLink-\u5E7F\u897F\u7EBF\u8DEF': 'guangxi', 'CnNavLink-\u5E7F\u4E1C\u00B7\u5E7F\u4F5B': 'guangfo',\n    'CnNavLink-\u5B9A\u5236\u6E38': 'dingzhi', 'CnNavCTA': 'dingzhi', 'CnHomeCTA': 'dingzhi',\n    'CnNavLink-\u5173\u4E8E\u6211\u4EEC': 'about', 'CnNavLink-\u6E38\u8BB0\u653B\u7565': 'stories',\n    'DestCard-Guangxi': 'guangxi', 'DestCard-Guangzhou & Foshan': 'guangfo',\n    // \u6F13\u6C5F\u65D7\u8230\u884C\u7A0B\u5361 -> \u6F13\u5883\u7EAF\u7F8E\u4E13\u9875(\u7CBE\u786E\u5339\u914D\u4F18\u5148\u4E8E BigCard-/TourCard- \u524D\u7F00)\n    'BigCard-4-Day Li River & Yangshuo Essence': 'liting',\n    'TourCard-4-Day Li River & Yangshuo Essence': 'liting',\n    // \u9F99\u810A 5 \u65E5\u5361 -> \u6842\u9F99\u5C71\u6C34\u8BB0\u4E13\u9875\n    'BigCard-5-Day Longji Terraces & Ethnic Heartlands': 'guilong',\n    'TourCard-5-Day Longji Terraces & Ethnic Heartlands': 'guilong',\n    'BookCTA': 'dingzhi',\n    'CnFooterColTitle-\u5E7F\u897F\u7EBF\u8DEF': 'guangxi', 'CnFooterColTitle-\u5E7F\u4F5B\u7EBF\u8DEF': 'guangfo',\n    'CnFooterLink-\u5173\u4E8E\u6211\u4EEC': 'about',\n    // EN\n    'Brand': 'home', 'FooterBrand': 'home',\n    'NavLink-Home': 'home', 'NavLink-Guangxi Tours': 'guangxi', 'NavLink-Guangzhou & Foshan': 'guangfo',\n    'NavLink-Tailor-Made': 'dingzhi', 'NavCTA': 'dingzhi',\n    'NavLink-About Us': 'about', 'FooterLink-About Us': 'about', 'NavLink-Stories': 'stories'\n  };\n  var prefix = [\n    ['TourCard-', 'xiangqing'], ['BigCard-', 'xiangqing'], ['TourArrow-', 'xiangqing'],\n    ['CnFooterLink-\u6842\u6797', 'guangxi'], ['CnFooterLink-\u9F99\u810A', 'guangxi'], ['CnFooterLink-\u5317\u6D77', 'guangxi'], ['CnFooterLink-\u5FB7\u5929', 'guangxi'],\n    ['CnFooterLink-\u5E7F\u5E9C', 'guangfo'], ['CnFooterLink-\u4F5B\u5C71', 'guangfo'], ['CnFooterLink-\u957F\u9686', 'guangfo'], ['CnFooterLink-\u5E7F\u4F5B', 'guangfo']\n  ];\n\n  function resolve(name) {\n    if (!name) return null;\n    if (exact.hasOwnProperty(name)) return exact[name];\n    for (var i = 0; i < prefix.length; i++) if (name.indexOf(prefix[i][0]) === 0) return prefix[i][1];\n    return null;\n  }\n\n  function hashParam(key) {   // \u4ECE #route?a=xxx \u91CC\u53D6\u53C2\u6570(\u5982 stories \u7684\u6587\u7AE0 slug)\n    var q = (location.hash || '').split('?')[1];\n    if (!q) return null;\n    var parts = q.split('&');\n    for (var i = 0; i < parts.length; i++) {\n      var kv = parts[i].split('=');\n      if (decodeURIComponent(kv[0]) === key) return decodeURIComponent(kv[1] || '');\n    }\n    return null;\n  }\n  function currentRoute() {\n    var h = (location.hash || '').replace(/^#/, '').split('?')[0];   // \u5BB9\u5FCD #trip?t=... \u4E4B\u7C7B\u7684 query\n    if (ROUTES.indexOf(h) >= 0) return h;\n    // \u4ECE /pages/xxx \u8FDB\u5165\u65F6\u7531\u6A21\u677F\u6CE8\u5165\u521D\u59CB\u8DEF\u7531\n    var init = window.LN_INITIAL_ROUTE;\n    if (init && ROUTES.indexOf(init) >= 0) return init;\n    return 'home';\n  }\n\n  // \u54C1\u724C logo\uFF1A\u5BFC\u822A\u680F\u7528\u5F69\u8272\u7248\uFF1B\u9875\u811A\uFF08\u6DF1\u5E95\uFF09\u7528\u6D45\u8272\u7248\n  function applyLogo(scope) {\n    var root = scope || document;\n    var url = window.LN_LOGO_URL;\n    if (url) {\n      root.querySelectorAll(\n        '[data-pencil-name=\"CnBrand\"], [data-pencil-name=\"Brand\"]'\n      ).forEach(function (b) {\n        if (b.__lnLogo) return;\n        b.__lnLogo = true;\n        b.innerHTML = '<img src=\"' + url + '\" alt=\"\u5CAD\u5357\u6F2B\u6E38 Lingnan Journeys\"' +\n          ' style=\"height:72px;width:auto;display:block\">';\n      });\n    }\n    var light = window.LN_LOGO_LIGHT_URL;\n    if (light) {\n      root.querySelectorAll(\n        '[data-pencil-name=\"CnFooterBrand\"], [data-pencil-name=\"FooterBrand\"]'\n      ).forEach(function (b) {\n        if (b.__lnLogo) return;\n        b.__lnLogo = true;\n        b.innerHTML = '<img src=\"' + light + '\" alt=\"\u5CAD\u5357\u6F2B\u6E38 Lingnan Journeys\"' +\n          ' style=\"height:64px;width:auto;display:block\">';\n      });\n    }\n  }\n\n  // \u65E5/\u97E9\uFF1A\u4EE5\u82F1\u6587 DOM \u4E3A\u5E95\uFF0C\u9010\u6587\u672C\u8282\u70B9\u6309\u5B57\u5178\u66FF\u6362\n  function cLang() { return LANG === 'tw' ? 'cn' : LANG; }            // \u7E41\u9AD4\u590D\u7528\u7B80\u4F53\u5185\u5BB9\u6E90\n  function twize(el) {   // \u6E32\u67D3\u5B8C\u6210\u540E:\u5148\u6574\u4F53\u8F6C\u7E41(\u4EC5\u5185\u5BB9),\u518D\u6CE8\u5165\u8BED\u8A00\u4E0B\u62C9(\u4E0B\u62C9\u6807\u7B7E\u4E0D\u88AB\u8F6C\u6362)\n    if (LANG === 'tw' && window.LN_TW) window.LN_TW.convert(el);\n    applyLangSwitcher(el);\n  }\n\n  function translate(el) {\n    var dict = (window.LN_I18N || {})[LANG];\n    if (!dict) return;\n    var walker = document.createTreeWalker(el, NodeFilter.SHOW_TEXT, null);\n    var n;\n    while ((n = walker.nextNode())) {\n      var key = n.nodeValue.replace(/\\s+/g, ' ').trim();\n      if (key && Object.prototype.hasOwnProperty.call(dict, key)) {\n        n.nodeValue = dict[key];\n      }\n    }\n  }\n\n  // \u6CD5\u5F8B\u4FE1\u606F\u4FEE\u6B63\uFF1A\u8BB8\u53EF\u8BC1\u53F7 L-GX-01886(\u5360\u4F4D) -> L-GD02590(\u771F\u5B9E)\uFF1B\u9875\u811A\u7248\u6743\u884C\u6574\u4F53\u6362\u6210\u771F\u5B9E\u4E3B\u4F53\n  function fixLegal(scope) {\n    var real = (LANG === 'cn')\n      ? '\u00A9 2026 \u5CAD\u5357\u6F2B\u6E38 \u00B7 \u667A\u9009\u5047\u65E5(\u6DF1\u5733)\u56FD\u9645\u65C5\u884C\u793E\u6709\u9650\u516C\u53F8 \u00B7 \u65C5\u884C\u793E\u4E1A\u52A1\u7ECF\u8425\u8BB8\u53EF\u8BC1 L-GD02590'\n      : '\u00A9 2026 Lingnan Journeys \u00B7 Zhixuan Holiday (Shenzhen) International Travel Service Co., Ltd. \u00B7 License L-GD02590';\n    var w = document.createTreeWalker(scope, NodeFilter.SHOW_TEXT, null), n;\n    while ((n = w.nextNode())) {\n      var v = n.nodeValue;\n      if (v.indexOf('L-GX-01886') >= 0) v = v.replace(/L-GX-01886/g, 'L-GD02590');\n      if (v.indexOf('\u00A9') >= 0 && v.indexOf('L-GD02590') >= 0) v = real; // \u9875\u811A\u7248\u6743\u884C\n      if (v !== n.nodeValue) n.nodeValue = v;\n    }\n  }\n\n  // WhatsApp \u4E00\u952E\u62C9\u8D77\uFF08+86 133 1642 3196\uFF09\uFF0C\u6309\u5F53\u524D\u8BED\u8A00\u9884\u586B\u9996\u53E5\n  var WA_NUMBER = '8613316423196';\n  var WA_TEXT = {\n    en: \"Hi Lingnan Journeys! I'd like to plan a private trip to Guangxi / Guangdong.\",\n    cn: '\u4F60\u597D\uFF0C\u5CAD\u5357\u6F2B\u6E38\uFF01\u6211\u60F3\u54A8\u8BE2\u4E24\u5E7F\u79C1\u5BB6\u56E2\u884C\u7A0B\u3002',\n    ja: '\u3053\u3093\u306B\u3061\u306F\u3001Lingnan Journeys\uFF01\u5E83\u897F\u30FB\u5E83\u6771\u306E\u30D7\u30E9\u30A4\u30D9\u30FC\u30C8\u30C4\u30A2\u30FC\u306B\u3064\u3044\u3066\u76F8\u8AC7\u3057\u305F\u3044\u3067\u3059\u3002',\n    ko: '\uC548\uB155\uD558\uC138\uC694, Lingnan Journeys! \uAD11\uC2DC/\uAD11\uB465 \uD504\uB77C\uC774\uBE57 \uD22C\uC5B4\uB97C \uC0C1\uB2F4\uD558\uACE0 \uC2F6\uC2B5\uB2C8\uB2E4.',\n    ms: 'Hai Lingnan Journeys! Saya ingin bertanya tentang pakej persendirian di Guangxi / Guangdong.'\n  };\n  // \u5B9A\u5236\u9875 WhatsApp \u6309\u94AE / EN \u9875\u811A\u8054\u7CFB\u884C / \u9875\u811A\u804A\u5929\u56FE\u6807 / \u8BE6\u60C5\u9875\u300C\u548C\u89C4\u5212\u5E08\u804A\u804A\u300D\n  var WA_TARGETS = ['FormAltBtn-WhatsApp', 'Contact-message-circle',\n                    'Soc-message-circle', 'CnSoc-message-circle', 'BookGhost'];\n  function applyWhatsApp(scope) {\n    WA_TARGETS.forEach(function (name) {\n      scope.querySelectorAll('[data-pencil-name=\"' + name + '\"]').forEach(function (el) {\n        if (el.__lnWired) return;\n        el.__lnWired = true;\n        el.style.cursor = 'pointer';\n        el.addEventListener('click', function (e) {\n          e.preventDefault();\n          e.stopPropagation();\n          var url = 'https://wa.me/' + WA_NUMBER + '?text=' +\n            encodeURIComponent(WA_TEXT[cLang()] || WA_TEXT.en);\n          window.open(url, '_blank', 'noopener');\n        });\n      });\n    });\n  }\n\n  // \u5E7F\u897F\u76EE\u5F55\u6539\u7248\uFF1A\u628A\u4E24\u5F20\u865A\u6784\u5361(\u6DA0\u6D32/\u5FB7\u5929)\u6574\u5361\u8986\u76D6\u6210\u771F\u5B9E\u4EA7\u54C1\u5E76\u6302 detail \u9875\n  var GX_CATALOG = {\n    'BigCard-4-Day Weizhou Island Slow Escape': {\n      route: 'liyu', img: 'https://images.unsplash.com/photo-1773393877739-d98f73d131e2?fm=jpg&q=80&w=1080',\n      cn: { title: '\u6F13\u9047\u9633\u6714 \u00B7 4\u59293\u665A\u9AD8\u7AEF\u81FB\u4EAB', meta: '4\u59293\u665A \u00B7 \u6842\u6797\u96C6\u5408 \u00B7 \u51FA\u53D1\u524D7\u5929\u53EF\u5168\u9000', from: '\u4F4E\u81F3', price: '\u00A53,180', pp: '/\u4EBA',\n        hls: ['\u6500\u53E4\u4E1C\u68EE\u6797\u7011\u5E03,\u6F13\u6C5F\u5174\u576A\u7AF9\u7B4F\u00B720\u5143\u80CC\u666F', '\u5929\u9F99\u6E7E\u66FC\u60A6 + \u9633\u6714\u4E07\u67AB(Fairfield)\u9AD8\u7AEF\u4F4F\u5BBF', '\u7EAF\u73A9\u4E0D\u8FDB\u5E97,\u4F34\u624B\u793C\u5168\u7A0B\u81EA\u613F'] },\n      en: { title: 'Liyu Yangshuo \u00B7 4-Day Premium', meta: '4 days \u00B7 Starts Guilin \u00B7 Free cancellation up to 7 days', from: 'From', price: '$460', pp: 'per person',\n        hls: ['Gudong waterfall & the Li River \u00A520-note bend', 'Premium: Tianlong Bay Manyue + Fairfield by Marriott', 'Zero shopping stops \u2014 souvenirs optional'] },\n      ja: { title: '\u6F13\u9047\u967D\u6714 \u00B7 4\u65E5\u95933\u6CCA\u30D7\u30EC\u30DF\u30A2\u30E0', meta: '4\u65E5\u95933\u6CCA \u00B7 \u6842\u6797\u96C6\u5408 \u00B7 \u51FA\u767A7\u65E5\u524D\u307E\u3067\u5168\u984D\u8FD4\u91D1', from: '\u6700\u5B89', price: '$460', pp: '\u304A\u4E00\u4EBA\u69D8',\n        hls: ['\u53E4\u6771\u306E\u68EE\u306E\u6EDD\u767B\u308A\u3001\u6F13\u6C5F\u30FB\u8208\u576A\u306E\u7AF9\u3044\u304B\u3060(20\u5143\u7D19\u5E63\u306E\u7D76\u666F)', '\u5929\u9F8D\u6E7E\u66FC\u60A6+\u967D\u6714\u30D5\u30A7\u30A2\u30D5\u30A3\u30FC\u30EB\u30C9(\u30DE\u30EA\u30AA\u30C3\u30C8)\u306E\u4E0A\u8CEA\u30B9\u30C6\u30A4', '\u30B7\u30E7\u30C3\u30D4\u30F3\u30B0\u306A\u3057\u30FB\u304A\u571F\u7523\u306F\u4EFB\u610F'] },\n      ko: { title: '\uB9AC\uC704 \uC591\uC234 \u00B7 4\uC77C \uD504\uB9AC\uBBF8\uC5C4', meta: '4\uC77C 3\uBC15 \u00B7 \uAD6C\uC774\uB9B0 \uC9D1\uACB0 \u00B7 \uCD9C\uBC1C 7\uC77C \uC804 \uC804\uC561 \uD658\uBD88', from: '\uCD5C\uC800', price: '$460', pp: '1\uC778',\n        hls: ['\uAD6C\uB465 \uD3ED\uD3EC \uB4F1\uBC18, \uB9AC\uAC15 \uC2F1\uD551 \uB300\uB098\uBB34 \uB5CF\uBAA9(20\uC704\uC548 \uC9C0\uD3D0 \uD48D\uACBD)', '\uD188\uB8FD\uC644 \uB9CC\uC704\uC5D0 + \uC591\uC234 \uD398\uC5B4\uD544\uB4DC(\uBA54\uB9AC\uC5B4\uD2B8) \uD504\uB9AC\uBBF8\uC5C4 \uC219\uBC15', '\uC1FC\uD551 \uC5C6\uC74C \u00B7 \uAE30\uB150\uD488\uC740 \uC790\uC720'] },\n      ms: { title: 'Liyu Yangshuo \u00B7 Premium 4 Hari', meta: '4 hari 3 malam \u00B7 Bermula di Guilin \u00B7 Pembatalan penuh 7 hari', from: 'Dari', price: '$460', pp: 'seorang',\n        hls: ['Air terjun Gudong & lengkungan wang \u00A520 Sungai Li', 'Premium: Tianlong Bay Manyue + Fairfield by Marriott', 'Tiada membeli-belah \u00B7 cenderahati pilihan'] }\n    },\n    'BigCard-3-Day Detian Waterfall & Mingshi Idyll': {\n      route: 'jinpin', img: 'https://images.unsplash.com/photo-1779437651162-f1e4d269dd63?fm=jpg&q=80&w=1080',\n      cn: { title: '\u91D1\u54C1\u6842\u6797 \u00B7 4\u65E5\u5168\u666F\u4E4B\u65C5', meta: '4\u59293\u665A \u00B7 \u6842\u6797\u96C6\u5408 \u00B7 \u51FA\u53D1\u524D7\u5929\u53EF\u5168\u9000', from: '\u4F4E\u81F3', price: '\u00A51,880', pp: '/\u4EBA',\n        hls: ['\u5927\u6F13\u6C5F\u6E38\u8239 + \u9047\u9F99\u6CB3\u7AF9\u7B4F + \u94F6\u5B50\u5CA9', '\u5C27\u5C71\u5CF0\u6797\u3001\u8C61\u9F3B\u5C71\u3001\u897F\u8857,\u56DB\u65E5\u5168\u666F', '\u9AD8\u6027\u4EF7\u6BD4,\u7EAF\u73A9\u4E0D\u8FDB\u5E97'] },\n      en: { title: 'Jinpin Guilin \u00B7 4-Day Panorama', meta: '4 days \u00B7 Starts Guilin \u00B7 Free cancellation up to 7 days', from: 'From', price: '$270', pp: 'per person',\n        hls: ['Li River cruise + Yulong raft + Silver Cave', 'Yaoshan peaks, Elephant Hill, West Street', 'Great value \u2014 zero shopping stops'] },\n      ja: { title: '\u91D1\u54C1\u6842\u6797 \u00B7 4\u65E5\u9593\u30D1\u30CE\u30E9\u30DE', meta: '4\u65E5\u95933\u6CCA \u00B7 \u6842\u6797\u96C6\u5408 \u00B7 \u51FA\u767A7\u65E5\u524D\u307E\u3067\u5168\u984D\u8FD4\u91D1', from: '\u6700\u5B89', price: '$270', pp: '\u304A\u4E00\u4EBA\u69D8',\n        hls: ['\u6F13\u6C5F\u30AF\u30EB\u30FC\u30BA+\u9047\u9F8D\u6CB3\u306E\u7AF9\u3044\u304B\u3060+\u9280\u5B50\u5CA9', '\u5C2D\u5C71\u306E\u5CF0\u6797\u3001\u8C61\u9F3B\u5C71\u3001\u897F\u8857\u306E4\u65E5\u9593', '\u30B3\u30B9\u30D1\u826F\u597D\u30FB\u30B7\u30E7\u30C3\u30D4\u30F3\u30B0\u306A\u3057'] },\n      ko: { title: '\uC9C4\uD540 \uAD6C\uC774\uB9B0 \u00B7 4\uC77C \uD30C\uB178\uB77C\uB9C8', meta: '4\uC77C 3\uBC15 \u00B7 \uAD6C\uC774\uB9B0 \uC9D1\uACB0 \u00B7 \uCD9C\uBC1C 7\uC77C \uC804 \uC804\uC561 \uD658\uBD88', from: '\uCD5C\uC800', price: '$270', pp: '1\uC778',\n        hls: ['\uB9AC\uAC15 \uD06C\uB8E8\uC988 + \uC704\uB8FD\uAC15 \uB300\uB098\uBB34 \uB5CF\uBAA9 + \uC778\uCBD4\uC60C', '\uC57C\uC624\uC0B0 \uBD09\uC6B0\uB9AC, \uC0F9\uBE44\uC0B0, \uC2DC\uC81C', '\uAC00\uC131\uBE44 \uC88B\uC74C \u00B7 \uC1FC\uD551 \uC5C6\uC74C'] },\n      ms: { title: 'Jinpin Guilin \u00B7 Panorama 4 Hari', meta: '4 hari 3 malam \u00B7 Bermula di Guilin \u00B7 Pembatalan penuh 7 hari', from: 'Dari', price: '$270', pp: 'seorang',\n        hls: ['Pelayaran Sungai Li + rakit Yulong + Gua Perak', 'Puncak Yaoshan, Bukit Gajah, Jalan Barat', 'Nilai terbaik \u00B7 tiada membeli-belah'] }\n    }\n  };\n  // \u5E7F\u4F5B\u76EE\u5F55\u6539\u7248\uFF1A\u65E9\u8336\u5361->\u7F8A\u57CE\u98CE\u534E,\u5E7F\u4F5B\u4F53\u9A8C\u5361->\u5E7F\u4F5B\u5BFB\u8FF9;\u5176\u4F59\u4E24\u5361\u6539\u6307\u5411\u5B9A\u5236\u9875\n  var GF_CATALOG = {\n    'BigCard-2-Day Cantonese Food & Old Canton': {\n      route: 'yangcheng', img: 'https://images.unsplash.com/photo-1771860471118-e76acda1257b?fm=jpg&q=80&w=1080',\n      cn: { title: '\u7F8A\u57CE\u98CE\u534E \u00B7 \u5E7F\u5E9C3\u59292\u665A', meta: '3\u59292\u665A \u00B7 \u5E7F\u5DDE\u96C6\u5408 \u00B7 \u51FA\u53D1\u524D7\u5929\u53EF\u5168\u9000', from: '\u4F4E\u81F3', price: '\u00A51,280', pp: '/\u4EBA',\n        hls: ['\u82B1\u57CE\u5E7F\u573A\u3001\u5E7F\u5DDE\u5854\u3001\u5317\u4EAC\u8DEF\u5343\u5E74\u53E4\u9053', '\u9648\u5BB6\u7960\u3001\u6C38\u5E86\u574A\u3001\u674E\u5C0F\u9F99\u7956\u5C45', '\u5165\u4F4F\u9F0E\u820D\u56DB\u94BB,\u7EAF\u73A9\u4E0D\u8FDB\u5E97'] },\n      en: { title: 'Canton in Bloom \u00B7 3-Day', meta: '3 days \u00B7 Starts Guangzhou \u00B7 Free cancellation up to 7 days', from: 'From', price: '$185', pp: 'per person',\n        hls: ['Flower City Square, Canton Tower, Beijing Road', 'Chen Clan Academy, Yongqingfang, Bruce Lee home', 'Four-star Ding She stay \u00B7 zero shopping stops'] },\n      ja: { title: '\u5E83\u5DDE\u306E\u8F1D\u304D \u00B7 3\u65E5\u9593', meta: '3\u65E5\u95932\u6CCA \u00B7 \u5E83\u5DDE\u96C6\u5408 \u00B7 \u51FA\u767A7\u65E5\u524D\u307E\u3067\u5168\u984D\u8FD4\u91D1', from: '\u6700\u5B89', price: '$185', pp: '\u304A\u4E00\u4EBA\u69D8',\n        hls: ['\u82B1\u57CE\u5E83\u5834\u3001\u5E83\u5DDE\u30BF\u30EF\u30FC\u3001\u5317\u4EAC\u8DEF', '\u9673\u5BB6\u7960\u3001\u6C38\u6176\u574A\u3001\u30D6\u30EB\u30FC\u30B9\u30FB\u30EA\u30FC\u65E7\u5C45', '\u56DB\u3064\u661F\u30DB\u30C6\u30EB\u30FB\u30B7\u30E7\u30C3\u30D4\u30F3\u30B0\u306A\u3057'] },\n      ko: { title: '\uAD11\uC800\uC6B0\uC758 \uBE5B \u00B7 3\uC77C', meta: '3\uC77C 2\uBC15 \u00B7 \uAD11\uC800\uC6B0 \uC9D1\uACB0 \u00B7 \uCD9C\uBC1C 7\uC77C \uC804 \uC804\uC561 \uD658\uBD88', from: '\uCD5C\uC800', price: '$185', pp: '1\uC778',\n        hls: ['\uD654\uCCAD\uAD11\uC7A5, \uAD11\uC800\uC6B0\uD0C0\uC6CC, \uBCA0\uC774\uC9D5\uB85C', '\uCC9C\uAC00\uC0AC, \uC735\uCE6D\uD321, \uBE0C\uB8E8\uC2A4 \uB9AC \uC0DD\uAC00', '4\uC131\uAE09 \uD638\uD154 \u00B7 \uC1FC\uD551 \uC5C6\uC74C'] },\n      ms: { title: 'Canton Mekar \u00B7 3 Hari', meta: '3 hari 2 malam \u00B7 Bermula di Guangzhou \u00B7 Pembatalan penuh 7 hari', from: 'Dari', price: '$185', pp: 'seorang',\n        hls: ['Dataran Bandar Bunga, Menara Canton, Jalan Beijing', 'Dewan Puak Chen, Yongqingfang, rumah Bruce Lee', 'Hotel 4 bintang \u00B7 tiada membeli-belah'] }\n    },\n    'BigCard-1-Day Guangzhou\u2013Foshan Sampler': {\n      route: 'gftour', img: 'https://images.unsplash.com/photo-1771860471118-e76acda1257b?fm=jpg&q=80&w=1080',\n      cn: { title: '\u5E7F\u4F5B\u5BFB\u8FF9 \u00B7 \u5E7F\u4F5B4\u59293\u665A', meta: '4\u59293\u665A \u00B7 \u5E7F\u5DDE\u96C6\u5408 \u00B7 \u51FA\u53D1\u524D7\u5929\u53EF\u5168\u9000', from: '\u4F4E\u81F3', price: '\u00A51,880', pp: '/\u4EBA',\n        hls: ['\u5E7F\u5DDE\u5730\u6807 + \u5CAD\u5357\u5DE5\u827A + \u4F5B\u5C71\u7956\u5E99', '\u56FD\u5BB6\u7EA7\u975E\u9057\u9192\u72EE \u00B7 \u9EC4\u98DE\u9E3F\u7EAA\u5FF5\u9986', '2\u201310\u4EBA\u5C0F\u56E2,\u7EAF\u73A9\u4E0D\u8FDB\u5E97'] },\n      en: { title: 'Guangzhou & Foshan \u00B7 4-Day', meta: '4 days \u00B7 Starts Guangzhou \u00B7 Free cancellation up to 7 days', from: 'From', price: '$270', pp: 'per person',\n        hls: ['Guangzhou icons + Lingnan craft + Foshan temple', 'National-heritage lion dance \u00B7 Wong Fei-hung hall', 'Private 2\u201310 \u00B7 zero shopping stops'] },\n      ja: { title: '\u5E83\u5DDE\u30FB\u4ECF\u5C71 \u00B7 4\u65E5\u9593', meta: '4\u65E5\u95933\u6CCA \u00B7 \u5E83\u5DDE\u96C6\u5408 \u00B7 \u51FA\u767A7\u65E5\u524D\u307E\u3067\u5168\u984D\u8FD4\u91D1', from: '\u6700\u5B89', price: '$270', pp: '\u304A\u4E00\u4EBA\u69D8',\n        hls: ['\u5E83\u5DDE\u306E\u540D\u6240+\u5DBA\u5357\u5DE5\u82B8+\u4ECF\u5C71\u7956\u5EDF', '\u56FD\u5BB6\u7D1A\u7121\u5F62\u6587\u5316\u8CA1\u306E\u7345\u5B50\u821E\u30FB\u9EC4\u98DB\u9D3B\u8A18\u5FF5\u9928', '2\u301C10\u540D\u306E\u5C11\u4EBA\u6570\u30FB\u30B7\u30E7\u30C3\u30D4\u30F3\u30B0\u306A\u3057'] },\n      ko: { title: '\uAD11\uC800\uC6B0 & \uD3EC\uC0B0 \u00B7 4\uC77C', meta: '4\uC77C 3\uBC15 \u00B7 \uAD11\uC800\uC6B0 \uC9D1\uACB0 \u00B7 \uCD9C\uBC1C 7\uC77C \uC804 \uC804\uC561 \uD658\uBD88', from: '\uCD5C\uC800', price: '$270', pp: '1\uC778',\n        hls: ['\uAD11\uC800\uC6B0 \uBA85\uC18C + \uB9C1\uB09C \uACF5\uC608 + \uD3EC\uC0B0 \uC870\uBB18', '\uAD6D\uAC00\uBB34\uD615\uBB38\uD654\uC7AC \uC0AC\uC790\uCDA4 \u00B7 \uD669\uBE44\uD64D \uAE30\uB150\uAD00', '2~10\uBA85 \uC18C\uADF8\uB8F9 \u00B7 \uC1FC\uD551 \uC5C6\uC74C'] },\n      ms: { title: 'Guangzhou & Foshan \u00B7 4 Hari', meta: '4 hari 3 malam \u00B7 Bermula di Guangzhou \u00B7 Pembatalan penuh 7 hari', from: 'Dari', price: '$270', pp: 'seorang',\n        hls: ['Ikon Guangzhou + kraf Lingnan + tokong Foshan', 'Tarian singa warisan negara \u00B7 Dewan Wong Fei-hung', 'Persendirian 2\u201310 \u00B7 tiada membeli-belah'] }\n    }\n  };\n  // \u65E0\u5BF9\u5E94\u4EA7\u54C1\u7684\u4E24\u5361(\u4F5B\u5C71\u529F\u592B/\u957F\u9686)\u6539\u6307\u5411\u5B9A\u5236\u9875,\u907F\u514D\u70B9\u8FDB\u9519\u8BEF\u8BE6\u60C5\u9875\n  var GF_REPOINT = ['BigCard-1-Day Foshan Kung Fu Heritage', 'BigCard-3-Day Chimelong Family Adventure'];\n\n  function applyCatalog(scope, catalog, repoint) {\n    Object.keys(catalog).forEach(function (cardName) {\n      var card = scope.querySelector('[data-pencil-name=\"' + cardName + '\"]');\n      if (!card) return;\n      var cfg = catalog[cardName], loc = cfg[cLang()] || cfg.en;\n      var suf = cardName.slice('BigCard-'.length);\n      var q = function (p) { return scope.querySelector('[data-pencil-name=\"' + p + suf + '\"]'); };\n      var t = q('BigTitle-'); if (t) t.textContent = loc.title;\n      var m = q('BigMeta-'); if (m) m.textContent = loc.meta;\n      var fr = q('BigFrom-'); if (fr) fr.textContent = loc.from;\n      var pr = q('BigPrice-'); if (pr) pr.textContent = loc.price;\n      var pp = q('BigPP-'); if (pp) pp.textContent = loc.pp;\n      var img = q('BigImg-'); if (img) img.style.backgroundImage = \"url('\" + cfg.img + \"')\";\n      var hls = q('BigHls-');\n      if (hls) hls.innerHTML = loc.hls.map(function (x) {\n        return '<div style=\"display:flex;gap:8px;align-items:flex-start;margin:6px 0;font:400 13.5px/1.5 inherit;color:#4A423D\">' +\n          '<span style=\"color:#B01722;flex:0 0 auto\">\u2713</span><span>' + x + '</span></div>';\n      }).join('');\n      // \u6302 detail \u9875\uFF1A\u5361\u7247\u672C\u4F53 + \u4E24\u4E2A\u6309\u94AE\n      [card, q('BigBtn1-'), q('BigBtn2-')].forEach(function (elx) {\n        if (!elx) return;\n        elx.__lnWired = true; elx.style.cursor = 'pointer';\n        elx.addEventListener('click', function (e) {\n          e.preventDefault(); e.stopPropagation();\n          if (location.hash === '#' + cfg.route) show(cfg.route); else location.hash = cfg.route;\n        });\n      });\n    });\n    // \u65E0\u771F\u5B9E\u4EA7\u54C1\u7684\u865A\u6784\u5361(\u4F5B\u5C71\u529F\u592B/\u957F\u9686):\u9690\u85CF,\u4E0D\u5C55\u793A\u5047\u4EA7\u54C1\n    (repoint || []).forEach(function (cardName) {\n      var card = scope.querySelector('[data-pencil-name=\"' + cardName + '\"]');\n      if (card) card.style.display = 'none';\n    });\n  }\n  function applyGuangxiCatalog(scope) { applyCatalog(scope, GX_CATALOG); }\n  function applyGuangfoCatalog(scope) { applyCatalog(scope, GF_CATALOG, GF_REPOINT); }\n\n  // \u5E7F\u897F\u624B\u7ED8\u65C5\u6E38\u5730\u56FE banner \u2014\u2014 \u63D2\u5728 hero \u6A2A\u5E45(\u7B2C\u4E00\u5F20\u56FE)\u4E0B\u65B9,\u968F\u9875\u9762\u7F29\u653E\n  var GX_MAP_CAP = {\n    cn: '\u58EE\u7F8E\u5E7F\u897F \u00B7 \u4E00\u56FE\u770B\u61C2\u5404\u666F\u70B9\u4F4D\u7F6E\u4E0E\u8F66\u7A0B', en: 'Beautiful Guangxi \u00B7 attractions & drive times at a glance',\n    ja: '\u96C4\u5927\u306A\u5E83\u897F \u00B7 \u4E3B\u8981\u30B9\u30DD\u30C3\u30C8\u3068\u6240\u8981\u6642\u9593\u304C\u4E00\u76EE\u3067\u308F\u304B\u308B\u5730\u56F3', ko: '\uC544\uB984\uB2E4\uC6B4 \uAD11\uC2DC \u00B7 \uC8FC\uC694 \uBA85\uC18C\uC640 \uC774\uB3D9 \uC2DC\uAC04\uC744 \uD55C\uB208\uC5D0',\n    ms: 'Guangxi yang indah \u00B7 lokasi & masa perjalanan dalam satu peta'\n  };\n  function gxMapUrl() { return ((window.LN_IMG || {})['gx-map.png']) || ''; }\n  function applyGxMap(scope) {   // \u684C\u9762\u7248:\u63D2\u5165 Pencil frame,\u653E\u5728 hero \u6A2A\u5E45(\u7B2C\u4E00\u5F20\u56FE)\u4E4B\u540E\n    var url = gxMapUrl(); if (!url) return;\n    var frame = scope.querySelector('[data-pencil-name^=\"PageCN\"],[data-pencil-name^=\"PageEN\"],[data-pencil-name^=\"Page\"]') || scope.firstElementChild;\n    if (!frame || frame.querySelector('[data-ln-gx-map]')) return;\n    // \u5B9A\u4F4D hero \u6A2A\u5E45(\u7B2C\u4E00\u5F20\u56FE),\u53D6\u5176\u5728 frame \u4E0B\u7684\u9876\u5C42\u7956\u5148,\u628A\u5730\u56FE\u63D2\u5230\u5B83\u540E\u9762\n    var anchor = frame.querySelector('[data-pencil-name=\"GxBanner\"]')\n      || frame.querySelector('[data-pencil-name$=\"Banner\"]')\n      || frame.querySelector('[data-pencil-name$=\"GxNav\"]')\n      || frame.firstElementChild;\n    while (anchor && anchor.parentElement !== frame) anchor = anchor.parentElement;\n    var cap = GX_MAP_CAP[cLang()] || GX_MAP_CAP.en;\n    var band = document.createElement('div');\n    band.setAttribute('data-ln-gx-map', '1');\n    band.style.cssText = 'width:1440px;box-sizing:border-box;padding:36px 64px 8px;display:flex;flex-direction:column;align-items:center;background:#FFFFFF';\n    band.innerHTML = '<img src=\"' + url + '\" alt=\"\u5E7F\u897F\u65C5\u6E38\u5730\u56FE\" ' +\n      'style=\"width:100%;max-width:1240px;height:auto;border-radius:14px;box-shadow:0 8px 30px rgba(0,0,0,.10);display:block\">' +\n      '<div style=\"margin-top:12px;font-size:14px;color:#8A8380;font-family:\\'Noto Sans SC\\',system-ui,sans-serif;text-align:center\">' + cap + '</div>';\n    if (anchor && anchor.nextSibling) frame.insertBefore(band, anchor.nextSibling);\n    else frame.appendChild(band);\n  }\n\n  // \u9996\u9875\u7EBF\u8DEF\u5361(TourCard- \u524D\u7F00)\u8986\u76D6\u6210\u771F\u5B9E\u4EA7\u54C1;\u65E0\u4EA7\u54C1\u7684\u4E24\u5361\u9690\u85CF\n  function applyHomeCatalog(scope) {\n    var cat = {}, k;\n    for (k in GX_CATALOG) cat[k] = GX_CATALOG[k];\n    for (k in GF_CATALOG) cat[k] = GF_CATALOG[k];\n    Object.keys(cat).forEach(function (bigName) {\n      var suf = bigName.slice('BigCard-'.length);\n      var card = scope.querySelector('[data-pencil-name=\"TourCard-' + suf + '\"]');\n      if (!card) return;\n      var cfg = cat[bigName], loc = cfg[cLang()] || cfg.en;\n      var q = function (p) { return scope.querySelector('[data-pencil-name=\"' + p + suf + '\"]'); };\n      var t = q('TourTitle-'); if (t) t.textContent = loc.title;\n      var d = q('TourDesc-'); if (d) d.textContent = loc.hls[0];\n      var fr = q('TourFrom-'); if (fr) fr.textContent = loc.from;\n      var pr = q('TourPrice-'); if (pr) pr.textContent = loc.price;\n      var pp = q('TourPP-'); if (pp) pp.textContent = loc.pp;\n      var img = q('TourImg-'); if (img) img.style.backgroundImage = \"url('\" + cfg.img + \"')\";\n      [card, q('TourArrow-')].forEach(function (elx) {\n        if (!elx) return;\n        elx.__lnWired = true; elx.style.cursor = 'pointer';\n        elx.addEventListener('click', function (e) {\n          e.preventDefault(); e.stopPropagation();\n          if (location.hash === '#' + cfg.route) show(cfg.route); else location.hash = cfg.route;\n        });\n      });\n    });\n    ['TourCard-1-Day Foshan Kung Fu Heritage', 'TourCard-3-Day Chimelong Family Adventure'].forEach(function (nm) {\n      var c = scope.querySelector('[data-pencil-name=\"' + nm + '\"]'); if (c) c.style.display = 'none';\n    });\n  }\n\n  // \u9884\u8BA2\u4E0E\u4ED8\u6B3E\u8BF4\u660E\uFF1A\u63D2\u5165 \u7EBF\u8DEF\u8BE6\u60C5(CTA \u524D)\u4E0E \u5B9A\u5236\u6E38(\u9875\u811A\u524D)\n  var BOOKING_ANCHORS = {\n    xiangqing: ['CnDetCTA', 'DetCTA'],\n    dingzhi: ['CnTmFooter', 'TmFooter']\n  };\n  function applyBooking(scope, route) {\n    var anchors = BOOKING_ANCHORS[route];\n    var html = (window.LN_BOOKING || {})[cLang()];\n    if (!anchors || !html) return;\n    for (var i = 0; i < anchors.length; i++) {\n      var a = scope.querySelector('[data-pencil-name=\"' + anchors[i] + '\"]');\n      if (a) {\n        var box = document.createElement('div');\n        box.innerHTML = html;\n        a.parentNode.insertBefore(box.firstChild, a);\n        return;\n      }\n    }\n  }\n\n  // \u81EA\u5EFA\u9875\uFF08about / liting\uFF09\uFF1A\u514B\u9686\u9996\u9875\u5BFC\u822A\u680F+\u9875\u811A\uFF0C\u4E2D\u95F4\u653E\u81EA\u5B9A\u4E49\u5185\u5BB9\n  var NAV_ACTIVE = {\n    cn: { home: '\u9996\u9875', guangxi: '\u5E7F\u897F\u7EBF\u8DEF', guangfo: '\u5E7F\u4E1C\u00B7\u5E7F\u4F5B', dingzhi: '\u5B9A\u5236\u6E38', about: '\u5173\u4E8E\u6211\u4EEC', stories: '\u6E38\u8BB0\u653B\u7565' },\n    en: { home: 'Home', guangxi: 'Guangxi Tours', guangfo: 'Guangzhou & Foshan', dingzhi: 'Tailor-Made', about: 'About Us', stories: 'Stories' }\n  };\n  function setActiveNav(page, isCn, activeRoute) {\n    var map = NAV_ACTIVE[isCn ? 'cn' : 'en'];\n    var pre = isCn ? 'CnNavLink' : 'NavLink';\n    var q = function (n) { return page.querySelector('[data-pencil-name=\"' + n + '\"]'); };\n    Object.keys(map).forEach(function (r) {\n      var on = (r === activeRoute);\n      var t = q(pre + 'Text-' + map[r]); if (t) { t.style.color = on ? '#B01722' : '#231F1D'; t.style.fontWeight = on ? '700' : '400'; }\n      var ru = q(pre + 'Rule-' + map[r]); if (ru) ru.style.backgroundColor = on ? '#B01722' : 'transparent';\n    });\n  }\n\n  function renderFramed(el, mid, activeRoute) {\n    if (useMobile() && window.LN_HOME_M && window.LN_HOME_M.frame) {   // \u624B\u673A\uFF1A\u5957\u79FB\u52A8\u58F3\u3001\u514D\u7F29\u653E,\u590D\u7528\u9875\u9762\u81EA\u8EAB\u6D41\u5F0F\u5185\u5BB9\n      el.innerHTML = window.LN_HOME_M.frame(cLang(), mid || '');\n      el.setAttribute('data-lang', LANG);\n      if (LANG === 'ja' || LANG === 'ko' || LANG === 'ms') translate(el);\n      fixLegal(el);\n      twize(el);\n      return;\n    }\n    var srcLang = (LANG === 'cn' || LANG === 'tw') ? 'cn' : 'en';\n    var homeHTML = ((window.LN_HTML || {})[srcLang] || {}).home;\n    if (homeHTML == null || mid == null) return;\n    var tmp = document.createElement('div');\n    tmp.innerHTML = homeHTML;\n    var isCn = (srcLang === 'cn');\n    var nav = tmp.querySelector('[data-pencil-name=\"' + (isCn ? 'CnHomeNav' : 'HomeNav') + '\"]');\n    var ft = tmp.querySelector('[data-pencil-name=\"' + (isCn ? 'CnHomeFooter' : 'HomeFooter') + '\"]');\n\n    var page = document.createElement('div');\n    page.setAttribute('data-pencil-name', 'PageFramed');\n    page.style.cssText = 'width:1440px;background:#FFFFFF;display:flex;flex-direction:column';\n    if (nav) page.appendChild(nav.cloneNode(true));\n    var midBox = document.createElement('div');\n    midBox.style.width = '100%';\n    midBox.innerHTML = mid;\n    page.appendChild(midBox);\n    if (ft) page.appendChild(ft.cloneNode(true));\n\n    el.innerHTML = '';\n    el.appendChild(page);\n    el.setAttribute('data-lang', LANG);\n    if (LANG === 'ja' || LANG === 'ko' || LANG === 'ms') translate(el);   // \u7FFB\u8BD1\u514B\u9686\u7684\u5BFC\u822A/\u9875\u811A\uFF08\u4E2D\u6BB5\u5185\u5BB9\u6309\u5176\u81EA\u8EAB\u8BED\u8A00\uFF09\n    fixLegal(el);\n    setActiveNav(page, isCn, activeRoute);\n    applyWhatsApp(el);\n    wire(el);\n    applyLogo(el);\n    twize(el);\n  }\n\n  // \u9996\u9875\u65D7\u8230\u5165\u53E3\u6A2A\u5E45\uFF1A\u5E7F\u5DDE+\u5E7F\u897F 7 \u65E5\u8054\u6E38 -> #sc7d\uFF08\u63D2\u5728\u300C\u76EE\u7684\u5730\u9009\u62E9\u300D\u677F\u5757\u524D\uFF09\n  function applyHomeBanner(scope) {\n    var html = (window.LN_SC_BANNER || {})[cLang()] || (window.LN_SC_BANNER || {}).en;\n    if (!html) return;\n    var anchor = scope.querySelector('[data-pencil-name=\"Destinations\"]');\n    if (!anchor) return;\n    var box = document.createElement('div');\n    box.innerHTML = html;\n    var el = box.firstChild;\n    anchor.parentNode.insertBefore(el, anchor);\n    el.addEventListener('click', function (e) {\n      e.preventDefault(); e.stopPropagation();\n      if (location.hash === '#sc7d') show('sc7d'); else location.hash = 'sc7d';\n    });\n  }\n\n  function ensureContent(route) {\n    var el = document.getElementById('route-' + route);\n    if (!el) return el;\n    if (route === 'stories') {   // \u5185\u5BB9\u4F9D\u8D56 hash \u7684 ?a=slug,\u5355\u72EC\u5224\u5B9A(\u5217\u8868\u2194\u6587\u7AE0\u5207\u6362 LANG \u4E0D\u53D8\u4E5F\u8981\u91CD\u6E32\u67D3)\n      var stSlug = hashParam('a');\n      var stKey = LANG + ':' + (stSlug || 'list');\n      if (el.getAttribute('data-ln-key') !== stKey) {\n        var st = window.LN_STORIES;\n        var mid = st ? (stSlug ? st.renderArticle(cLang(), stSlug) : st.renderList(cLang())) : '';\n        renderFramed(el, mid, 'stories');\n        el.setAttribute('data-ln-key', stKey);\n        el.setAttribute('data-lang', LANG);\n      }\n      return el;\n    }\n    if (el.getAttribute('data-lang') !== LANG) {\n      if (route === 'about') { renderFramed(el, (window.LN_ABOUT || {})[cLang()] || (window.LN_ABOUT || {}).en, 'about'); return el; }\n      if (route === 'liting') {\n        var lit = (window.LN_LITING || {}); renderFramed(el, lit[cLang()] || lit.en, 'guangxi'); return el;\n      }\n      if (route === 'sc7d') {\n        var sc = (window.LN_SC || {}); renderFramed(el, sc[cLang()] || sc.en, 'sc7d'); return el;\n      }\n      if (route === 'trip') {\n        renderFramed(el, window.LN_TRIP ? window.LN_TRIP.render(cLang()) : '', '');\n        if (window.LN_TRIP) { window.LN_TRIP.load(el, cLang()); twize(el); setTimeout(function () { twize(el); }, 500); }\n        return el;\n      }\n      if (route === 'home' && useMobile() && window.LN_HOME_M) {   // \u624B\u673A\u7AEF\u9996\u9875\uFF1A\u4E13\u7528\u54CD\u5E94\u5F0F\u7248\u672C(\u4E0D\u7ECF fit \u7F29\u653E)\n        el.innerHTML = '<div data-ln-mobile-home>' + window.LN_HOME_M.render(cLang()) + '</div>';\n        el.setAttribute('data-lang', LANG);\n        twize(el);\n        return el;\n      }\n      if ((route === 'guangxi' || route === 'guangfo') && useMobile() && window.LN_HOME_M) {   // \u624B\u673A\u7AEF\u5E7F\u897F/\u5E7F\u5DDE\uFF1A\u79FB\u52A8\u5217\u8868\u7248\n        var mMap = '';\n        if (route === 'guangxi' && gxMapUrl()) {\n          mMap = '<div style=\"padding:14px 16px 0;background:#FFFFFF\"><img src=\"' + gxMapUrl() + '\" alt=\"\u5E7F\u897F\u65C5\u6E38\u5730\u56FE\" style=\"width:100%;height:auto;border-radius:12px;box-shadow:0 4px 16px rgba(0,0,0,.10);display:block\"><div style=\"margin-top:8px;font-size:12px;color:#8A8380;text-align:center;font-family:\\'Noto Sans SC\\',system-ui,sans-serif\">' + (GX_MAP_CAP[cLang()] || GX_MAP_CAP.en) + '</div></div>';\n        }\n        el.innerHTML = window.LN_HOME_M.listing(cLang(), route, mMap);\n        el.setAttribute('data-lang', LANG);\n        twize(el);\n        return el;\n      }\n      if (route === 'dingzhi' && useMobile() && window.LN_HOME_M && window.LN_INQUIRY && window.LN_INQUIRY.renderMobile) {   // \u624B\u673A\u7AEF\u5B9A\u5236\u6E38:\u79FB\u52A8\u610F\u5411\u8868\u5355\n        el.innerHTML = window.LN_HOME_M.header(cLang()) + '<div data-ln-mobile-framed>' + window.LN_INQUIRY.renderMobile(cLang()) + '</div>' + window.LN_HOME_M.footer(cLang());\n        el.setAttribute('data-lang', LANG);\n        window.LN_INQUIRY.wireMobile(el, cLang());\n        twize(el);\n        return el;\n      }\n      if ((window.LN_TOURS || {})[route]) {\n        var tr = window.LN_TOURS[route];\n        var active = (['yangcheng', 'gftour'].indexOf(route) >= 0) ? 'guangfo' : 'guangxi';\n        renderFramed(el, tr[cLang()] || tr.en, active); return el;\n      }\n      var srcLang = (LANG === 'cn' || LANG === 'tw') ? 'cn' : 'en';\n      var byLang = (window.LN_HTML || {})[srcLang] || {};\n      var html = byLang[route];\n      if (html != null) {\n        el.innerHTML = html;\n        el.setAttribute('data-lang', LANG);\n        if (LANG === 'ja' || LANG === 'ko' || LANG === 'ms') translate(el);\n        fixLegal(el);\n        if (route === 'guangxi') { applyGuangxiCatalog(el); applyGxMap(el); }   // \u5148\u5360\u4F4D,\u907F\u514D\u88AB BigCard- \u524D\u7F00\u8DEF\u7531\u8986\u76D6;\u5E76\u63D2\u5165\u624B\u7ED8\u5730\u56FE\n        if (route === 'guangfo') applyGuangfoCatalog(el);\n        if (route === 'home') applyHomeCatalog(el);         // \u9996\u9875\u7EBF\u8DEF\u5361\u8986\u76D6\u6210\u771F\u5B9E\u4EA7\u54C1(\u9690\u85CF\u865A\u6784\u5361)\n        applyWhatsApp(el);   // \u5148\u7ED1 WhatsApp,\u5360\u7528 __lnWired \u9632\u6B62\u88AB\u8DEF\u7531\u7ED1\u5B9A\u8986\u76D6\n        wire(el);\n        applyLogo(el);\n        applyBooking(el, route);\n        if (window.LN_INQUIRY) window.LN_INQUIRY.enhance(el, cLang());\n        if (route === 'home') applyHomeBanner(el);\n        twize(el);\n      }\n    }\n    return el;\n  }\n\n  function fit(route) {\n    var el = document.getElementById('route-' + route);\n    if (!el) return;\n    if (el.querySelector('[data-ln-mobile-home],[data-ln-mobile-framed]')) { el.style.height = ''; el.style.overflow = 'visible'; return; }  // \u79FB\u52A8\u7248\u81EA\u8EAB\u54CD\u5E94\u5F0F,\u4E0D\u7F29\u653E\n    var frame = el.querySelector(':scope > [data-pencil-name^=\"Page\"]') || el.firstElementChild;\n    if (!frame) return;\n    el.style.overflow = 'hidden';\n    var avail = el.clientWidth || window.innerWidth;\n    var sc = Math.min(1, avail / DESIGN_W);\n    frame.style.transformOrigin = 'top left';\n    frame.style.transform = sc < 1 ? 'scale(' + sc + ')' : 'none';\n    var leftover = avail - DESIGN_W * sc;\n    frame.style.marginLeft = (leftover > 0 ? leftover / 2 : 0) + 'px';\n    el.style.height = (frame.offsetHeight * sc) + 'px';\n  }\n  function fitVisible() { fit(currentRoute()); }\n\n  // \u4ECE\u7EBF\u8DEF\u9875\u8FDB\u5165\u5B9A\u5236\u9875\u65F6\u8BB0\u5F55\u201C\u610F\u5411\u7EBF\u8DEF\u201D,\u4F9B inquiry.js \u9884\u586B(\u771F\u5B9E\u4EA7\u54C1\u6570\u636E)\n  var PRODUCT_ROUTES = { liting: 1, guilong: 1, liyu: 1, jinpin: 1, yangcheng: 1, gftour: 1, sc7d: 1 };\n  var _lnLastRoute = null;\n  function show(route) {\n    if (route === 'dingzhi') {\n      try {\n        if (_lnLastRoute && PRODUCT_ROUTES[_lnLastRoute]) sessionStorage.setItem('ln_intent_route', _lnLastRoute);\n        else if (_lnLastRoute && _lnLastRoute !== 'dingzhi') sessionStorage.removeItem('ln_intent_route');\n      } catch (e) {}\n    }\n    ensureContent(route);\n    ROUTES.forEach(function (r) {\n      var el = document.getElementById('route-' + r);\n      if (el) el.style.display = (r === route) ? '' : 'none';\n    });\n    fit(route);\n    if (route === 'dingzhi' && window.LN_INQUIRY && window.LN_INQUIRY.applyIntent) {\n      window.LN_INQUIRY.applyIntent(document.getElementById('route-dingzhi'), cLang());\n    }\n    _lnLastRoute = route;\n    window.scrollTo(0, 0);\n  }\n\n  function wire(scope) {\n    (scope || document).querySelectorAll('[data-pencil-name]').forEach(function (el) {\n      if (el.__lnWired) return;\n      var route = resolve(el.getAttribute('data-pencil-name'));\n      if (!route) return;\n      el.__lnWired = true;\n      el.style.cursor = 'pointer';\n      el.addEventListener('click', function (e) {\n        e.preventDefault(); e.stopPropagation();\n        if ('#' + route === location.hash || (route === 'home' && !location.hash)) show(route);\n        else location.hash = route;\n      });\n    });\n  }\n\n  // \u8BED\u8A00\u5207\u6362\u5668\uFF08EN / \u4E2D\u6587 / \u65E5\u672C\u8A9E / \uD55C\uAD6D\uC5B4\uFF09\n  var LANG_LABELS = { en: 'EN', cn: '\u7B80\u4F53', tw: '\u7E41\u9AD4', ja: '\u65E5\u672C\u8A9E', ko: '\uD55C\uAD6D\uC5B4', ms: 'Bahasa Melayu' };\n  var LANG_LABELS_SHORT = { en: 'EN', cn: '\u7B80', tw: '\u7E41', ja: '\u65E5', ko: '\uD55C', ms: 'MS' };\n  // \u8BED\u8A00\u5207\u6362\u7528:\u56FD\u65D7 + \u56FD\u5BB6\u7F29\u5199(\u7E41\u9AD4\u7528 \uD83C\uDDED\uD83C\uDDF0 \u800C\u975E \uD83C\uDDF9\uD83C\uDDFC:\u5927\u9646\u4E3B\u4F53\u89C4\u907F\u53F0\u6E7E\u65D7\u98CE\u9669)\n  var LANG_FLAG = { en: '\uD83C\uDDEC\uD83C\uDDE7', cn: '\uD83C\uDDE8\uD83C\uDDF3', tw: '\uD83C\uDDED\uD83C\uDDF0', ja: '\uD83C\uDDEF\uD83C\uDDF5', ko: '\uD83C\uDDF0\uD83C\uDDF7', ms: '\uD83C\uDDF2\uD83C\uDDFE' };\n  var LANG_CODE = { en: 'EN', cn: 'CN', tw: 'HK', ja: 'JP', ko: 'KR', ms: 'MY' };\n  function isNarrow() { return !!(window.matchMedia && window.matchMedia('(max-width:767px)').matches); }\n  // \u624B\u673A\u4E13\u7528\u7248\u4EC5\u8986\u76D6 en/cn/\u7E41(\u5185\u5BB9\u6709\u5BF9\u5E94);\u65E5/\u97E9\u6CA1\u6709\u624B\u673A\u7248\u5185\u5BB9,\u56DE\u9000\u684C\u9762(\u7F29\u653E)\u4EE5\u8D70 translate() \u7FFB\u8BD1\n  function useMobile() { return isNarrow() && LANG !== 'ja' && LANG !== 'ko' && LANG !== 'ms'; }\n  function langLabelText(l) { return LANG_LABELS_SHORT[l] || LANG_LABELS[l]; }   // \u684C\u9762/\u624B\u673A\u7EDF\u4E00\u7528\u77ED\u6807,\u4FDD\u6301\u7D27\u51D1\u56FA\u5B9A\u5728\u53F3\u4E0A\u89D2\n  function refreshLangLabels() {\n    var wrap = document.getElementById('ln-lang-toggle'); if (!wrap) return;\n    var lbl = wrap.querySelector('[data-ln-trigger-label]'); if (lbl) lbl.textContent = LANG_CODE[LANG] || 'EN';\n    var flg = wrap.querySelector('[data-ln-trigger-flag]'); if (flg) flg.textContent = LANG_FLAG[LANG] || '\uD83C\uDF10';\n  }\n\n  // \u7AD9\u70B9\u6807\u9898(\u6D4F\u89C8\u5668\u6807\u7B7E)\u6309\u8BED\u8A00\u81EA\u9002\u5E94,\u53D6\u4EE3 Shopify \u5E97\u94FA\u540D \"My Store\"\n  var SITE_TITLE = {\n    en: 'Lingnan Journeys \u00B7 Private Small-Group Tours in South China',\n    cn: '\u5CAD\u5357\u6F2B\u6E38 \u00B7 \u4E24\u5E7F\u79C1\u5BB6\u5C0F\u5305\u56E2',\n    tw: '\u5DBA\u5357\u6F2B\u904A \u00B7 \u5169\u5EE3\u79C1\u5BB6\u5C0F\u5305\u5718',\n    ja: 'Lingnan Journeys \u00B7 \u83EF\u5357\u30D7\u30E9\u30A4\u30D9\u30FC\u30C8\u5C11\u4EBA\u6570\u30C4\u30A2\u30FC',\n    ko: 'Lingnan Journeys \u00B7 \uD654\uB0A8 \uD504\uB77C\uC774\uBE57 \uC18C\uADF8\uB8F9 \uD22C\uC5B4',\n    ms: 'Lingnan Journeys \u00B7 Pakej Persendirian Kumpulan Kecil di China Selatan'\n  };\n  function syncLangAttrs() {\n    document.body.setAttribute('data-ln-lang', LANG);\n    document.documentElement.lang = { en: 'en', cn: 'zh-CN', tw: 'zh-Hant', ja: 'ja', ko: 'ko', ms: 'ms' }[LANG] || 'en';\n    document.title = SITE_TITLE[LANG] || SITE_TITLE.en;\n  }\n\n  // \u8BED\u8A00\u5207\u6362\uFF1A\u5BFC\u822A\u680F\u53F3\u4FA7\u7684\u4E0B\u62C9\u6846(\u663E\u793A\u5F53\u524D\u8BED\u8A00,\u70B9\u51FB\u5C55\u5F00\u83DC\u5355\u9009\u62E9;\u4EC5\u70B9\u51FB\u5F00\u5408,\u4E0D\u60AC\u505C)\n  var _docCloseBound = false;\n  function ensureDocClose() {   // \u5168\u5C40\u53EA\u7ED1\u4E00\u6B21:\u70B9\u51FB\u9875\u9762\u522B\u5904/\u6EDA\u52A8\u65F6\u6536\u8D77\u6253\u5F00\u7684\u8BED\u8A00\u83DC\u5355\n    if (_docCloseBound) return; _docCloseBound = true;\n    function closeAll() { var menus = document.querySelectorAll('.ln-lang-portal'); for (var i = 0; i < menus.length; i++) if (menus[i].__close) menus[i].__close(); }\n    document.addEventListener('click', closeAll);\n    window.addEventListener('scroll', closeAll, true);\n  }\n  // \u5EFA\u4E00\u4E2A\u8BED\u8A00\u4E0B\u62C9\u5143\u7D20(\u4E0D\u542B\u5B9A\u4F4D;\u7531 applyLangSwitcher \u653E\u8FDB\u5BFC\u822A/\u5934\u90E8)\n  function makeLangSwitcher() {\n    var FONT = '600 13px/1 system-ui,-apple-system,\"PingFang SC\",\"Hiragino Sans\",\"Apple SD Gothic Neo\",sans-serif';\n    var wrap = document.createElement('div');\n    wrap.id = 'ln-lang-toggle';\n    wrap.style.cssText = 'position:relative;z-index:60;font:' + FONT;\n\n    var trigger = document.createElement('button');\n    trigger.type = 'button'; trigger.id = 'ln-lang-trigger'; trigger.setAttribute('aria-label', 'Language');\n    trigger.style.cssText = 'display:inline-flex;align-items:center;gap:7px;padding:8px 12px;border:1px solid rgba(0,0,0,.12);' +\n      'border-radius:9999px;background:rgba(255,255,255,.75);color:#231F1D;cursor:pointer;font:' + FONT + ';line-height:1;white-space:nowrap';\n    trigger.innerHTML =\n      '<span data-ln-trigger-flag style=\"font-size:16px;line-height:1\">' + (LANG_FLAG[LANG] || '\uD83C\uDF10') + '</span>' +\n      '<span data-ln-trigger-label style=\"font-weight:700\">' + (LANG_CODE[LANG] || 'EN') + '</span>' +\n      '<svg data-ln-caret width=\"10\" height=\"10\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.6\" style=\"flex:0 0 10px;opacity:.5;transition:transform .18s\"><path d=\"M6 9l6 6 6-6\"/></svg>';\n\n    // \u4E0B\u62C9\u83DC\u5355\u6302\u5230 body(\u907F\u5F00\u88AB\u7F29\u653E\u5BFC\u822A\u7684 transform/\u88C1\u526A/\u5C42\u7EA7\u628A\u5B83\u76D6\u4F4F);\u6253\u5F00\u65F6\u6309\u89E6\u53D1\u5668\u4F4D\u7F6E\u5B9A\u4F4D\n    var oldm = document.querySelectorAll('.ln-lang-portal'); for (var q = 0; q < oldm.length; q++) oldm[q].remove();\n    var menu = document.createElement('div');\n    menu.id = 'ln-lang-menu'; menu.className = 'ln-lang-portal';\n    menu.style.cssText = 'position:fixed;min-width:150px;background:#fff;border:1px solid #EAE2D8;' +\n      'border-radius:12px;box-shadow:0 14px 34px rgba(0,0,0,.18);padding:6px;opacity:0;visibility:hidden;transform:translateY(-6px);' +\n      'transition:opacity .16s,transform .16s,visibility .16s;z-index:99999;font:' + FONT;\n\n    LANGS.forEach(function (l) {\n      var b = document.createElement('button');\n      b.type = 'button'; b.setAttribute('data-ln-lang-btn', l);\n      b.innerHTML = '<span style=\"display:inline-block;width:1.5em;font-size:15px\">' + (LANG_FLAG[l] || '') + '</span>' +\n        '<span style=\"letter-spacing:.5px\">' + (LANG_CODE[l] || LANG_LABELS[l]) + '</span>';\n      b.style.cssText = 'display:flex;align-items:center;gap:8px;width:100%;text-align:left;border:0;border-radius:8px;padding:9px 12px;cursor:pointer;' +\n        'white-space:nowrap;font:' + FONT + ';transition:background .12s;font-weight:' + (l === LANG ? '700' : '600') +\n        ';background:' + (l === LANG ? '#B01722' : 'transparent') + ';color:' + (l === LANG ? '#fff' : '#231F1D');\n      b.addEventListener('mouseenter', function () { if (l !== LANG) b.style.background = '#F7F1E9'; });\n      b.addEventListener('mouseleave', function () { if (l !== LANG) b.style.background = 'transparent'; });\n      b.addEventListener('click', function (e) {\n        e.stopPropagation();\n        if (LANG !== l) { LANG = l; try { localStorage.setItem('ln_lang', LANG); } catch (err) {} syncLangAttrs(); show(currentRoute()); }\n        else setOpen(false);\n      });\n      menu.appendChild(b);\n    });\n\n    var open = false, caret = trigger.querySelector('[data-ln-caret]');\n    function setOpen(v) {\n      open = v;\n      if (v) {   // \u6309\u89E6\u53D1\u5668\u5728\u89C6\u53E3\u4E2D\u7684\u4F4D\u7F6E\u653E\u7F6E\u83DC\u5355(\u53F3\u5BF9\u9F50)\n        var r = trigger.getBoundingClientRect();\n        menu.style.top = Math.round(r.bottom + 8) + 'px';\n        menu.style.left = 'auto';\n        menu.style.right = Math.max(8, Math.round(window.innerWidth - r.right)) + 'px';\n      }\n      menu.style.opacity = v ? '1' : '0'; menu.style.visibility = v ? 'visible' : 'hidden';\n      menu.style.transform = v ? 'translateY(0)' : 'translateY(-6px)';\n      if (caret) caret.style.transform = v ? 'rotate(180deg)' : 'none';\n    }\n    menu.__close = function () { if (open) setOpen(false); };\n    trigger.addEventListener('click', function (e) { e.stopPropagation(); setOpen(!open); });\n    ensureDocClose();\n\n    wrap.appendChild(trigger);\n    document.body.appendChild(menu);   // \u83DC\u5355\u6302 body\n    return wrap;\n  }\n  // \u628A\u8BED\u8A00\u4E0B\u62C9\u6CE8\u5165\u5F53\u524D\u9875:\u624B\u673A\u5934\u90E8\u69FD\u4F4D / \u684C\u9762 Pencil \u5BFC\u822A\u53F3\u4FA7(\u968F\u5BFC\u822A\u4E00\u8D77\u7F29\u653E,\u4E0D\u518D fixed \u60AC\u6D6E)\n  function applyLangSwitcher(scope) {\n    if (!scope || scope.querySelector('#ln-lang-toggle')) return;   // \u6BCF\u9875\u53EA\u6CE8\u5165\u4E00\u6B21(\u5E42\u7B49,\u9632 trip \u4E8C\u6B21 twize \u91CD\u590D)\n    var slot = scope.querySelector('[data-ln-lang-slot]');\n    if (slot) { slot.appendChild(makeLangSwitcher()); return; }\n    var nav = scope.querySelector('[data-pencil-name=\"HomeNav\"],[data-pencil-name=\"CnHomeNav\"]');\n    if (nav) {\n      if (getComputedStyle(nav).position === 'static') nav.style.position = 'relative';\n      var sw = makeLangSwitcher();\n      sw.style.position = 'absolute'; sw.style.right = '40px'; sw.style.top = '50%'; sw.style.transform = 'translateY(-50%)';\n      nav.appendChild(sw);\n    }\n  }\n\n  function init() {\n    syncLangAttrs();\n    show(currentRoute());   // \u8BED\u8A00\u4E0B\u62C9\u7531\u5404\u6E32\u67D3\u8DEF\u5F84\u7684 twize()->applyLangSwitcher() \u6CE8\u5165\u5230\u5BFC\u822A\u680F\n  }\n\n  window.addEventListener('hashchange', function () { show(currentRoute()); });\n  var rz;\n  var MOBILE_ROUTES = { home: 1, guangxi: 1, guangfo: 1, dingzhi: 1, about: 1, liting: 1, sc7d: 1, guilong: 1, liyu: 1, jinpin: 1, yangcheng: 1, gftour: 1, trip: 1, stories: 1 };\n  window.addEventListener('resize', function () {\n    clearTimeout(rz);\n    rz = setTimeout(function () {\n      fitVisible(); refreshLangLabels();\n      var r = currentRoute();   // \u8DE8\u8D8A\u624B\u673A/\u684C\u9762\u65AD\u70B9\u65F6\u91CD\u6E32\u67D3\u5F53\u524D\u9875(\u6709\u79FB\u52A8\u7248\u7684\u8DEF\u7531)\n      if (MOBILE_ROUTES[r]) {\n        var el = document.getElementById('route-' + r);\n        var isM = !!(el && el.querySelector('[data-ln-mobile-home],[data-ln-mobile-framed]'));\n        if (el && isM !== isNarrow()) { el.removeAttribute('data-lang'); show(r); }\n      }\n    }, 120);\n  });\n  window.addEventListener('load', fitVisible);\n  if (document.readyState === 'loading') document.addEventListener('DOMContentLoaded', init);\n  else init();\n})();\n"],
  "mappings": "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",
  "names": ["init"]
}
