/* ==========================================================================
   DALY BMS — 首页 6 屏
   全屏滚动只在 >1080px 生效（.daly-fp-active 由 fullpage.js 加在 body 上）
   ≤1080px 或编辑器内 = 普通文档流滚动
   ========================================================================== */

.fullPage {
  position: relative;
}

/* ---------- 全屏滚动激活态 ---------- */
body.daly-fp-active {
  overflow: hidden;
}

body.daly-fp-active .daly-page-wrap {
  overflow: hidden;
}

body.daly-fp-active .fullPage {
  will-change: transform;
}

/*
 * ⚠️ 全屏滚动模式下 body 是 overflow:hidden，屏内内容一旦超出 100vh
 * 就彻底够不着（用户实测：矮视口下联系表单的 Send 按钮滑不到）。
 * 所以这里必须 overflow-y:auto 兜底，让超高的那一屏自己能滚。
 * fullpage.js 的 normalScrollElements 同理放行 .fp-scrollable。
 */
body.daly-fp-active .fullPage > .section {
  display: flex;
  align-items: center;
  height: 100vh;
  min-height: 100vh;
  overflow-x: hidden;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}

/* 首页 header 浮在第一屏之上（源站 .index_web_head position:relative + 半透明） */
body.daly-fp-active .web_head {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
}

/* 非全屏模式（≤1080 / 编辑器）：普通区块 */
.fullPage > .section {
  position: relative;
  padding: 70px 0;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}

/*
 * ⚠️ 不要在这里写 width:100%，会盖掉 header.css 里 .layout 的 1500/1400/1300px 分级宽度，
 * 导致内容贴到屏幕左边缘不居中。只补上下居中所需的 margin。
 */
.fullPage > .section > .layout {
  margin-top: auto;
  margin-bottom: auto;
}

/* ==========================================================================
   通用元素
   ========================================================================== */

/* 源站 .index_hd .hd_title 实测：42px / 500 / uppercase / line-height 1
   .index_hd 本身 16px/400、margin-bottom 55px（≤1080 收到 45px）
   （早前我写 36px 是自造的） */
.daly-sec-title {
  position: relative;
  display: block;
  margin: 0 0 14px;
  color: #000;
  font-weight: 500;
  font-size: 42px;
  line-height: 1;
  text-transform: uppercase;
}

.daly-sec-sub {
  margin: 0 0 55px;
  color: #666;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.5;
}

/* 源站 .dali-more 实测值（勿凭感觉改）：
   width:190px; padding:10px 0; border-radius:24px; bg #c80000; border 1px #c80000;
   16px/500 uppercase; hover → 背景透明、文字 #aaa、边框 #aaa（不是加深红色） */
.daly-btn {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-right: 10px;
  padding: 10px 0;
  width: 190px;
  border: 1px solid var(--daly-red-dark);
  border-radius: 24px;
  background-color: var(--daly-red-dark);
  color: #fff;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.5;
  text-transform: uppercase;
  text-decoration: none;
  transition: all 0.35s ease-in-out;
}

.daly-btn:hover {
  border-color: #aaa;
  background-color: transparent;
  color: #aaa;
}

/* 源站箭头是雪碧图 img/arrright.png，我们没有该素材（版权），
   用等尺寸(26x11)的纯 CSS 箭头还原同一视觉位置 */
.daly-arrow {
  position: relative;
  display: inline-block;
  margin-left: 7px;
  width: 26px;
  height: 11px;
}

.daly-arrow::before {
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  height: 1px;
  background: currentColor;
  content: "";
  transform: translateY(-50%);
}

.daly-arrow::after {
  position: absolute;
  top: 50%;
  right: 0;
  width: 7px;
  height: 7px;
  border-top: 1px solid currentColor;
  border-right: 1px solid currentColor;
  content: "";
  transform: translateY(-50%) rotate(45deg);
}

.index_about_container .daly-btn { margin-top: 35px; }
.media_head .daly-btn { margin-top: 0; }

@media (max-width: 1080px) {
  .daly-btn {
    margin-top: 5%;
    padding: 10px 0;
    width: 150px;
    font-size: 12px;
  }
}

/* ==========================================================================
   屏 1 — Banner 轮播
   ========================================================================== */

.section_banner {
  padding: 0 !important;
  background: #000;
}

/* 源站两套轮播：.slider_banner_pc 桌面显示 / .slider_banner_mob 移动显示 */
.daly-banner {
  position: relative;
  width: 100%;
  overflow: hidden;
}

.daly-banner--mob {
  display: none;
}

.daly-slide .banner-wrap {
  display: block;
  width: 100%;
  height: 100%;
  line-height: 0;
}

.daly-slide {
  position: absolute;
  inset: 0;
  opacity: 0;
  transition: opacity 0.8s ease;
}

