/* ============================================
   ZuCDN Mobile Enhancements
   生效条件：视口 ≤1024px，或无悬停能力的粗指针触屏设备
   ============================================ */

html {
  -webkit-tap-highlight-color: transparent;
  -webkit-text-size-adjust: 100%;
  max-width: 100vw;
}

img, video, iframe, table, pre, .wp-block-table {
  max-width: 100% !important;
  height: auto;
}

pre, .wp-block-code, .wp-block-table {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.kd-nav-item,
.kd-btn,
.button,
a.kd-drop-link,
.product-arrow,
.kd-menu-toggle {
  min-height: 44px;
  min-width: 44px;
}

input, textarea, select, button {
  font-size: 16px !important;
}

.contact-form input,
.contact-form textarea {
  padding: 14px;
}

.feature-card,
.price-card,
.post-card,
.listing-card,
.case-card {
  margin-bottom: 12px;
}

@media (max-width: 420px) {
  .hero-copy h1 {
    font-size: 42px;
    letter-spacing: -1.5px;
  }
  .hero-copy .lead {
    font-size: 16px;
  }
}

/* 宽屏触屏设备缩放后仍保持移动导航 */
@media (max-width: 1024px), (hover: none) and (pointer: coarse) {
  .kd-header,
  .home .kd-header,
  .kd-header-inner,
  .home .kd-header-inner {
    height: 64px !important;
  }

  /* transform 会让内部 fixed 菜单被限制在 header 高度内 */
  .kd-header,
  .home .kd-header {
    transform: none !important;
    will-change: auto !important;
  }

  .kd-nav,
  .home .kd-nav,
  .kd-header-actions,
  .home .kd-header-actions {
    display: none !important;
  }

  .kd-menu-toggle,
  .home .kd-menu-toggle {
    display: block !important;
    margin-left: auto !important;
  }

  .kd-nav.is-open,
  .home .kd-nav.is-open {
    position: fixed !important;
    display: flex !important;
    top: 64px !important;
    right: 0 !important;
    bottom: auto !important;
    left: 0 !important;
    width: 100% !important;
    height: calc(100vh - 64px) !important;
    height: calc(100dvh - 64px) !important;
    min-height: 0 !important;
    max-height: none !important;
    flex-direction: column !important;
    align-items: stretch !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
    padding: 20px 24px calc(20px + env(safe-area-inset-bottom)) !important;
    background: #fff !important;
    z-index: 999 !important;
  }

  /* 顶层菜单内容自然增长，超出可视高度时由 nav 自身滚动 */
  .kd-nav.is-open > .kd-nav-item {
    flex: 0 0 auto !important;
    width: 100% !important;
    height: auto !important;
    padding: 14px 0 !important;
    border-bottom: 1px solid #e8eaed !important;
    font-size: 16px !important;
  }

  .kd-nav.is-open .kd-has-drop {
    flex-direction: column !important;
    align-items: stretch !important;
  }

  .kd-nav.is-open .kd-nav-trigger {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
    min-height: 44px !important;
    cursor: pointer;
  }

  .kd-nav.is-open .kd-nav-mobile-actions {
    display: grid !important;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    padding: 20px 0 calc(8px + env(safe-area-inset-bottom));
  }

  .kd-nav.is-open .kd-nav-mobile-actions .kd-btn {
    width: 100%;
  }

  /* 子分类手风琴：收起态 */
  .kd-nav.is-open .kd-has-drop .kd-drop-panel {
    display: grid !important;
    grid-template-rows: 0fr !important;
    position: static !important;
    width: 100% !important;
    min-width: 0 !important;
    max-height: none !important;
    padding: 0 !important;
    overflow: hidden !important;
    visibility: hidden !important;
    opacity: 0 !important;
    transform: none !important;
    box-shadow: none !important;
    pointer-events: none !important;
    transition: grid-template-rows .28s ease, opacity .2s ease, visibility 0s linear .28s !important;
  }

  .kd-nav.is-open .kd-has-drop .kd-drop-inner {
    min-height: 0 !important;
    width: 100% !important;
    min-width: 0 !important;
    overflow: hidden !important;
    padding: 0 0 0 16px !important;
  }

  /* 子分类手风琴：展开态 */
  .kd-nav.is-open .kd-has-drop.expanded .kd-drop-panel {
    grid-template-rows: 1fr !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    transition: grid-template-rows .28s ease, opacity .2s ease !important;
  }

  .kd-nav.is-open .kd-has-drop.expanded .kd-drop-inner {
    padding: 4px 0 8px 16px !important;
  }

  .kd-nav.is-open .kd-has-drop.expanded .kd-nav-arrow {
    transform: rotate(-135deg) !important;
  }

  .kd-nav.is-open .kd-drop-link {
    display: block !important;
    min-height: 44px !important;
    padding: 10px 12px !important;
    font-size: 14px !important;
    pointer-events: auto !important;
  }
}

@media (max-width: 480px) {
  .button-row .kd-btn,
  .button-row .button {
    width: 100%;
    justify-content: center;
  }
}

table {
  display: block;
  max-width: 100%;
  overflow-x: auto;
  white-space: nowrap;
}
