/* Mobile layout overrides. Keep print and desktop layouts intact. */
.demo-disabled { cursor: default !important; user-select: none; }
.demo-disabled:hover { transform: none !important; box-shadow: none !important; }
.demo-status {
  display: inline-flex;
  align-items: center;
  margin-left: .45rem;
  padding: .18rem .5rem;
  border-radius: 999px;
  background: rgba(255, 255, 255, .86);
  color: #0D47A1;
  font-size: .75em;
  font-weight: 700;
  line-height: 1.2;
  white-space: nowrap;
}
.navbar-dark .nav-item-demo .btn-demo .demo-status { background: #1565C0; color: #fff !important; }

@media screen and (max-width: 767.98px) {
  main.container { padding-top: 1.5rem; }
  .tz-section-head { align-items: flex-start; gap: .75rem; }
  .tz-section-title { display: block; min-width: 0; font-size: 1.25rem; }
  .tz-section-title small { display: block; margin: .5rem 0 0; font-size: .85rem; line-height: 1.6; }
  .tz-section-more { flex-shrink: 0; font-size: .875rem; padding: .2rem 0; }
  .topnav .navbar-collapse { max-height: calc(100vh - 80px); max-height: calc(100dvh - 80px); overflow-y: auto !important; overscroll-behavior: contain; }
  .topnav #dm-nav { align-items: stretch !important; }
  .topnav #dm-nav > .nav-item { width: 100%; }
  .topnav #dm-nav .nav-link { display: flex; align-items: center; justify-content: space-between; min-height: 44px; }
  .topnav #dm-nav .dropdown-menu { position: static !important; float: none; width: 100% !important; min-width: 0 !important; max-width: 100% !important; max-height: none !important; transform: none !important; margin: 0 !important; box-shadow: none !important; }
  .topnav #dm-nav .dropdown-item { white-space: normal !important; min-height: 44px; }
  .topnav #dm-nav-right { padding: .5rem 0; }
  .zz-layout { grid-template-columns: minmax(0, 1fr) !important; padding-left: 15px !important; padding-right: 15px !important; }
  .zz-layout > *, .zz-pdf-content, .zz-pdf-block, .zz-side { min-width: 0; max-width: 100%; }
  .zz-side { overflow-x: auto; }
  .zz-side-item { white-space: normal !important; overflow-wrap: anywhere; }
  .zz-pdf-pages canvas, main img { max-width: 100%; }
  .zz-section > .zz-card { padding: 24px 18px !important; }
  .zz-pdf-block-head h3 { min-width: 0; overflow-wrap: anywhere; }
  .site-cta { padding: 2.5rem 1rem !important; }
  .site-cta h2 { font-size: 1.6rem; }
  .site-cta .btn { min-height: 44px; max-width: 100%; }
  #dm-footer > .row > .col-12 { margin-right: 0 !important; margin-bottom: 1.5rem; }
  #dm-footer .site-footer-group a { display: inline-block; min-height: 32px; padding: 4px 0; overflow-wrap: anywhere; }
  #dm-footer .site-footer-bottom a { display: inline; padding: 0; overflow-wrap: anywhere; }
  #dm-footer p { overflow-wrap: anywhere; }
  [id^="anchor-"], [id^="product-"], .zz-section { scroll-margin-top: 90px; }
  /* Product categories belong in the page flow on a phone. */
  #float-nav, #float-nav.is-collapsed { position: static !important; width: 100% !important; max-width: 100%; margin: 0 0 24px; transform: none !important; touch-action: auto; }
  /* The narrow-screen desktop dock rule has equal ID/class specificity and can otherwise win later in the cascade. */
  body #float-nav.is-docked-left.is-collapsed,
  body #float-nav.is-docked-right.is-collapsed { width: 100% !important; }
  #float-nav > .float-nav-panel { opacity: 1 !important; visibility: visible !important; transform: none !important; width: 100%; }
  #float-nav #float-nav-toggle, #float-nav .float-nav-grip, #float-nav .float-nav-hint, .float-nav-dock-zone { display: none !important; }
  #float-nav .float-nav-header { cursor: default; touch-action: auto; }
  #float-nav .float-nav-links { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 6px; padding: 10px; }
  #float-nav .float-nav-link { min-width: 0; min-height: 44px; margin: 0; padding: 10px 2px; font-size: 13px; text-align: center; }
  #product-list .collapse > .row.p-5 { padding: 20px 12px !important; margin-left: 0; margin-right: 0; }
  #product-list .product-detail, #product-list .pz-detail-inner { min-width: 0; }
  #product-list img { max-width: 100%; height: auto; object-fit: contain; }
  #product-list table { max-width: 100%; overflow-wrap: anywhere; }
  #product-list .zhuxun-model-tabs { flex-wrap: wrap; }
  /* The external chat widget uses a desktop width even on narrow screens. */
  .embed-chat-container { left: 8px !important; right: 8px !important; bottom: max(8px, env(safe-area-inset-bottom)) !important; top: auto !important; width: calc(100% - 16px) !important; max-width: calc(100vw - 16px) !important; height: min(560px, calc(100dvh - 100px)) !important; }
  .embed-chat-container .embed-chat, .embed-chat-container .embed-chat-header, .embed-chat-container .embed-chat-header-content, .embed-chat-container .embed-chat-content, .embed-chat-container .embed-chat-iframe { width: 100% !important; max-width: 100% !important; }
  .embed-chat-container .embed-chat { height: 100% !important; }
  .embed-chat-container .embed-chat-content { height: calc(100% - 45px) !important; }
  .embed-chat-container .embed-chat-iframe { height: 100% !important; }
}
@media screen and (max-width: 575.98px) {
  .case-doc .page { width: 100%; min-height: 0; padding: 24px 18px; margin: 0 0 16px; }
  .case-doc .page-footer { position: static; margin-top: 24px; }
  .case-doc .photos, .case-doc .service-grid { grid-template-columns: minmax(0, 1fr); }
  .case-doc .cover-title { font-size: 28px; }
}
@media screen and (max-width: 767.98px) {
  #float-nav .float-nav-links .float-nav-link { padding-left: 2px !important; padding-right: 2px !important; white-space: nowrap; }
  #aff-im-root .embed-icon { top: auto !important; bottom: max(16px, env(safe-area-inset-bottom)) !important; right: 12px !important; transform: none !important; }
}
@media screen and (max-width: 767.98px) {
  .zz-pdf-pages > p { min-width: 0; max-width: 100%; overflow-wrap: anywhere; }
  .pz-product-card .pz-card-body { min-width: 0; width: 100%; padding: 20px 16px; overflow-wrap: anywhere; }
  .case-project-cover h1 { font-size: 1.6rem !important; line-height: 1.5; }
}
.case-project-cover h1, .case-project-cover p { color: #fff; }
@media screen and (max-width: 767.98px) {
  .topnav .navbar-collapse { box-sizing: border-box; max-height: calc(100vh - 96px) !important; max-height: calc(100dvh - 96px) !important; }
  .topnav #dm-nav .dropdown-toggle::after { position: static !important; transform: none !important; margin-left: auto; }
  .topnav .navbar-toggler { border-color: rgba(255,255,255,.5) !important; }
  .topnav .navbar-toggler-icon { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3E%3Cpath stroke='white' stroke-width='2' stroke-linecap='round' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E") !important; }
  body:has(.topnav .navbar-collapse.show) #aff-im-root { visibility: hidden; }
}

@media screen and (max-width: 767.98px) {
  .embed-chat-container { pointer-events: none; }
  .embed-chat-container .embed-chat { pointer-events: auto; }
}


/* Normalize the outer spacing around the shared footer on every page. */
footer.bg-black,
footer.bg-dark {
  padding: 48px 0 20px !important;
}
@media screen and (max-width: 767.98px) {
  footer.bg-black,
  footer.bg-dark {
    padding: 32px 0 16px !important;
  }
}