.daly-slide.active {
  position: relative;
  opacity: 1;
}

.daly-slide img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

body.daly-fp-active .section_banner .daly-banner,
body.daly-fp-active .section_banner .daly-slide .banner-wrap,
body.daly-fp-active .section_banner .daly-slide img {
  height: 100vh;
}

/* ---------- 关于屏的视频播放按钮（源站 .about-video） ----------
   源站：position:absolute; top:50%; right:0; padding:45px; border-radius:50%;
        background:rgba(255,255,255,.8); hover 放大 1.1 */
/* 源站：position:absolute; top:50%; right:0; padding:45px; radius 50%;
   bg rgba(255,255,255,.8); hover 放大 1.1。
   ⚠️ z-index 必须高于右侧固定的 SEND EMAIL(.aside_inuiry z-index:99)，
   两者都贴右边缘会重叠，否则播放按钮点不动（实测 elementFromPoint 命中 <a>）。*/
.about-video {
  position: absolute;
  top: 50%;
  right: 0;
  z-index: 100;
  padding: 45px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.8);
  cursor: pointer;
  transform: translateY(-50%);
  transition: all ease-in-out 0.35s;
}

.about-video:hover {
  background: rgba(255, 255, 255, 0.9);
  transform: translateY(-50%) scale(1.1);
}

.about-video img {
  display: block;
  width: auto;
  max-width: 50px;
  height: auto;
}

.daly-banner-dots {
  position: absolute;
  bottom: 26px;
  left: 50%;
  z-index: 5;
  display: flex;
  gap: 10px;
  transform: translateX(-50%);
}

.daly-banner-dots button {
  padding: 0;
  width: 10px;
  height: 10px;
  border: 0;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.55);
  cursor: pointer;
  transition: all 0.3s ease;
}

.daly-banner-dots button.active {
  width: 26px;
  border-radius: 5px;
  background: var(--daly-red);
}

/* ==========================================================================
   屏 2 — 主推产品
   ========================================================================== */

.index_feature_product {
  padding: 0 !important;
  background: #fff;
}

.index_feature_product > a {
  display: block;
  width: 100%;
  line-height: 0;
}

.index_feature_product img {
  display: block;
  width: 100%;
  height: auto;
}

body.daly-fp-active .index_feature_product > a,
body.daly-fp-active .index_feature_product img {
  height: 100vh;
  object-fit: cover;
}

/* 源站移动端专用图：桌面隐藏，≤1080 顶替背景图 */
.index_about_container .mobile_img {
  display: none;
}

/* ==========================================================================
   屏 3 — COMPANY STRENGTH
   源站：文字左栏约占一半，右侧留给背景图
   ========================================================================== */

/* 源站 .index_about_container{padding:100px 0 70px; background-attachment:fixed;
   border-radius:0 0 30px 30px}；.about-wrap{width:50%; margin-right:auto} */
.index_about_container {
  padding: 100px 0 70px;
  background-attachment: fixed;
  border-radius: 0 0 30px 30px;
  overflow: hidden;
}

/* .about-video 以 .layout 为定位基准（源站实测 left:1211，在容器内不贴视口边） */
.index_about_container .layout {
  position: relative;
}

.index_about_container .about_text {
  position: relative;
  margin-right: auto;
  width: 50%;
  color: #000;
  font-weight: 400;
}

/* 源站 .about-wrap h4：#000 / 500 / 24px / line-height 1；margin 28px 0 6px */
.about_sub {
  margin: 28px 0 6px;
  color: #000;
  font-weight: 500;
  font-size: 24px;
  line-height: 1;
}

/* 源站 .about-wrap p：#000 / 16px / line-height 1.5 */
.about_desc p {
  margin: 0 0 16px;
  color: #000;
  font-size: 16px;
  line-height: 1.5;
}

/* 源站 .about-numbers：display:flex; margin-top:80px; justify-content:space-between */
.about_data {
  position: relative;
  display: flex;
  justify-content: space-between;
  margin: 80px 0 0;
  padding: 0;
  list-style: none;
}

/* 源站 .about-number 实测：max-width:24%; text-align:center
   数字 .about-num：#c80000 / 500 / 24px / line-height 1.25
   标签 .about-num-desc：#000 / 400 / 16px，margin-top:7px; padding:7px 0
        并且分隔线是它的 ::before —— 130px 宽、1px、#707375、居中在**标签上方**
        （不是我原先做的"数字下 border-bottom"） */
.about_data li {
  position: relative;
  max-width: 24%;
  text-align: center;
}

.about_data strong {
  position: relative;
  display: block;
  color: var(--daly-red-dark);
  font-weight: 500;
  font-size: 24px;
  line-height: 1.25;
  white-space: nowrap;
}

.about_data strong sup {
  font-size: 0.6em;
  vertical-align: super;
}

