/**
 * 拓飞云首页 · 1K / 2K / 4K 自适应
 * 断点与后台 admin 保持一致（SKILL.md Admin Backend 4K Fullscreen Adaptation）
 */
body.page-home {
  --home-container-max: 1140px;
  --home-container-x: 15px;
  --home-section-y: 50px;
  overflow-x: clip;
}

body.page-home main,
body.page-home .footer {
  width: 100%;
  max-width: 100vw;
}

/* 内容区与 Bootstrap .container 对齐并随屏宽扩展 */
body.page-home main .container,
body.page-home .footer .container,
body.page-home .footer-quote-section .container {
  width: 100%;
  max-width: var(--home-container-max) !important;
  padding-left: var(--home-container-x);
  padding-right: var(--home-container-x);
}

body.page-home .header-container-wrap .header-container {
  padding-left: 0;
  padding-right: 0;
}

body.page-home .bor-header-container-top {
  width: 100%;
  max-width: none;
  margin-left: 0;
  margin-right: 0;
}

body.page-home .border-padding,
body.page-home .nav-topbar-dropdown {
  max-width: var(--home-container-max);
  margin-left: auto;
  margin-right: auto;
  padding-left: var(--home-container-x);
  padding-right: var(--home-container-x);
  box-sizing: border-box;
}

body.page-home .jd-product-layout {
  max-width: var(--home-container-max);
}

body.page-home .home-swiper,
body.page-home .home-swiper .swiper-container,
body.page-home .home-swiper .swiper-wrapper,
body.page-home .home-swiper .swiper-slide {
  width: 100%;
}

body.page-home .home-swiper .swiper-slide {
  background-size: cover;
  background-repeat: no-repeat;
}

body.page-home .main-products {
  background-size: cover;
  background-position: center top;
}

body.page-home .product-detail {
  align-items: stretch;
  gap: 20px;
}

body.page-home .product-detail-side {
  flex: 0 0 auto;
  width: min(378px, 32%);
  max-width: 100%;
}

body.page-home .product-detail-main {
  min-width: 0;
}

body.page-home .product-detail-lists {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

body.page-home .product-recommend {
  background-size: auto 100%, cover;
  height: 100%;
  min-height: 400px;
}

body.page-home .summary-varied-solution {
  width: 100%;
  max-width: 100%;
}

body.page-home .summary-varied-wrap.active .summary-varied-item {
  width: auto;
}

body.page-home .page-map-body,
body.page-home .intl-map-object {
  max-width: 100%;
}

body.page-home .home-clients .title-main {
  max-width: var(--home-container-max);
  margin-left: auto;
  margin-right: auto;
  padding-left: var(--home-container-x);
  padding-right: var(--home-container-x);
}

body.page-home .space {
  padding-top: var(--home-section-y);
  padding-bottom: var(--home-section-y);
}

body.page-home .space2x {
  padding-top: calc(var(--home-section-y) * 1.6);
  padding-bottom: calc(var(--home-section-y) * 1.6);
}

/* 1K：992–1919px 标准桌面 */
@media (min-width: 992px) and (max-width: 1919px) {
  body.page-home {
    --home-container-x: 24px;
  }
}

/* 2K：1920–2559px */
@media (min-width: 1920px) and (max-width: 2559px) {
  body.page-home {
    --home-container-max: 1680px;
    --home-container-x: 28px;
    --home-section-y: 64px;
    font-size: 15px;
  }

  body.page-home .bor-header-container-top {
    min-width: 0;
    max-width: none;
  }

  body.page-home .header-container .nav-item {
    padding-left: 10px;
    padding-right: 10px;
  }

  body.page-home .home-swiper,
  body.page-home .home-swiper .swiper-slide {
    height: clamp(510px, 26vw, 640px);
  }

  body.page-home .home-swiper .swiper-slide {
    padding-top: clamp(140px, 9vw, 190px);
  }

  body.page-home .home-swiper .slogan {
    font-size: clamp(2.4rem, 2vw, 3.2rem);
  }

  body.page-home .title-head {
    font-size: clamp(2.2em, 2vw, 2.8em);
  }

  body.page-home .product-detail-side {
    width: min(420px, 30%);
  }

  body.page-home .product-recommend {
    min-height: 440px;
  }

  body.page-home .product-detail-lists {
    grid-gap: 1.25rem;
  }

  body.page-home .jd-product-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  body.page-home .HomePartners_module-wrap__kdUF7 .HomePartners_logo-wrap__yeU4Z .HomePartners_left-filter__w5HdY,
  body.page-home .HomePartners_module-wrap__kdUF7 .HomePartners_logo-wrap__yeU4Z .HomePartners_right-filter__Zjeuc {
    width: min(320px, 12vw);
  }
}

/* 4K：≥2560px */
@media (min-width: 2560px) {
  body.page-home {
    --home-container-max: 2200px;
    --home-container-x: 32px;
    --home-section-y: 72px;
    font-size: 16px;
  }

  body.page-home .home-swiper,
  body.page-home .home-swiper .swiper-slide {
    height: clamp(580px, 24vw, 760px);
  }

  body.page-home .home-swiper .swiper-slide {
    padding-top: clamp(160px, 8vw, 240px);
  }

  body.page-home .home-swiper .slogan {
    font-size: clamp(2.8rem, 1.8vw, 3.8rem);
  }

  body.page-home .title-head {
    font-size: clamp(2.4em, 1.8vw, 3em);
  }

  body.page-home .sub-head {
    font-size: clamp(1.1rem, 0.9vw, 1.35rem);
  }

  body.page-home .product-detail-side {
    width: min(480px, 28%);
  }

  body.page-home .product-recommend {
    min-height: 480px;
  }

  body.page-home .product-recommend-title {
    font-size: 22px;
  }

  body.page-home .product-detail-lists {
    grid-gap: 1.5rem;
  }

  body.page-home .jd-product-grid {
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 12px;
  }

  body.page-home .summary-varied-item {
    height: clamp(400px, 18vw, 480px);
  }

  body.page-home .program-item-info-content .title {
    font-size: clamp(28px, 1.4vw, 36px);
  }

  body.page-home .intl-map-data-tit {
    font-size: clamp(32px, 1.2vw, 40px);
  }

  body.page-home .HomePartners_module-wrap__kdUF7 .HomePartners_logo-wrap__yeU4Z .HomePartners_roll-box__eZrDy .HomePartners_row-dom__kXL3b .HomePartners_img-wrap__vRojE {
    width: 200px;
    height: 80px;
  }

  body.page-home .HomePartners_module-wrap__kdUF7 .HomePartners_logo-wrap__yeU4Z .HomePartners_roll-box__eZrDy {
    height: 80px;
  }

  body.page-home .HomePartners_module-wrap__kdUF7 .HomePartners_logo-wrap__yeU4Z .HomePartners_left-filter__w5HdY,
  body.page-home .HomePartners_module-wrap__kdUF7 .HomePartners_logo-wrap__yeU4Z .HomePartners_right-filter__Zjeuc {
    width: min(420px, 10vw);
  }
}

/* 平板及以下保持原有 mobile 规则，取消桌面 min-width 造成的横向滚动 */
@media (max-width: 991px) {
  body.page-home {
    overflow-x: hidden;
  }

  body.page-home .product-detail-side {
    width: 100%;
  }
}
