/* ============================================================
   pbootcms-all-mobile-fix.css
   全站 pbootcms 页面移动端适配修复
   
   核心修复：
   1. 覆盖 media.css 的 overflow-x:auto（微信端横滚根因）
   2. 增加所有 .container 的左右内边距（解决内容贴边）
   3. 强制正文图片/表格/iframe 自适应（防止 CMS 内容溢出）
   4. 防止全局横向滚动
   
   ★ 此文件只影响 ≤920px 的移动端，PC 端完全不变
   ============================================================ */

/* ===== 920px 平板/大手机断点 ===== */
@media (max-width: 920px) {
  /* 1. 覆盖 media.css 的 overflow-x:auto — 阻止横向滚动 */
  html, body { overflow-x: hidden !important; }
  .container { overflow-x: hidden !important; overflow-y: visible !important; }
  
  /* 2. 所有容器增加左右内边距 */
  .container,
  .th-container,
  .hc-container,
  .dy-content-container { padding-left: 16px !important; padding-right: 16px !important; }
  
  /* 3. CMS 正文图片/表格/iframe 自适应 */
  .maximg img,
  .maximg table,
  .maximg iframe,
  .maximg video,
  .nd-article-body img,
  .nd-article-body table,
  .nd-article-body iframe,
  .nd-article-body video,
  .sc-content-card img,
  .sc-content-card table,
  .sc-content-card iframe,
  .sc-content-card video,
  .dy-content-body img,
  .dy-content-body table,
  .dy-content-body iframe,
  .dy-content-body video,
  .pd-tab-panel img,
  .pd-tab-panel table,
  .pd-tab-panel iframe,
  .pd-tab-panel video {
    max-width: 100% !important;
    height: auto !important;
    display: block !important;
  }
  
  /* 4. 强制长文字换行，防止撑宽容器 */
  .maximg,
  .nd-article-body,
  .sc-content-card,
  .dy-content-body,
  .pd-tab-panel {
    overflow-wrap: break-word !important;
    word-break: break-word !important;
  }
  /* 4.5 子元素也要强制换行，防止 CMS 输出的标题/代码/长串撑破 */
  .nd-article-body *,
  .sc-content-card *,
  .dy-content-body *,
  .pd-tab-panel *,
  .maximg * {
    max-width: 100% !important;
  }
  .nd-article-body h2,
  .nd-article-body h3,
  .nd-article-body h4,
  .nd-article-body h5,
  .nd-article-body h6,
  .nd-article-body p,
  .nd-article-body li,
  .nd-article-body span,
  .nd-article-body strong,
  .nd-article-body em,
  .sc-content-card p,
  .sc-content-card li,
  .sc-content-card h2,
  .sc-content-card h3,
  .dy-content-body p,
  .dy-content-body li,
  .dy-content-body h2,
  .dy-content-body h3,
  .pd-tab-panel p,
  .pd-tab-panel li,
  .pd-tab-panel h2,
  .pd-tab-panel h3 {
    overflow-wrap: break-word !important;
    word-break: break-word !important;
    white-space: normal !important;
  }
  /* 代码块/行内代码强制换行 */
  .nd-article-body pre,
  .nd-article-body code,
  .sc-content-card pre,
  .sc-content-card code,
  .dy-content-body pre,
  .dy-content-body code,
  .pd-tab-panel pre,
  .pd-tab-panel code {
    white-space: pre-wrap !important;
    word-break: break-word !important;
    overflow-wrap: anywhere !important;
  }
  
  /* 5. 表格可横向滚动但容器不溢出 */
  .maximg,
  .nd-article-body,
  .sc-content-card,
  .dy-content-body,
  .pd-tab-panel {
    overflow-x: hidden !important;
  }
  .maximg table,
  .nd-article-body table,
  .sc-content-card table,
  .dy-content-body table,
  .pd-tab-panel table {
    display: block !important;
    overflow-x: auto !important;
    max-width: 100% !important;
  }

  /* 6. 带侧边栏的页面：grid 变单列 */
  .mp-layout,
  .sc-layout,
  .nl-layout,
  .pl-layout,
  .nd-layout-grid {
    display: flex !important;
    flex-direction: column !important;
    gap: 16px !important;
  }
  
  /* 7. 侧边栏变为普通内容流 */
  .mp-sidebar,
  .sc-sidebar,
  .nl-sidebar,
  .pl-sidebar,
  .nd-sidebar {
    position: static !important;
    display: contents !important;
  }

  /* 8. 带侧边栏的页面：主内容优先显示，侧边栏的 nav 展开为横向可滚 */
  /* 手册页面：文档分类放到内容上面 */
  .mp-layout .mp-sidebar-block:first-child { order: -1 !important; }
  /* 新闻列表页面：分类导航放到内容上面 */
  .nl-layout .nl-sidebar-block:first-child { order: -1 !important; }
  .mp-content,
  .sc-content,
  .nl-content,
  .pl-content,
  .nd-main { order: 1 !important; }

  /* 8.5 flex 子项必须设置 min-width:0，否则长内容会撑破容器 */
  .mp-content,
  .sc-content,
  .nl-content,
  .pl-content,
  .nd-main,
  .mp-sidebar-block,
  .sc-sidebar-block,
  .nl-sidebar-block,
  .pl-sidebar-block,
  .nd-side-card { min-width: 0 !important; }
  
  
  .mp-sidebar-block,
  .sc-sidebar-block,
  .nl-sidebar-block,
  .pl-sidebar-block,
  .nd-side-card { order: 2 !important; }
  
  /* 9. 侧边栏导航：横排胶囊，自动换行（避免隐藏滚动） */
  .mp-sidebar-nav,
  .sc-sidebar-nav,
  .nl-sidebar-nav,
  .pl-sidebar-nav {
    display: flex !important;
    flex-wrap: wrap !important;
    overflow-x: visible !important;
    gap: 8px !important;
    padding-bottom: 0 !important;
  }
  .mp-sidebar-nav a,
  .sc-sidebar-nav a,
  .nl-sidebar-nav a,
  .pl-sidebar-nav a {
    white-space: nowrap !important;
    padding: 8px 16px !important;
    border-radius: 20px !important;
    font-size: 13px !important;
    border: 1px solid #e0e4e8 !important;
    background: #f5f7fa !important;
    transition: all .2s ease !important;
  }
  .mp-sidebar-nav a.active,
  .sc-sidebar-nav a.active,
  .nl-sidebar-nav a.active,
  .pl-sidebar-nav a.active {
    background: var(--th-primary, #0f6ab4) !important;
    color: #fff !important;
    border-color: var(--th-primary, #0f6ab4) !important;
  }
  .mp-nav-dot,
  .sc-nav-dot,
  .nl-nav-dot,
  .pl-nav-dot { display: none !important; }
  
  /* 10. 侧边栏标题：小标题样式 */
  .mp-sidebar-title,
  .sc-sidebar-title,
  .nl-sidebar-title,
  .pl-sidebar-title {
    font-size: 14px !important;
    margin-bottom: 8px !important;
    padding-bottom: 6px !important;
  }
  
  /* 11. 侧边栏区块：去掉边距 */
  .mp-sidebar-block,
  .sc-sidebar-block,
  .nl-sidebar-block,
  .pl-sidebar-block,
  .nd-side-card { margin-bottom: 16px !important; }
  
  /* 12. Hero Banner：统一压缩 */
  .mp-bann,
  .sc-bann,
  .nl-bann,
  .pl-bann,
  .nd-bann { padding: 120px 16px 50px !important; }
  
  /* 13. Hero 标题/描述：字号适配 */
  .mp-hero-title,
  .sc-hero-title,
  .nl-hero-title,
  .pl-hero-title,
  .nd-article-title { font-size: 22px !important; line-height: 1.4 !important; }
  .mp-hero-desc,
  .sc-hero-desc,
  .nl-hero-desc,
  .pl-hero-desc,
  .nd-bann .nd-article-meta { font-size: 14px !important; }
  
  /* 14. Hero Stats：3列2列 */
  .mp-hero-stats,
  .sc-hero-stats,
  .nl-hero-stats,
  .pl-hero-stats {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 10px !important;
    margin-top: 20px !important;
  }
  .mp-hero-stat .num,
  .sc-hero-stat .num,
  .nl-hero-stat .num,
  .pl-hero-stat .num { font-size: 20px !important; }
  .mp-hero-stat .label,
  .sc-hero-stat .label,
  .nl-hero-stat .label,
  .pl-hero-stat .label { font-size: 12px !important; }
  
  /* 15. 面包屑：字号缩小 */
  .mp-breadcrumb,
  .sc-breadcrumb,
  .nl-breadcrumb,
  .pl-breadcrumb,
  .nd-breadcrumb { font-size: 12px !important; }
  
  /* 16. CTA 区域按钮全宽 */
  .th-cta-btns,
  .sc-cta-btns { flex-direction: column !important; gap: 10px !important; }
  .th-cta-btns a,
  .th-btn-primary,
  .th-btn-outline { width: 100% !important; text-align: center !important; }
  
  /* 17. 分页：字号缩小、居中 */
  .pagination,
  .mp-pagination .pagebar,
  .nl-pagination .pagebar,
  .pl-pagination .pagebar { 
    display: flex !important;
    justify-content: center !important;
    gap: 4px !important;
    flex-wrap: wrap !important;
    font-size: 13px !important;
  }
  .page-item, .page-link { padding: 6px 10px !important; }

  /* 18. 新闻详情页：隐藏联系卡片 */
  .nd-side-card--contact { display: none !important; }

  /* 19. 侧边栏联系卡片在移动端隐藏（保持简洁） */
  .mp-sidebar-contact,
  .sc-sidebar-contact,
  .nl-sidebar-contact,
  .pl-sidebar-contact { display: none !important; }

  /* 20. 产品列表/新闻列表 grid：2列 */
  .pl-grid,
  .np-news-grid { grid-template-columns: repeat(2, 1fr) !important; gap: 12px !important; }
  
  /* 21. 新闻详情：上/下导航 */
  .nd-article-nav { flex-direction: column !important; gap: 12px !important; }
  
  /* 22. 产品列表卡片 */
  .pl-card { border-radius: 12px !important; }
  .pl-card-image img { height: 160px !important; }
  .pl-card-body { padding: 12px !important; }
  .pl-card-title { font-size: 14px !important; }
  .pl-card-desc { font-size: 12px !important; }
  
  /* 23. 新闻列表卡片 */
  .nl-article { flex-direction: column !important; }
  .nl-article-image { width: 100% !important; height: 180px !important; flex-shrink: 0 !important; }
  .nl-article-image img { height: 180px !important; object-fit: cover !important; }
  .nl-article-body { padding: 14px !important; }
  .nl-article-title { font-size: 15px !important; }
  .nl-article-desc { font-size: 13px !important; }
  
  /* 24. 手册页面文档列表 */
  .mp-doc-item { padding: 14px !important; border-radius: 10px !important; }
  .mp-doc-item h4 { font-size: 14px !important; }
  .mp-doc-item p { font-size: 12px !important; }
  
  /* 25. 新闻 portal 卡片 */
  .np-news-card { border-radius: 12px !important; }
  .np-card-cover { height: 160px !important; }
  .np-card-body { padding: 12px !important; }
  .np-card-body h4 { font-size: 14px !important; }
  .np-card-desc { font-size: 12px !important; }

  /* 26. 新闻详情正文 */
  .nd-article-body { padding: 16px !important; border-radius: 12px !important; }
  .nd-article-body h2,
  .nd-article-body h3 { margin-top: 20px !important; }
  .nd-article-body p { font-size: 14px !important; line-height: 1.8 !important; }
  
  /* 27. 单页 portal */
  .dy-content-card { padding: 20px 16px !important; border-radius: 12px !important; }
  .dy-content-body p { font-size: 14px !important; line-height: 1.8 !important; }
  
  /* 28. 服务页面 */
  .sc-features-grid { grid-template-columns: repeat(2, 1fr) !important; gap: 12px !important; }
  .sc-feature-card { padding: 16px !important; border-radius: 12px !important; }
  .sc-feature-card h3 { font-size: 15px !important; }
  .sc-feature-card p { font-size: 12px !important; }
  .sc-process-grid { grid-template-columns: repeat(2, 1fr) !important; gap: 12px !important; }
  .sc-content-card { padding: 16px !important; border-radius: 12px !important; }
  .sc-content-card p { font-size: 14px !important; line-height: 1.8 !important; }
  .sc-faq-question { font-size: 14px !important; padding: 14px 16px !important; }
  .sc-faq-answer-inner { font-size: 13px !important; }
  
  /* 29. Bento 产品列表 */
  .pb-bento-grid { grid-template-columns: 1fr !important; gap: 12px !important; }
  .pb-card-featured { grid-column: span 1 !important; }
  .pb-card { border-radius: 12px !important; }
  .pb-card-cover { height: 180px !important; }
  .pb-card-cover img { height: 180px !important; }
  .pb-card-body { padding: 14px !important; }
  .pb-card-title { font-size: 15px !important; }
  .pb-card-desc { font-size: 12px !important; }
  .pb-section-header { padding: 0 !important; }
  .pb-section-header h2 { font-size: 22px !important; }
  .pb-section-header p { font-size: 13px !important; }
  .pb-bann { padding: 120px 16px 50px !important; }
  .pb-hero-title { font-size: 22px !important; }
  .pb-hero-subtitle { font-size: 14px !important; }
  
  /* 30. 荣誉资质 */
  .hc-hero { padding: 120px 0 50px !important; }
  .hc-hero h1 { font-size: 24px !important; }
  .hc-hero-desc { font-size: 14px !important; }
  .hc-hero-meta { display: grid !important; grid-template-columns: repeat(3, 1fr) !important; gap: 8px !important; }
  .hc-stats-inner { grid-template-columns: repeat(2, 1fr) !important; }
  .hc-copyright-grid { grid-template-columns: 1fr !important; gap: 12px !important; }
  .hc-copyright-card { padding: 16px !important; }
  .hc-copyright-card h3 { font-size: 15px !important; }
  .hc-cr-desc { font-size: 13px !important; }
  .hc-gallery-grid { grid-template-columns: repeat(2, 1fr) !important; gap: 10px !important; }
  .hc-gallery-img-wrap { height: 140px !important; }
  .hc-gallery-img-wrap img { height: 140px !important; object-fit: cover !important; }
  .hc-achievement-inner { flex-direction: column !important; gap: 20px !important; }
  .hc-achievement-visual { flex-direction: row !important; justify-content: center !important; }
  .hc-cta-btns { flex-direction: column !important; gap: 10px !important; }
  
  /* 31. 首页 portal */
  .ix-hero { padding-top: 110px !important; }
  .ix-hero h1 { font-size: 24px !important; }
  .ix-hero-subtitle { font-size: 14px !important; }
  .ix-hero-stats { grid-template-columns: repeat(2, 1fr) !important; gap: 10px !important; }
  .ix-hero-actions { flex-direction: column !important; gap: 10px !important; }
  .ix-hero-btn { width: 100% !important; text-align: center !important; padding: 12px !important; }
  .ix-products-grid { grid-template-columns: repeat(2, 1fr) !important; gap: 12px !important; }
  .ix-product-cover { height: 160px !important; }
  .ix-product-body { padding: 12px !important; }
  .ix-product-body h4 { font-size: 14px !important; }
  .ix-product-desc { font-size: 12px !important; }
  .ix-about-grid { grid-template-columns: 1fr !important; gap: 20px !important; }
  .ix-about-image { height: 200px !important; }
  .ix-about-image img { height: 200px !important; object-fit: cover !important; }
  .ix-news-grid { grid-template-columns: 1fr !important; gap: 12px !important; }
  .ix-news-cover { height: 180px !important; }
  .ix-news-body { padding: 14px !important; }
  .ix-section-header h2 { font-size: 22px !important; }
  .ix-section-header p { font-size: 13px !important; }

  /* 32. 关于页面 about-geo (th- 前缀) 修复 */
  .th-hero { padding: 110px 0 40px !important; }
  .th-hero h1 { font-size: 24px !important; }
  .th-hero-desc { font-size: 14px !important; }
  .th-hero-meta { display: grid !important; grid-template-columns: repeat(3, 1fr) !important; gap: 10px !important; }
  .th-hero-meta-item .num { font-size: 20px !important; }
  .th-hero-meta-item .label { font-size: 12px !important; }
  .th-about-visual .th-visual-card img { max-width: 100% !important; height: auto !important; }
  .th-about-highlights { gap: 10px !important; }
  .th-hl-item { padding: 10px !important; }
  .th-hl-text { font-size: 12px !important; }
  .th-stats-grid { grid-template-columns: repeat(2, 1fr) !important; gap: 12px !important; }
  .th-faq-q { font-size: 14px !important; padding: 14px 16px !important; }
  .th-faq-a { font-size: 13px !important; }
  .th-cta-btns { flex-direction: column !important; gap: 10px !important; }
  
  /* 33. 新闻侧边栏热门文章 */
  .nl-sidebar-hot { display: grid !important; grid-template-columns: repeat(2, 1fr) !important; gap: 10px !important; }
  .nl-hot-item { padding: 10px !important; border-radius: 8px !important; }
  .nl-hot-title { font-size: 13px !important; }
  .nl-hot-date { font-size: 11px !important; }
  
  /* 34. 服务页面侧边栏：隐藏前两个模块"服务导航"和"快速入口"，保留"联系客服" */
  .sc-sidebar .sc-sidebar-block:nth-child(-n+2) { display: none !important; }
  
  /* 35. 新闻详情页：侧边栏最新资讯横排 */
  .nd-side-list { display: grid !important; grid-template-columns: repeat(2, 1fr) !important; gap: 10px !important; }
  .nd-side-list__title { font-size: 13px !important; }
  .nd-side-list__date { font-size: 11px !important; }
  
  /* 36. 搜索页面 */
  .sp-search-input { font-size: 16px !important; padding: 12px 16px !important; }
  .sp-search-bar { margin: 0 0 20px !important; }
}

/* ===== 768px 标准手机断点 ===== */
@media (max-width: 768px) {
  /* 容器内边距 */
  .container,
  .th-container,
  .hc-container,
  .dy-content-container { padding-left: 16px !important; padding-right: 16px !important; }
  
  /* Hero 进一步压缩 */
  .mp-bann,
  .sc-bann,
  .nl-bann,
  .pl-bann,
  .nd-bann { padding: 110px 16px 40px !important; }
  
  /* 标题更小 */
  .mp-hero-title,
  .sc-hero-title,
  .nl-hero-title,
  .pl-hero-title,
  .nd-article-title { font-size: 20px !important; }
  
  /* 产品/新闻 grid：部分页面变为 1 列 */
  .np-news-grid { grid-template-columns: 1fr !important; }
  .ix-news-grid { grid-template-columns: 1fr !important; }
  
  /* 服务特性 grid */
  .sc-features-grid { grid-template-columns: 1fr !important; }
  .sc-process-grid { grid-template-columns: repeat(2, 1fr) !important; }
  
  /* 新闻列表图片 */
  .nl-article-image { height: 150px !important; }
  .nl-article-image img { height: 150px !important; }
  
  /* 侧边栏热门变为单列 */
  .nl-sidebar-hot { grid-template-columns: 1fr !important; }
  .nd-side-list { grid-template-columns: 1fr !important; }
  
  /* 荣誉 grid */
  .hc-gallery-grid { grid-template-columns: repeat(2, 1fr) !important; }
  .hc-stats-inner { grid-template-columns: repeat(2, 1fr) !important; }

  /* 首页产品 grid */
  .ix-products-grid { grid-template-columns: repeat(2, 1fr) !important; }

  /* 关于页面 */
  .th-about-grid { grid-template-columns: 1fr !important; }
  .th-business-grid { grid-template-columns: 1fr !important; }
  .th-culture-grid { grid-template-columns: repeat(2, 1fr) !important; }
  .th-stats-grid { grid-template-columns: repeat(2, 1fr) !important; }
  
  /* Section header */
  .mp-content-head h2,
  .sc-section-head h2,
  .nl-section-head h2,
  .pl-section-head h2,
  .hc-section-header h2 { font-size: 20px !important; }
}

/* ===== 480px 小屏断点 ===== */
@media (max-width: 480px) {
  /* 容器更紧凑 */
  .container,
  .th-container,
  .hc-container,
  .dy-content-container { padding-left: 12px !important; padding-right: 12px !important; }
  
  /* Hero 最小化 */
  .mp-bann,
  .sc-bann,
  .nl-bann,
  .pl-bann,
  .nd-bann { padding: 100px 12px 36px !important; }
  
  /* 标题最小 */
  .mp-hero-title,
  .sc-hero-title,
  .nl-hero-title,
  .pl-hero-title,
  .nd-article-title { font-size: 18px !important; }
  
  /* Stats 2列 */
  .mp-hero-stats,
  .sc-hero-stats,
  .nl-hero-stats,
  .pl-hero-stats,
  .ix-hero-stats,
  .hc-hero-meta { grid-template-columns: repeat(2, 1fr) !important; }
  
  /* 产品 grid 1列 */
  .pl-grid { grid-template-columns: 1fr !important; }
  .ix-products-grid { grid-template-columns: 1fr !important; }
  
  /* 荣誉 gallery 1列 */
  .hc-gallery-grid { grid-template-columns: 1fr !important; }
  
  /* 快速入口已隐藏，无需额外规则 */
  
  /* 文档列表更紧凑 */
  .mp-doc-item { padding: 10px !important; }
  .mp-doc-item h4 { font-size: 13px !important; }
}
