/* ================= 首页视觉重构 ================= */

/* ---------- 0. 站点主标题（h1） ---------- */
.idx-hero{
  width: 1200px; margin: 0 auto 6px; padding: 24px 30px; text-align: center;
  background: linear-gradient(120deg, #f4f9ed 0%, #e7f0da 100%);
  border: 1px solid #dde9cd; border-radius: 12px;
}
.idx-hero h1{
  font-size: 28px; color: #2f3a2a; font-weight: bold; letter-spacing: 1px; line-height: 38px;
}
.idx-hero p{ margin-top: 8px; font-size: 14px; color: #7d8b6f; line-height: 24px;}

/* ---------- 0.05 Banner 浮动主标题（h1） ---------- */
.banner-index{ position: relative;}
/* 左侧渐变遮罩，保证白字可读 */
.banner-index:after{
  content: ""; position: absolute; left: 0; right: 0; top: 0; bottom: 0; z-index: 1;
  background: linear-gradient(90deg, rgba(11,26,8,.62) 0%, rgba(11,26,8,.34) 42%, rgba(11,26,8,0) 76%);
  pointer-events: none;
}
.slideBox .hd{ z-index: 5;}
.bn-cap{
  position: absolute; left: 0; right: 0; top: 50%; transform: translateY(-50%);
  z-index: 2; pointer-events: none;
}
.bn-cap-inner{
  width: 1200px; margin: 0 auto; padding: 0 40px; box-sizing: border-box;
  animation: bnFloat 5.6s ease-in-out infinite;
}
.bn-cap-badge{
  display: inline-block; padding: 6px 16px; border-radius: 30px;
  background: rgba(102,153,52,.94); color: #fff; font-size: 14px; letter-spacing: 2px;
  box-shadow: 0 6px 18px rgba(0,0,0,.2);
}
.bn-cap h1{
  margin: 16px 0 0; font-size: 44px; line-height: 58px; font-weight: 800;
  color: #fff; letter-spacing: 2px; text-shadow: 0 3px 14px rgba(0,0,0,.5);
}
.bn-cap-sub{
  margin-top: 14px; font-size: 17px; line-height: 28px; color: rgba(255,255,255,.94);
  text-shadow: 0 2px 8px rgba(0,0,0,.45);
}
.bn-cap-keys{ margin-top: 20px; display: flex; flex-wrap: wrap; gap: 10px;}
.bn-cap-keys span{
  padding: 5px 14px; border-radius: 4px; font-size: 14px; color: #fff;
  background: rgba(255,255,255,.16); border: 1px solid rgba(255,255,255,.38);
}
.bn-cap-btns{ margin-top: 28px; display: flex; gap: 14px; pointer-events: auto;}
.bn-btn{
  display: inline-flex; align-items: center; height: 48px; padding: 0 28px;
  border-radius: 4px; font-size: 16px; font-weight: bold; text-decoration: none;
  transition: transform .22s, box-shadow .22s, background .22s, color .22s;
}
.bn-btn-1{ background: linear-gradient(90deg,#669934,#7fb33f); color: #fff; box-shadow: 0 8px 20px rgba(102,153,52,.35);}
.bn-btn-1:hover{ color: #fff; transform: translateY(-2px); box-shadow: 0 12px 26px rgba(102,153,52,.5);}
.bn-btn-2{ background: rgba(255,255,255,.95); color: #d2591f; border: 1px solid #fff;}
.bn-btn-2:hover{ background: #fff; color: #b84a13; transform: translateY(-2px);}
@keyframes bnFloat{
  0%,100%{ transform: translateY(0);}
  50%{ transform: translateY(-11px);}
}
@keyframes bnIn{
  from{ opacity: 0; transform: translateY(26px);}
  to{ opacity: 1; transform: none;}
}
.bn-cap-badge{ animation: bnIn .7s .05s both;}
.bn-cap h1{ animation: bnIn .8s .18s both;}
.bn-cap-sub{ animation: bnIn .8s .34s both;}
.bn-cap-keys{ animation: bnIn .8s .5s both;}
.bn-cap-btns{ animation: bnIn .8s .66s both;}

@media (max-width: 1200px){
  .bn-cap-inner{ width: 100%; padding: 0 24px;}
  .bn-cap h1{ font-size: 32px; line-height: 42px;}
  .bn-cap-sub{ font-size: 15px; line-height: 25px;}
}

/* ---------- 0.1 区块内容区与下方内容拉开间距 ---------- */
.ty_content.nr.clearfix{ margin-bottom: 46px;}
.sbanner .ty_content.nr.clearfix{ margin-bottom: 0;}

/* ---------- 1. 通用区块标题（去掉 tiltebg 图片背景） ---------- */
.more-title{ width: 1200px; margin: 56px auto 40px; text-align: center; position: relative;}
.more-title h5{
  color: #2f3a2a; font-weight: 700; font-size: 30px; line-height: 32px; letter-spacing: 2px;
  position: relative; display: inline-block; padding: 0 26px;
}
.more-title h5:before,
.more-title h5:after{
  content: ""; position: absolute; top: 50%; width: 46px; height: 1px; background: #c9d4bd;
}
.more-title h5:before{ left: -52px;}
.more-title h5:after{ right: -52px;}
.more-title h5 i{ display: block; width: 34px; height: 3px; background: #669934; border-radius: 2px; margin: 10px auto 0;}
.more-title h6{
  margin-top: 14px; height: auto; color: #8a8a8a; font-size: 15px; line-height: 24px; font-weight: normal;
  background: none !important;
}
.fwxm .more-title h6,
.product .more-title h6,
.advantage .more-title h6,
.case .more-title h6,
.honor .more-title h6,
.about .more-title h6{ background: none !important;}

/* ---------- 2. 热门服务 · 分类选项卡 ---------- */
.product{ height: auto; overflow: visible; padding-bottom: 40px;}
.svc-tabs{ background: #fff; border: 1px solid #ececec; border-radius: 10px; overflow: hidden; box-shadow: 0 4px 18px rgba(0,0,0,.05);}
.svc-tab-hd{ display: flex; border-bottom: 1px solid #ececec; background: #fafbfa;}
.svc-tab-hd li{ flex: 1; text-align: center; height: 58px; line-height: 58px; position: relative; cursor: pointer; transition: all .2s;}
.svc-tab-hd li a{ display: block; color: #555; font-size: 16px;}
.svc-tab-hd li:after{ content: ""; position: absolute; right: 0; top: 18px; height: 22px; width: 1px; background: #e6e6e6;}
.svc-tab-hd li:last-child:after{ display: none;}
.svc-tab-hd li.on{ background: #669934;}
.svc-tab-hd li.on a{ color: #fff; font-weight: bold;}
.svc-tab-hd li:hover:not(.on){ background: #f0f4eb;}
.svc-tab-hd li:hover:not(.on) a{ color: #669934;}
.svc-tab-bd{ padding: 24px 16px 8px;}
.svc-pane > ul{ display: flex; flex-wrap: wrap; gap: 20px;}
.svc-pane > ul > li{
  width: calc(25% - 15px); float: none; margin: 0; text-align: center;
  border: 1px solid #f0f0f0; border-radius: 8px; overflow: hidden; background: #fff;
  transition: all .28s;
}
.svc-pane > ul > li:hover{ transform: translateY(-5px); box-shadow: 0 10px 22px rgba(0,0,0,.12); border-color: #d8e6cb;}
.svc-pane > ul > li .pic{
  width: 100%; height: 215px; overflow: hidden; position: relative; background: #f1f5ec;
}
.svc-pane > ul > li .pic img{ width: 100%; height: 100%; object-fit: cover; transition: transform .45s;}
.svc-pane > ul > li:hover .pic img{ transform: scale(1.08);}
.svc-pane > ul > li .pic:after{
  content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 64px;
  background: linear-gradient(rgba(0,0,0,0), rgba(0,0,0,.20));
  opacity: 0; transition: opacity .3s;
}
.svc-pane > ul > li:hover .pic:after{ opacity: 1;}
.svc-pane > ul > li .mc{
  position: relative; width: auto; padding: 16px 12px 18px;
  color: #333; font-size: 16px; font-weight: bold; letter-spacing: 1px;
  transition: color .25s;
}
.svc-pane > ul > li .mc:after{
  content: "›"; position: absolute; right: 14px; top: 50%; transform: translateY(-50%) translateX(-6px);
  font-size: 20px; color: #669934; opacity: 0; transition: all .28s;
}
.svc-pane > ul > li:hover .mc{ color: #669934;}
.svc-pane > ul > li:hover .mc:after{ opacity: 1; transform: translateY(-50%) translateX(0);}

/* ---------- 3. 服务团队轮播 ---------- */
.honor .nr{ position: relative; height: auto; padding: 0 0 10px;}
.team-slider{ position: relative; padding: 0 56px;}
.team-viewport{ overflow: hidden;}
.team-track{ display: flex; width: 100%;}
.team-track .team-item{
  flex: 0 0 33.3333%; box-sizing: border-box; padding: 0 12px;
  background: none; box-shadow: none; border-radius: 0; text-align: center;
}
.team-track .team-item:hover{ transform: none; box-shadow: none;}
.team-pic{
  width: 100%; height: 260px; overflow: hidden; border-radius: 10px 10px 0 0; background: #eef2f6;
  box-shadow: 0 6px 18px rgba(0,0,0,.08);
}
.team-pic img{ width: 100%; height: 100%; object-fit: cover; transition: all .4s;}
.team-item:hover .team-pic img{ transform: scale(1.05);}
.team-info{
  padding: 14px 12px 18px; background: #fff; border: 1px solid #f0f0f0; border-top: none;
  border-radius: 0 0 10px 10px;
}
.team-info dt{ color: #333; font-size: 18px; font-weight: bold; line-height: 26px;}
.team-info .team-role{ color: #669934; font-size: 14px; line-height: 24px; margin-top: 2px;}
/* 成员未填 tags（职位）时隐藏空行 */
.team-info .team-role:empty{ display: none;}
.team-info .team-desc{ color: #999; font-size: 13px; line-height: 20px; margin-top: 6px; min-height: 40px;}
.team-btn{
  position: absolute; top: 116px; width: 40px; height: 40px; line-height: 36px; text-align: center;
  font-size: 28px; color: #8a9a7a; background: #fff; border: 1px solid #e4e4e4; border-radius: 50%;
  transition: all .25s; z-index: 2;
}
.team-btn:hover{ background: #669934; color: #fff; border-color: #669934;}
.team-prev{ left: 0;}
.team-next{ right: 0;}
.team-dots{ text-align: center; padding-top: 18px;}
.team-dots span{
  display: inline-block; width: 9px; height: 9px; border-radius: 50%; background: #d3d3d3;
  margin: 0 5px; cursor: pointer; transition: all .25s;
}
.team-dots span.on{ background: #669934; width: 22px; border-radius: 5px;}

/* ---------- 4. 故障自查 ---------- */
.new{ padding-top: 40px;}
.new > div{ height: auto; overflow: visible;}
.nd-stack .question{ width: 100%; margin-bottom: 46px;}
.sec-head{ position: relative; padding-bottom: 14px; border-bottom: 2px solid #f0f0f0; margin-bottom: 20px;}
.sec-head h3{
  display: inline-block; font-size: 22px; color: #2f3a2a; font-weight: bold; line-height: 30px;
  padding-left: 14px; border-left: 4px solid #669934;
}
.sec-head .sec-sub{ margin-left: 14px; color: #9a9a9a; font-size: 14px;}
.sec-head .sec-more{ float: right; color: #9a9a9a; font-size: 14px; line-height: 30px;}
.sec-head .sec-more:hover{ color: #669934;}
.qa-list{ display: flex; flex-wrap: wrap; gap: 16px;}
.qa-item{
  width: calc(33.3333% - 11px); box-sizing: border-box; background: #fff;
  border: 1px solid #eeeeee; border-radius: 8px; transition: all .25s;
}
.qa-item:hover{ border-color: #c9dcb4; box-shadow: 0 8px 20px rgba(0,0,0,.08); transform: translateY(-3px);}
.qa-item > a{ display: block; padding: 16px 18px;}
.qa-q{ display: block; font-size: 16px; color: #333; font-weight: bold; line-height: 24px;}
.qa-q em{
  display: inline-block; width: 20px; height: 20px; line-height: 20px; text-align: center;
  background: #669934; color: #fff; font-size: 12px; border-radius: 50%; margin-right: 8px;
  font-style: normal; vertical-align: 1px;
}
.qa-a{ display: block; margin-top: 8px; font-size: 13px; color: #999; line-height: 21px;}

/* ---------- 5. 公司新闻 / 行业资讯 ---------- */
.news-cols{ display: flex; gap: 30px;}
.news-col{ flex: 1; background: #fff; border: 1px solid #eeeeee; border-radius: 8px; padding: 20px 22px 10px;}
.sec-head.sm h3{ font-size: 19px; padding-left: 12px;}
.news-list li{ border-bottom: 1px dashed #f0f0f0;}
.news-list li:last-child{ border-bottom: none;}
.news-list li a{ display: block; padding: 11px 0; color: #555; font-size: 15px; transition: all .2s;}
.news-list li a:hover{ color: #669934; padding-left: 6px;}
.news-list li .t{
  display: inline-block; max-width: 76%; overflow: hidden; text-overflow: ellipsis;
  white-space: nowrap; vertical-align: middle;
}
.news-list li .d{ float: right; color: #bbb; font-size: 13px;}

/* ---------- 6. 首页维修案例 ---------- */
.idx-cases{ padding: 44px 0 8px; background: #fff;}
.idx-cases ul{ display: flex; flex-wrap: wrap; gap: 16px;}
.idx-cases ul li{
  width: calc((100% - 32px) / 3); background: #fafbfa; border: 1px solid #ececec;
  border-radius: 10px; overflow: hidden; transition: all .25s;
}
.idx-cases ul li:hover{ box-shadow: 0 8px 22px rgba(0,0,0,.09); transform: translateY(-3px);}
.idx-cases ul li .pic{ height: 190px; overflow: hidden;}
.idx-cases ul li .pic img{ width: 100%; height: 100%; object-fit: cover; transition: all .35s;}
.idx-cases ul li:hover .pic img{ transform: scale(1.06);}
.idx-cases ul li .ct{ padding: 14px 16px 18px;}
.idx-cases ul li .ct dt{
  font-size: 16px; color: #333; font-weight: bold; line-height: 24px;
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.idx-cases ul li .ct dd{ margin-top: 6px; font-size: 13px; color: #777; line-height: 21px; height: 42px; overflow: hidden;}
.idx-cases-more{ text-align: center; margin-top: 26px;}
.idx-cases-more a{
  display: inline-block; padding: 9px 32px; border: 1px solid #669934;
  color: #669934; border-radius: 24px; font-size: 14px;
}
.idx-cases-more a:hover{ background: #669934; color: #fff;}

/* ---------- 7. 首页热门标签 ---------- */
.idx-tags{ margin: 34px auto 40px; background: #fff; border: 1px solid #ececec; border-radius: 10px; padding: 18px 22px;}
.idx-tags-head span{ font-size: 16px; color: #4f7825; font-weight: bold; border-left: 4px solid #669934; padding-left: 10px;}
.idx-tags .tag-cloud{ margin-top: 14px;}
.idx-tags .tag-item{ padding: 6px 14px; font-size: 13.5px;}

/* ===== 标签云：14 色轮换 · 亮色版（同一套规则在 sidebar-ext.css 也有一份，供内页侧栏使用） ===== */
.tag-cloud{ display: flex; flex-wrap: wrap; gap: 9px;}
.tag-cloud .tag-item{
  display: inline-block; padding: 5px 12px; font-size: 13px; line-height: 1.5;
  border-radius: 4px; border: 1px solid transparent; text-decoration: none;
  font-weight: 500; transition: all .22s;
}
.tag-cloud .tag-item:hover{ filter: saturate(1.25) brightness(1.04); box-shadow: 0 4px 12px rgba(0,0,0,.14); transform: translateY(-2px);}
.tag-cloud .tag-item:nth-child(14n+1){ background: #d9f2c4; color: #3f6b17; border-color: #bde3a0;}
.tag-cloud .tag-item:nth-child(14n+2){ background: #cbe6ff; color: #1f5ba8; border-color: #a8d2f7;}
.tag-cloud .tag-item:nth-child(14n+3){ background: #ffdcc4; color: #b4530f; border-color: #f7bd94;}
.tag-cloud .tag-item:nth-child(14n+4){ background: #e6d7fb; color: #5f3ba0; border-color: #cdb3f2;}
.tag-cloud .tag-item:nth-child(14n+5){ background: #ffd3e0; color: #ad2450; border-color: #f7a9c2;}
.tag-cloud .tag-item:nth-child(14n+6){ background: #c8f0f4; color: #0f7480; border-color: #9fe0e8;}
.tag-cloud .tag-item:nth-child(14n+7){ background: #ffe9b0; color: #8a5b06; border-color: #f5d282;}
.tag-cloud .tag-item:nth-child(14n+8){ background: #dde3f5; color: #414d78; border-color: #bcc8e8;}
.tag-cloud .tag-item:nth-child(14n+9){ background: #cdf0d4; color: #237a37; border-color: #a3e0b0;}
.tag-cloud .tag-item:nth-child(14n+10){ background: #ffd6ec; color: #94256c; border-color: #f5abd7;}
.tag-cloud .tag-item:nth-child(14n+11){ background: #d4e9ff; color: #15508a; border-color: #a9cef5;}
.tag-cloud .tag-item:nth-child(14n+12){ background: #f2e6c8; color: #7d5c1f; border-color: #e4cf9c;}
.tag-cloud .tag-item:nth-child(14n+13){ background: #c8f0e1; color: #146b50; border-color: #9ee0c9;}
.tag-cloud .tag-item:nth-child(14n+14){ background: #ded2f8; color: #4d3d8c; border-color: #bfaef0;}

@media (max-width: 1200px){
  .svc-pane > ul > li{ width: calc(33.3333% - 14px);}
  .qa-item{ width: calc(50% - 8px);}
  .idx-cases ul li{ width: calc(50% - 8px);}
}
