/* Offline layout safety net. Do not set #web / .g_web { height: auto }. */

#webContainer,
#webFooterTable,
#webFooter,
#footer,
#fk-webFooterZone,
.fk-webFooterZone,
.fk-formFullmeasure,
.fk-formFullmeasure .fullmeasureOuterContentPage,
.fk-formFullmeasure .fullmeasureOuterContent,
.fk-formFullmeasure .fullmeasureContent,
.fk-formFullmeasure .fk-formPack,
.fk-formFullmeasure .J_fullmeasurePackContent {
  overflow: visible !important;
}

#web {
  overflow: visible !important;
}

/* Footer: logo + nav + QR must sit above the copyright bar. */
#fk-webFooterZone,
.fk-webFooterZone {
  min-height: 220px !important;
  height: auto !important;
  overflow: visible !important;
}

#webFooterTable {
  min-height: 300px;
  overflow: visible !important;
}

#footer .footerContent {
  padding-top: 270px !important;
  padding-bottom: 45px !important;
}

#module475 {
  min-height: 114px !important;
  height: auto !important;
  overflow: visible !important;
}

#module2031 {
  height: 133px;
}
#module2031 .floatImg .float_in_img {
  width: 237px;
  height: 133px;
}

#module2032 {
  height: 104px;
  overflow: visible !important;
}
#module2032 .floatImg .float_in_img {
  width: 102px;
  height: 104px;
  object-fit: contain;
}

#module2034 {
  height: 93px;
  overflow: visible !important;
}

#module938 {
  height: 169px;
}
#module938 .floatImg .float_in_img {
  width: 300px;
  height: 169px;
}

#module941 {
  height: 100px;
  overflow: visible !important;
}
#module941 .floatImg .float_in_img {
  width: 100px;
  height: 100px;
}

.floatImg .float_in_img {
  max-width: 100%;
  display: block;
  object-fit: contain;
}

.floatImg .float_in_img:not([style*="height"]) {
  height: auto;
}

/* News: keep designed height, do not invent extra white. */
#module1574 {
  min-height: 685px;
  overflow: visible !important;
}

/* Blue CTA: image 456/1792 is 638px at top 116. Background is
   repeat-x bottom + transparent — extra height must stay blue. */
#module430,
#module1797 {
  min-height: 800px !important;
  overflow: visible !important;
}

#module430 .fullmeasureOuterContentBg430,
#module1797 .fullmeasureOuterContentBg1797,
#module430 .fullmeasureOuterContentBg,
#module1797 .fullmeasureOuterContentBg {
  background-color: #0a2d6b !important;
  background-repeat: repeat-x !important;
  background-position: left top !important;
  background-size: auto 100% !important;
  height: 100% !important;
  min-height: 100% !important;
}

#module456,
#module1792 {
  overflow: visible !important;
  height: 638px !important;
}
#module456 .float_in_img,
#module1792 .float_in_img {
  width: 500px !important;
  height: 638px !important;
  object-fit: fill !important;
}

/* CTA copy: designed 60px clips wrapped text once webfonts fall back. */
#module466, #module467, #module1793, #module1794,
#module468, #module942, #module1795, #module1796,
.fk-formFullmeasure .formStyle86,
.fk-formFullmeasure .formStyle81 {
  overflow: visible !important;
}

/* Empty English news placeholder. */
#module2172 {
  display: none !important;
  height: 0 !important;
  min-height: 0 !important;
  overflow: hidden !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Factory / about bands that still used Chinese IDs on EN home. */
#module1786 {
  min-height: 709px;
  overflow: visible !important;
}
#module1704 {
  min-height: 1081px !important;
}
#module1803 {
  min-height: 550px !important;
}

/* Nav arrow sprite was never captured; crawled CSS also resolves
   ../_2.ss.508sys.com/... under /_jzs.508sys.com/3202/ to a double prefix. */
#navV2 .navCenter .itemNext,
#navV2 .navCenter .itemPrev {
  background-image: none !important;
}

/* About page: video at top 1201 + 348px. */
#module512,
#module2127 {
  overflow: visible !important;
}

/* English Solutions static override (desktop). */
.offline-en-solutions {
  box-sizing: border-box;
  background: #fff;
  color: #212121;
  font-family: "Microsoft YaHei", "PingFang SC", Arial, sans-serif;
}

/* Page-scoped host only. Do not write a global #module506 rule
   (the Chinese Solutions page also uses that id). */
.offline-en-solutions #module506.offline-en-solutions-host,
#module506.offline-en-solutions.offline-en-solutions-host {
  display: block !important;
  visibility: visible !important;
  height: auto !important;
  min-height: 0 !important;
  overflow: visible !important;
}

.offline-en-solutions-title {
  margin: 0 0 36px;
  text-align: center;
  font-size: 36px;
  line-height: 49px;
  font-weight: 700;
  color: #212121;
}

.offline-en-solutions-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 28px;
}

