{
  "version": 3,
  "sources": ["/cdn/shop/t/105/assets/product-support.js?fixed-modal=v1"],
  "sourcesContent": ["/**\r\n * \u4EA7\u54C1\u652F\u6301\u4E2D\u5FC3 JavaScript \u529F\u80FD\r\n */\r\n\r\nconsole.log('\uD83D\uDE80 Product Support JS File Loading - Version: ' + new Date().toISOString());\r\nconsole.log('\uD83D\uDD27 JS File Path: product-support.js');\r\n\r\n// \u9632\u6B62\u91CD\u590D\u58F0\u660E\r\nif (typeof ProductSupportCenter === 'undefined') {\r\n  class ProductSupportCenter {\r\n  constructor() {\r\n    this.currentCategory = null;\r\n    this.currentLine = null;\r\n    this.currentSeries = null;\r\n    this.videosPerPage = 6;\r\n    this.mobileVideosPerPage = 3;\r\n    this.currentPage = 1;\r\n    this.version = new Date().toISOString();\r\n    \r\n    console.log('\u2705 ProductSupportCenter (3-Level): Initializing... Version:', this.version);\r\n    this.init();\r\n  }\r\n\r\n  init() {\r\n    this.bindEvents();\r\n    this.initializeView();\r\n    this.handleResize();\r\n    \r\n    // \u76D1\u542C\u7A97\u53E3\u5927\u5C0F\u53D8\u5316\r\n    window.addEventListener('resize', this.debounce(() => {\r\n      this.handleResize();\r\n    }, 250));\r\n  }\r\n\r\n  bindEvents() {\r\n    console.log('\uD83D\uDD17 ProductSupportCenter: Binding events... Version:', this.version);\r\n    \r\n    // \u79FB\u9664\u4E4B\u524D\u7684\u4E8B\u4EF6\u76D1\u542C\u5668\uFF08\u5982\u679C\u5B58\u5728\uFF09\r\n    if (this.boundClickHandler) {\r\n      document.removeEventListener('click', this.boundClickHandler);\r\n      console.log('\uD83D\uDDD1\uFE0F Removed previous event handler');\r\n    }\r\n    \r\n    // \u9A8C\u8BC1\u5143\u7D20\u5B58\u5728\r\n    const categoryTabs = document.querySelectorAll('.category-tab');\r\n    const seriesButtons = document.querySelectorAll('.series-button');\r\n    console.log('\uD83D\uDD0D Found elements - Category tabs:', categoryTabs.length, 'Series buttons:', seriesButtons.length);\r\n    \r\n    // \u663E\u793A\u6240\u6709\u627E\u5230\u7684\u7CFB\u5217\u6309\u94AE\r\n    if (seriesButtons.length > 0) {\r\n      console.log('\uD83D\uDCCB All series buttons found:');\r\n      seriesButtons.forEach((btn, index) => {\r\n        console.log(`  ${index + 1}. Text: \"${btn.textContent.trim()}\", Data-series: \"${btn.dataset.series}\", Classes: \"${btn.classList.toString()}\"`);\r\n      });\r\n    } else {\r\n      console.warn('\u26A0\uFE0F No series buttons found during initialization!');\r\n    }\r\n    \r\n    // \u521B\u5EFA\u7ED1\u5B9A\u7684\u4E8B\u4EF6\u5904\u7406\u5668\r\n    this.boundClickHandler = (e) => {\r\n      console.log('\uD83D\uDC46 Click detected on:', e.target.tagName, 'Class:', e.target.className, 'Dataset:', e.target.dataset);\r\n      \r\n      // \u5206\u7C7B\u6807\u7B7E\u5207\u6362\r\n      if (e.target.matches('.category-tab') || e.target.closest('.category-tab')) {\r\n        const tab = e.target.closest('.category-tab') || e.target;\r\n        console.log('\uD83C\uDFF7\uFE0F Category tab clicked:', tab.dataset.category, 'Element:', tab);\r\n        e.preventDefault();\r\n        e.stopPropagation();\r\n        this.handleCategorySwitch(tab);\r\n        return;\r\n      }\r\n\r\n      // \u4EA7\u54C1\u7EBF\u5207\u6362\u6309\u94AE\u70B9\u51FB (Level 2)\r\n      if (e.target.matches('.product-line-toggle') || e.target.closest('.product-line-toggle')) {\r\n        const button = e.target.closest('.product-line-toggle') || e.target;\r\n        console.log('\uD83D\uDCC2 Product line toggle clicked:', button.dataset.line, 'Element:', button);\r\n        e.preventDefault();\r\n        e.stopPropagation();\r\n        this.handleLineToggle(button);\r\n        return;\r\n      }\r\n      \r\n      // \u89C6\u9891\u7CFB\u5217\u6309\u94AE\u70B9\u51FB (Level 3) - \u7EDF\u4E00\u5904\u7406\u6240\u6709\u7CFB\u5217\u6309\u94AE\r\n      if (e.target.matches('.video-series-button, .series-button') || e.target.closest('.video-series-button, .series-button')) {\r\n        const button = e.target.closest('.video-series-button, .series-button') || e.target;\r\n        console.log('\uD83D\uDCC2 Video series button clicked:', button.dataset.series, 'Element:', button);\r\n        e.preventDefault();\r\n        e.stopPropagation();\r\n        \r\n        // \u68C0\u67E5\u662F\u5426\u5728\u6D6E\u52A8\u4E0B\u62C9\u83DC\u5355\u4E2D\r\n        const isInFloatingDropdown = button.closest('.mobile-floating-dropdown');\r\n        if (isInFloatingDropdown) {\r\n          console.log('\uD83D\uDCF1 Button click in floating dropdown detected');\r\n          this.handleSeriesSwitch(button);\r\n          this.hideMobileFloatingDropdown();\r\n        } else {\r\n          this.handleSeriesSwitch(button);\r\n        }\r\n        return;\r\n      }\r\n\r\n      // \u5206\u9875\u70B9\u51FB\r\n      if (e.target.matches('.page-number, .page-next, .page-prev')) {\r\n        console.log('\uD83D\uDCC4 Pagination clicked:', e.target.dataset.page);\r\n        e.preventDefault();\r\n        this.handlePagination(e.target);\r\n        return;\r\n      }\r\n      \r\n      // \u8BB0\u5F55\u5176\u4ED6\u70B9\u51FB\r\n      console.log('\uD83E\uDD37 Click not handled - target:', e.target.tagName, e.target.className);\r\n      \r\n      // \u624B\u673A\u7AEF\uFF1A\u70B9\u51FB\u4EFB\u610F\u975E\u63A7\u5236\u5143\u7D20\u5904\uFF0C\u5173\u95ED\u6240\u6709\u5DF2\u5C55\u5F00\u7684\u4E0B\u62C9\u83DC\u5355\r\n      if (window.innerWidth <= 850) {\r\n        // \u68C0\u67E5\u662F\u5426\u70B9\u51FB\u4E86\u6D6E\u52A8\u4E0B\u62C9\u5BB9\u5668\u5185\u90E8\u6216\u4EA7\u54C1\u7EBF\u6309\u94AE\r\n        const floatingDropdown = document.getElementById('mobileFloatingDropdown');\r\n        const isClickInsideFloating = floatingDropdown && floatingDropdown.contains(e.target);\r\n        const isClickOnProductLineToggle = e.target.closest('.product-line-toggle');\r\n        \r\n        // \u8C03\u8BD5\uFF1A\u8BE6\u7EC6\u8BB0\u5F55\u70B9\u51FB\u4F4D\u7F6E\r\n        console.log('\uD83D\uDD0D Mobile click check:', {\r\n          hasFloatingDropdown: !!floatingDropdown,\r\n          isClickInsideFloating,\r\n          isClickOnProductLineToggle: !!isClickOnProductLineToggle,\r\n          target: e.target.tagName + '.' + e.target.className,\r\n          targetText: e.target.textContent?.trim()\r\n        });\r\n        \r\n        if (!isClickInsideFloating && !isClickOnProductLineToggle) {\r\n          this.closeAllMobileDropdowns();\r\n        }\r\n      }\r\n\r\n      // \u7279\u522B\u68C0\u67E5\u662F\u5426\u70B9\u51FB\u4E86\u770B\u8D77\u6765\u50CFseries-button\u7684\u5143\u7D20\r\n      if (e.target.textContent && (e.target.textContent.includes('Product Series') || e.target.textContent.includes('Series'))) {\r\n        console.log('\uD83D\uDEA8 Potential series button clicked but not detected!');\r\n        console.log('\uD83D\uDD0D Element classes:', e.target.classList.toString());\r\n        console.log('\uD83D\uDD0D Parent classes:', e.target.parentElement?.classList.toString());\r\n        console.log('\uD83D\uDD0D matches(.series-button):', e.target.matches('.series-button'));\r\n        console.log('\uD83D\uDD0D closest(.series-button):', !!e.target.closest('.series-button'));\r\n        console.log('\uD83D\uDD0D Element HTML:', e.target.outerHTML.substring(0, 200));\r\n      }\r\n    };\r\n    \r\n    // \u7ED1\u5B9A\u4E8B\u4EF6\u76D1\u542C\u5668\r\n    document.addEventListener('click', this.boundClickHandler, true); // \u4F7F\u7528 capture \u6A21\u5F0F\r\n    console.log('\u2705 Events bound successfully with capture mode');\r\n    \r\n    // \u989D\u5916\u9A8C\u8BC1\r\n    setTimeout(() => {\r\n      const tabs = document.querySelectorAll('.category-tab');\r\n      const buttons = document.querySelectorAll('.series-button');\r\n      console.log('\u23F0 Delayed check - Category tabs:', tabs.length, 'Series buttons:', buttons.length);\r\n      if (tabs.length > 0) {\r\n        console.log('\uD83D\uDCCB First category tab dataset:', tabs[0].dataset);\r\n      }\r\n      if (buttons.length > 0) {\r\n        console.log('\uD83D\uDCCB First series button dataset:', buttons[0].dataset);\r\n      }\r\n    }, 1000);\r\n  }\r\n\r\n  initializeView() {\r\n    // \u4FEE\u590D\u6240\u6709\u5206\u7C7B\u4E2D\u7684\u7CFB\u5217\u6309\u94AE\u6620\u5C04\r\n    this.fixSeriesButtonMappings();\r\n    \r\n    // \u5904\u7406\u684C\u9762\u7AEF\u9ED8\u8BA4\u5C55\u5F00\u8BBE\u7F6E\r\n    this.handleDesktopDefaultExpanded();\r\n    \r\n    // \u6FC0\u6D3B\u7B2C\u4E00\u4E2A\u5206\u7C7B\r\n    const firstCategory = document.querySelector('.category-tab');\r\n    if (firstCategory) {\r\n      this.handleCategorySwitch(firstCategory);\r\n    }\r\n  }\r\n  \r\n  handleDesktopDefaultExpanded() {\r\n    // \u53EA\u5728\u684C\u9762\u7AEF\u5904\u7406\u9ED8\u8BA4\u5C55\u5F00\r\n    if (window.innerWidth <= 850) {\r\n      console.log('\uD83D\uDCF1 Mobile mode: Skipping desktop default expanded handling');\r\n      return;\r\n    }\r\n    \r\n    console.log('\uD83D\uDDA5\uFE0F Desktop mode: Handling default expanded settings');\r\n    \r\n    // \u53EA\u5904\u7406\u5F53\u524D\u6FC0\u6D3B\u5206\u7C7B\u4E2D\u7684\u5185\u5BB9\r\n    const activeWrapper = document.querySelector('.support-content-wrapper.active');\r\n    if (!activeWrapper) {\r\n      console.log('\u26A0\uFE0F No active category wrapper found');\r\n      return;\r\n    }\r\n    \r\n    // \u9996\u5148\u6E05\u9664\u5F53\u524D\u5206\u7C7B\u4E2D\u6240\u6709\u7684\u9009\u4E2D\u72B6\u6001\r\n    activeWrapper.querySelectorAll('.video-series-button.active, .video-series-button.desktop-active').forEach(btn => {\r\n      btn.classList.remove('active', 'desktop-active');\r\n    });\r\n    \r\n    // \u5904\u7406\u5F53\u524D\u5206\u7C7B\u4E2D\u8BBE\u7F6E\u4E86\u684C\u9762\u7AEF\u9ED8\u8BA4\u5C55\u5F00\u7684\u4EA7\u54C1\u7EBF\r\n    const desktopExpandedToggles = activeWrapper.querySelectorAll('.product-line-toggle[data-desktop-expanded=\"true\"]');\r\n    \r\n    desktopExpandedToggles.forEach(toggle => {\r\n      const lineId = toggle.dataset.line;\r\n      const targetList = activeWrapper.querySelector(`#line-${lineId}`);\r\n      \r\n      if (targetList) {\r\n        // \u786E\u4FDD\u5C55\u5F00\u7C7B\u5B58\u5728\uFF08Liquid\u6A21\u677F\u5DF2\u7ECF\u6DFB\u52A0\u4E86\uFF0C\u8FD9\u91CC\u53EA\u662F\u4FDD\u9669\uFF09\r\n        if (!toggle.classList.contains('expanded')) {\r\n          toggle.classList.add('expanded');\r\n        }\r\n        if (!targetList.classList.contains('expanded')) {\r\n          targetList.classList.add('expanded');\r\n        }\r\n        toggle.setAttribute('aria-expanded', 'true');\r\n        \r\n        console.log('\uD83D\uDDA5\uFE0F Desktop expanded:', lineId);\r\n        \r\n        // \u6FC0\u6D3B\u7B2C\u4E00\u4E2A\u89C6\u9891\u7CFB\u5217\u6309\u94AE\r\n        const firstSeriesButton = targetList.querySelector('.video-series-button');\r\n        if (firstSeriesButton) {\r\n          firstSeriesButton.classList.add('active', 'desktop-active');\r\n          this.handleSeriesSwitch(firstSeriesButton);\r\n        }\r\n      }\r\n    });\r\n  }\r\n\r\n  fixSeriesButtonMappings() {\r\n    console.log('\uD83D\uDD27 Validating series button mappings...');\r\n    \r\n    const allWrappers = document.querySelectorAll('.support-content-wrapper');\r\n    \r\n    allWrappers.forEach((wrapper, wrapperIndex) => {\r\n      const categoryId = wrapper.dataset.category;\r\n      console.log(`\uD83D\uDD0D Checking category ${wrapperIndex + 1}: ${categoryId}`);\r\n      \r\n      const seriesButtons = Array.from(wrapper.querySelectorAll('.series-button, .video-series-button'));\r\n      const videoContainers = Array.from(wrapper.querySelectorAll('.video-grid-container'));\r\n      \r\n      console.log(`\uD83D\uDCE6 Category ${categoryId}: ${seriesButtons.length} buttons, ${videoContainers.length} containers`);\r\n      \r\n      // \u9A8C\u8BC1\u6309\u94AE\u4E0E\u5BB9\u5668\u7684\u6620\u5C04\u5173\u7CFB\r\n      seriesButtons.forEach((button, buttonIndex) => {\r\n        const seriesId = button.dataset.series;\r\n        const targetContainer = videoContainers.find(container => container.dataset.series === seriesId);\r\n        \r\n        if (targetContainer) {\r\n          const videoCards = targetContainer.querySelectorAll('.video-card');\r\n          console.log(`\u2705 Button \"${button.textContent.trim()}\" -> Container with ${videoCards.length} videos`);\r\n        } else {\r\n          console.warn(`\u26A0\uFE0F Button \"${button.textContent.trim()}\" (${seriesId}) has no matching container`);\r\n        }\r\n      });\r\n    });\r\n    \r\n    console.log('\u2705 Series button mapping validation completed');\r\n  }\r\n\r\n  handleCategorySwitch(button) {\r\n    const categoryId = button.dataset.category;\r\n    console.log('\uD83D\uDD04 Switching to category:', categoryId);\r\n    \r\n    // \u66F4\u65B0\u5206\u7C7B\u6807\u7B7E\u72B6\u6001\r\n    document.querySelectorAll('.category-tab').forEach(tab => {\r\n      tab.classList.remove('active');\r\n    });\r\n    button.classList.add('active');\r\n    console.log('\u2705 Category tab active class updated');\r\n\r\n    // \u6E05\u9664\u6240\u6709\u89C6\u9891\u7CFB\u5217\u6309\u94AE\u7684\u9009\u4E2D\u72B6\u6001\r\n    document.querySelectorAll('.video-series-button.active, .video-series-button.desktop-active').forEach(btn => {\r\n      btn.classList.remove('active', 'desktop-active');\r\n    });\r\n\r\n    // \u663E\u793A\u5BF9\u5E94\u7684\u5185\u5BB9\u533A\u57DF\r\n    document.querySelectorAll('.support-content-wrapper').forEach(wrapper => {\r\n      wrapper.classList.remove('active');\r\n    });\r\n    \r\n    const targetWrapper = document.querySelector(`.support-content-wrapper[data-category=\"${categoryId}\"]`);\r\n    console.log('\uD83C\uDFAF Target wrapper found:', !!targetWrapper);\r\n    if (targetWrapper) {\r\n      targetWrapper.classList.add('active');\r\n      console.log('\u2705 Content wrapper active class added');\r\n\r\n      // Debug: Check for series buttons in target wrapper\r\n      const allSeriesButtonsInWrapper = targetWrapper.querySelectorAll('.series-button');\r\n      console.log('\uD83D\uDD0D Found series buttons in targetWrapper:', allSeriesButtonsInWrapper.length);\r\n      \r\n      // \u6FC0\u6D3B\u7B2C\u4E00\u4E2A\u7CFB\u5217\u6309\u94AE - \u6620\u5C04\u903B\u8F91\u5DF2\u7ECF\u5728 fixSeriesButtonMappings \u4E2D\u5904\u7406\u8FC7\u4E86\r\n      const seriesButtons = targetWrapper.querySelectorAll('.series-button');\r\n      console.log('\uD83D\uDD0D Series buttons found:', seriesButtons.length);\r\n      \r\n      if (seriesButtons.length > 0) {\r\n        const firstButton = seriesButtons[0];\r\n        console.log('\uD83C\uDFAF Activating first series button:', firstButton.textContent.trim());\r\n        console.log('\uD83C\uDFAF Button data-series:', firstButton.dataset.series);\r\n        this.handleSeriesSwitch(firstButton);\r\n      } else {\r\n        console.warn('\u26A0\uFE0F No series buttons found within the active category wrapper:', categoryId);\r\n        \r\n        // \u8C03\u8BD5\uFF1A\u68C0\u67E5\u6240\u6709\u4E0B\u62C9\u83DC\u5355\u72B6\u6001\r\n        const allDropdowns = document.querySelectorAll('.video-series-list');\r\n        console.log('\uD83D\uDD0D All dropdown menus found:', allDropdowns.length);\r\n        allDropdowns.forEach((dropdown, index) => {\r\n          console.log(`Dropdown ${index + 1}:`, {\r\n            id: dropdown.id,\r\n            classes: dropdown.className,\r\n            display: window.getComputedStyle(dropdown).display,\r\n            position: window.getComputedStyle(dropdown).position,\r\n            buttonsInside: dropdown.querySelectorAll('.video-series-button').length\r\n          });\r\n        });\r\n        \r\n        // \u4E0D\u518D\u5F3A\u5236\u5C55\u5F00\u7B2C\u4E00\u4E2A\u4E0B\u62C9\u83DC\u5355\uFF0C\u6539\u4E3A\u901A\u8FC7\u6B63\u5E38\u70B9\u51FB\u89E6\u53D1\r\n        if (allDropdowns.length > 0) {\r\n          console.log('\uD83D\uDCCB Found dropdowns but not force expanding (use floating container instead)');\r\n          // \u8C03\u8BD5\u4FE1\u606F\uFF1A\u663E\u793A\u53EF\u7528\u7684\u6309\u94AE\r\n          setTimeout(() => {\r\n            const buttonsInFirstDropdown = allDropdowns[0].querySelectorAll('.video-series-button');\r\n            console.log('\uD83D\uDD0D Buttons available in first dropdown:', buttonsInFirstDropdown.length);\r\n            buttonsInFirstDropdown.forEach((btn, i) => {\r\n              console.log(`Button ${i + 1}:`, btn.textContent.trim(), btn.dataset);\r\n            });\r\n          }, 100);\r\n        }\r\n      }\r\n    } else {\r\n      console.error('\u274C Target wrapper not found for category:', categoryId);\r\n      // List all wrappers that do exist\r\n      const existingWrappers = document.querySelectorAll('.support-content-wrapper');\r\n      console.log('\uD83D\uDCCB Existing content wrappers:');\r\n      existingWrappers.forEach((wrapper, index) => {\r\n        console.log(`  ${index + 1}. Category: ${wrapper.dataset.category}`);\r\n      });\r\n    }\r\n\r\n    // \u624B\u673A\u7AEF\uFF1A\u9ED8\u8BA4\u9009\u4E2D\u7B2C\u4E00\u4E2A\u4EA7\u54C1\u7EBF\u9879\u76EE\r\n    if (window.innerWidth <= 850) {\r\n      const productLineItems = targetWrapper.querySelectorAll('.product-line-item');\r\n      if (productLineItems.length > 0) {\r\n        // \u79FB\u9664\u6240\u6709active\u72B6\u6001\r\n        productLineItems.forEach(item => item.classList.remove('active'));\r\n        // \u7ED9\u7B2C\u4E00\u4E2A\u6DFB\u52A0active\u72B6\u6001\r\n        productLineItems[0].classList.add('active');\r\n        console.log('\uD83D\uDCF1 Mobile: First product line item activated');\r\n      }\r\n    }\r\n\r\n    this.currentCategory = categoryId;\r\n    \r\n    // \u624B\u673A\u7AEF\u4E0D\u518D\u5F3A\u5236\u5C55\u5F00\uFF0C\u7528\u6237\u624B\u52A8\u70B9\u51FB\u65F6\u4F7F\u7528\u6D6E\u52A8\u5BB9\u5668\r\n    if (window.innerWidth <= 850) {\r\n      console.log('\uD83D\uDCF1 Mobile mode: Ready for user interaction with floating dropdown');\r\n    } else {\r\n      // \u684C\u9762\u7AEF\uFF1A\u91CD\u65B0\u5904\u7406\u5F53\u524D\u5206\u7C7B\u7684\u9ED8\u8BA4\u5C55\u5F00\u8BBE\u7F6E\r\n      setTimeout(() => {\r\n        this.handleDesktopDefaultExpanded();\r\n      }, 100);\r\n    }\r\n    \r\n    console.log('\u2705 Category switch completed');\r\n  }\r\n\r\n  handleSeriesSwitch(button) {\r\n    const seriesId = button.dataset.series;\r\n    const lineId = button.dataset.line;\r\n\r\n    // FIX: Get the currently active category wrapper in the main content area\r\n    // This is crucial because floating dropdown buttons are not direct children of a .support-content-wrapper\r\n    const activeCategoryWrapper = document.querySelector('.support-content-wrapper.active');\r\n\r\n    if (!activeCategoryWrapper) {\r\n      console.error('\u274C No active category wrapper found. Cannot switch series.');\r\n      return;\r\n    }\r\n\r\n    console.log('\uD83D\uDD04 Switching to series:', seriesId, 'in line:', lineId);\r\n    console.log('\uD83D\uDCE6 Active category wrapper found:', !!activeCategoryWrapper);\r\n\r\n    // Update series button states within the active category wrapper\r\n    // This will affect both regular sidebar buttons and the floating dropdown buttons\r\n    activeCategoryWrapper.querySelectorAll('.series-button, .video-series-button').forEach(btn => {\r\n      btn.classList.remove('active');\r\n      btn.classList.remove('desktop-active'); // Ensure desktop active is also removed\r\n    });\r\n\r\n    // Apply active class to the clicked button\r\n    button.classList.add('active');\r\n    // If on desktop, also add desktop-active\r\n    if (window.innerWidth >= 750) { // Assuming 750px is desktop breakpoint\r\n      button.classList.add('desktop-active');\r\n    }\r\n    console.log('\u2705 Series button active class updated');\r\n\r\n    // Display the corresponding video grid within the active category wrapper\r\n    activeCategoryWrapper.querySelectorAll('.video-grid-container').forEach(container => {\r\n      container.classList.remove('active');\r\n    });\r\n\r\n    const targetContainer = activeCategoryWrapper.querySelector(`#series-${seriesId}`);\r\n    console.log('\uD83C\uDFAF Target container found:', !!targetContainer);\r\n\r\n    if (targetContainer) {\r\n      targetContainer.classList.add('active');\r\n      console.log('\u2705 Video grid active class added');\r\n\r\n      const videoCards = targetContainer.querySelectorAll('.video-card');\r\n      console.log('\uD83C\uDFAC Video cards found in container:', videoCards.length);\r\n\r\n      if (videoCards.length === 0) {\r\n        console.warn(`\u26A0\uFE0F Target container for series \"${seriesId}\" has no video cards.`);\r\n      }\r\n\r\n      this.currentPage = 1;\r\n      this.updateVideoDisplay(targetContainer);\r\n      this.updatePagination(targetContainer);\r\n      console.log('\u2705 Video display and pagination updated');\r\n    } else {\r\n      console.warn(`\u26A0\uFE0F Target container for series \"${seriesId}\" not found within active category wrapper.`);\r\n      // If target container not found, hide all videos\r\n      activeCategoryWrapper.querySelectorAll('.video-grid-container').forEach(container => {\r\n        container.classList.remove('active');\r\n      });\r\n    }\r\n\r\n    this.currentSeries = seriesId;\r\n    this.currentLine = lineId;\r\n    console.log('\u2705 Series switch completed');\r\n  }\r\n\r\n  handleResize() {\r\n    // \u6839\u636E\u5C4F\u5E55\u5C3A\u5BF8\u8C03\u6574\u6BCF\u9875\u663E\u793A\u6570\u91CF\r\n    const isMobile = window.innerWidth <= 850;\r\n    this.videosPerPage = isMobile ? this.mobileVideosPerPage : 6;\r\n    \r\n    // \u91CD\u65B0\u5904\u7406\u684C\u9762\u7AEF\u9ED8\u8BA4\u5C55\u5F00\u8BBE\u7F6E\r\n    if (!isMobile) {\r\n      this.handleDesktopDefaultExpanded();\r\n    } else {\r\n      // \u624B\u673A\u7AEF\uFF1A\u786E\u4FDD\u6240\u6709\u4E0B\u62C9\u83DC\u5355\u90FD\u6536\u7F29\r\n      document.querySelectorAll('.video-series-list.expanded').forEach(list => {\r\n        list.classList.remove('expanded');\r\n      });\r\n      document.querySelectorAll('.product-line-toggle.expanded').forEach(toggle => {\r\n        toggle.classList.remove('expanded');\r\n        toggle.setAttribute('aria-expanded', 'false');\r\n      });\r\n    }\r\n    \r\n    // \u91CD\u65B0\u8BA1\u7B97\u5F53\u524D\u9875\u9762\u663E\u793A\r\n    const activeContainer = document.querySelector('.video-grid-container.active');\r\n    if (activeContainer) {\r\n      this.updateVideoDisplay(activeContainer);\r\n      this.updatePagination(activeContainer);\r\n    }\r\n  }\r\n\r\n  updateVideoDisplay(container) {\r\n    const videoCards = container.querySelectorAll('.video-card');\r\n    const startIndex = (this.currentPage - 1) * this.videosPerPage;\r\n    const endIndex = startIndex + this.videosPerPage;\r\n    \r\n    console.log('\uD83C\uDFAC updateVideoDisplay called with:', {\r\n      videoCards: videoCards.length,\r\n      currentPage: this.currentPage,\r\n      videosPerPage: this.videosPerPage,\r\n      startIndex,\r\n      endIndex\r\n    });\r\n\r\n    videoCards.forEach((card, index) => {\r\n      if (index >= startIndex && index < endIndex) {\r\n        card.classList.remove('hidden');\r\n        console.log(`\uD83C\uDFAC Showing video card ${index + 1}`);\r\n        // \u6DFB\u52A0\u6E10\u5165\u52A8\u753B\r\n        card.style.animationDelay = `${(index - startIndex) * 0.1}s`;\r\n      } else {\r\n        card.classList.add('hidden');\r\n        console.log(`\uD83D\uDE48 Hiding video card ${index + 1}`);\r\n      }\r\n    });\r\n  }\r\n\r\n  updatePagination(container) {\r\n    const videoCards = container.querySelectorAll('.video-card');\r\n    const totalPages = Math.ceil(videoCards.length / this.videosPerPage);\r\n    const paginationWrapper = container.querySelector('.pagination-wrapper');\r\n    \r\n    if (!paginationWrapper) return;\r\n\r\n    if (totalPages <= 1) {\r\n      paginationWrapper.style.display = 'none';\r\n      return;\r\n    }\r\n\r\n    paginationWrapper.style.display = 'flex';\r\n    const pagination = paginationWrapper.querySelector('.pagination');\r\n    pagination.innerHTML = this.generatePaginationHTML(totalPages);\r\n  }\r\n\r\n  generatePaginationHTML(totalPages) {\r\n    let html = '';\r\n    \r\n    // \u4E0A\u4E00\u9875\u6309\u94AE\r\n    if (this.currentPage > 1) {\r\n      html += `<button class=\"page-prev\" data-page=\"${this.currentPage - 1}\" aria-label=\"\u4E0A\u4E00\u9875\">\r\n        <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"currentColor\">\r\n          <path d=\"M10 12L6 8L10 4\" stroke=\"currentColor\" stroke-width=\"1.5\" fill=\"none\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n        </svg>\r\n      </button>`;\r\n    }\r\n\r\n    // \u9875\u7801\u6309\u94AE\r\n    const { start, end, showEllipsis } = this.calculatePageRange(totalPages);\r\n    \r\n    // \u7B2C\u4E00\u9875\r\n    if (start > 1) {\r\n      html += `<button class=\"page-number ${1 === this.currentPage ? 'active' : ''}\" data-page=\"1\">1</button>`;\r\n      if (start > 2) {\r\n        html += '<span class=\"page-ellipsis\">...</span>';\r\n      }\r\n    }\r\n\r\n    // \u4E2D\u95F4\u9875\u7801\r\n    for (let i = start; i <= end; i++) {\r\n      html += `<button class=\"page-number ${i === this.currentPage ? 'active' : ''}\" data-page=\"${i}\">${i}</button>`;\r\n    }\r\n\r\n    // \u6700\u540E\u4E00\u9875\r\n    if (end < totalPages) {\r\n      if (end < totalPages - 1) {\r\n        html += '<span class=\"page-ellipsis\">...</span>';\r\n      }\r\n      html += `<button class=\"page-number ${totalPages === this.currentPage ? 'active' : ''}\" data-page=\"${totalPages}\">${totalPages}</button>`;\r\n    }\r\n\r\n    // \u4E0B\u4E00\u9875\u6309\u94AE\r\n    if (this.currentPage < totalPages) {\r\n      html += `<button class=\"page-next\" data-page=\"${this.currentPage + 1}\" aria-label=\"\u4E0B\u4E00\u9875\">\r\n        <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"currentColor\">\r\n          <path d=\"M6 12L10 8L6 4\" stroke=\"currentColor\" stroke-width=\"1.5\" fill=\"none\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n        </svg>\r\n      </button>`;\r\n    }\r\n\r\n    return html;\r\n  }\r\n\r\n  calculatePageRange(totalPages) {\r\n    const delta = 2; // \u5F53\u524D\u9875\u524D\u540E\u663E\u793A\u7684\u9875\u7801\u6570\r\n    let start = Math.max(1, this.currentPage - delta);\r\n    let end = Math.min(totalPages, this.currentPage + delta);\r\n\r\n    // \u8C03\u6574\u8303\u56F4\u4EE5\u4FDD\u6301\u56FA\u5B9A\u6570\u91CF\u7684\u9875\u7801\r\n    if (end - start < delta * 2) {\r\n      if (start === 1) {\r\n        end = Math.min(totalPages, start + delta * 2);\r\n      } else if (end === totalPages) {\r\n        start = Math.max(1, end - delta * 2);\r\n      }\r\n    }\r\n\r\n    return { start, end };\r\n  }\r\n\r\n  handlePagination(button) {\r\n    const page = parseInt(button.dataset.page);\r\n    if (page && page !== this.currentPage) {\r\n      this.currentPage = page;\r\n      \r\n      const activeContainer = document.querySelector('.video-grid-container.active');\r\n      if (activeContainer) {\r\n        this.updateVideoDisplay(activeContainer);\r\n        this.updatePagination(activeContainer);\r\n        \r\n        // \u6EDA\u52A8\u5230\u89C6\u9891\u7F51\u683C\u9876\u90E8\r\n        activeContainer.scrollIntoView({ \r\n          behavior: 'smooth', \r\n          block: 'start' \r\n        });\r\n      }\r\n    }\r\n  }\r\n\r\n  debounce(func, wait) {\r\n    let timeout;\r\n    return function executedFunction(...args) {\r\n      const later = () => {\r\n        clearTimeout(timeout);\r\n        func(...args);\r\n      };\r\n      clearTimeout(timeout);\r\n      timeout = setTimeout(later, wait);\r\n    };\r\n  }\r\n\r\n  // \u83B7\u53D6\u5143\u7D20\u7684\u53EF\u6EDA\u52A8\u7956\u5148\uFF08\u7528\u4E8E\u66F4\u65B0 fixed \u4E0B\u62C9\u83DC\u5355\u5B9A\u4F4D\uFF09\r\n  getScrollableAncestors(element) {\r\n    const ancestors = [];\r\n    let node = element ? element.parentElement : null;\r\n    while (node && node !== document.body) {\r\n      const style = window.getComputedStyle(node);\r\n      const overflowY = style.overflowY;\r\n      const overflow = style.overflow;\r\n      if (/(auto|scroll|overlay)/.test(overflowY) || /(auto|scroll|overlay)/.test(overflow)) {\r\n        ancestors.push(node);\r\n      }\r\n      node = node.parentElement;\r\n    }\r\n    return ancestors;\r\n  }\r\n\r\n  // \u663E\u793A\u624B\u673A\u7AEF\u6D6E\u52A8\u4E0B\u62C9\u83DC\u5355\r\n  showMobileFloatingDropdown(button, sourceList) {\r\n    const floatingDropdown = document.getElementById('mobileFloatingDropdown');\r\n    if (!floatingDropdown) {\r\n      console.warn('\u26A0\uFE0F Mobile floating dropdown container not found');\r\n      return;\r\n    }\r\n\r\n    // \u5173\u95ED\u5176\u4ED6\u5DF2\u5C55\u5F00\u7684\u4E0B\u62C9\r\n    this.closeAllMobileDropdowns();\r\n\r\n    // \u83B7\u53D6\u5173\u952E\u5143\u7D20\u7684\u4F4D\u7F6E\u4FE1\u606F\r\n    const buttonRect = button.getBoundingClientRect();\r\n    const sidebarHeader = button.closest('.support-content-wrapper')?.querySelector('.sidebar-header');\r\n    const productLinesContainer = button.closest('.product-lines-list');\r\n    const viewportHeight = window.innerHeight;\r\n    const viewportWidth = window.innerWidth;\r\n\r\n    if (!sidebarHeader) {\r\n      console.warn('\u26A0\uFE0F Sidebar header not found for positioning reference');\r\n      return;\r\n    }\r\n\r\n    const sidebarRect = sidebarHeader.getBoundingClientRect();\r\n    const containerRect = productLinesContainer ? productLinesContainer.getBoundingClientRect() : sidebarRect;\r\n\r\n    // \u590D\u5236\u6E90\u5217\u8868\u7684\u5185\u5BB9\u5230\u6D6E\u52A8\u5BB9\u5668\r\n    floatingDropdown.innerHTML = sourceList.innerHTML;\r\n\r\n    // \u5148\u663E\u793A\u6D6E\u52A8\u5BB9\u5668\u4EE5\u83B7\u53D6\u5176\u5C3A\u5BF8\r\n    floatingDropdown.style.position = 'fixed';\r\n    floatingDropdown.style.visibility = 'hidden';\r\n    floatingDropdown.style.display = 'block';\r\n    \r\n    const dropdownRect = floatingDropdown.getBoundingClientRect();\r\n    const dropdownHeight = dropdownRect.height;\r\n    const dropdownWidth = dropdownRect.width;\r\n\r\n    // \u57FA\u4E8E sidebar-header \u8BA1\u7B97\u76F8\u5BF9\u4F4D\u7F6E\r\n    let leftPosition = containerRect.left;\r\n    let topPosition = containerRect.bottom + 8; // \u4EA7\u54C1\u7EBF\u5BB9\u5668\u5E95\u90E8 + 8px\u95F4\u8DDD\r\n\r\n    // \u5982\u679C\u662F\u5728\u6A2A\u5411\u6EDA\u52A8\u7684\u4EA7\u54C1\u7EBF\u5217\u8868\u4E2D\uFF0C\u5219\u4F7F\u7528\u6309\u94AE\u7684\u5DE6\u8FB9\u4F4D\u7F6E\r\n    if (productLinesContainer && window.getComputedStyle(productLinesContainer).overflowX === 'auto') {\r\n      leftPosition = buttonRect.left;\r\n    }\r\n\r\n    // \u786E\u4FDD\u4E0B\u62C9\u83DC\u5355\u4E0D\u8D85\u51FA\u89C6\u53E3\u53F3\u8FB9\u754C\r\n    if (leftPosition + dropdownWidth > viewportWidth) {\r\n      leftPosition = viewportWidth - dropdownWidth - 16; // \u755916px\u8FB9\u8DDD\r\n    }\r\n    \r\n    // \u786E\u4FDD\u4E0B\u62C9\u83DC\u5355\u4E0D\u8D85\u51FA\u89C6\u53E3\u5DE6\u8FB9\u754C\r\n    if (leftPosition < 16) {\r\n      leftPosition = 16; // \u6700\u5C0F16px\u8FB9\u8DDD\r\n    }\r\n\r\n    // \u786E\u4FDD\u4E0B\u62C9\u83DC\u5355\u4E0D\u8D85\u51FA\u89C6\u53E3\u4E0B\u8FB9\u754C\r\n    if (topPosition + dropdownHeight > viewportHeight) {\r\n      // \u5982\u679C\u4E0B\u65B9\u7A7A\u95F4\u4E0D\u591F\uFF0C\u663E\u793A\u5728\u4EA7\u54C1\u7EBF\u5BB9\u5668\u4E0A\u65B9\r\n      topPosition = containerRect.top - dropdownHeight - 8;\r\n      \r\n      // \u5982\u679C\u4E0A\u65B9\u4E5F\u4E0D\u591F\uFF0C\u5219\u5C1D\u8BD5\u663E\u793A\u5728\u6309\u94AE\u4E0A\u65B9\r\n      if (topPosition < 16) {\r\n        topPosition = buttonRect.top - dropdownHeight - 8;\r\n        \r\n        // \u6700\u540E\u7684\u515C\u5E95\uFF1A\u56FA\u5B9A\u5728\u53EF\u89C6\u533A\u57DF\u5185\r\n        if (topPosition < 16) {\r\n          topPosition = 16;\r\n        }\r\n      }\r\n    }\r\n\r\n    // \u5E94\u7528\u6700\u7EC8\u4F4D\u7F6E\r\n    floatingDropdown.style.left = leftPosition + 'px';\r\n    floatingDropdown.style.top = topPosition + 'px';\r\n    floatingDropdown.style.minWidth = Math.min(buttonRect.width, 200) + 'px';\r\n    floatingDropdown.style.visibility = 'visible';\r\n\r\n    console.log('\uD83D\uDCCD Floating dropdown positioned with sidebar reference:', {\r\n      buttonRect: { left: buttonRect.left, top: buttonRect.top, width: buttonRect.width, height: buttonRect.height },\r\n      sidebarRect: { left: sidebarRect.left, top: sidebarRect.top, width: sidebarRect.width, height: sidebarRect.height },\r\n      containerRect: { left: containerRect.left, top: containerRect.top, width: containerRect.width, height: containerRect.height },\r\n      dropdownSize: { width: dropdownWidth, height: dropdownHeight },\r\n      finalPosition: { left: leftPosition, top: topPosition },\r\n      viewport: { width: viewportWidth, height: viewportHeight }\r\n    });\r\n\r\n    // \u7ED1\u5B9A\u6D6E\u52A8\u5BB9\u5668\u5185\u7684\u6309\u94AE\u4E8B\u4EF6\r\n    // \u5EF6\u8FDF\u7ED1\u5B9A\u786E\u4FDDDOM\u5B8C\u5168\u66F4\u65B0\r\n    setTimeout(() => {\r\n      this.bindFloatingDropdownEvents(floatingDropdown);\r\n    }, 50);\r\n  }\r\n\r\n  // \u7ED1\u5B9A\u6D6E\u52A8\u4E0B\u62C9\u5BB9\u5668\u5185\u7684\u4E8B\u4EF6\r\n  bindFloatingDropdownEvents(container) {\r\n    // \u79FB\u9664\u4E4B\u524D\u7684\u4E8B\u4EF6\u76D1\u542C\u5668\r\n    const oldClickHandler = container._clickHandler;\r\n    const oldMousedownHandler = container._mousedownHandler;\r\n    if (oldClickHandler) {\r\n      container.removeEventListener('click', oldClickHandler);\r\n    }\r\n    if (oldMousedownHandler) {\r\n      container.removeEventListener('mousedown', oldMousedownHandler);\r\n    }\r\n    \r\n    // \u4F7F\u7528\u4E8B\u4EF6\u59D4\u6258\u5904\u7406\u6240\u6709\u70B9\u51FB\r\n    const clickHandler = (e) => {\r\n      console.log('\uD83D\uDDB1\uFE0F Floating dropdown click detected:', e.target);\r\n      \r\n      // \u67E5\u627E\u6700\u8FD1\u7684 video-series-button\r\n      const btn = e.target.closest('.video-series-button');\r\n      if (!btn) {\r\n        console.log('\u26A0\uFE0F Not a video series button click');\r\n        return;\r\n      }\r\n      \r\n      e.preventDefault();\r\n      e.stopPropagation();\r\n      \r\n      // \u5904\u7406\u7CFB\u5217\u6309\u94AE\u70B9\u51FB\r\n      const seriesId = btn.dataset.series;\r\n      const lineId = btn.dataset.line;\r\n      console.log('\uD83D\uDCF1 Floating dropdown series button clicked:', { seriesId, lineId, text: btn.textContent.trim() });\r\n      \r\n      // \u5207\u6362\u89C6\u9891\u663E\u793A - \u4F7F\u7528\u7EDF\u4E00\u7684\u7CFB\u5217\u5207\u6362\u65B9\u6CD5\r\n      this.handleSeriesSwitch(btn);\r\n      \r\n      // \u9690\u85CF\u6D6E\u52A8\u4E0B\u62C9\r\n      this.hideMobileFloatingDropdown();\r\n    };\r\n    \r\n    // \u540C\u65F6\u7ED1\u5B9A mousedown \u4E8B\u4EF6\u4F5C\u4E3A\u5907\u7528\r\n    const mousedownHandler = (e) => {\r\n      const btn = e.target.closest('.video-series-button');\r\n      if (btn) {\r\n        console.log('\uD83D\uDCF1 Mousedown on floating button detected');\r\n        e.preventDefault();\r\n        // \u5EF6\u8FDF\u6267\u884C\u4EE5\u786E\u4FDD\u5176\u4ED6\u4E8B\u4EF6\u5904\u7406\u5B8C\u6210\r\n        setTimeout(() => {\r\n          clickHandler(e);\r\n        }, 10);\r\n      }\r\n    };\r\n    \r\n    // \u4FDD\u5B58\u5904\u7406\u5668\u5F15\u7528\u5E76\u7ED1\u5B9A\u4E8B\u4EF6\r\n    container._clickHandler = clickHandler;\r\n    container._mousedownHandler = mousedownHandler;\r\n    container.addEventListener('click', clickHandler);\r\n    container.addEventListener('mousedown', mousedownHandler);\r\n    \r\n    console.log('\u2705 Floating dropdown events bound. Found buttons:', container.querySelectorAll('.video-series-button').length);\r\n    \r\n    // \u8C03\u8BD5\uFF1A\u5217\u51FA\u6240\u6709\u6309\u94AE\r\n    const buttons = container.querySelectorAll('.video-series-button');\r\n    buttons.forEach((btn, index) => {\r\n      console.log(`\uD83D\uDCF1 Floating button ${index + 1}:`, {\r\n        text: btn.textContent.trim(),\r\n        seriesId: btn.dataset.series,\r\n        lineId: btn.dataset.line,\r\n        classes: btn.className\r\n      });\r\n    });\r\n  }\r\n\r\n  // \u9690\u85CF\u624B\u673A\u7AEF\u6D6E\u52A8\u4E0B\u62C9\u83DC\u5355\r\n  hideMobileFloatingDropdown() {\r\n    const floatingDropdown = document.getElementById('mobileFloatingDropdown');\r\n    if (floatingDropdown) {\r\n      floatingDropdown.style.display = 'none';\r\n      floatingDropdown.style.visibility = 'hidden';\r\n      floatingDropdown.innerHTML = ''; // \u6E05\u7A7A\u5185\u5BB9\r\n    }\r\n    \r\n    // \u91CD\u7F6E\u6240\u6709\u6309\u94AE\u72B6\u6001\r\n    document.querySelectorAll('.product-line-toggle.expanded').forEach(btn => {\r\n      btn.classList.remove('expanded');\r\n      btn.setAttribute('aria-expanded', 'false');\r\n    });\r\n    \r\n    document.querySelectorAll('.video-series-list.expanded').forEach(list => {\r\n      list.classList.remove('expanded');\r\n    });\r\n  }\r\n\r\n  // \u5173\u95ED\u624B\u673A\u7AEF\u6240\u6709\u5DF2\u5C55\u5F00\u7684\u4E0B\u62C9\u83DC\u5355\uFF08\u53EF\u6392\u9664\u67D0\u4E2A\uFF09\r\n  closeAllMobileDropdowns(exceptList = null) {\r\n    if (window.innerWidth > 850) return;\r\n    \r\n    // \u9690\u85CF\u6D6E\u52A8\u4E0B\u62C9\r\n    this.hideMobileFloatingDropdown();\r\n  }\r\n\r\n  // ==================== \u4E09\u7EA7\u7ED3\u6784\u5904\u7406\u65B9\u6CD5 ====================\r\n  \r\n  handleLineToggle(button) {\r\n    const lineId = button.dataset.line;\r\n    // \u83B7\u53D6\u5F53\u524D\u72B6\u6001 - \u68C0\u67E5\u6309\u94AE\u72B6\u6001\u6216\u6D6E\u52A8\u4E0B\u62C9\u662F\u5426\u663E\u793A\r\n    const isExpanded = button.classList.contains('expanded');\r\n    const floatingDropdown = document.getElementById('mobileFloatingDropdown');\r\n    const isFloatingVisible = floatingDropdown && floatingDropdown.style.display === 'block';\r\n    const targetList = document.querySelector(`#line-${lineId}`);\r\n    const categoryWrapper = button.closest('.support-content-wrapper');\r\n    const productLineItem = button.closest('.product-line-item');\r\n    \r\n    console.log('\uD83D\uDD04 Toggling product line:', lineId, 'Currently expanded:', isExpanded);\r\n    \r\n    if (!targetList) {\r\n      console.error('\u274C Target list not found for line:', lineId);\r\n      return;\r\n    }\r\n    \r\n    // \u624B\u673A\u7AEF\uFF1A\u7BA1\u7406\u4EA7\u54C1\u7EBF\u9879\u76EE\u7684active\u72B6\u6001\r\n    if (window.innerWidth <= 850) {\r\n      // \u79FB\u9664\u6240\u6709\u5144\u5F1F\u5143\u7D20\u7684active\u72B6\u6001\r\n      const allProductLineItems = categoryWrapper.querySelectorAll('.product-line-item');\r\n      allProductLineItems.forEach(item => item.classList.remove('active'));\r\n      // \u7ED9\u5F53\u524D\u9879\u76EE\u6DFB\u52A0active\u72B6\u6001\r\n      if (productLineItem) {\r\n        productLineItem.classList.add('active');\r\n        console.log('\uD83D\uDCF1 Mobile: Product line item activated');\r\n      }\r\n    }\r\n    \r\n    // \u5207\u6362\u5C55\u5F00\u72B6\u6001 - \u53EA\u68C0\u67E5\u5F53\u524D\u6309\u94AE\u7684\u72B6\u6001\uFF0C\u4E0D\u8003\u8651\u5168\u5C40\u6D6E\u52A8\u6846\u72B6\u6001\r\n    if (isExpanded) {\r\n      // \u6298\u53E0\u5F53\u524D\u6309\u94AE\r\n      button.classList.remove('expanded');\r\n      button.setAttribute('aria-expanded', 'false');\r\n      targetList.classList.remove('expanded');\r\n      // \u624B\u673A\u7AEF\uFF1A\u9690\u85CF\u6D6E\u52A8\u4E0B\u62C9\r\n      if (window.innerWidth <= 850) {\r\n        this.hideMobileFloatingDropdown();\r\n      }\r\n      console.log('\uD83D\uDCC1 Line collapsed:', lineId);\r\n    } else {\r\n      // \u5C55\u5F00\u5F53\u524D\u6309\u94AE\uFF08\u5148\u5173\u95ED\u5176\u4ED6\u7684\uFF0C\u518D\u5C55\u5F00\u5F53\u524D\u7684\uFF09\r\n      // \u624B\u673A\u7AEF\uFF1A\u5148\u5173\u95ED\u6240\u6709\u5176\u4ED6\u5C55\u5F00\u7684\u6309\u94AE\r\n      if (window.innerWidth <= 850) {\r\n        // \u5173\u95ED\u6240\u6709\u5176\u4ED6\u5DF2\u5C55\u5F00\u7684\u6309\u94AE\r\n        categoryWrapper.querySelectorAll('.product-line-toggle.expanded').forEach(otherButton => {\r\n          if (otherButton !== button) {\r\n            otherButton.classList.remove('expanded');\r\n            otherButton.setAttribute('aria-expanded', 'false');\r\n            const otherLineId = otherButton.dataset.line;\r\n            const otherTargetList = document.querySelector(`#line-${otherLineId}`);\r\n            if (otherTargetList) {\r\n              otherTargetList.classList.remove('expanded');\r\n            }\r\n          }\r\n        });\r\n      }\r\n      \r\n      button.classList.add('expanded');\r\n      button.setAttribute('aria-expanded', 'true');\r\n      targetList.classList.add('expanded');\r\n      console.log('\uD83D\uDCC2 Line expanded:', lineId);\r\n      \r\n      console.log('\uD83D\uDCF1 Mobile dropdown will use floating container');\r\n    \r\n      // \u624B\u673A\u7AEF\uFF1A\u4F7F\u7528\u6D6E\u52A8\u5BB9\u5668\u65B9\u6848\r\n      if (window.innerWidth <= 850) {\r\n        // \u4F7F\u7528\u6D6E\u52A8\u5BB9\u5668\u663E\u793A\u4E0B\u62C9\u5185\u5BB9\r\n        this.showMobileFloatingDropdown(button, targetList);\r\n      }\r\n    \r\n    // \u8C03\u8BD5\uFF1A\u68C0\u67E5\u4E0B\u62C9\u83DC\u5355\u5143\u7D20\r\n    setTimeout(() => {\r\n      console.log('\uD83D\uDD0D Debugging dropdown visibility:');\r\n      console.log('- Target list element:', targetList);\r\n      console.log('- Target list classes:', targetList ? targetList.className : 'NOT FOUND');\r\n      console.log('- Target list display style:', targetList ? window.getComputedStyle(targetList).display : 'N/A');\r\n      console.log('- Target list position style:', targetList ? window.getComputedStyle(targetList).position : 'N/A');\r\n      console.log('- Target list z-index style:', targetList ? window.getComputedStyle(targetList).zIndex : 'N/A');\r\n    }, 100);\r\n      \r\n      // \u6FC0\u6D3B\u7B2C\u4E00\u4E2A\u89C6\u9891\u7CFB\u5217\r\n      const firstSeriesButton = targetList.querySelector('.video-series-button');\r\n      if (firstSeriesButton) {\r\n        this.handleSeriesSwitch(firstSeriesButton);\r\n      }\r\n    }\r\n    \r\n    this.currentLine = isExpanded ? null : lineId;\r\n  }\r\n  \r\n\r\n  }\r\n\r\n  // \u5C06 class \u6DFB\u52A0\u5230\u5168\u5C40\u4F5C\u7528\u57DF \r\n  window.ProductSupportCenter = ProductSupportCenter;\r\n}\r\n\r\n// \u521D\u59CB\u5316\u4EA7\u54C1\u652F\u6301\u4E2D\u5FC3\r\nconsole.log('\uD83D\uDE80 Initialization script running - DOM state:', document.readyState);\r\nconsole.log('\uD83D\uDD50 Current time:', new Date().toISOString());\r\n\r\n// \u5B89\u5168\u7684\u521D\u59CB\u5316\u51FD\u6570\r\nfunction initializeProductSupportCenter() {\r\n  console.log('\uD83D\uDCC4 Attempting to initialize ProductSupportCenter...');\r\n  \r\n  // \u786E\u4FDD\u53EA\u521D\u59CB\u5316\u4E00\u6B21\r\n  if (window.supportCenter) {\r\n    console.log('\u267B\uFE0F ProductSupportCenter already exists, skipping initialization');\r\n    return;\r\n  }\r\n  \r\n  // \u786E\u4FDD\u7C7B\u53EF\u7528\r\n  if (typeof window.ProductSupportCenter !== 'function') {\r\n    console.error('\u274C ProductSupportCenter class not available');\r\n    return;\r\n  }\r\n  \r\n  try {\r\n    console.log('\uD83D\uDD27 Creating new ProductSupportCenter instance...');\r\n    window.supportCenter = new window.ProductSupportCenter();\r\n    console.log('\u2705 ProductSupportCenter initialized successfully');\r\n  } catch (error) {\r\n    console.error('\u274C Failed to initialize ProductSupportCenter:', error);\r\n    console.error('\u274C Error stack:', error.stack);\r\n  }\r\n}\r\n\r\n// DOM ready event\r\nif (document.readyState === 'loading') {\r\n  console.log('\u23F3 DOM still loading, waiting for DOMContentLoaded...');\r\n  document.addEventListener('DOMContentLoaded', initializeProductSupportCenter);\r\n} else {\r\n  console.log('\u26A1 DOM already ready, initializing immediately...');\r\n  initializeProductSupportCenter();\r\n}"],
  "mappings": "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",
  "names": ["ProductSupportCenter"]
}