.about_data span {
  position: relative;
  display: block;
  margin-top: 7px;
  padding: 7px 0;
  color: #000;
  font-weight: 400;
  font-size: 16px;
  line-height: 1.5;
}

.about_data span::before {
  position: absolute;
  top: 0;
  left: 50%;
  width: 130px;
  height: 1px;
  background-color: #707375;
  content: "";
  transform: translateX(-50%);
}

/* ==========================================================================
   屏 4 — BMS SERVICE AND SUPPORT
   ========================================================================== */

/* 源站：圆角 + 阴影 + 背景固定视差 */
.index_feature_product,
.index_about_container,
.index_support_container,
.index_media_container,
.index_connection_container {
  border-radius: 0 0 15px 15px;
  box-shadow: 0 5px 15px 0 rgba(0, 50, 67, 0.15);
}

.index_support_container {
  position: relative;
  z-index: 12;
  border-radius: 0 0 30px 30px;
  background-attachment: fixed;
  box-shadow: 0 10px 25px 0 rgba(0, 50, 67, 0.15);
  color: #fff;
  overflow: hidden;
}

.index_support_container .daly-sec-title {
  color: #fff;
}

.index_support_container .daly-sec-sub {
  color: rgba(255, 255, 255, 0.8);
}

/* 结构照源站：无卡片边框/背景，图标白化，hover 变红 */
.support_items {
  position: relative;
  display: flex;
  padding-top: 30px;
  justify-content: space-between;
}

.support_item {
  position: relative;
  padding: 20px;
  width: 17.5%;
  height: 526px;
  border-radius: 10px 10px 0 0;
  color: #fff;
  text-align: center;
  text-decoration: none;
  overflow: hidden;
  cursor: pointer;
}

.support_icon {
  position: relative;
  line-height: 100px;
}

.support_icon img {
  display: inline-block;
  width: auto;
  max-height: 100px;
  /* 源站把彩色图标滤成纯白，hover 时还原本色 */
  filter: grayscale(100) brightness(100);
  transition: filter 0.35s ease-in-out;
}

.support_item:hover .support_icon img {
  filter: none;
}

.support_desc {
  position: relative;
  margin-top: 40px;
  padding: 25px 0;
  border-top: 1px solid rgba(255, 255, 255, 0.7);
  color: #fff;
  font-weight: 500;
  font-size: 20px;
  line-height: 1.5;
  transition: all 0.35s ease-in-out;
}

.support_item:hover .support_desc {
  border-color: var(--daly-red-dark);
  color: var(--daly-red-dark);
}

/* ==========================================================================
   屏 5 — MEDIA CENTER
   ========================================================================== */

/* 源站 .index_media_container .hd_title_bar：flex + align-items:center +
   space-between + margin-bottom:100px（≤某断点收到 50px，≤1080 变 block） */
.media_head {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 100px;
}

.media_head .daly-sec-sub {
  margin-bottom: 0;
}

.news_list {
  display: grid;
  margin: 0;
  padding: 0;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
  list-style: none;
}

.news_list a {
  display: block;
  height: 100%;
  border-radius: 8px;
  background: #fff;
  color: var(--daly-text);
  overflow: hidden;
  text-decoration: none;
  transition: all 0.3s ease;
}

.news_list a:hover {
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.12);
  transform: translateY(-6px);
}

.news_list figure {
  margin: 0;
  aspect-ratio: 16 / 10;
  background: #f5f5f5;
  overflow: hidden;
}

.news_list figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
}

.news_list a:hover figure img {
  transform: scale(1.06);
}

.news_list time {
  display: block;
  padding: 18px 22px 6px;
  color: #999;
  font-size: 13px;
}

.news_list h3 {
  margin: 0;
  padding: 0 22px 24px;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.5;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.news_list a:hover h3 {
  color: var(--daly-red);
}

/* ==========================================================================
   视频弹层（复刻源站 .youtube_warp）
   源站：warp fixed 全屏 z-index 99；:after 黑色 40% 遮罩 z-index -1；
        box 居中 translate(-50%,-50%)，宽 50%（≤某断点 75% → 90%）；
        关闭按钮 30x30，定位 top:-10 right:-10
   源站关闭图标是它自己的 png（版权素材），这里用等尺寸纯 CSS ✕ 还原
   ========================================================================== */

.youtube_warp {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 99;
  width: 100%;
  height: 100%;
}

.youtube_warp::after {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.4);
  content: "";
}

.youtube_warp .youtube_box {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 50%;
  transform: translateX(-50%) translateY(-50%);
}

.youtube_warp video {
  display: block;
  width: 100%;
  height: auto;
  background: #000;
}

.index_popup_close {
  position: absolute;
  top: -10px;
  right: -10px;
  z-index: 1;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: #fff;
  cursor: pointer;
}

