/**
 * 全站三端自适应层
 *
 * 断点与建站标准 / wp-design-fidelity 对齐：
 *   xs  <576   手机竖屏
 *   sm  576-767 手机横屏
 *   md  768-991 iPad 竖屏
 *   lg  992-1199 iPad 横屏 / 小桌面
 *   xl  1200-1399 桌面
 *   xxl >=1400  大桌面
 *
 * 本文件最后加载，只覆盖溢出、安全区、触摸目标和跨模板共用规则。
 * 各页面专属布局仍写在 home.css / templates/*.css 中。
 */

html {
  overflow-x: clip;
  max-width: 100%;
}

.navbar-mobile-overlay {
  display: none;
}
body {
  overflow-x: clip;
  max-width: 100%;
  padding-left: env(safe-area-inset-left);
  padding-right: env(safe-area-inset-right);
}

img,
svg,
video,
canvas,
iframe {
  max-width: 100%;
}

.container,
.container-fluid,
.container-xl,
.row,
[class*="col-"] {
  min-width: 0;
}

@media (max-width: 991.98px) {
  :root {
    scroll-padding-top: 88px;
  }

  #main-nav {
    padding-top: env(safe-area-inset-top);
  }

  body.nav-menu-open {
    overflow: hidden;
  }

  .navbar-mobile-overlay {
    display: none;
    position: fixed;
    inset: 0;
    z-index: 1190;
    background: rgba(1, 14, 68, 0.45);
    opacity: 1;
    transition: none;
    pointer-events: auto;
  }

  body.nav-menu-open .navbar-mobile-overlay {
    display: block;
  }

  .navbar .navbar-collapse,
  .navbar .navbar-collapse.collapse,
  .navbar .navbar-collapse.collapsing,
  .navbar .navbar-collapse.show {
    transition: none !important;
  }

  .navbar .navbar-collapse.collapsing {
    height: auto !important;
    overflow: hidden !important;
  }

  .quote-btn {
    min-height: 44px;
    min-width: 44px;
  }

  input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
  select,
  textarea {
    font-size: 16px;
  }
}

@media (max-width: 767.98px) {
  .footer-menu-contact-text,
  .footer-contact-item {
    max-width: 100%;
  }

  .footer .social-icon-link {
    width: 44px;
    height: 44px;
    font-size: 18px;
  }

  .junj-product-hero h1 {
    font-size: clamp(28px, 8vw, 42px);
    letter-spacing: 0.04em;
    padding: 0 16px;
  }

  .product-description.user-content table,
  .product-page table,
  .junj-product-specs table {
    display: block;
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}

@media (min-width: 768px) and (max-width: 1199.98px) {
  .navbar .nav-link {
    font-size: clamp(13px, 1.2vw, 16px);
  }

  .hp-about-section,
  .hp-global-section,
  .hp-prod-section,
  .hp-team-section {
    overflow-x: clip;
  }

  .quote-btn {
    min-height: 44px;
    min-width: 44px;
  }

  .hp-hero-cta {
    min-height: 44px;
    height: auto;
    padding: 10px 14px 10px 22px;
    font-size: 13px;
  }

  .hp-hero-cta .cta-arrow {
    width: 20px;
    height: 20px;
    font-size: 10px;
  }

  .hp-prod-tab {
    min-height: 44px;
  }

  .product-details-part .nav-tabs {
    gap: clamp(24px, 5vw, 72px);
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
}
