/**
 * 全站移动端增强（≤768px 为主，小屏机补充）
 * 与各页专属 CSS 叠加使用，不覆盖桌面端布局
 */

html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

body {
  overflow-x: clip;
}

/* 刘海屏 / 底部横条安全区 */
@supports (padding: max(0px)) {
  .site-nav {
    padding-top: env(safe-area-inset-top);
  }

  .nav-shell {
    padding-left: max(1rem, env(safe-area-inset-left));
    padding-right: max(1rem, env(safe-area-inset-right));
  }

  .page-main {
    padding-left: env(safe-area-inset-left);
    padding-right: env(safe-area-inset-right);
  }

  .site-footer {
    padding-bottom: max(2.5rem, calc(1.25rem + env(safe-area-inset-bottom)));
  }

  .product-preview-modal {
    padding-bottom: max(1rem, env(safe-area-inset-bottom));
  }
}

@media (max-width: 768px) {
  /* ---------- 顶栏：仅保留语言按钮，Logo 光学居中 ---------- */
  .nav-top-inner {
    padding-left: 2.75rem;
    padding-right: 2.75rem;
  }

  .nav-top-tools {
    gap: 0;
    align-items: center;
  }

  /* 覆盖基类横向 padding，避免触控区把胶囊拉成椭圆 */
  .btn-lang--mobile {
    box-sizing: border-box;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: auto;
    height: 2.75rem;
    min-width: 2.75rem;
    min-height: 2.75rem;
    padding: 0 0.62rem;
    line-height: 1;
    letter-spacing: 0.08em;
    white-space: nowrap;
  }

  .btn-lang--mobile span {
    display: block;
    line-height: 1;
  }

  /* 英文态显示「中文」略宽，保持胶囊比例 */
  html[lang="en"] .btn-lang--mobile {
    min-width: 3rem;
    padding: 0 0.72rem;
  }

  @media (hover: none) {
    .btn-lang:hover {
      transform: none;
    }
  }

  /* ---------- 水平 Tab 触控区 ---------- */
  .nav-menu-bar {
    position: relative;
  }

  .nav-link {
    min-height: 2.25rem;
    padding: 0.35rem 0.08rem 0.55rem;
  }

  html[lang="en"] .nav-link {
    min-height: 2.1rem;
    padding: 0.32rem 0.05rem 0.5rem;
  }

  /* 仅在可横向滑动时显示边缘提示，不裁切文字 */
  .nav-menu-wrap.is-scrollable {
    cursor: grab;
  }

  .nav-menu-wrap.is-scrollable:active {
    cursor: grabbing;
  }

  /* ---------- 内页页头（全 Tab 统一字号） ---------- */
  .page-header {
    padding: 1.35rem 1rem 1.15rem;
  }

  .page-header .section-title {
    font-size: clamp(1.32rem, 4.6vw, 1.58rem);
    letter-spacing: 0.06em;
    line-height: 1.42;
    white-space: normal;
    overflow-wrap: break-word;
  }

  .page-header .section-subtitle {
    font-size: 0.86rem;
    letter-spacing: 0.08em;
    line-height: 1.72;
    margin-top: 0.7rem;
    padding: 0 0.15rem;
  }

  /* ---------- 通用区块标题 ---------- */
  .section {
    padding: 2.75rem 1rem;
  }

  .section-title {
    font-size: clamp(1.28rem, 5vw, 1.62rem);
    letter-spacing: 0.06em;
    line-height: 1.42;
  }

  .section-subtitle {
    font-size: 0.88rem;
    line-height: 1.72;
    margin-bottom: 1.75rem;
  }

  /* ---------- 首屏 Hero ---------- */
  .hero-banner {
    min-height: min(calc(100svh - var(--nav-height)), 680px);
    min-height: min(calc(100dvh - var(--nav-height)), 680px);
  }

  .hero-content {
    padding: 2rem 1.15rem;
  }

  .hero-cta.cta-jump {
    width: min(100%, 20rem);
    padding: 0.9rem 1.45rem;
    font-size: 0.94rem;
  }

  /* ---------- 联系区 ---------- */
  .contact-cta {
    font-size: 0.9rem;
    line-height: 1.72;
    padding: 0 0.35rem;
  }

  .contact-box {
    padding: 1.5rem 1rem;
    margin: 0;
  }

  .contact-item {
    margin: 1rem 0;
  }

  .contact-value {
    font-size: 0.94rem;
    line-height: 1.5;
    word-break: break-word;
  }

  .contact-value a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 0.2rem 0.15rem;
  }

  /* ---------- 按钮触控区域 ---------- */
  .cta-jump {
    box-sizing: border-box;
    min-height: 48px;
    padding: 0.85rem 1.35rem;
    font-size: 0.92rem;
    line-height: 1.35;
    max-width: 100%;
  }

  .cta-jump--wide {
    padding: 0.9rem 1.2rem;
    line-height: 1.45;
  }

  /* ---------- 页脚 ---------- */
  .footer-tagline {
    font-size: 0.82rem;
    letter-spacing: 0.14em;
    margin-bottom: 1.35rem;
  }

  .footer-nav {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.25rem 0.65rem;
    max-width: 22rem;
    margin-left: auto;
    margin-right: auto;
  }

  .footer-nav a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    min-width: 4.5rem;
    padding: 0.3rem 0.5rem;
    font-size: 0.86rem;
    letter-spacing: 0.06em;
  }

  .footer-copy,
  .footer-company {
    font-size: 0.8rem;
    line-height: 1.65;
    padding: 0 0.5rem;
  }

  /* ---------- 产品卡片文字 ---------- */
  .product-name {
    font-size: 0.88rem;
    line-height: 1.4;
  }

  .product-brand,
  .product-series {
    font-size: 0.78rem;
  }

  /* ---------- 弹窗 ---------- */
  .product-preview-modal {
    padding: 0.5rem;
    align-items: flex-end;
  }

  .product-preview-dialog {
    width: min(100%, 96vw);
    max-height: 94dvh;
    border-radius: 12px 12px 8px 8px;
  }

  .product-preview-close {
    min-width: 44px;
    min-height: 44px;
  }
}

/* 超小屏（iPhone SE 等） */
@media (max-width: 390px) {
  .nav-logo-name {
    font-size: 0.8rem;
    letter-spacing: 0.12em;
  }

  html[lang="en"] .nav-logo-name {
    letter-spacing: 0.1em;
  }

  .nav-logo-en,
  .nav-logo-tagline {
    font-size: 0.5rem;
  }

  .nav-top-inner {
    padding-left: 2.5rem;
    padding-right: 2.5rem;
  }

  .nav-menu {
    gap: 0 0.75rem;
  }

  .nav-link {
    font-size: 0.72rem;
    letter-spacing: 0.06em;
  }

  html[lang="en"] .nav-menu {
    gap: 0 0.4rem;
  }

  html[lang="en"] .nav-link {
    font-size: 0.64rem;
    letter-spacing: 0.03em;
  }

  .btn-lang--mobile {
    font-size: 0.66rem;
    padding: 0 0.55rem;
  }

  html[lang="en"] .btn-lang--mobile {
    min-width: 2.85rem;
    padding: 0 0.62rem;
  }

  .stats-bar-inner {
    gap: 1.25rem 0.75rem;
  }

  .stat-value {
    font-size: 1.75rem;
  }

  .product-grid {
    gap: 0.7rem;
  }

  .product-card {
    padding: 0.4rem;
  }
}