.offline-en-solutions-card {
  min-width: 0;
}

.offline-en-solutions-card h2 {
  margin: 0 0 16px;
  font-size: 24px;
  line-height: 1.4;
  color: #212121;
}

.offline-en-solutions-card img {
  display: block;
  width: 100%;
  height: auto;
  margin: 0 0 16px;
  object-fit: cover;
}

.offline-en-solutions-card p {
  margin: 0 0 8px;
  font-size: 16px;
  line-height: 1.6;
  color: #2b2b2b;
}

/* Mobile layout only. Desktop 1440 stays on the designed canvas. */
@media screen and (max-width: 480px) {
  html,
  body,
  .g_html,
  .g_body {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow-x: hidden !important;
  }

  #web,
  #g_web,
  .web,
  .g_web,
  #webContainer,
  #webContainerTable,
  .webContainer,
  .webContainerTable,
  #webBodyTable,
  .webBodyTable,
  #webHeader,
  #webHeaderTable,
  .webHeaderTable,
  .webHeaderTd,
  #webBanner,
  .webBannerTable,
  .bannerTable,
  .bannerCenter,
  #bannerV2,
  .banner,
  #absTopForms,
  #absBottomForms,
  #fullmeasureTopForms,
  #fullmeasureBottomForms,
  .fullmeasureContainer,
  .fullmeasureOuterContentPage,
  .fullmeasureOuterContent,
  .fullmeasureContent,
  .fk-formFullmeasure,
  .fk-formPack,
  .elemZone,
  #webFooterTable,
  #webFooter,
  #footer,
  #fk-webFooterZone,
  .fk-webFooterZone {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    left: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
  }

  #web,
  #g_web,
  .web {
    transform: none !important;
    zoom: 1 !important;
  }

  #webHeader,
  .webHeaderTable,
  #navV2,
  .navV2,
  .navMainContent,
  .navContent,
  .navCenter,
  #navCenter,
  .itemContainer {
    height: auto !important;
    float: none !important;
    display: block !important;
  }

  #navV2 .item,
  #navV2 .navItem,
  #navV2 .itemCenter,
  .navV2 .item,
  .navV2 .navItem {
    display: block !important;
    float: none !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    position: relative !important;
    left: 0 !important;
  }

  #logo,
  #logoImg,
  .J_localerPanel,
  .localerPanel_7 {
    position: relative !important;
    left: auto !important;
    right: auto !important;
    display: block !important;
    max-width: 100% !important;
    height: auto !important;
  }

  #logoImg {
    width: auto !important;
    max-width: 70vw !important;
    height: auto !important;
  }

  .form,
  .layoutModule,
  .jz-moduleTabXPattern3752,
  .fk-formTabX,
  .m_tabpack,
  .formTab,
  .titleTable,
  .formTabContent,
  .tab_list,
  .tab_item,
  .accordion_pack_container,
  .accordion_item,
  .m_news,
  .m_news_wrap,
  .m_news_list,
  .photoMarqueeForms,
  .listPhotosMarquee {
    position: relative !important;
    left: 0 !important;
    top: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-width: 0 !important;
    float: none !important;
  }

  .accordion_pack_container {
    display: block !important;
    min-height: 0 !important;
  }

  .accordion_item:not(.empty_padding),
  .accordion_item_active:not(.empty_padding) {
    width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    margin: 0 0 16px !important;
  }

  img,
  video,
  .float_in_img,
  .photoImg,
  .J_photoImg,
  .floatImgWrap,
  .forMargin,
  .news_img,
  .J_img_lazyLoad {
    max-width: 100% !important;
    height: auto !important;
  }

  body,
  .g_body,
  .fk-editor,
  .title_content,
  .itemName0,
  .J_nav_item_name {
    font-size: 16px !important;
    line-height: 1.55 !important;
  }

  .offline-en-solutions-title {
    font-size: 26px !important;
    line-height: 1.35 !important;
  }

  .offline-en-solutions-grid {
    grid-template-columns: 1fr;
  }

  html.offline-en-solutions-page,
  html.offline-en-solutions-page body,
  html.offline-en-solutions-page .g_html,
  html.offline-en-solutions-page .g_body {
    height: auto !important;
    min-height: 100% !important;
    max-height: none !important;
    overflow-x: hidden !important;
    overflow-y: visible !important;
  }

  .offline-en-solutions #module506.offline-en-solutions-host,
  #module506.offline-en-solutions.offline-en-solutions-host {
    display: block !important;
    visibility: visible !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
  }

  .offline-en-solutions #offlineEnSolutions,
  #module506.offline-en-solutions #offlineEnSolutions {
    display: block !important;
    visibility: visible !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    overflow: visible !important;
  }

  #fk-webFooterZone .form,
  #webFooterTable .form {
    position: relative !important;
    left: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  #footer .footerContent {
    padding-top: 24px !important;
    padding-bottom: 24px !important;
  }
}