.index_popup_close::before,
.index_popup_close::after {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 14px;
  height: 2px;
  background: #333;
  content: "";
}

.index_popup_close::before {
  transform: translate(-50%, -50%) rotate(45deg);
}

.index_popup_close::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}

@media (max-width: 1280px) {
  .youtube_warp .youtube_box { width: 75%; }
}

@media (max-width: 768px) {
  .youtube_warp .youtube_box { width: 90%; }
}

/* ==========================================================================
   右侧圆点导航（复刻 fullPage.js #fp-nav）
   ========================================================================== */

#fp-nav {
  position: fixed;
  top: 50%;
  right: 22px;
  z-index: 100;
  transform: translateY(-50%);
}

#fp-nav ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

#fp-nav li {
  position: relative;
  margin: 14px 0;
}

#fp-nav a {
  display: block;
  width: 14px;
  height: 14px;
  text-decoration: none;
}

#fp-nav a span {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #666;
  transform: translate(-50%, -50%);
  transition: all 0.3s ease;
}

#fp-nav li.active a span,
#fp-nav a:hover span {
  width: 12px;
  height: 12px;
  background: var(--daly-red);
}

#fp-nav .fp-tooltip {
  position: absolute;
  top: 50%;
  right: 22px;
  color: #333;
  font-size: 12px;
  white-space: nowrap;
  opacity: 0;
  transform: translateY(-50%);
  transition: opacity 0.3s ease;
  pointer-events: none;
}

#fp-nav li:hover .fp-tooltip,
#fp-nav li.active .fp-tooltip {
  opacity: 1;
}

/* ==========================================================================
   响应式
   ========================================================================== */

/* 源站梯队：about-wrap 50% → 60% → 80% → 100%；about-num 24→20→18→16px */
@media (max-width: 1440px) {
  .index_about_container .about_text { width: 60%; }
  .about_data strong,
  .about_sub { font-size: 20px; }
  .about_data { margin-top: 45px; }
}

@media (max-width: 1280px) {
  .daly-sec-title { font-size: 32px; }
  .index_about_container .about_text { width: 80%; }
  .about_data strong,
  .about_sub { font-size: 18px; }
}

/* ≤1080：全屏滚动关闭，回归普通滚动 */
@media (max-width: 1080px) {
  .fullPage > .section {
    height: auto;
    min-height: 0;
    padding: 54px 0;
  }

  .section_banner { padding: 0 !important; }

  /* 源站 ≤1080：桌面轮播隐藏，移动轮播（另一批中文名图）显示 */
  .daly-banner--pc { display: none; }
  .daly-banner--mob { display: block; }

  /* 源站移动端 .about-video 移到右上角、缩小 */
  .about-video {
    top: 15px;
    right: 15px;
    padding: 14px;
    transform: none;
  }

  .about-video:hover { transform: none; }
  .about-video img { max-width: 28px; }

  .daly-sec-title { font-size: 26px; }

  /* 源站 ≤1080：about-wrap 100% + padding-top 15px；背景图换成 .mobile_img，
     这里等效处理成背景不再 fixed；数字块两列 48% */
  /* 源站 ≤1080：.index_about_container{background-image:none!important}
     改由 .mobile_img 铺满 */
  .index_about_container {
    position: relative;
    padding: 40px 0 25px;
    background-image: none !important;
  }

  .index_about_container .mobile_img {
    position: absolute;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    inset: 0;
  }

  .index_about_container .layout {
    position: relative;
    z-index: 1;
  }

  .index_about_container .about_text {
    width: 100%;
    padding: 15px 0 0;
  }

  .about_data { flex-wrap: wrap; }

  .about_data li {
    max-width: unset;
    padding: 10px 0;
    width: 48%;
  }

  .about_data strong,
  .about_sub { font-size: 16px; }

  /* 源站 ≤1080：两列、高度自适应、图标和文字缩小 */
  .index_support_container { background-attachment: scroll; }
  .support_items { flex-wrap: wrap; padding-top: 15px; }
  .support_item {
    padding: 20px 10px;
    width: 50%;
    height: auto;
    border-radius: 0;
  }
  .support_icon { line-height: 60px; }
  .support_icon img { max-height: 60px; }
  .support_desc { margin-top: 15px; padding: 10px 0; font-size: 16px; }

  /* 源站 ≤1080：.hd_title_bar 变 block */
  .media_head {
    display: block;
    margin-bottom: 30px;
  }

  .daly-sec-sub { margin-bottom: 45px; }

  .news_list { grid-template-columns: 1fr; gap: 20px; }

  #fp-nav { display: none; }
}

@media (max-width: 640px) {
  .support_desc { margin-top: 10px; padding: 7px 0; font-size: 12px; }
  .support_icon { line-height: 50px; }
  .support_icon img { max-height: 50px; }
  .about_data li { flex: 0 0 100%; }
}
