* {
  margin: 0;
  padding: 0;
}

@font-face {
  font-family: "Monoton";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../css/fonts/5h1aiZUrOngCibe4TkHLQka4BU4.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

html,
body {
  overflow-x: hidden;
  font: calc(100vw / 120) arial, verdana;
  font-family: "Source Han Sans CN";
}

#selectedCount {
  display: inline-block;
  min-width: 1.125rem;  
  text-align: center; 
  height: 1.125rem;  
  line-height: 1.125rem;  
  font-size:1rem;

}
.interestedList img{
  width: 1.25rem;
height: 1.13rem;
}
.modal-overlay {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  width: 100vw !important;
  height: 100vh !important;
}

.modal-container {
  max-height: 90vh !important;
  -ms-overflow-style: none !important;
  scrollbar-width: none !important;
}



a,
ul,
li,
p,
h3 {
  list-style: none;
  text-decoration: none;
  transition: all 0.6s;
  -webkit-transition: all 0.6s;
  -moz-transition: all 0.6s;
  -ms-transition: all 0.6s;
  -o-transition: all 0.6s;
}

img,
table {
  /*  max-width: 100%; */
  transition: all 0.6s;
  -webkit-transition: all 0.6s;
  -moz-transition: all 0.6s;
  -ms-transition: all 0.6s;
  -o-transition: all 0.6s;
}

/* 1. 滚动条整体高度 */
.layui-tab-title::-webkit-scrollbar {
  height: 2px !important;
}

.layui-tab-title::-webkit-scrollbar-track {
    background-color: #f0f0f0 !important;
    border-radius: 3px;
}

.layui-tab-title::-webkit-scrollbar-thumb {
    background-color: #1D48BB !important;
    border-radius: 3px !important;
}

.layui-tab-title::-webkit-scrollbar-thumb:hover {
    background-color: #153699 !important; 
}
/* 首页轮播图 */
.banner {
  left: 0;
  width: 100%;
  top: 0;
  background-attachment: fixed;
}

.banner .swiper {
  height: 62.44rem;
}

.banner img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: fixed;
  background-size: 100% 100%;
}

.banner .swiper-pagination {
  margin-bottom: 1.2rem;
}

.banner .swiper-fade .swiper-slide {
  position: relative;
}

.banner .swiper-pagination .swiper-pagination-bullet {
  opacity: 1;
  width: 0.81rem;
  height: 0.81rem;
  background: #FFFFFF;
  border-radius: 50%;
  background: #FFFFFF;
}


.banner .swiper-pagination .swiper-pagination-bullet-active {
  background: #11427C;
}


.banner .swiper .text {
  position: absolute;
  left: 50%;
  top: 30.5rem;
  transform: translateX(-50%);

}

.banner .swiper .text p {
  text-align: center;
}

.banner .swiper .text p:nth-child(1) {
  font-family: 'MontserratAlternates-Bold-12';
  font-weight: bold;
  font-size: 3.75rem;
  line-height: 4.5rem;
  white-space: nowrap;
  color: #FFFFFF;
  text-shadow: 0rem 0rem 1rem rgba(49, 57, 60, 0.35);
}

.banner .swiper .text p:nth-child(2) {

  font-family: Bronova;
  font-weight: bold;
  font-size: 1.25rem;
  margin-top: 1.88rem;
  display:none;
  color: #FFFFFF;
  text-shadow: 0rem 0rem 1rem rgba(49, 57, 60, 0.7);
}

/* 首页服务 */

.home .serve {

  z-index: 3;
  height: 100%;
  background-size: 100% 100%;
  padding: 5rem 2.44rem 6.69rem 11.5rem;
  display: flex;
  background-repeat: no-repeat;
  position: relative;
  object-fit: cover;
  flex-wrap: wrap;
  margin-top: -8rem;
  justify-content: space-between;
  align-items: flex-start;
}


.home .serve .left-section {
  width: 35rem;
  margin-right: 8rem;
  margin-top: 8rem;
}

.home .serve .right-section {
  flex: 1;
  min-width: 300px;
}

.home .serve .tagline {
  font-family: 'OPPOSans'; 
  font-weight: bold;
  font-size: 1.75rem;
  color: #FFFFFF;
  line-height: 2.44rem;
  margin-bottom: 1.31rem;
}

.home .serve .main-title {
  font-family: 'MontserratAlternates-Bold-12'; 
  font-weight: 900;
  font-size: 3.63rem;
  color: #FFFFFF;
  line-height: 3.75rem;
  margin-bottom: 2.56rem;
}

.home .serve .description {
  font-family: PingFang;
  font-weight: 500;
  font-size: 1.25rem;
  color: #FFFFFF;
  line-height: 2.44rem;
  text-align: justify;
  text-align-last: left;
  display:none;
  opacity: 0.8;
}

.explore-btn {
  width: 13.31rem;
  height: 3.31rem;
  border-radius: 1.63rem;
  border: 0.06rem solid #FFFFFF;
  transition: all 0.3s ease;
  background: transparent;


}

.explore-btn a {
  font-family: 'ArialMT';
  font-weight: 400;
  font-size: 1.25rem;
  color: #FFFFFF;
  transition: all 0.6s;
  transition: all 0.3s ease;


}

.explore-btn:hover {
  background-color: #ffffff;
  cursor: pointer;

  color: #0a74b9;
}

.explore-btn:hover a {
  color: #0047B9;
}

.home .serve .stat-item {
  padding-bottom: 2.19rem;
  border-bottom: 0.06rem solid rgba(255, 255, 255, 0.3);
  display: flex;
  align-items: center;
  padding-top: 4.5rem;
  padding-right: 2.6rem;
  transition: all 0.6s;
}

.home .serve .stat-item:hover {
  transform: translateY(-0.4rem);
}

.home .serve .stat-item:last-child {
  display: flex;
  justify-content: space-between;
  border-bottom: 0.06rem solid rgba(255, 255, 255, 0.3);

}

.home .serve .stat-img {
  width: 10.06rem;
  height: 6.88rem;
  object-fit: cover;
  border-radius: 0.63rem;
  overflow: hidden;
}

.home .serve .stat-img img {

  width: 100%;
  height: 100%;
  
}

.home .serve .stat-img:nth-child(1) {
  margin-right: 2.31rem;
}

.home .serve .stat-item:hover .stat-img img {
  transform: scale(1.1);
  transition: all .6s;
  -webkit-transform: scale(1.1);
  -moz-transform: scale(1.1);
  -ms-transform: scale(1.1);
  -o-transform: scale(1.1);

}

.home .serve .stat-title {
  font-family: 'OPPOSans'; 
  font-weight: 500;
  font-size: 3.38rem;
  line-height: 3rem;
  color: #FFFFFF;
}

.home .serve .stat-title p:nth-child(1) {
  margin-bottom: 1.25rem;
}


.home .attractins {
  background-image: url(../images/attractins.jpg);
  opacity: 0.8;
  background-size: 100% 100%;
  background-repeat: no-repeat;
  padding-left: 2.44rem;
  padding-bottom: 2.5rem;
}

.carousel-title {
  margin-bottom: 4rem;
}


.carousel-title h2 {
  text-align: center;
  font-family: SourceHanSansCN;
  font-weight: 800;
  font-size: 4.38rem;
  color: #0F2352;
  line-height: 3.44rem;
  padding-top: 4rem;
  padding-bottom: 1.88rem;
}

.carousel-title P {
  text-align: center;
  font-family: OPPOSans;
  font-weight: bold;
  font-size: 1.25rem;
  color: #0F2352;
  line-height: 1.75rem;
}


.attractins {
  padding: 2rem 0;
  overflow: hidden;
  /* 防止滑块溢出 */
}

.attractins .swiper {
  width: 100%;
  padding-bottom: 3rem !important;
  overflow: visible;
}

.attractins .swiper-slide {
  height:35.5rem;
  position: relative;
  border-radius: 12px;
  overflow: hidden;
  width:27.5rem !important;
  margin: 0 0.875rem;
  transition: transform 0.6s cubic-bezier(0.25, 0.45, 0.45, 0.95), box-shadow 0.6s ease;
  cursor: pointer;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
}
.attractins .swiper-slide .imgs{

  width: 100%;
    height: 63.2%;
    overflow: hidden;

}

.attractins .swiper-slide .slide-link {
  display: block;
  width: 100%;
  height: 100%;
  position: relative;

  overflow:hidden;
  text-decoration: none;
}

.attractins .swiper-slide img {
  width: 100%;
  height: 100%;



  object-fit: cover;
  transition: transform 0.8s cubic-bezier(0.25, 0.45, 0.45, 0.95), filter 0.6s ease;
  will-change: transform;
}
.attractins .explore-btn{


     border:none;
     width:100%;
height: 2.3rem;
margin-top:0.5rem;

     text-align:right;
     display:flex;
     justify-content:end;
     
}
.attractins .swiper-slide:hover .explore-btn p{
  background-color:#ffffff;
  color: #164EC1;

}
.attractins .explore-btn:hover {
  background: none;
  cursor: pointer;



}
.attractins .explore-btn p{
  width:35%;
  border-radius: 1.63rem;
    border: 0.06rem solid #FFFFFF;
       font-size: 1rem;
    transition: all 0.3s ease;
    background: transparent;
    height: 2.3rem;
    line-height: 2.3rem;
    text-align:center;
}

.attractins .swiper-slide .text {
  <!-- position: absolute; -->
  bottom: 1.81rem;
    border-radius: 0 0 12px 12px ;
    font-family: 'Arial';
  left: 50%;
  <!-- transform: translateX(-50%); -->
  width:91%;
  height: 37%;
  margin: 0 auto;
  padding-right: 2.94rem;

padding: 1.2rem 1.38rem 1rem 1.38rem;
  box-sizing: border-box;

  color: #fff;
  background: rgba(0, 71, 185, 0.88);
  backdrop-filter: blur(10px);

  z-index: 2;
  transform-origin: bottom center;
  transition:
    all 0.6s cubic-bezier(0.16, 1, 0.3, 1),
    background 0.4s ease;

  display: flex;
  flex-direction: column;
}

.attractins .swiper-slide .text p {
  margin: 0;
  font-family: MontserratAlternates-Bold-12;
  transition: all 0.5s cubic-bezier(0.16, 1, 0.3, 1);
  opacity: 1;
  transform: translateY(0);
}

.attractins .swiper-slide .desc{
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    margin-top: 0;
    opacity: 0.9;
    
    font-family: "MontserratAlternates-Bold-12" !important;
    font-weight: bold;
    margin-bottom: 0.5rem;
    font-size: 1.3rem;
   line-height: 1.8rem;
    height: 4.3rem;
}

.attractins .swiper-slide .text p.title {
    font-family: "OPPOSans" !important;
 

    font-size: 1.25rem;
    font-weight:normal;
   line-height: 1.7rem;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
   display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.attractins .swiper-slide .text p.age {
  font-family: Arial, sans-serif;
  font-weight: bold;
   font-size: 1.3rem;
  color: #e0e0e0;
  line-height: 1.5rem;
  margin-bottom: 0.6rem;

}

.attractins .swiper-slide .text p.desc:nth-child(2) {

     display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    margin-top: 0;
    opacity: 0.9;

 font-family: "AlumniSans-Bold" !important; 
    font-weight: bold;
    margin-bottom: 0.5rem;
            font-size: 1.6rem;
}
.attractins .swiper-slide .text p.desc:nth-child(3){
    font-family: "AlumniSans-Bold" !important; 
    font-weight: bold;

margin-top: 0.3rem;
    font-size: 1.4rem;


}

.attractins .swiper-slide .btn-wrap {
  position: absolute;
  bottom: 5.13rem;
  left: 50%;
  transform: translateX(-50%) translateY(20px);
  width: 11.63rem;
  height: 3.25rem;
  z-index: 3;
  opacity: 0;
  pointer-events: none;
  transition: all 0.5s cubic-bezier(0.16, 1, 0.3, 1);
}

.attractins .swiper-slide .btn {
  display: block;
  width: 100%;
  height: 100%;
  line-height: 3.25rem;
  background: #FFFFFF;
  border-radius: 1.63rem;
  font-size: 1.13rem;
  color: #0F2352;
  text-align: center;
  text-decoration: none;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
  transition: all 0.3s ease;
}






.attractins .swiper-slide:hover img {
  transform: scale(1.1);
}

 


.attractins .swiper-slide .cantact a {
  color: #FFFFFF;
  font-family: 'MontserratAlternates-Bold-12'; 
  font-weight: 400;
  font-size: 1rem;
  position: relative;
}

.attractins .swiper-slide .cantact {

  position: absolute;
  transform: scale(0.9);

  writing-mode: vertical-rl;
  left: 2rem;
  bottom: 8.75rem;
  z-index: 77;
  display: none;
}

.attractins .swiper-slide .cantact a::after {
  content: '';
  position: absolute;
  bottom: -3.11rem;
  left: 0.01rem;
    width: 1.6rem;
    height: 2.2rem;
  background-repeat: no-repeat;
  background-image: url(../images/xjt-h.png);
}


/* 分页器样式微调 */
.attractins .swiper-pagination-bullet {
  background: #fff;
  opacity: 1;
  transition: all 0.3s ease;
}
.attractins .swiper-wrapper{
  padding-bottom:3rem;
}
.attractins .swiper-pagination-bullet-active {
  background: #0071bc;
  opacity: 1;
  width: 0.8rem;
  height:0.8rem;
  border-radius: 50%;
}

/* 分页器样式（可选） */
.swiper-pagination {
  bottom: 10px !important;
}

.swiper-pagination-bullet {
  background: #fff;
  opacity: 0.7;
}

.swiper-pagination-bullet-active {
  background: #0071bc;
  opacity: 1;
}

/* 
.attractins .swiper-slide:hover img {
  transform: scale(1.1);
  transition: all .6s;
  -webkit-transform: scale(1.1);
  -moz-transform: scale(1.1);
  -ms-transform: scale(1.1);
  -o-transform: scale(1.1);
} */

.solutions {
  padding-left: 2.44rem;
  padding-bottom: 4.81rem;
  width: 100%;
  background: #FFFFFF;
}

.solution .contact {
  margin-bottom: 12rem;
}

.solutions .swiper-slide {

  width: 26.31rem !important;
  text-align: center;
  background: #fff;

  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-align-items: center;
  align-items: center;
  transition: 300ms;
}

.solutions .swiper-slide {
  display: flex;
  flex-direction: column;


}

.solutions .swiper-wrapper {
  width: 100%;

}

.solutions .swiper {
  overflow: hidden;
  width: 100%;
}

.solutions .swiper-wrapper {
  display: flex;
  align-items: stretch;
}

.solutions .swiper-slide {
  width: 300px;
  /* 固定 Slide 宽度，保证完整展示 */
  height: auto;
  flex-shrink: 0;
  transition: all 0.3s ease;
  opacity: 0.7;
  /* 非激活态半透明 */
}

.solutions .swiper-slide-active {
  opacity: 1;
  /* 激活态完全不透明 */
  /* 可加放大/阴影等效果 */
  transform: scale(1.02);
}

.solutions .swiper-slide-active,
.solutions .swiper-slide-duplicate-active {
  transform: scale(1);
}

.solutions .swiper {
  overflow: hidden;
  padding-left: 0;
  /* 左侧不留空白，激活项贴边完整显示 */
}

.solutions .swiper-slide img {
  width: 100%;
  height: 100%;
}

.solutions .swiper-slide-active .img img {
  width: 65.88rem !important;
  height: 46.25rem !important;
}

.solutions .swiper-slide-active,
.solutions .swiper-slide-duplicate-active {
  width: 65.88rem !important;
  border-radius: 2.5rem;

}

.solutions .swiper-slide-active .img,
.solutions .swiper-slide-duplicate-active .img img {
  height: 46.25rem !important;
  border-radius: 1.72rem;
  object-fit: cover;

}


.solutions .swiper-slide .img img {
  height: 34.69rem;
  border-radius: 1.72rem;
  object-fit: cover;
}

.solutions .swiper-slide {
  margin-left: 0 !important;
}

.solutions .swiper-slide .text {
  width: 100%;
  display: flex;
  justify-content: space-between;
}

.solutions .swiper-slide-active .text .explore-btn {
  display: block !important;
}

.solutions .swiper-slide .text .explore-btn {
  border: 0.06rem solid #114DBF;
  font-family: 'OPPOSans'; 
  font-weight: 400;
  font-size: 1.25rem;
  color: #164EC1;
  line-height: 3.31rem;
  margin-top: 2.38rem;
  display: none;
}

.solutions .swiper-slide .text .explore-btn a {
  font-family: 'OPPOSans'; 
  font-weight: 400;
  font-size: 1.25rem;
  color: #164EC1;
}

.solutions .swiper-slide .text p:nth-child(1) {
  font-family: 'OPPOSans'; 
  font-weight: bold;
  font-size: 1.5rem;
  color: #2B2C3E;
  text-align: left;
  line-height: 1.2rem;
  margin-top: 2.38rem;
  margin-bottom: 1rem;
}

.solutions .swiper-slide .text p:nth-child(2) {
  font-family: SourceHanSansCN;
  font-weight: 500;
  font-size: 1rem;
  text-align: left;
  color: #2B2C3E;
  line-height: 1.2rem;
  height: 1.2rem;
  width: 100%;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-flex;

}

.hero-banner {
  position: relative;
  width: 100%;
  max-width: 100.31rem;
  margin: 0 auto;
  overflow: hidden;
  transition: max-width 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  margin-bottom:5rem;
}
.attractions .decritions{

  min-height:20rem;
}

.hero-image {
  width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
  border-radius: 1.25rem;
  transform: scale(1);
  transition: transform 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.hero-text {
  position: absolute;
  bottom: 4.5rem;
  left: 4rem;
  color: white;
  z-index: 2;
}

.hero-text p {
  font-family: 'OPPOSans'; 
  font-weight: 900;
  font-size: 3.44rem;
  color: #FFFFFF;

}

.hero-text p {
  font-family: 'OPPOSans'; 
  font-weight: 900;
  font-size: 3.44rem;
  color: #FFFFFF;
  line-height: 3.8rem;
}


.hero-banner.full-width {
  max-width: 100vw;

}

.hero-banner.full-width .hero-image {
  transform: scale(1.05);
      border-radius:0!important;
}


.solution .revenue-container {
  display: flex;
  background: #F6F6F6;

  border-radius: 0.94rem;
  max-width: 100.56rem;
  padding: 2.56rem 2rem 0.56rem 2.8rem;

  margin: 0 auto;
}

.solution .revenue-container .sidebar {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.125rem;
  width: 25.63rem;

  box-sizing: border-box;
  position: relative;
}

.solution .revenue-container .nav-item {
  width: 100%;
  border-radius: 0.94rem;
  text-align: left;
  font-family: 'OPPOSans'; 
  height: 6rem !important;
  font-weight: 400;
  line-height: 6rem;
  font-size: 1.5rem;
  color: #FFFFFF;
  cursor: pointer;
  box-sizing: border-box;
  transition: all 0.2s;
  padding: 0 2rem 0 3.31rem;
  white-space: nowrap;
  margin-bottom: 2.5rem;

}

.sidebar .swiper-button-next {
  top: 4.94rem;
  left: 37%;

}

.sidebar .swiper-button-prev {
  top: 93%;
  left: 37%;


}
.home .swiper-pagination{

  display:none;
}
.attractins .swiper-button-prev,
.attractins .swiper-button-next {
    display: flex !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    cursor: pointer !important;
}

.attractins .swiper-button-disabled {
    opacity: 1 !important;
    pointer-events: auto !important;
    cursor: pointer !important;
}
.sidebar .swiper-button-next:hover,
.sidebar .swiper-button-prev:hover {
  background: #0047B9;
  border: none
}
.arrow-down1{

  display:none;
}

.sidebar .swiper-button-next,
.sidebar .swiper-button-prev {
  width: 3.75rem;
  height: 3.75rem;
  border-radius: 50%;
  border: 1px solid #A0A0A0;
  display:none;
}

.sidebar .swiper-button-next img,
.sidebar .swiper-button-prev img {
  width: 1.5rem;
}

.sidebar .swiper-button-prev:after,
.swiper-rtl .swiper-button-next:after,
.sidebar .swiper-button-next:after,
.swiper-rtl .swiper-button-prev:after {
  content: '';
}

.solution .revenue-container .nav-item.active {
  background-color: #0047B9;
  color: white;
}

.solution .revenue-container .nav-item:not(.active) {
  color: #333;
  background: transparent;
}

.solution .revenue-container .nav-item:not(.active):hover {
 background-color: #0047B9;
  color: white;
}

.solution .revenue-container .scroll-btn {
  width: 3.75rem;
  height: 3.75rem;
  border-radius: 50%;
  border: none;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.2s;
  background-color: #165DFF;
  color: white;
}

.solution .revenue-container .scroll-btn:disabled {
  background-color: #ccc !important;
  color: #999 !important;
  cursor: not-allowed;
  opacity: 0.5;

  border: 0.06rem solid #A0A0A0;
}

.solution .revenue-container .scroll-btn.top {
  color: #999;
  margin-bottom: 1.4rem;
}

.solution .revenue-container .scroll-btn.top:not(:disabled) {
  color: white;
  border: none;
}
.solution .revenue-container {
  height:48rem;
}

.solution .revenue-container .content {
  flex: 1;
  margin-left: 8.75rem;
  display: flex;
  flex-direction: column;
  padding-bottom:2rem;
}

.solution .revenue-container .card {
  height: 30.12rem;
  border-radius: 1.25rem;
  color: white;
  position: relative;
  overflow: hidden;
}



.solution .revenue-container .card h2 {
  font-family: 'OPPOSans'; 
  font-weight: 900;
  font-size: 2.5rem;
  color: #FFFFFF;
  line-height: 3.75rem;
  position: absolute;
  left: 4.113rem;
  top: 12.88rem;
}

.solution .revenue-container .card .graphic {
  position: relative;
  height:100%;
}
.solution .revenue-container .card .graphic .mask{
    position: absolute;
    top: 0;
    border-radius: 1.25rem;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0, 0, 0, 0.3);
}
.solution .revenue-container .card .graphic .imgs{
  overflow: hidden;
}
.solution .revenue-container .card .graphic .imgs img{
  height:100%;
}
.solution .revenue-container .card .graphic .imgs:hover img{
    transform: scale(1.1);
  transition: all .6s;
  -webkit-transform: scale(1.1);
  -moz-transform: scale(1.1);
  -ms-transform: scale(1.1);
  -o-transform: scale(1.1);
}
.solution .revenue-container .card .graphic img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  background-size: 100% 100%;
}

.solution .revenue-container .description {
  font-family: 'OPPOSans'; 
  font-weight: 400;
  font-size: 1.13rem;
  color: #333333;
  line-height: 2.5rem;
  margin-top: 2.22rem;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-flex;
}
.expertlse .revenue-container {
    height: 54rem;
}
.solution .revenue-container .content-item {
  display: none;
  flex-direction: column;
}
.solution .revenue-container .content-item:nth-child(2) .card h2{
top: 48%;
}
.solution .revenue-container .content-item:nth-child(3) .card h2{
top: 48%;
}

.solution .revenue-container .content-item:nth-child(5) .card h2{
top: 52%;
}
.solution .revenue-container .content-item:nth-child(4) .card h2{
top: 12%;
}
.solution .revenue-container .content-item.active {
  display: flex;
}
.solution .revenue-container .content-item.active p{

    font-size:1.125rem;
}
.solution .revenue-container .content-item.active p span{
  font-size:1.125rem!important;
}
.contact {
  margin-top: 5.25rem;
  margin-bottom: 12.5rem;

}
.attractions .attractions-tab .tab-item{
   display:block!important;
  line-height:4.5rem!important;
  height:4.5rem!important;
 
}
.portfolio .swiper-button-next, .portfolio .swiper-button-prev, .contacts .swiper-button-next, .contacts .swiper-button-prev, .attractins .swiper-button-prev, .attractins .swiper-button-next, .portfolio-bk-m .swiper-button-prev, .portfolio-bk-m .swiper-button-next{
  z-index:13333!important;
}
.header .maxs .right li.item:nth-child(4)  .attractions-tab .tab-title{
   line-height:4.5rem!important;
}

.header .maxs .right li.item:nth-child(4) .attractions-tab .swiper-wrapper {
    width: 100%;
    text-align: center;
    display: flex;
    justify-content: center;
}

.contact-section {
  max-width: 100.38rem;
  margin: 0 auto;
  background-color: #2D67C5;
  border-radius: 2.5rem;
  padding: 4.81rem 12.44rem 4.75rem 8.75rem;
  display: flex;
  position: relative;
  overflow: hidden;
}

.contact-section::after {
  content: '';
  position: absolute;
  bottom: 0rem;
  right: 0rem;
  width: 18.38rem;
  background-repeat: no-repeat;
  height: 12.56rem;
  background-size: 100% 100%;
  background-image: url(../images/fl.png);
  object-fit: cover;
}

/* 左侧图片容器 */
.contact-image {
  width: 21.69rem;
  height: 15.06rem;
  background: #FFFFFF;
  border-radius: 2.5rem;
  overflow: hidden;
}

.contact-image:hover img {

  transform: scale(1.1);
  transition: all .6s;
  -webkit-transform: scale(1.1);
  -moz-transform: scale(1.1);
  -ms-transform: scale(1.1);
  -o-transform: scale(1.1);
}

.contact-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* 右侧文本区域 */
.contact-content {
  flex: 1;

  margin-left: 6.63rem;
}

.contact-content h2 {
  font-family: 'MontserratAlternates-Bold-12'; 
  font-weight: normal;
  font-size: 1.9rem;
  color: #FFFFFF;
  line-height: 2.63rem;

  margin-bottom: 3.44rem;
}


.contact-link a {
  font-family: Bronova;
  font-weight: bold;
  font-size: 1.4rem;
  color: #FFFFFF !important;
}

.contact-link {

  display: inline-flex;
  align-items: center;
  color: white;
  text-decoration: none;
  font-size: 1.4rem;
  font-weight: 600;
  text-transform: uppercase;
  gap: 0.56rem;

  letter-spacing: 0.05em;
  transition: gap 0.2s ease;
}

.contact-link:hover {
  gap: 0.75rem;
}

.expertlse .hero-text {

  bottom: 9.44rem;
}



.expertlse .hero-banner {
  margin-bottom: 3.31rem;
  margin-top: 9.5rem;
}

.expertlse .company-profile {
  padding: 0 9.79rem 4.88rem 9.79rem;
}

.expertlse .company-profile h4 {
  font-family: 'OPPOSans'; 
  font-weight: 900;
  font-size: 2.5rem;
  color: #333333;
  line-height: 3.75rem;
}

.expertlse .company-profile h3 {
  font-family: 'OPPOSans'; 
  font-weight: 900;
  font-size: 1.5rem;
  color: #333333;
  line-height: 3.75rem;
}

.expertlse .company-profile .description {
  font-family: 'OPPOSans'; 
  font-size: 1.25rem;
  color: #333333;
  line-height: 3rem;
  margin-top:2rem;
}
.contacts1 .partners-section .swiper-button-next,.contacts1 .partners-section .swiper-button-prev{
top: var(--swiper-navigation-top-offset, 27%);

}


.expertlse .tab-container {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2.38rem;
  padding: 4.38rem 9.88rem 4.75rem 9.88rem;
  background: #F6F6F6;

}

.expertlse .tab-card {
  width: 31.88rem;
  height: 15.69rem;
  background: #FFFFFF;
  border-radius: 1.25rem;
  cursor: pointer;
  transition: all 0.2s ease;
  position: relative;
  padding: 2.69rem 2.13rem 1.88rem 2.5rem;
}
.expertlse .tab-card:hover .tab-icon img{
  transform: rotateY(360deg);
}
.attractions .attractions-tab .tab-item:hover .imgs img{
  transform: rotateY(180deg);
}


.expertlse .tab-icon {

  color: #2563eb;
  margin-bottom: 1.81rem;
}

.expertlse .tab-icon img {
  min-width: 2.13rem;
  min-height: 2.6rem;
}

.expertlse .tab-title {
  font-family: 'OPPOSans'; 
  font-weight: bold;
  font-size: 1.88rem;
  color: #333333;
  line-height: 2.5rem;
}

.expertlse .tab-card.active .tab-title,
.expertlse .tab-card.active .tab-subtitle,
.expertlse .tab-card:hover .tab-title,
.expertlse .tab-card:hover .tab-subtitle {
  color: #0047B9;
}

.expertlse .tab-card.active .tab-arrow,
.expertlse .tab-card.active .tab-arrow1,
.expertlse .tab-card:hover .tab-arrow,
.expertlse .tab-card:hover .tab-arrow1 {
  background-color: #0047B9;
}

.expertlse .tab-subtitle {
  font-family: 'ArialMT';
  font-size: 1.25rem;
  color: #666666;
  line-height: 2.5rem;
  white-space: nowrap;
}

.expertlse .tab-arrow,
.expertlse .tab-arrow1 {
  position: absolute;
  right: 2.13rem;
  bottom: 1.88rem;
  width: 2.56rem;
  height: 2.56rem;
  background: #333333;
  border-radius: 50%;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
}

.expertlse .tab-arrow img,
.expertlse .tab-arrow1 img {
  width: 1.06rem;
  height: 1.13rem;
}

/* 内容展示区 */
.expertlse .content-container {
  max-width: 1100px;
  margin: 0 auto;
  display: flex;
  gap: 30px;
  background-color: #e8f0fc;
  padding: 20px;
  border-radius: 12px;
}

.expertlse .content-image {
  flex: 1;
  border-radius: 2.5rem;
  width: 46rem;
  margin-right: 4.13rem;
  overflow: hidden;
}

.expertlse .content-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.expertlse .content-text {
  flex: 1;
  display: flex;
  flex-direction: column;
}

.expertlse .content-title {
  font-family: 'OPPOSans'; 
  font-weight: 900;
  font-size: 2.5rem;
  color: #333333;
  line-height: 3.75rem;
}

.expertlse .content-subtitle {
  font-family: 'OPPOSans'; 
  font-weight: 900;
  font-size: 1.5rem;
  color: #333333;
  line-height: 3.75rem;
}

.expertlse .content-desc {
  font-family: 'OPPOSans'; 
  font-weight: 400;
  font-size: 1.25rem;
  color: #333333;
  line-height: 2.5rem;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 10;
  overflow: hidden;
  text-overflow: ellipsis;
}

.expertlse .tab-content {
  display: none;
}

.expertlse .tab-content.active {
  display: flex;
  padding: 4.93rem 9.81rem 12.5rem 9.81rem;
}

.expertlse .content-image:hover img {
  transform: scale(1.1);
  transition: all .6s;
  -webkit-transform: scale(1.1);
  -moz-transform: scale(1.1);
  -ms-transform: scale(1.1);
  -o-transform: scale(1.1);
}

/* resources */

.resources .tab-icon {
  margin-bottom: 1.5rem;
}

.resources .tab-icon img {
  min-width: 2.5rem;
}

.resources .tab-card {
  padding-top: 1.81rem;
  background: #F6F6F6;
}

.resources .tab-content.active {
  padding: 3.38rem 9.88rem 14.69rem 9.88rem;

}

.resources .tab-container {
  background-color: #FFFFFF;
}

.faq-container {
  margin: 0 auto;
}

.faq-title {
  font-family: 'Arial-BoldMT';
  font-weight: bold;
  font-size: 1.88rem;
  color: #222222;
  line-height: 2.5rem;
  margin-bottom: 1.25rem;
  padding-left: 4rem;
}

.faq-title img {
  width: 2.56rem;
  height: 2.44rem;
}

.faq-item {
  border-radius: 1.25rem;
  overflow: hidden;
  margin: 2.88rem 0 0 0;
  padding: 0;
  background-color: #F6F6F6;
  transition: all 0.5s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.faq-item.active {
  background-color: #0964D8;
}
.resources .tab-content{
background-color: #F6F6F6;
}

.faq-question {
  display: flex;
  justify-content: space-between;
  align-items: center;
  cursor: pointer;
  margin: 0rem 3.94rem 0rem 3.19rem;
  padding-bottom: 1.62rem;
  background-color: transparent;
  border-bottom: 0.06rem solid #DCDCDC;
  transition: border-color 0.5s cubic-bezier(0.34, 1.56, 0.64, 1),
    color 0.5s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.faq-item.active {
  padding-top: 3rem;
}

.faq-item.active .faq-question {
  color: #ffffff;
  border-bottom: 0.06rem solid rgba(255, 255, 255, 0.3);
}

.faq-question-text {
  font-family: 'Arial';
  font-size: 1.75rem;
  color: #222222;
  position: relative;
  padding-left: 1.28rem;
  background-color: transparent;
  transition: color 0.5s cubic-bezier(0.34, 1.56, 0.64, 1);
  line-height: 1.4;
}

.faq-item.active .faq-question-text {
  color: #ffffff;
}

.faq-question-text::before {
  content: '';
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 0.44rem;
  height: 0.44rem;
  background: #333333;
  border-radius: 50%;
  transition: background-color 0.5s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.faq-item.active .faq-question-text::before {
  background: #F6F6F6;
}

.faq-toggle {
  width: 2.44rem;
  height: 2.44rem;
  border-radius: 50%;
  border: 1px solid #0066cc;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 2rem;
  color: #0066cc;
  background-color: #ffffff;
  transition: all 0.5s cubic-bezier(0.34, 1.56, 0.64, 1);
  flex-shrink: 0;
  /* 轻微缩放动画，增强丝滑感 */
  transform: scale(1);
}

.faq-item.active .faq-toggle {
  border-color: #F6F6F6;
  color: #ffffff;
  background-color: #0066cc;
  transform: scale(1.05);
}

.faq-answer {
  overflow: hidden;
  height: 0;
  padding: 0 3.94rem 0 3.19rem;
  background-color: #0066cc;
  color: #ffffff;
  transition: all 0.5s cubic-bezier(0.34, 1.56, 0.64, 1);
  will-change: height, padding;
}

.faq-item.active .faq-answer {
  padding-top: 0.55rem;
  padding-bottom: 2.8rem;
}


.faq-answer-text p {
  font-family: 'ArialMT';
  font-weight: 400;
  font-size: 1.25rem;
  color: #FFFFFF;
  line-height: 2.5rem;
  margin: 0;
}

.faq-answer-paragraph+.faq-answer-paragraph {
  margin-top: 1rem;
}

/* 联系栏样式 */
.contacts {
  padding-top: 9.5rem;
}

.contacts1 .contact-section {
  background-image: url(../images/contact-bk.png);
  color: white;
  background-size: 100% 100%;
  object-fit: cover;
  background-repeat: no-repeat;
  padding: 0rem 7.56rem 0 5.75rem;
  flex-direction:column;
  width: 100.31rem;
  height: 29rem;
  margin: 0 auto;
  position: relative;
  overflow: hidden;
}
.contact-btn:hover img {
  display: inline-block; /* 确保 transform 生效 */
  animation: swing 0.6s ease-in-out infinite; /* 持续时间0.6秒，无限循环 */
  transform-origin: center bottom; /* 设置旋转轴心为底部中心，像钟摆一样 */
}

/* 可选：增加一点过渡效果，让鼠标移开时更平滑 */
.contact-btn img {
  transition: transform 0.3s;
}
@keyframes swing {
  0% {
    transform: rotate(0deg);
  }
  25% {
    transform: rotate(15deg); /* 向右摆 */
  }
  50% {
    transform: rotate(-15deg); /* 向左摆 */
  }
  75% {
    transform: rotate(5deg); /* 小幅回正 */
  }
  100% {
    transform: rotate(0deg); /* 回到原位 */
  }
}

.contacts .contact-section::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1200 200"><path d="M0,100 Q300,50 600,100 T1200,100" fill="none" stroke="rgba(255,255,255,0.1)" stroke-width="8"/></svg>') repeat-x bottom;
  opacity: 0.3;
}

.contacts1 .contact-content {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.contacts1 .contact-section h3{
  font-family: 'OPPOSans'; 
    font-weight: normal;
    text-align:center;
   font-size: 1.8rem;
    margin-top: 4rem;
    color: #FFFFFF;


}
.contacts .contact-info h1 {
  font-family: 'OPPOSans'; 
  font-weight: bold;
  font-size: 3.44rem;
  color: #FFFFFF;
  margin-bottom: 1.3rem;
  line-height: 3.9rem;
}

.contacts .contact-info .email-item {
  display: flex;
  align-items: center;
  font-family: 'OPPOSans'; 
  font-size: 1.5rem;
  color: #FFFFFF;
  line-height: 1.88rem;
  margin-bottom: 2.12rem;
  position: relative;
  padding-left: 2.76rem;
}

.contacts .contact-info .email-item::before {
  position: absolute;
  width: 1.63rem;
  height: 1.31rem;
  background-repeat: no-repeat;
  top: 20%;
  left: 3%;
  transform: translateX(-50%);
  background-size: 100% 100%;
  content: '';
  background-image: url(../images/email.png);
}

.contacts .contact-buttons {
  display: flex;
  gap: 20px;
}

.contacts .contact-btn {
  background: white;
  color: #333;
  border: none;
  width: 23.5rem;
  height: 11.06rem;
  background: #FFFFFF;
  border-radius: 1.25rem;
  font-family: 'OPPOSans'; 
  font-weight: bold;
  font-size: 1.5rem;
  color: #333333;
  cursor: pointer;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 1.44rem;
}

.contacts .contact-btn svg {
  width: 3.19rem;
  height: 3.19rem;
}

/* 合作伙伴轮播区 */
.partners-section {
  background-color: #f5f5f5;
}

.partners-sectio .swiper-wrapper {
  margin-left: 9.94rem;
}

.partners-title {
  text-align: center;
  font-family: 'OPPOSans'; 
  font-weight: bold;
  font-size: 1.88rem;
  color: #222222;
  margin-bottom: 4rem;
  padding-top: 4.44rem;
  margin-top: 5.94rem;
  text-transform: uppercase;
  letter-spacing: 1px;
}
.portfolio .swiper {
    padding-bottom: 4rem!important;
}

.partners-section .swiper {
  width: 100%;
  margin: 0 auto;
  padding-left: 9.94rem;
  padding-bottom: 16rem;
}

.contacts .partners-section .swiper-slide {
  width: 17.81rem !important;
  height: 15.81rem !important;
  background: #FFFFFF;
  border-radius: 1.25rem;
  display: flex;
  align-items: center;
  justify-content: center;

  transition: transform 0.3s;
}

.contacts .partners-section .swiper-slide:hover {
  transform: translateY(-5px);
}

.contacts .partners-section .swiper-slide img {
  max-height: 100%;
  max-width: 100%;
  object-fit: contain;
}

/* 强制修改 Layui 标签栏滚动条宽度 + 样式 */
.layui-tab-title::-webkit-scrollbar {
  width: 6px !important;       /* 竖条宽度（你要的宽度） */
  height: 6px !important;      /* 横条高度（标签栏横向滚动用这个！） */
  background-color: #f5f5f5;
}

/* 滚动条滑块 */
.layui-tab-title::-webkit-scrollbar-thumb {
  background-color: #ccc !important;
  border-radius: 3px !important;
}

/* 让标签栏真正支持滚动（关键修复） */
.layui-tab-title {
  white-space: nowrap !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  padding-bottom: 0 !important;
  position: relative;
  z-index: 1;
}

/* 让 li 不换行、不挤压 */
.layui-tab-title li {
  display: inline-block !important;
  float: none !important;
}

 .paly .swiper {
    width: 100%;
    overflow: hidden;
      transform: translateZ(0); 

  }

  .paly .swiper-slide {
  display: flex;
  align-items: end;
  overflow: hidden;
  will-change: transform, width;
  height:100% !important;
   border-radius: 1.72rem!important;
}
.paly .swiper {
  height: 66%;
  position: relative;
}
  .paly .swiper-slide .box {
    width: 100%;
    height: 100%;
    background: #333;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 16px;
    font-size: 24px;
    transition: all 0.5s ease;
  }

  .paly .slide-item {
    width: 100%;
    height: 100%;
        overflow: hidden;
  }

  .paly .swiper-slide:hover .text-content p {

    transition: color 0.3s ease;
  }

  .paly {
    padding:0 2.44rem;
  }

  .paly .slide-item .img {
    width: 100%;
 height: 100%;
    overflow: hidden;
    border-radius: 1.72rem;
      transform: translateZ(0); 


  }

  .paly .swiper-slide-active .slide-item {
    padding-top: 0rem;
    transition: all 0.3s;
  }



  .paly .swiper-slide .text {
    justify-content: space-between;
    transition: all 0.5s ease;
    margin-top: 2.38rem;
    position:absolute;
    left:5%;
    right:4%;
    top:4%;
    bottom:0;
  }
  .paly .explore-btn{
    border:none;
    position: absolute;
    border-radius:50%;
    bottom: 4%;
  
  }
  .paly .explore-btn img{

    width:1rem!important;
  }
 .paly .explore-btn:hover{
  background:transparent;
 }
  .paly .swiper-slide .text-content p:nth-child(1) {
  font-family: 'MontserratAlternates-Bold-12'; 
    font-weight: bold;
    font-size: 1.4rem;
    color: #ffffff;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }

  .paly .swiper-slide .text-content p:nth-child(2) {
  font-family: 'OPPOSans'; 
    font-weight: 500;
    font-size: 1.25rem;
    margin-top:0.8rem;
  color: #ffffff;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }

  .paly .slide-item .img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 1.72rem;
  }
 .paly .slide-item{
      position:relative;
    }

.paly .slide-item::after{
    content: "";       
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index:0;
    border-radius: 1.72rem;
  

    background-color: rgba(0, 0, 0, 0.3);
}
.paly .text-content{
  position:absolute;
  z-index:9;

}
 
  .paly .swiper-slide-active .slide-item {
    transform: scale(1);
  }

  /* 左边大图 */
  .paly .swiper-slide-active {
    <!-- width: 57% !important; -->
    height: 100%;
  }

  .paly .swiper-slide-active .slide-item {
    width: 100%;
  }

  .paly .swiper-slide-active .slide-item img {
    width: 100%;
  }

  .paly .swiper-slide-active .box {
    background: #ff4d4f;
    transform: scale(1);
  }

  .paly .swiper-slide-next,
  .paly .swiper-slide-next+.swiper-slide {
    height: 100%;
  }

  .paly {
    position: relative;
    height: 63.5rem;
  }

  .paly .explore-btn {
    width:100%;
    cursor: pointer;
    margin-top:1rem;
    text-align:right;
        margin-top: 1rem;
        z-index: 9;

  }
 .paly .explore-btn p{
  display: inline-block;
    width: 3rem;
    height: 3rem;
      background:rgba(0,0,0,0.4);
    border-radius:50%;
    line-height:3rem;
    text-align: center;
    border-radius: 1.63rem;
    border: 1px solid #114DBF;
    transition: all 0.5s ease;
    font-family: 'OPPOSans'; 
    font-weight: 400;
    font-size: 1.125rem;
    color: #164EC1;
    text-decoration: none;
    border:none;
   


 }
  .paly .swiper-slide:hover img {
    transform: scale(1.1);
    transition: all .6s;
    -webkit-transform: scale(1.1);
    -moz-transform: scale(1.1);
    -ms-transform: scale(1.1);
    -o-transform: scale(1.1);
  }

  .paly .swiper-slide-active .explore-btn {
    opacity: 1;
    display: block;
  }

   .paly .swiper-slide :hover .explore-btn p{
    background-color: #164EC1;
    color: #ffffff !important;
  }


  .paly .swiper-button-prev,
  .paly .swiper-button-next {
    width: 3.19rem;
    height: 3.19rem;
    border-radius: 50%;
    border: 1px solid #A0A0A1;
    transition: all 0.3s ease;
    z-index: 333;
    top: 4.81rem;
    z-index: 1!important;
  }

  .paly .carousel-title h2 {
    font-family: SourceHanSansCN;
    font-weight: 800;
    font-size: 4.38rem;
    color: #0F2352;
    line-height: 3.75rem;
    padding-top: 1.19rem;
    text-align: center;
  }

  .paly .carousel-title p {
    line-height: 1.75rem;
  }

  .paly .swiper-button-prev {
    left: 62.5% !important;
  }

  .paly .swiper-button-next {
    right: 31% !important;
  }

  .paly .swiper-button-prev:hover,
  .paly .swiper-button-next:hover {
    background: #0047B9;
    border-color: #0047B9;
  }

  .paly .swiper-button-prev:after,
  .paly .swiper-button-next:after {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    background-size: 100% 100%;
    content: '';
    width: 1.75rem;
    height: 1.19rem;
    background-repeat: no-repeat;
    transition: background-image 0.3s ease;
  }

  .paly .swiper-button-prev:after {
    background-image: url(../images/xjt.png);
  }

  .paly .swiper-button-next:after {
    background-image: url(../images/ljt-a.png);
  }

  .paly .swiper-button-prev:hover:after {
    background-image: url(../images/xjt-a.png);
  }

  .paly .swiper-button-next:hover:after {
    background-image: url(../images/ljt.png);
  }


  .home .paly .hua {
    width: 25.31rem;
    height: 23.7rem;
    position: absolute;
    right: 0;
    top: 0;
    z-index: -1;
  }

  .home .paly {
    padding-top: 5.75rem;
  }

  .home .paly .carousel-title {
    left: 63%;
    top: 5rem;
    z-index: 10;
    pointer-events: none;
  }


  .home .paly .swiper-slide-active .img {
    width: 100%;
    border-radius: 1.72rem;
    overflow: hidden;
  }
.contacts1 .modal-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.7);
  backdrop-filter: blur(10px);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 9999;
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s ease;
}
.portfolio .modal-overlay {
  position: fixed;

  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow:auto;
    display: flex;
  justify-content: center;
  background-color: rgba(0, 0, 0, 0.7);
  backdrop-filter: blur(10px);
  z-index: 9999;
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s ease;
}
.portfolio.modal-container {
    width: 83%;
     height: auto; 
    border-radius: 2.5rem;
}

.portfolio .banner .swiper-pagination {
            position: absolute;
            top:55%;
            right:4rem;
            bottom: 10px !important;
            text-align: center;
        }

       .portfolio .banner .swiper-pagination-bullet {
            width: 0.5rem;
            height: 0.5rem;
            background: #FFFFFF;
            border-radius: 50%;
            opacity: 0.5;
            opacity: 0.4;
            position: relative;
            overflow: hidden;
            transition: opacity 0.3s;
            border-radius: 50%;
            margin:  1rem 0 !important;
        }

      .portfolio .banner  .swiper-pagination-bullet-active {
            opacity: 1;
            background: #fff;
            width: 0.5rem;
            height:3.13rem; !important;
            border-radius: 0.25rem !important;
        }

      
        @keyframes progress-fill {
            from {
                height: 0%;
            }

            to {
               height: 100%;
            }
        }

        .portfolio .banner .swiper-pagination-bullet-active::after {
            content: '';
            position: absolute;
            left: 0;
            top: 0;
            height: 0%;
            width: 100%;

            background-color: #0071bc;

    
            animation: progress-fill 3s linear forwards;
        }


.modal-overlay.active {
  opacity: 1;
  visibility: visible;
}

.modal-container {


  position: relative;
  transform: translateY(-20px);
  transition: transform 0.3s ease;
}

.contacts .modal-container {
  width: 83%;
  border-radius: 2.5rem;
background:#ffffff;


}
.portfolio .modal-container{
top:10%;

}

.modal-overlay.active .modal-container {
  transform: translateY(0);
}

.modal-close {
  position: absolute;
  top: 2rem;
  right: 1.44rem;
  background: none;
  border: none;
  cursor: pointer;
  color: #333;
  width: 3.31rem;
  height: 3.31rem;
  z-index:999;
  border: 1px solid #0047B9;
  border-radius: 50%;
}

.modal-close:hover {
  border: 1px solid #ffffff;
  background-color: #0047B9;
  ;

}

.contacts .modal-title {
  text-align: center;
  font-family: 'OPPOSans'; 
  font-weight: bold;
  font-size: 2.25rem;
  color: #333333;
  padding-bottom: 3rem;
  border-bottom: 0.06rem solid #EEEEEE;

}

.contacts .modal-content {
  text-align: center;
}

.modal-content img {
  max-width: 32.31rem;
  max-height: 19.75rem;
  margin-bottom: 3rem;
  text-align: center;
}

.contacts .modal-description {
  font-family: 'OPPOSans'; 
  font-weight: 400;
  font-size: 1.5rem;
  color: #000000;
  line-height: 3rem;
  min-height: 32vh;
  overflow: auto;
}

.modal-nav {
  display: flex;
  justify-content: center;
}

.modal-btn {
  width: 10.19rem;
  margin: 0 1.42rem;
  height: 3.63rem;
  border-radius: 1.81rem;
  border: 1px solid #ddd;
  background: #EEEEEE;
  cursor: pointer;
  transition: all 0.2s ease;
  font-family: 'OPPOSans'; 
  font-weight: 400;
  font-size: 1.13rem;
}

.modal-btn {
  color: #0047B9;
  border-color: #0047B9;
  background: #ffffff;
}

.modal-btn:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

.modal-btn:hover {
  background: #EEEEEE;
  color: #333333;
  border-color: #EEEEEE;



}

.success-stories {

  padding: 2.5rem 6rem 3.31rem 5.88rem;

}

.portfolio .top-banner {
  width: 100%;
  margin-bottom: 4rem;
  width: 100.31rem;
  height: 46rem;
  margin: 0 auto;
  border-radius: 1.25rem;
  overflow: hidden;
}

.portfolio .top-banner img {
  width: 100%;
  display: block;
}

.portfolio .section .swiper-wrapper {
  padding-left: 9.88rem;
  width: 26.81rem;
}

.portfolio .section-title {
  font-family: 'OPPOSans'; 
  font-weight: 900;
  font-size: 2.5rem;
  color: #333333;
  line-height: 3.75rem;
  margin-bottom: 3rem;
  padding-left: 10rem;
  margin-top: 4rem;
}

.portfolio .swiper-button-prev {

  left: 4.5rem;

}


.portfolio .swiper-button-next ,.contacts .swiper-button-next {
  margin-right: 2.3rem;
}

.portfolio .swiper-button-next,
.portfolio .swiper-button-prev,.contacts .swiper-button-next,
.contacts .swiper-button-prev,.attractins .swiper-button-prev,
.attractins .swiper-button-next,.portfolio-bk-m .swiper-button-prev, .portfolio-bk-m .swiper-button-next{
  width: 3.88rem;
  height: 3.88rem;
  background: #DCDCDC;
  border-radius: 50%;
  z-index: 33;
  top: var(--swiper-navigation-top-offset, 40%);
  transition: all 0.3s;
}
.portfolio-bk-m .swiper-button-prev, .portfolio-bk-m .swiper-button-next{
 display:block;
  }

  .portfolio-bk-m .swiper-button-prev::after, .portfolio-bk-m .swiper-button-next::after{

  top: 24%;
    left: 30%;

  }
.partners-section .swiper-button-next,
.partners-section .swiper-button-prev {
  top: var(--swiper-navigation-top-offset, 45%)
}

.portfolio .swiper-button-next::after,.contacts .swiper-button-next::after ,.attractins .swiper-button-next::after,.portfolio-bk-m .swiper-button-next::after
 {

  content: '';
  width: 1.04rem;
  height: 1.8rem;
  position: absolute;
  background-size: 100% 100%;

  background-repeat: no-repeat;
  background-image: url(../images/jt.png);
  margin-left: 0.3rem;
}

.portfolio .swiper-button-disabled {

  display: none;

}

.portfolio .swiper-button-prev::after ,.contacts .swiper-button-prev::after,.attractins .swiper-button-prev::after,.portfolio-bk-m .swiper-button-prev::after {
  content: '';
  width: 1.04rem;
  height: 1.8rem;
  position: absolute;
  background-size: 100% 100%;
  background-repeat: no-repeat;
  background-image: url(../images/jt-l.png);
}

.portfolio .section .swiper-slide {
  padding-left: 0rem;
  width: 25.31rem !important;
  min-height: 34rem !important;
  margin-right: 3.75rem !important;

}

.portfolio .section .swip er {
  width: 100%;
  padding-bottom: 10px;
}

.portfolio .section .project-card:hover img {
  transform: scale(1.1);
  transition: all .6s;
  -webkit-transform: scale(1.1);
  -moz-transform: scale(1.1);
  -ms-transform: scale(1.1);
  -o-transform: scale(1.1);
}
.portfolio .section .project-card:hover{

  cursor:pointer;
}
.portfolio .section.swiper-slide {
  width: 22%;
}

.portfolio .section .project-card {
  width: 26.81rem;

}

.portfolio .section .project-card .imgs {
  overflow: hidden;
  width: 26.81rem;
  height: 29.44rem;
  border-radius: 1.25rem;
}

.portfolio .section .project-card img {
  width: 100%;
  height: 100%;
  background: #333333;
  border-radius: 1.25rem;
  display: block;
  aspect-ratio: 1 / 1;
  object-fit: cover;
}

.portfolio .project-card p {
  font-family: 'OPPOSans'; 
    font-weight: bold;
    font-size: 1.5rem;
    color: #333333;
    line-height: 1.75rem;
    word-wrap: break-word;     /* 允许单词内断行 */
  word-break: break-all;     /* 强制在任意字符处断行 */
  overflow-wrap: break-word; /* 现代浏览器兼容写法 */
    margin-top: 1.2rem;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-line-clamp: 2;
    text-justify: distribute-all-lines !important;
    hyphens: none !important;
}

.portfolio .section .swiper-slide:hover p{
  color: #024492 !important

}
.layui-tab[overflow] .layui-tab-title {
  display: flex !important;
  flex-wrap: nowrap !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  padding-top:10px !important;
  padding-bottom: 6px !important; 
}

/* 标签项不挤压 */
.layui-tab[overflow] .layui-tab-title li {
  flex: 0 0 auto !important;
  white-space: nowrap !important;
}


.layui-tab[overflow] .layui-tab-title::-webkit-scrollbar {
  height: 2px !important; 
  background: #f5f5f5 !important;
}
.layui-tab[overflow] .layui-tab-title::-webkit-scrollbar-thumb {
  background: #1677FF !important;
  border-radius: 99px !important;
  opacity: 1 !important;
  visibility: visible !important;
  display: block !important;
}
.layui-tab[overflow] .layui-tab-title::-webkit-scrollbar-track {
  background: #f1f1f1 !important;
}

.layui-tab[overflow] .layui-tab-title {
  -ms-overflow-style: auto !important;
  scrollbar-width: auto !important;
}
.portfolio .layui-tab .layui-tab-title {

  text-align: center;
  display: flex;
  justify-content: space-between;
  margin: 0 5rem;
}
#caseTabTitle{
  height:5rem;
}
.explore-btn-app{
  display:none;
}
.explore-btn-pc{
  margin-top:7.81rem;
}

.pc-sidebar{

    display:block;
}
.app-sidebar{

    display:none!important;  
}
.portfolio .layui-tab .layui-tab-title li {
  font-family: 'OPPOSans'; 
  font-weight: bold;
  font-size: 1.3rem;
  color: #909090;
 white-space: normal !important;  
  overflow: visible !important;  
  text-overflow: clip !important; 
  height: auto !important;       
  flex: 0 0 auto !important;     
  max-width: 100% !important;  
}

.portfolio .layui-tab-bar {

  display: none;
}

.portfolio .layui-tab .layui-tab-title li.layui-this {
  color: #333333;
}



.portfolio .layui-tab-title .layui-this:after {
  height: 6.5rem !important;
  bottom: 0rem !important;
}

.portfolio .layui-tab-more li.layui-this:after,
.layui-tab-brief>.layui-tab-title .layui-this:after {
  border-bottom: 0.31rem solid #0964D8 !important;
}

.portfolio .layui-tab-content {

 height: 100%;
  padding-top: 2.4rem;
}
.portfolio .layui-tab-content img{

  width:100%;
    border-radius: 2.5rem;
    margin-bottom:3.25rem

}
.portfolio .layui-tab-content p{
  margin-bottom:3.225rem;
} 
.portfolio .layui-tab-content ul {
  height: 100%;
  
}
.portfolio .layui-tab-content {
  padding:0 5.84rem;
}


.portfolio .case-list {
  background-color:#ffffff;
  border-radius: 2.5rem;
  position:relative;
  margin-top:4rem;
}

.portfolio .case-list .modal-close{
  right:1.44rem;
  top:1rem;
}
.modal-close img,.portfolio .case-list .modal-close img{
  width:1.125rem;
  height:1.125rem;
}
.portfolio .modal-container{
  height:auto;
  position:relative;
}
.portfoliol .modal-close{
  top: 2.8rem!important;

}

.portfolio .case-list h2 {


  border-bottom: none;
  padding-bottom: 0;
}
#successStoriesContent .modal-close{

}
.portfolio .case-list {
  padding-top:3rem;

}
.contacts1 .modal-close {
top:7.8rem!important;
}

.portfolio .layui-tab-content ul img {
  width: 100%;
  background: #FFFFFF;
  border-radius: 2.5rem;
  margin: 0 auto;
 
}
#partnerModal{

overflow: auto;
}

.attractions #partnerModal{
display:none!important;
}


.portfolio .layui-tab-content ul {
  height: 100%;
}

.portfolio .tabmore {

  display: none;
}

.portfolio .case-list .layui-tab ul {
  border: none !important;
  overflow-x:scroll!important;
  height:auto!important;
}

.portfolio .layui-tab-content ul li {
  margin-bottom: 3.25rem;
  border-bottom: none !important;
}

.portfolio .case-list .layui-tab {

  border: none !important;

  margin: 0 !important;
  background-color:#ffffff;
}
.portfolio .modal-close{
  left: 95%;
  z-index:4;

}

.success-stories{
  background:#FFFFFF;
border-radius: 2.5rem;
position:absolute;
top:50%;
transform:translateY(-50%);
width:100%;
}
.success-stories,
.case-list {
  display: none;
}

.success-stories.active,
.case-list.active {
  display: block;
}


/* attractions */

.attractions .section-title {
  font-family: 'OPPOSans'; 
  margin-top: 9.63rem;
  font-weight: 900;
  font-size: 2.25rem;
  color: #333333;
  margin-bottom: 3rem;
  padding: 0 9.81rem;
}

.attractions .attractions-tab {
  padding-left: 9.81rem;
  padding-right: 9.75rem;
  overflow: hidden;
  border-radius:0;
}

.attractions .attractions-tab .swiper-wrapper {
  width: 100%;
}

.attractions .attractions-tab .swiper-slide {
  width: 19.25rem !important;
}



.attractions .attractions-tab .tab-item {
  width: 100%;
  border-radius: 12px;
  padding: 16px 12px;
  text-align: center;
  cursor: pointer;
  transition: all 0.3s ease;
  border: 2px solid transparent;
}

.attractions-swiper-btn .swiper-button-next {

  right: 2%;
  top: 3%;
}

.attractionsactive .attractions-tabs {

  position: fixed;
  left:0;
}
.product-details .attractions-tabs {

  position: fixed;
  left:0;
}


.attractions-swiper-btn .swiper-button-prev {

  left: 2%;
  top: 3%;
}

.attractions-swiper-btn .swiper-button-next,
.attractions-swiper-btn .swiper-button-prev {
 width: 3.88rem;
    height: 3.88rem;
    background: #DCDCDC;
    border-radius: 50%;
    z-index: 33;
    top: var(--swiper-navigation-top-offset, 40%);
    transition: all 0.3s;
  top: 6rem;
  z-index: 88;
}
.attractions-swiper-btn .swiper-button-prev::after {
    content: '';
    width: 1.04rem;
    height: 1.8rem;
    position: absolute;
    background-size: 100% 100%;
    background-repeat: no-repeat;
    background-image: url(../images/jt-l.png);
}

.attractions-swiper-btn .swiper-button-next::after {
    content: '';
    width: 1.04rem;
    height: 1.8rem;
    position: absolute;
    background-size: 100% 100%;
    background-repeat: no-repeat;
    background-image: url(../images/jt.png);
    margin-left: 0.3rem;
}
.attractions .attractions-tab .tab-item.active .tab-title,
.tab-item.active .tab-age,.attractions .attractions-tab .tab-item:hover .tab-title ,.attractions .attractions-tab .tab-item:hover .tab-age{
  color: #0047B9;
}

  .collectionlist .watermark{

    display:none!important;
  }

.attractionsactive .headers .attractions-tabs {
    display: block!important;
    height:4.5rem;
   background: rgb(255, 255, 255, 0.6);
    backdrop-filter: blur(10px);
    border-radius:none!important;
   
}
.attractions .attractions-tab {
   height:4.5rem;
}
.header, .maxs, .attractions-tabs {
  border-radius: 0 !important; /* 彻底取消圆角 */
}
.attractions .attractions-tab .tab-title {
  font-family: 'OPPOSans'; 
  font-weight: bold;
  font-size: 1.25rem;
  color: #666666;
  line-height: 1.88rem;
 
}

.attractions .attractions-tab .tab-age {
  font-weight: 200;
  font-size: 1.25rem;
  color: #666666;
  line-height: 1.88rem;
}

/* 内容区域示例 */
.attractions .content-area {
  width: 100%;
}

.attractions  .decrition .imgs {
  width: 100%;
  height: 46rem;

  position: relative;
}

.attractions .decrition .imgs img {

  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 1.25rem;
  position: relative;
}

.attractions .decrition .imgs .mask{
position:absolute;
top:0;
  border-radius: 1.25rem;

left:0;
right:0;
bottom:0;
background-color:rgba(0,0,0,0.3);

}
.attractions .decrition .imgs .title {
  position: absolute;
  left: 4.4rem;
  top: 44%;
  z-index:3;

}
.attractions .decrition{

  display:none
}
.attractions .decrition  h2 {
  font-family: 'OPPOSans'; 
  font-weight: 900;
  font-size: 3.44rem;
  color: #FFFFFF;
  line-height: 1.88rem;

}
.attractions .decrition.active{

  display:block;
}



.attractions .decrition .imgs .title p{
  width:54%;
}
.attractions .decrition  p {
  font-family: 'OPPOSans'; 
  font-weight: 400;

  font-size: 1.88rem;
  color: #FFFFFF;
  line-height: 2.25rem;
  margin-top: 2.56rem;

}

.attractions .content-title {
  font-size: 20px;
  font-weight: 600;
  color: #333;
  margin-bottom: 12px;
}

.attractions .decrition  {

  margin-top: 10.5625rem;

}

.attractions .content-area .layui-btn-default ,.collectionlist .layui-btn-default{
  font-family: 'OPPOSans'; 
  font-weight: 400;
  font-size: 1.25rem;
  color: #164EC1;
  width: 18.31rem;
  background-color: #ffffff;
  height: 3.31rem;
  line-height: 3.31rem;
  border-radius: 1.63rem;
  border: 0.06rem solid #114DBF;
  transition: all 0.6;
}

.layui-tab-bar {
  display: none;
}

.attractions .content-area .layui-btn-default:hover ,.collectionlist .layui-btn-default:hover{
  background-color: #114DBF;
  color: #ffffff;
}

.attractions .decrition .decrition-item {

  font-family: 'OPPOSans'; 
  font-weight: 400;
  font-size: 1.5rem;
  color: #333333;
  line-height: 3rem;
  margin-top: 1.875rem;
 max-width: 100.31rem;
    margin: 0 auto;
}

.attractions .content-area .tab-container {
  padding: 1.31rem 9.81rem 1rem 9.81rem;
}

.attractions .content-area .layui-tab-title {
  border-bottom: none;
  background-color: #fff;
  border-radius: 1.94rem;
  height: 3.88rem;
  display: inline-flex;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
  margin-bottom: 3.13rem;
}

.attractions .content-area .layui-tab-title li {
  min-width: 6.63rem;
  line-height: 3.88rem;
  border-radius: 1.94rem;
  margin: 0 2px;
  font-family: 'OPPOSans'; 
  font-weight: 400;
  font-size: 1.13rem;
  color: #0047B9;
}

.attractions .content-area .layui-tab-title li.layui-this {
  background-color: #1677ff;
  color: #fff;
}

.layui-tab-content {
  padding: 0;
}

.card-grid {
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 3rem 1.63rem;
}

/* 卡片样式 */
.attractions .content-area .slide-card {
  overflow: hidden;
  transition: all 0.3s ease;
  position: relative;
}

.attractions .content-area .slide-card:hover img {
    transform: scale(1.1);
    transition: all .6s;
    -webkit-transform: scale(1.1);
    -moz-transform: scale(1.1);
    -ms-transform: scale(1.1);
    -o-transform: scale(1.1);
}
.attractions .content-area .card-info {
  padding: 20px;
  min-height: 220px;
  position: relative;
}

.attractions .content-area .card-info .icon-group {
  position: absolute;
  top: 20px;
  right: 20px;
  display: flex;
  gap: 8px;
}

.attractions .content-area .card-info .icon-group i {
  font-size: 20px;
  color: #666;
}

.attractions .content-area .card-info p {
  font-size: 14px;
  color: #333;
  margin: 8px 0;
}

.attractions .content-area .card-actions {
  position: absolute;
  right: 1.25rem;
  bottom: 1.94rem;
  align-items: center;
  justify-content: space-between;
  width: 10.13rem;
  height: 3.13rem;
  background: #0047B9;
  border-radius: 0.5rem;
  font-family: 'OPPOSans'; 
  font-weight: 400;
  font-size: 1.13rem;
  color: #FFFFFF;
  z-index: 99;
  transition: 0.6s all;
  display: none;
}

.attractions .content-area .card-actions  {
  color: #FFFFFF;
  display: none;
  line-height: 3.13rem;
  text-align: center;
    transition: 0.6s all;

}

.attractions .content-area .card-actions label {
  font-family: 'OPPOSans'; 
  font-weight: 400;
  font-size: 1.13rem;
  color: #FFFFFF;
}

.attractions .content-area .layui-btn-sm {
  padding: 0 16px;
  line-height: 30px;
  border-radius: 6px;
}

.attractions .content-area .card-image {
  position: relative;
   border-radius:1.25rem  1.25rem 0rem  0rem;
   overflow:hidden;
     padding: 0 !important;
}

.attractions .content-area .card-image .texts .text {

  position: absolute;
  top: 2.56rem;
  left: 2.25rem;
  font-family: 'OPPOSans'; 
  font-weight: 400;
  font-size: 1.38rem;
  opacity: 0;
  color: #333333;
  display:none;
  line-height: 3rem;
  z-index: 55;
  transition: all 0.7s;
}

.attractions .content-area .card-image .texts {
  transition: all 0.6s;
}
.attractions .content-area .slide-card:hover .texts .text{
opacity: 1;
}
.attractions .content-area .slide-card:hover .texts {
  transition: all 0.6s;
  display: block;

}


.attractions .content-area .card-image .texts .num {
  top: 2.56rem;
  right: 1.88rem;
  position: absolute;
  width: 5.13rem;
  height: 3.13rem;
  z-index: 44;
  border-radius: 0%;
   transition: all 0.6s;
   overflow:hidden;
  opacity:0;


}

.attractions .content-area .card-image .imgs::after {
  content: '';
  position: absolute;
  top: 0px;
  left: 0px;
  right:0px;
  bottom: 0px;
  border-radius: 1.25rem 0rem; 
  opacity: 0;
  transition: all 0.6s;
  z-index: 2; 
  transform: translateZ(0); 


}

.layui-form-checkbox[lay-skin="primary"]:not(:checked) i {
  background-color: #f5f5f5 !important;
  border-color: #e0e0e0 !important;
  border-radius: 3px !important;
}

/* ========== 2. 选中状态样式（保留之前的自定义） ========== */
.layui-form-checkbox[lay-skin="primary"]:checked i,
.layui-form-checked[lay-skin="primary"] i {
  background-color: #009688 !important;
  /* 选中背景色 */
  border-color: #009688 !important;
  /* 选中边框色 */
  border-radius: 3px !important;
}

.layui-form-checkbox[lay-skin="primary"]:checked i::after,
.layui-form-checked[lay-skin="primary"] i::after {
  color: #ffffff !important;
  /* 选中对勾色 */
  font-size: 11px !important;
}


.layui-form-checkbox[lay-skin="primary"]:not(:checked):hover i {
  border-color: #009688 !important;

  background-color: #f0f9f8 !important;

}

.attractions .content-area .slide-card:hover .card-title {
  color: #0047B9;
  transition: all 0.6s;

}
.attractions .content-area .slide-card:hover .num{

  opacity:0;
}

.attractions .content-area .slide-card:hover .card-actions {

  display: none;
}

.attractions .content-area .slide-card:hover .card-image .imgs::after {
  opacity: 1;
}

.attractions .content-area .card-image .imgs {
  height: 18.8rem;
  position:relative;
  border-radius: 1.25rem 0rem; 

  
}

.attractions .content-area .card-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
    object-position: top center;
}

.attractions .content-area .compare-checkbox input {

width: 2.06rem!important;
height: 1.69rem!important;
  border: none!important;

  background-color: transparent !important;
  position:relative;
  
}

.attractions .content-area .compare-checkbox input::after{

  content:'';
  width: 2.06rem!important;
height:1.69rem!important;
position:absolute;
background-repeat:no-repeat;
background-size: 100% 100%;

  background-image: url(../images/heart.png);

}
input.compare-check:checked{
  border: none!important;

}
input.compare-check:checked{
  position:absolute!important;
}

input.compare-check:checked{
  
  content:''!important;
  width: 2.06rem!important;
height:1.69rem!important;
object-fit:cover;
position:absolute!important;
background-size: 100% 100% !important;
  background-image: url(../images/heart-3-line.png)!important;
}
 .compare-check:checked + span {
    display: none;
  }
.attractions .content-area .card-image .compare-checkbox span{

  margin-left:0.4rem;
}
.compare-checkbox:has(.compare-check:checked) {
width: 5.13rem!important;
}
.attractions .content-area .card-image .compare-checkbox,
.attractions .content-area .card-info .compare-checkbox {
  position: absolute;
  bottom: 1.94rem;

  z-index: 2;
  line-height: 1.63rem;
  left: 1.13rem;

  font-family: 'OPPOSans'; 
  font-weight: 400;
  font-size: 1.13rem;
  color: #FFFFFF;
  width: 10.13rem;
  height: 3.13rem;
  background: rgba(0, 0, 0, 0.4);
  border-radius: 0.5rem;
  display: flex;
  align-items: center;

}
.attractions .content-area .card-text{
width:100%;
height: 8.8rem;
background: #F6F6F6;
border-radius:0 0 1.25rem 1.25rem;
}

.attractions .content-area .card-title {
  font-family: 'MontserratAlternates-Bold-12'; 
font-weight: 500;
font-size: 1.5rem;
color: #333333;
line-height: 1.88rem;
height: 5rem;
  padding-top: 1rem;
  margin-bottom:0.8rem;
  display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
-webkit-line-clamp: 2;
padding:1.25rem 1.75rem 0 1.25rem ;


}

/* 加载更多按钮 */
.attractions .content-area .load-more ,.collectionlist .load-more{
  text-align: center;
  margin-top: 30px;
}



/* 对比弹窗样式 */
.attractions  .compare-popup {
  position: fixed;
  bottom:5%;
  right: 20px;
  border-radius: 1.25rem;
  min-width: 14.19rem;
  padding-top: 1.94rem;
  background: #FFFFFF;
  box-shadow: 0rem 0rem 1rem 0rem rgba(162, 162, 162, 0.5);
  border-radius: 1.25rem;
  z-index: 9999;
  display: none;


  overflow-y:script;
}


.attractions .layui-tab-title .layui-this:after {

  display: none;
}

.attractions  .popup-header .count span:nth-child(1) {
  font-family: 'OPPOSans'; 
  font-weight: bold;
  font-size: 1.25rem;
  color: #DA1B1B;
}

.attractions  .popup-header .count span:nth-child(2) {
  color: #616161;
  font-size: 1.25rem;
}

.attractions .popup-header .count span:nth-child(3) {
  font-family: 'OPPOSans'; 
  font-weight: bold;
  font-size: 1.25rem;
  color: #616161;
}

.attractions  .popup-header .count img {}

.attractions  .popup-header .count {
  color: #fff;
  width: 100%;
  display: flex;
  justify-content: space-between;
  padding-left: 2.06rem;
  padding-right: 2.06rem;
  border-radius: 50%;
  display: flex;
  align-items: center;
  font-size: 12px;
}

.attractions  .popup-header .title {
  font-family: 'OPPOSans'; 
  font-weight: bold;
  font-size: 1.38rem;
  text-align: center;
  color: #030D19;
  padding-top: 2.75rem;
  padding: 0 2rem;
  height: 9.69rem;
  background-size: 100% 100%;
  background-image: url(../images/compare-bk.png);
  margin-bottom: 2.56rem;
}

.attractions  .popup-close {
  position: absolute;
  bottom: -20px;
  right: 41%;
  width: 3.31rem;
  height: 3.31rem;
  background: #FFFFFF;
  border-radius: 50%;
  border: 0px solid #0047B9;
  border-radius: 50%;
  background: #fff;
  border: 0.06rem solid #0047B9;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  font-size: 14px;
  color: #999;
  transition: all 0.6s;
}

.attractions  .popup-close::after {
  position: absolute;
  content: '';
  width: 1.13rem;
  height: 1.13rem;
  left: 50%;
  transform: translateX(-50%);
  background-size: 100% 100%;
  background-image: url(../images/close-x.png);
}

.attractions .content-area .popup-close:hover {
  background-color: #0047B9;


}

.attractions  .popup-close:hover::after {
  background-image: url(../images/close-x-a.png);

}

.attractions  .selected-items {
max-height:30rem;

  justify-content: space-between;
  justify-content: center;
  overflow-y: auto;
  margin: 0 0.3rem;
}

.attractions  .selected-item {
  display: flex;
  align-items: center;
  flex-direction: column;
  margin: 0 1.5rem;

  padding: 8px 0;
}

.attractions  .selected-item img {
  width: 7.25rem;
  height: 7.25rem;
  background: #0047B9;
  border-radius: 0.5rem;
  object-fit: cover;
}

.attractions .selected-item .name {
  font-size: 12px;
  color: #333;
  flex: 1;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.attractions  .selected-item .remove {
  width: 2rem;
  height: 2rem;
  background: #D2D2D2;
  border-radius: 50%;
  opacity: 0.5;
  border-radius: 50%;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 0.75rem;
}

.attractions  .selected-item .remove img {
  width: 1rem;
  height: 0.25rem;
}

.attractions  .popup-actions {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  margin: 0 1.38rem;
  margin-top: 3.13rem;
  margin-bottom: 3.44rem;
}

.attractions .popup-btn {
  width: 100%;
  height: 3.25rem;
  background: #0047B9;
  border-radius: 1.63rem;
  text-align: center;
  cursor: pointer;
  border: none;
  font-family: 'OPPOSans'; 
  font-weight: 400;
  font-size: 1.13rem;
  color: #FFFFFF;
}

.attractions  .compare-btn {
  background: #0047B9;
  color: #FFFFFF;
}

.attractions  .clear-btn {
  background: #0047B9;
  opacity: 0.3;
  color: #ffffff;
}
.attractions .popup-close:hover{
    background: #0047B9;
}
.attractions  .compare-btn:disabled {
  background: #0047B9;

  color: #FFFFFF;
}

.demo-tab-header .layui-btn.layui-this {
  border-color: #1E9FFF;
  color: #1E9FFF;
}

.demo-tab-body>div {
  display: none;
}

/* 新增：图标旋转样式 */
.souusuo img {
  transition: transform 0.3s ease;
  /* 平滑过渡 */

}

.souusuo.rotated img {
  transform: rotate(-90deg);
  /* 旋转90度 */
}

/* 新增：弹窗区域收缩样式 */
.compare-popup .popup-content-wrap {
  transition: all 0.3s ease;
}

.compare-popup .popup-content-wrap.collapsed {
  height: 0;
  overflow: hidden;
  opacity: 0;
}

/* 新增：图片隐藏样式（不占位 + 丝滑过渡） */
.attractions .attractions-tab .swiper-slide .imgs {
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  /* 缓动曲线更丝滑 */
  height: auto;
  overflow: hidden;
  will-change: height, opacity;
  /* 告诉浏览器提前优化动画 */
  width: 100%;
  height: 10.88rem;
  display: flex;
  justify-content: center;
  align-items: center;
  background: #F6F6F6;
  border-radius: 1.25rem;
}
.attractions .attractions-tab .swiper-slide .imgs img{
  max-width: 11.88rem;
max-height: 8.81rem;
object-fit: cover;
}


.attractions .attractions-tab .swiper-slide .imgs.hidden {
  height: 0;
  opacity: 0;
  visibility: hidden;
}
.headers .max{
  position:relative;
}

.attractions .attractions-tab {
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);

}

.headers .attractions-tabs.active {
  position:absolute;
  left:0;
  right:0;
display:'block'
}
.attractions .attractions-tabs.active {

background: rgb(255, 255, 255, 1);
    backdrop-filter: blur(10px); 
  z-index: 4;
}
.attractions .attractions-tabs.active .attractions-swiper-btn .swiper-button-next,.attractions .attractions-tabs.active  .attractions-swiper-btn .swiper-button-prev{

  top: 2rem;
}
.attractions .attractions-tabs.active  .tab-item{
  padding: 0;
}
.attractions .attractions-tabs.active  .tab-title{
  margin-top: 0.4rem;
}


.attractions .content-area .decrition {
  transition: margin-top 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  /* 统一动画节奏 */
  will-change: margin-top;
}


/* 遮罩层 */
.compare-detail-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.5);
  z-index: 10000;
  display: none;
}

/* 对比详情弹窗主体 - 从底部滑入 */
.compare-detail-popup {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  background: #fff;
  z-index: 10001;
  max-height: 95vh;
  overflow-y: auto;
  transform: translateY(100%);
  transition: transform 0.3s ease-out;
  padding-top: 3.13rem;
  box-sizing: border-box;
}

.compare-detail-popup.show {
  transform: translateY(0);
}

.compare-detail-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 3.44rem;

}

.compare-detail-title {
  font-family: 'OPPOSans'; 
  font-weight: 400;
  font-size: 1.5rem;
  color: #222222;
  padding-left: 17rem;
}

.compare-count {
  font-family: 'OPPOSans'; 
  font-weight: bold;
  font-size: 1.13rem;
  color: #333333;
  line-height: 3.75rem;
  margin-right: 2.44rem;
}

.compare-close {
  width: 3.31rem;
  height: 3.31rem;
  top: 3.2rem;
  border-radius: 50%;
  margin-right: 3.63rem;
  border: 1px solid #0047B9;
  background: #f5f5f5;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  outline: none;
}

.compare-close img {
  width: 1.13rem;
  height: 1.13rem;
}

/* 产品图片展示区 */
.compare-product-images {
  display: flex;
  justify-content: center;
  gap: 6.75rem;
  margin-bottom: 2.56rem;
  flex-wrap: wrap;
}

.compare-product-item {
  text-align: center;
}

.compare-product-img {
  width: 10.63rem;
  height: 10.63rem;
  background: #000000;
  border-radius: 1.25rem;
  object-fit: cover;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  margin-bottom: 8px;
}

.compare-product-name {
  font-size: 14px;
  color: #333;
  max-width: 120px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* 对比表格样式 */
.compare-table {
  width: 100%;
  border-collapse: collapse;
  margin-top: 10px;
  padding-bottom: 5rem;
}

.compare-table th,
.compare-table td {
  padding: 12px 15px;
  height: 6.75rem;
  text-align: left;
  border-bottom: 1px solid #eee;
}

.compare-table th {
  font-family: 'OPPOSans'; 
  font-weight: bold;
  font-size: 1.25rem;
  color: #222222;
  width: 37rem;
  padding-left: 16rem;
}

.compare-table td {
  font-size: 1.25rem;
  color: #222222;
}

.compare-table tr:nth-child(2n+1) {
  background-color: #F6F6F6;

}

/* 响应式适配 */
@media (max-width: 768px) {
  .compare-table th {
    width: 150px;
    padding: 10px;
  }

  .compare-table td {
    padding: 10px;
  }

  .compare-product-img {
    width: 100px;
    height: 75px;
  }
}

/* ========== 新增：收缩状态样式 ========== */
.souusuo1 {
  padding-top: 1.1rem;
  padding-right: 6.13rem;
}

.souusuo1.rotated {
  /* 可选：添加旋转动画 */
  transform: rotate(180deg);
  transition: transform 0.3s ease;
}

.compare-content-collapsed {
  display: none !important;
}

/* 产品详情弹框遮罩层 */
.product-detail-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  backdrop-filter: blur(5px);

  z-index: 999;
  display: none;
  opacity: 0;
  transition: opacity 0.3s ease;
 
}

.product-detail-popup {
  position: fixed;
  bottom: 0;
  left: 50%;
  transform: translate(-50%, 100%);
  width: 90%;
  width: 100%;
  background: #fff;
  border-radius: 16px 16px 0 0;
  padding: 3.44rem 5.13rem 0rem 9.88rem;
  z-index: 1000;
  display: block;
  max-height: 95vh;
  transition: transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.product-detail-overlay.active {
  opacity: 1;
}

.product-detail-overlay.active .product-detail-popup {
  transform: translate(-50%, 0);
}

.product-detail-close {
  position: absolute;
  top: 15px;
  right: 15px;
  background: none;
  border: none;
  cursor: pointer;
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #007bff;
  border-radius: 50%;
  z-index: 1001;
}

.product-detail-close img {
  width: 16px;
  height: 16px;
  filter: brightness(0) invert(1);
}

.product-detail-header {
  display: flex;
  align-items: center;
  justify-content: space-between;

}

.product-detail-title {
  font-family: 'OPPOSans'; 
  font-weight: bold;
  font-size: 2.25rem;
  color: #333333;

}

.product-detail-actions {
  align-items: center;
  display:none;
}
.product-detail-header div:nth-child(2){


  display:none;
}

.compare-popup .popup-header{

  display:none;
}
.contact-btn {
  width: 8rem;
  height: 3.13rem;
  background: rgba(137, 137, 137, 0.11);
  border-radius: 1.56rem;
  font-family: 'OPPOSans'; 
  font-weight: 400;
  font-size: 0.88rem;
  color: #333333;
  border: none;
}

.favorite-btn {
  width: 2.75rem;
  height: 2.75rem;
  border-radius: 50%;
  background: rgba(137, 137, 137, 0.11);
  border: none;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  margin-left: 1.19rem;
}

.favorite-btn img {
  width: 1.38rem;
  height: 1.19rem;
}

/* 弹框主体 */
.product-detail-body {
  display: grid;
  grid-template-columns: 1fr 2fr;
  padding-top: 3rem;
  margin-top: 0.88rem;
  max-height: 71vh;
  padding-bottom: 7rem;
  overflow-y: scroll;
}
.product-detail-popup .line{
  width: 96%;
  height: 0.06rem;
background: #EEEEEE;
margin-top: 1.13rem;
}

/* 参数卡片 */
.product-params-card {
  width: 32.31rem;
  height: 34.63rem;
  background: #0047B9;
  border-radius: 2.19rem;
  margin-bottom: 1.88rem;
  padding: 5.13rem 0 5.63rem 3.87rem;
  font-family: 'OPPOSans'; 
  font-weight: bold;
  font-size: 1.38rem;
  color: #FFFFFF;
  background-image: url(../images/pro-bkpng.png);
  background-size: 100% 100%;
  display: flex;
  flex-direction: column;

}

.product-params-card p {
  margin: 15px 0;
  font-size: 16px;
}
#PDF {
 cursor: pointer;
       cursor: pointer;
    width: 5.6875rem;
    right: 0;
    bottom: 4.0625rem;
    right: 3rem;
}
/* 图标区 */
.product-icons {
position:relative;
  background-image: url('../images/ft.png');
  width: 32.38rem;
  background-size: 100% 100%;
  object-fit:cover;
  height: 20.25rem;
  background-color: #EEEEEE; 
  background-repeat:no-repeat;
  border-radius: 2.19rem;
}

.icon-item {
  background: #f5f5f5;
  padding: 15px;
  border-radius: 8px;
  text-align: center;
  font-size: 12px;
}
.icon-item:last-child{
 display: flex;
 align-items: center;
 justify-content: center;
}
.icon-item:last-child img{
  width: 4.69rem;
height: 4.69rem;
  object-fit: cover;
}


.product-detail-left {
  flex: 1;
}

/* 右侧图片和描述 */
.product-detail-right {
  display: flex;
  width: 68.44rem;
  flex-direction: column;

}

.product-detail-right img {
  width: 64.25rem;
  background: #000000;
  border-radius: 1.25rem;
  object-fit: cover;
}

.product-detail-image {
  width: 100%;
  height: auto;
  border-radius: 8px;
}

.product-detail-desc {
  font-family: 'OPPOSans'; 
  font-weight: 400;
  font-size: 1.5rem;
  color: #000000;
  line-height: 3rem;
}

/* 响应式适配 */
@media (max-width: 768px) {
 

  .product-icons {
    grid-template-columns: repeat(2, 1fr);
  }

  .product-detail-popup {
    width: 100%;
    /* 移动端占满宽度 */
    border-radius: 16px 16px 0 0;
    padding: 20px;
  }
}


/* 下载按钮点击弹窗*/
.download .modal-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  display: none;
  /* 默认隐藏 */
  justify-content: center;
  align-items: center;
  z-index: 9999;
  /* 确保在最上层 */
}

/* 弹框容器 */
.download .modal-container {
  background: #fff;
  border-radius: 12px;
  width: 52.56rem;
  background: #FFFFFF;
  border-radius: 1.25rem;
  position: relative;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
  transform: scale(0.9);
  transition: transform 0.3s ease;
  padding: 2.1rem 3.88rem 3rem 4.88rem;
}

/* 弹框显示时的动画 */
.show {
  opacity: 1;
  visibility: visible;
}

.download .modal-overlay.show .modal-container {
  transform: scale(1);
}

/* 关闭按钮 */
.download .modal-close {
  position: absolute;
  top: 15px;
  right: 15px;
  width: 3.31rem;
  height: 3.31rem;
  background: #FFFFFF;
  border-radius: 50%;
  border: 1px solid #0047B9;
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: pointe
}

.download .modal-close img {
  width: 1.13rem;
  height: 1.13rem;
}

.download .modal-close:hover {
  background-color: #0047B9;
}

.resources {}

/* 弹框标题 */
.download .modal-title {
  font-family: 'OPPOSans'; 
  font-weight: 400;
  font-size: 1.88rem;
  color: #000000;
  margin-bottom: 2.5rem;
}


.download .form-group {
  margin-bottom: 1.6rem;
  position: relative;
}


.download .form-input {
  width: 100%;
  height: 4rem;
  border: 1px solid #e0e0e0;
  background: #EEEEEE;
  border-radius: 1.25rem;
  font-family: 'OPPOSans'; 
  font-size: 1.4rem;
  padding: 0 1.88rem;

  color: #979797;
  transition: border-color 0.3s;
  box-sizing: border-box;
}
.form-textarea{

  padding-top:1rem;
  width: 100%;
  height: 6.75rem;
  border: 1px solid #e0e0e0;
  background: #EEEEEE;
  border-radius: 1.25rem;
  font-family: 'OPPOSans'; 
  font-size: 1.4rem;
  padding:0.5rem 1rem;

  color: #979797;
  transition: border-color 0.3s;
  box-sizing: border-box;
}

.download .form-input:focus {
  border-color: #007bff;
  outline: none;
}

/* 验证码行 */
.download .captcha-row {
  display: flex;
  gap: 0.625rem;
  align-items: center;
}

.download .captcha-input {
  flex: 1;
}

.download .captcha-code {
  width: 7.56rem;
  background: #f5f5f5;
  position: absolute;
  right: 4.25rem;
  border-radius: 0.375rem;
  font-family: monospace;
  font-size: 1.125rem;
  margin-right: 0.81rem;
  letter-spacing: 2px;
  user-select: none;
}
.download .captcha-code img,.download .captcha-refresh img{

  width: 100%;
}

.download .captcha-refresh {
  cursor: pointer;
  width: 2rem;
  position: absolute;
  height: 1.75rem;
  right: 1.69rem;
}

/* 提交按钮 */
.download .submit-btn {
  width: 100%;
  height: 4.75rem;
  background: #007bff;
  color: #fff;
  border: none;
  font-weight: 400;
  font-size: 1.63rem;
  color: #FFFFFF;
  line-height: 2.5rem;
  cursor: pointer;
  border-radius: 1.25rem;
  transition: background 0.3s;
}

.download .submit-btn:hover {
  background: #0056b3;
}

/* 错误提示 */
.download .error-tip {
  color: #ff4d4f;
  font-size: 14px;
  margin-top: 5px;
  display: none;
}


/* ROI 计算器表单样式 */
.roi-calculator-form .form-group {
  margin-bottom: 2.75rem;
}

.roi-calculator-form label {
  display: block;
  font-family: 'OPPOSans'; 
  font-weight: 400;
  font-size: 1.5rem;
  color: #333333;
}

.input-with-currency,
.input-with-unit {
  position: relative;
}

.input-with-currency .currency,
.input-with-unit .unit {
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  color: #666;
  font-size: 14px;
}

.result-group {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
}

.result-value {
  font-weight: normal;
  font-size: 3rem;
  color: #0964D8;
  margin-top: 1rem;
}

.calculate-btn {
  width: 22.44rem;
  height: 4.75rem;
  line-height: 4.75rem;
  background: #0964D8;
  border-radius: 1.25rem;
  font-family: 'OPPOSans'; 
  border: none;
  font-weight: 400;
  font-size: 1.63rem;
  color: #FFFFFF;
  margin-right: 5rem;
}

.calculate-btn:hover {
  background-color: #0056b3;
}

.hover-underlines-g {
  position: relative;
}

.hover-underlines-g::after {
  content: "";
  position: absolute;
  width: 0%;
  height: 0.06rem;
  background: #0056b3;
  bottom: 0;
  left: 0;
  transition: width 0.3s ease;
}

.hover-underlines-g:hover:after {
  width: 100%;
}

#roiModal .modal-container {
  padding: 4.19rem 5.25rem 6.38rem 6.75rem;
}

.download #roiModal .modal-container {
  width: 69.25rem;
  height: 52.94rem;
  background: #FFFFFF;
  border-radius: 1.25rem;
}

.download #roiModal .form-input {
  width: 22.44rem;
  height: 4.75rem;
  background: #EEEEEE;
  border-radius: 1.25rem;
  margin-left: 2.94rem;
}

.download #roiModal .form-group {

  display: flex;
  align-items: center;
  justify-content: space-between;
}

.download #roiModal .form-group .currency {
  font-weight: 400;
  font-size: 1.63rem;
  color: #333333;
  margin-left: 0.88rem;
  width: 4rem;
}

.download #roiModal .form-group .unit {
  font-weight: 400;
  font-size: 1.63rem;
  color: #333333;
  margin-left: 0.88rem;
  width: 4rem;
}
.portfolio-swiper-container {
  width: 100%;
  margin: 0 auto;
  overflow: hidden;
}

.portfolio-swiper {
  width: 100%;
  padding: 0 2.5rem 0 2.5rem;
  overflow: hidden;
}
.portfolio-swiper-container.style1 .explore-more-btn{
opacity: 1;
background:#ffffff;
}
.portfolio-swiper-container.style1 .swiper-slide:hover img{

    transform: scale(1.1);
  transition: all 0.6s cubic-bezier(0.22, 1, 0.36, 1);
  -webkit-transform: scale(1.1);
  -moz-transform: scale(1.1);
  -ms-transform: scale(1.1);
  -o-transform: scale(1.1);
}

.portfolio-swiper-container.style1 .swiper-slide:hover div:nth-child(1){
color:#114DBF;
  }
.portfolio-bk-m {
  background-image: url(../images/portfolio-bk-m.jpg);
  background-repeat: no-repeat;
  width: 120rem;
  height: 54.5rem;
  background: linear-gradient(20deg, #A57FF3 0%, #0047B9 100%);
}

.portfolio-bk-m h2 {
  font-family: 'MontserratAlternates-Bold-12'; 
  font-weight: 800;
  font-size: 4rem;
  color: #FFFFFF;
}

.portfolio-bk-m p {
  font-family: 'OPPOSans'; 
  font-weight: 20;
  font-size: 1.25rem;
  color: #FFFFFF;
  line-height: 1.75rem;
  text-align: center;
  width: 70%;
  margin: 0 auto;
}

.portfolio-bk-m .carousel-title {
  margin-bottom: 6.19rem;
}

.portfolio-swiper-container .swiper-slide {
width: 26.81rem!important;
  height: 48.25rem;
  position: relative;
  transition: all 0.6s cubic-bezier(0.22, 1, 0.36, 1);
  transform: translateY(0);
  cursor: pointer;
}
.portfolio-swiper-container .swiper-wrapper{

  justify-content:space-between;
}
.portfolio-swiper-container .swiper-slide:nth-child(1) .hover-project-list {
}

.portfolio-swiper-container .card-bg {
  width: 100%;
  height: 29.44rem;
  border-radius: 2.5rem;
  transition: all 0.6s cubic-bezier(0.22, 1, 0.36, 1);
  transform: translateY(3.75rem);
}

.portfolio-swiper-container .hover-project-list {
  position: absolute;
  top: 0rem; 
  left: 0rem;
  right:0;
  width: 100%; 
  height: 32.13rem;
  border-radius: 2.5rem;
  box-sizing: border-box;
  padding: 1.69rem 1.56rem 3rem 1.25rem;
  background: rgba(255, 255, 255, 0.9);
  z-index: 3;
  opacity: 0; 
  visibility: hidden; 
  transition: all 0.6s cubic-bezier(0.22, 1, 0.36, 1);
  transform: translateY(3.75rem);
  pointer-events: none; 
}
.portfolio-swiper-container.style1 .project-item{

  flex-direction:column;


}
.portfolio-swiper-container.style1  .swiper-slide{

height: 28.25rem;
 background:#ffffff;
 border-radius: 12px;
}
.portfolio-swiper-container.style1 .project-thumb{
width:100%;
  display:block;
  height:22rem;
 border-radius: 12px 12px 0 0;
}

.portfolio-swiper-container.style1 .project-name{
  width:100%;
  background:#ffffff;
  margin-left:0;
  border-bottom:0rem;
 font-family: DINNextLTPro;
    font-weight: 500;
    font-size: 1.25rem;
    color: #333333;
    line-height: 1.88rem;
    height: 5rem;
    padding-top: 1rem;
    margin-bottom: 0.8rem;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-line-clamp: 2;
    padding: 1.25rem 1.75rem 0 1.25rem;
}
.portfolio-swiper-container.style1 .project-name div:nth-child(1){
  font-family: 'MontserratAlternates-Bold-12'; 
    font-weight: bold;
    font-size: 1.5rem;
    color: #333333;
    line-height: 1.75rem;
}
.portfolio-swiper-container.style1 .project-name div:nth-child(2){
    font-family: 'OPPOSans'; 

      margin-top: 0.3rem;
    font-size: 1rem;
    color: #666;
    line-height: 1.3;
}
.portfolio-swiper-container.style1 .project-thumb img{
width:100%;
height: 100%;
}
.portfolio-swiper-container .swiper-slide.active .hover-project-list,
.portfolio-swiper-container .swiper-slide:hover .hover-project-list {
  opacity: 1;
  visibility: visible;
  transform: translateY(0); 
  pointer-events: auto; 
  top:8.13rem;
}


.portfolio-swiper-container .swiper-slide.active .card-bg,
.portfolio-swiper-container .swiper-slide:hover .card-bg {
  transform: translateY(0rem);
}

.portfolio-swiper-container .swiper-slide.active .card-label,
.portfolio-swiper-container .swiper-slide:hover .card-label {
  opacity: 1;
}

.portfolio-swiper-container .swiper-slide.active .explore-more-btn,
.portfolio-swiper-container .swiper-slide:hover .explore-more-btn {
  opacity: 1;
}
.portfolio-swiper-container .swiper-slide.active h3,
.portfolio-swiper-container .swiper-slide:hover h3 {
  opacity: 0;
}

.portfolio-swiper-container h3 {
  font-family: 'OPPOSans'; 
  font-weight: bold;
  font-size: 1.5rem;
  text-align: center;
  color: #FFFFFF;
  margin-top: 4.76rem;
}

/* 所有卡片统一的鼠标移入效果 */
.portfolio-swiper-container .project-item:hover img {
  transform: scale(1.1);
  transition: all 0.6s cubic-bezier(0.22, 1, 0.36, 1);
  -webkit-transform: scale(1.1);
  -moz-transform: scale(1.1);
  -ms-transform: scale(1.1);
  -o-transform: scale(1.1);
}

.portfolio-swiper-container .swiper-slide:hover .card-bg img,.portfolio-swiper-container .swiper-slide.:hover .card-bg img {
  transform: scale(1.009);
  transition: all 0.6s cubic-bezier(0.22, 1, 0.36, 1);
  -webkit-transform: scale(1.009);
  -moz-transform: scale(1.009);
  -ms-transform: scale(1.009);
  -o-transform: scale(1.009);
}

/* 通用卡片容器 - 包含背景图和悬浮列表 */
.portfolio-swiper-container .card-container {
  width: 100%;
  height: 100%;
  position: relative;
}

/* 卡片背景图 */
.portfolio-swiper-container.card-bg {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  overflow: hidden;
}

.portfolio-swiper-container .card-bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: all 0.3s cubic-bezier(0.22, 1, 0.36, 1);
  border-radius: 2.5rem;
}

.portfolio-swiper-container.swiper-slide:hover .card-bg img {
  transform: scale(1.05);
  filter: brightness(0.7);
  /* 背景图变暗，突出列表 */
}

/* 卡片标签 - 默认显示 */
.portfolio-swiper-container .card-label {
  position: absolute;
  top: 4.31rem;
  left: 0;
  width: 100%;
  text-align: center;
  font-family: 'OPPOSans'; 
  font-weight: bold;
  opacity: 0;
  font-size: 1.5rem;
  color: #FFFFFF;
  text-transform: uppercase;
  transition: all 0.3s cubic-bezier(0.22, 1, 0.36, 1);
  z-index: 2;
}

/* 左侧特殊卡片样式 - 初始就显示列表 */
.portfolio-swiper-container .swiper-slide.special-card {
  background: transparent;
  width: 300px;
}

.portfolio-swiper-container .special-card-inner {
  width: 100%;
  height: 100%;
  border-radius: 20px;
  overflow: hidden;
  position: relative;
  background: #fff;
  transition: all 0.3s cubic-bezier(0.22, 1, 0.36, 1);
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
}

.portfolio-swiper-container .special-card:hover .special-card-inner {
  transform: translateY(-10px);
  box-shadow: 0 12px 20px rgba(0, 0, 0, 0.15);
}

.portfolio-swiper-container .special-card-header {
  height: 120px;
  background: url('https://via.placeholder.com/300x120/000/fff?text=FIREWORKS') no-repeat center / cover;
  display: flex;
  align-items: flex-end;
  padding: 20px;
  color: #fff;
  font-size: 18px;
  font-weight: bold;
}

/* 通用项目列表样式 */
.portfolio-swiper-container .project-list {
  display: flex;
  flex-direction: column;
  gap: 1.56rem;
  margin-bottom: 2.44rem;
}

.portfolio-swiper-container .project-item {
  display: flex;
  align-items: center;
  border-radius: 2.5rem;
}

.portfolio-swiper-container .project-item:hover .project-name {
  color: #0056b3;
}

.portfolio-swiper-container .project-item:last-child {
  border-bottom: none;
}

.portfolio-swiper-container .project-thumb {
  width: 9rem;
  height: 5.94rem;
  background: #000000;
  border-radius: 1.25rem;
  overflow: hidden;
}

.portfolio-swiper-container .project-thumb img {
  width: 9rem;
  height: 5.94rem;
  object-fit: cover;
}

.portfolio-swiper-container .project-name {
  font-family: Adobe Heiti Std;
  font-weight: normal;
  font-size: 1.13rem;
  flex:1;
  color: #333333;
  line-height: 1.88rem;
  margin-left: 1rem;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  text-overflow: ellipsis;
  border-bottom: 0.06rem solid #D2D2D2;
  padding-bottom: 2.2rem;
}

.portfolio-swiper-container .explore-more-btn {
  width: 13.31rem;
  height: 3.31rem;
  border-radius: 1.63rem;
  border: 1px solid #114DBF;
  cursor: pointer;
  transition: all 0.6s cubic-bezier(0.22, 1, 0.36, 1); /* 修复：统一为0.6s，避免1s过慢 */
  margin: 0 auto;
  opacity: 0;
  font-family: 'OPPOSans'; 
  font-weight: 40;
  font-size: 1.25rem;
  color: #164EC1;
  display: block;
  transition: opacity 0.6s cubic-bezier(0.22, 1, 0.36, 1); /* 仅过渡opacity，避免其他属性干扰 */
}

.portfolio-swiper-container .explore-more-btn:hover {
  background: #165edb;
  color: #fff;
}

.portfolio-swiper-container .swiper-button-next:hover,
.portfolio-swiper-container .swiper-button-prev:hover {
  background: #fff;
  transform: scale(1.1);
}

.portfolio-swiper-container .swiper-button-next:after,
.portfolio-swiper-container .swiper-button-prev:after {
  font-size: 18px;
}

.attractions {

  position: relative;
}

/* //波浪 */
.bannersd {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
}




.bannersd .bg .wave .mask .line {
  width: 2px;
  height: 20rem;

  background: -webkit-linear-gradient(bottom,
      rgba(216, 213, 120, 0) 0%,
      rgba(216, 213, 120, 0.7) 70%);
  background: linear-gradient(0deg,
      rgba(216, 213, 120, 0) 0%,
      rgba(216, 213, 120, 0.7) 70%);
}

.bannersd .bg .wave .mask .line {

  width: 2px;
  height: 20rem;
  background: -webkit-linear-gradient(bottom,
      rgba(215, 0, 15, 0) 0%,
      rgba(215, 0, 15, 0.5) 70%);
  background: linear-gradient(0deg,
      rgba(215, 0, 15, 0) 0%,
      rgba(215, 0, 15, 0.5) 70%);
}

.bannersd .bg .w1 {
  pointer-events: none;
  z-index: 16;
  width: 100%;
  position: absolute;
  right: 0;
  height: 11rem;
  bottom: 0;
}

.bannersd .bg .w2 {
  pointer-events: none;
  z-index: 16;
  width: 170%;
  position: absolute;
  right: 0;
  height: 11rem;
  bottom: -2rem;
}

body {
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  color: var(--black);
}

:root {
  --main: rgba(175, 226, 38, 1);
  --white: #ffffff;
  --green: rgba(29, 95, 99, 1);
  --orange: #f8c291;
  --gray: rgba(26, 56, 55, 0.5);
  --black: rgba(26, 56, 55, 1);
  --pGray: rgba(26, 56, 55, 0.5);
  --ease: cubic-bezier(0.38, 0, 0, 1);
  --ease1: cubic-bezier(0.43, 0.195, 0.02, 1);
}

.bannersd .bg .wave .mask {
  -webkit-mask-image: url(../images/water1.svg);
  mask-image: url(../images/water1.svg);
  -webkit-mask-size: 100vw;
  mask-size: 100vw;
  -webkit-mask-repeat: repeat-x;
  mask-repeat: repeat-x;
  -webkit-animation: move-svgS 10s linear infinite;
  animation: move-svgS 10s linear infinite;
  display: grid;
  grid-template-columns: repeat(200, 1fr);
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
}

@-webkit-keyframes move-svgS {
  0% {
    -webkit-mask-position-x: 0;
  }

  to {
    -webkit-mask-position-x: 100vw;
  }
}

@keyframes move-svgS {
  0% {
    -webkit-mask-position-x: 0;
  }

  to {
    -webkit-mask-position-x: 100vw;
  }
}

.portfolio .swiper-button-prev[aria-disabled="true"],
.portfolio .swiper-button-prev.swiper-button-disabled {
  display: none !important;
}
.language-dropdown {
  display: none !important;
}
.language-dropdown.show {
  display: block !important;
}
.language-dropdown li {
  padding: 1rem;
}
.language:hover{
  cursor:pointer;
}
.language-dropdown li:hover a{
  color:#0047B9;
}

.language-dropdown {
  position: absolute;
  top: 100%;
  right: 0;
  margin-top: 8px;
  padding: 8px 0;
  background: rgba(255, 255, 255, 0.6);
  backdrop-filter: blur(10px);
  border: 1px solid #e5e7eb;
  border-radius:0 0 4px 4px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  list-style: none;
  margin: 0;
  padding: 0;
  width: 9.3rem;
  display: none;
  z-index: 100;
}

.language span img {

  padding-left: 1rem;
}

.language span img.active {}

.language-dropdown li {
  padding: 6px 16px;
  text-align: center;
  transition: background-color 0.2s;
}

.language-dropdown li:hover {
  background-color: #f5f5f5;
}

.language-dropdown.show {
  display: block;
}


.collectionlist .header-tite {
  width: 100%;
  margin: 0 auto 20px auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.collectionlist .box {
  padding: 9.75rem 10rem 17rem 10rem;
  background-color: #F6F6F6;
}

.attractions .selected-items::-webkit-scrollbar {
  width: 5px; 
}
.attractions .selected-items::-webkit-scrollbar-thumb {
  background-color: #ccc;
  border-radius: 2px;
}
.attractions .selected-items::-webkit-scrollbar-track {
  background-color:#0047B9;
}
.collectionlist .header-tite h1 {
  font-family: 'OPPOSans'; 
font-weight: bold;
font-size: 2.25rem;
color: #1F1F1F;
line-height: 0.46rem;
}

.collectionlist .btn-contact {
  width: 8rem;
height: 3.13rem;
background: #0047B9;
border-radius: 1.56rem;
line-height: 3.13rem;

  font-family: 'OPPOSans'; 
font-weight: bold;
font-size: 2.25rem;
color: #1F1F1F;
display:flex;
justify-content:center;
  transition: background 0.3s;
  font-family: 'OPPOSans'; 
font-weight: 400;
font-size: 0.88rem;
color: #FFFFFF;
}

.collectionlist .btn-contact:hover {
  background-color: #1565c0;
  cursor:pointer;
}

/* 列表容器 */
.collectionlist .list-container {
width: 100%;
margin: 0 auto;
display: grid;
grid-template-columns: repeat(2, 1fr); 
gap: 1.69rem;
}

/* 单个卡片样式 */
.collectionlist .card {
  background-color: #fff;
  padding: 2.69rem 1.44rem 2.69rem 2.5rem;
  box-sizing: border-box;
  border-radius: 8px;
  height: 22.5rem;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
  display: flex;
  overflow: hidden;
  position: relative;
  transition: transform 0.2s;
}


.collectionlist .card:hover {

  cursor:pointer;
  transform: translateY(-2px);
  box-shadow: 0 8px 16px rgba(0, 0, 0, 0.1);
}

/* 图片区域 */
.collectionlist .card-image {
  flex: 0 0 44.81%;
  position: relative;
  overflow: hidden;
}

.collectionlist .card:hover img {
  transform: scale(1.1);
  transition: all .6s;
  -webkit-transform: scale(1.1);
  -moz-transform: scale(1.1);
  -ms-transform: scale(1.1);
  -o-transform: scale(1.1);
}

.collectionlist .card-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* 图片上的水印文字 (模拟图中的 D4.8) */
.collectionlist .watermark {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 60px;
  font-weight: 900;
  color: rgba(255, 255, 255, 0.6);
  pointer-events: none;
  text-transform: uppercase;
}

/* 内容区域 */
.collectionlist .card-content {
  flex: 30%;
  margin-left: 1.63rem;
  display: flex;
  flex-direction: column;
  position: relative;
}

/* 标题 */
.collectionlist .product-title {
  font-family: 'OPPOSans'; 
  font-weight: bold;
  font-size: 1.5rem;
  color: #1F1F1F;
  padding-right:2rem;
  line-height: 2.25rem;

  text-transform: uppercase;
}

/* 参数列表 */
.collectionlist .specs-list {
  font-family: 'OPPOSans'; 
  font-weight: bold;
  font-size: 1.13rem;
  color: #5A667C;
  margin-top: 0.5rem;
}

.collectionlist .specs-list li {
  margin-bottom: 0.6rem;
  display: flex;
}
.lx ul{


  border-left:1px solid #ede3e3;
  padding-left:1rem;
  overflow-y:auto;
  height: 32rem;
}


.collectionlist .fav-btn {
 position: absolute;
    right: -13px;
    color: white;
    z-index;2;
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 0.5rem;
    z-index:9999;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: background 0.3s;
    
}

.collectionlist .fav-btn img {
  width: 1.3rem;
}

.collectionlist .fav-btn:hover {
  background-color: #0047B9;
}

 .gsjj .container {
            margin: 0 auto;
            height:100%;
            display: flex;
        }

        .gsjj .section-top {
            background-color: #FFFFFF;
          height: 32.94rem;
                    padding: 0 13.94rem 0rem 6.94rem ;

            overflow: hidden; /* 清除浮动 */
        }

        .gsjj .year-badge {
           height:100%;
           object-fit: cover;
        }
        .gsjj .year-badge img{

          Height:100%;
        }
   .gsjj .year-badge span {
            display: block;
            font-size: 24px; 
            margin-bottom: 10px;
            letter-spacing: 2px;
        }

       .gsjj .content-text {
        margin-top: 5.25rem;
            overflow: hidden; 
           font-family: 'OPPOSans'; 
font-weight: 400;
font-size: 1.125rem;
color: #4A4A4A;
line-height: 2.6rem;
margin-left: 9rem;
        }
        .gsjj .content-text p{
          <!-- text-transform: lowercase; -->
          }
        .gsjj .content-text h3{
          color:#4F80C5;
          line-height: 3rem;
          font-size: 2.5rem;
          margin-bottom: 1.38rem;

        }

      .gsjj .section-blue {
    background:#f6f6f6;
            color: #333333;
           padding: 5.3rem 13.38rem 5rem 31.38rem; 
        }

        .gsjj .blue-content {
            max-width: 72.25rem;
            <!-- text-transform: lowercase; -->
           font-family: 'OPPOSans'; 
font-weight: 400;
font-size: 1.25rem;
         color: #333333;
line-height: 2.6rem;
        }

       .gsjj  .blue-content strong {
            display: block;
           
        }

        /* --- 第三部分：全景图片 --- */
       .gsjj  .section-image {
            width: 100%;
            height: 54.5rem;
            overflow: hidden;
        }

        .gsjj .section-image img {
            width: 100%;
            height: auto;
            display: block;
        }

        .gsjj .section-bottom {
          margin: 6.25rem 0 0rem 6.38rem;
         
            background-image: url(../images/gsjj4.jpg);
            color: #fff;
          
        }

     
        .gsjj .bottom-container {
          width: 113.13rem;
            box-sizing: border-box;
            display:flex;
         height: 25.5rem;
         padding: 5.88rem 5.5rem 4rem 5rem;
            z-index: 1;
        }

       .gsjj  .bottom-text {
            flex: 1;
              font-family: 'MontserratAlternates-Bold-12';   
                       font-weight: bold;
            font-size: 1.9rem;
            color: #FFFFFF;
            line-height: 4.13rem;
            text-transform: uppercase;
        
        }

        .gsjj .certificates {
          float: right;
            display: flex;
            gap: 2.88rem;
        }

        .gsjj .cert-item {
          width: 13.63rem;
border-radius: 0.5rem;        }

        .gsjj .cert-logo {
           width: 11.63rem;
height: 10.38rem;
background: #86B0F5;
border-radius: 0.5rem;
            display: flex;
            align-items: center;
            justify-content: center;
         margin-bottom: 1.5rem;
        }
        .gsjj .cert-logo img{
          width:100%;
          height:100%;
border-radius: 0.5rem;
        }

        .gsjj .cert-desc {
            font-size: 10px;
            opacity: 0.9;
            line-height: 1.4;
        }
      .gsjj .hero-text{
        left:46%;
        transform:translateX(-50%);
bottom:13.69rem
        }
 .gsjj .hero-text p{
  font-family: 'OPPOSans'; 
font-weight: 900;
font-size: 6rem;
color: #FFFFFF;
line-height: 0.46rem;
 }

          .gsjj .cert-desc:nth-child(1){
        font-family: 'OPPOSans'; 
font-weight: 400;
font-size: 1rem;
color: #FFFFFF;
        }
          .gsjj .cert-desc:nth-child(2){
          font-family: 'OPPOSans'; 
font-weight: 400;
font-size: 1rem;
display:none;
color: #FFFFFF;
line-height: 1.88rem;
        }


        
.product-details .content {


  margin-top: 11rem;
  padding: 3rem 9.81rem 0 9.81rem ;
  margin-bottom: 18rem;
}

.product-details .content .product {
  display: flex;
}

.product-details h3 {
  font-family: 'OPPOSans'; 
  font-weight: bold;
  font-size: 2.25rem;
  color: #333333;
  line-height: 3rem;

}

.product-details .product .text-l {
  width: 32.31rem;
  margin-right: 2.5rem;
}


.product-details .product .text-r {
  flex: 1;
}
.product-details .product .text-r img{

  width:100%;
  margin-bottom:0.6rem;
}

.product-details .content .top{

  display:flex;

  justify-content:space-between;
  border-bottom:0.06rem #EEEEEE solid;
  padding-bottom:3.3rem;
  margin-bottom:1.8rem;
}

.product-details .content .top .heart{

  width: 2.06rem;
height: 1.69rem;
background-image: url(../images/heart.png);
background-size:100% 100%;
}
.product-details .content .top .heart:hover{

  cursor:pointer;
}
.product-details .content .top .download{
width: 1.94rem;
height: 1.69rem;
background-size:100% 100%;
background-image: url(../images/xz.png);
margin-left:2.38rem;
}

.product-details .content .top .heart.active{

  width: 2.06rem;
height: 1.69rem;
background-image: url(../images/heart-3-line.png);
background-size:100% 100%;
}
/* 上一页按钮 */
.modal-btn-prev {
  position: fixed;
  width: 5.25rem;
  height: 5.25rem;
 background: #0047B9;
  border-radius: 50%;
  border: 1px solid #C9C9C9;
  font-family: 'OPPOSans'; 
  font-weight: 400;
  font-size: 1.13rem;
  color: #FFFFFF;
  z-index: 666;
  top: 36rem;
  left: 2.81rem;
  display: flex;
  align-items: center;
  cursor: pointer;
}

/* 蓝色左箭头 */
.modal-btn-prev::before {
  content: '';
  display: block;
  width: 0.56rem;
  height: 1rem;
  margin:0 0.63rem;
  background-image: url(../images/pre-l-a.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}
/* 禁用灰色左箭头 */
.modal-btn-prev.disable::before {
  background-image: url(../images/pre-l.png);
}

/* 下一页按钮 */
.modal-btn-next {
  position: fixed;
  width: 5.25rem;
  height: 5.25rem;
 background: #0047B9;
  border-radius: 50%;
  border: 1px solid #C9C9C9;
  font-family: 'OPPOSans'; 
  font-weight: 400;
  font-size: 1.13rem;
  color: #FFFFFF;
  top: 36rem;
  right: 2.81rem;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  z-index:55;
}
/* 蓝色右箭头 */
.modal-btn-next::after {
  content: '';
  display: block;
  width: 0.56rem;
    margin:0 0.63rem;
  height: 1rem;
  background-image: url(../images/pre-r-a.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}
/* 禁用灰色右箭头 */
.modal-btn-next.disable::after {
  background-image: url(../images/pre-r.png);
}

/* 禁用时鼠标禁止点击 */
.modal-btn-prev.disable,
.modal-btn-next.disable {
  cursor: not-allowed;
  background: #FFFFFF;
  color: #333333;
}
.product-details .product-params {
  width: 32.31rem;
  min-height: 16.5rem;
  box-sizing: border-box;
  display: flex;
  border-radius:1.5rem;
  background-size:100% 100%;
  flex-direction: column;

justify-content: space-between;
  background-repeat: no-repeat;

  padding: 3.31rem 1rem 2.81rem 3.94rem;
  font-family: 'OPPOSans'; 
  font-weight: 400;
  font-size: 1.38rem;
  color: #FFFFFF;
  background-image: url(../images/poduct.png);
  margin-bottom: 1.5rem;
}

.product-details .product .text-l .imgs {
  width: 100%;
  
  background: #EEEEEE;
  background-size:100% 100%;
border-radius: 1.25rem;
  background-repeat: no-repeat;
  margin-bottom: 1.25rem;


}
.product-details .product .text-l .imgs2{
width: 100%;
    max-height: 500px;
    display:flex;
    justify-content:center;
    background-color:#ffffff;
    margin-bottom:1rem;
    border-radius: 1.5rem;
  
}
.product-details .product .text-l .imgs2 img{
  width:auto;
    max-height: 500px;
  object-fit:cover;
  border-radius: 1.5rem;
  }
.product-details .product .text-l .imgs img{
border-radius: 1.25rem;
    width: 90%;
    height:100%;
      background-size:100% 100%;
      object-fit:cover;
      margin:2rem;
      border-radius: 1.5rem;
}

.video-container {
  position: relative;
  width: 32.31rem;
height: 20.13rem;

border-radius: 1.25rem;
  border-radius: 16px;
  overflow: hidden;
}

.video-container video {
  width: 100%;
  height: auto;
  display: block;
  object-fit: cover;
}

.video-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.6);
  display: none;
  z-index: 2;
  cursor: pointer;
}

.play-button {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
width: 4.5rem;
height: 4.5rem;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.9);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 3;
  cursor: pointer;
  transition: all 0.3s ease;
}

.play-button:hover {
  transform: translate(-50%, -50%) scale(1.1);
  background: rgba(255, 255, 255, 1);
}

.play-button::after {
  content: '';
  display: block;
  width: 0;
  height: 0;
  margin-left: 0.3rem;


  border-top: 1.22rem solid transparent;
  border-bottom: 1.22rem solid transparent;
  border-left: 1.69rem solid rgba(49, 49, 49, 0.78);
}

.video-title {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -80%);
  color: #fff;
  font-size: clamp(2rem, 5vw, 4rem);
  font-weight: bold;
  text-transform: uppercase;
  z-index: 3;
  pointer-events: none;
  white-space: pre-line;
  line-height: 1.2;
}

.video-container.playing .video-overlay,
.video-container.playing .play-button {
  display: none;
}

.video-container.paused .video-overlay {
  display: block;
}

.video-container.paused .play-button {
  display: flex;
}

.attraction-container {
padding: 0rem 9.81rem 3.7rem 9.81rem;
 margin: 0 auto;
 display: flex;
 flex-wrap: wrap;
gap: 20px;
 margin-bottom:3rem;
}

.attraction-card {
 background: #ffffff;
border-radius: 12px;
 overflow: hidden;
 box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);

 width: calc(25% - 15px);
transition: transform 0.3s ease, box-shadow 0.3s ease;
 }
.attraction-card:hover img {
    transform: scale(1.1);
    transition: all .6s;
    -webkit-transform: scale(1.1);
    -moz-transform: scale(1.1);
    -ms-transform: scale(1.1);
    -o-transform: scale(1.1);
}
.attraction-card:hover {
transform: translateY(-6px);
box-shadow: 0 8px 20px rgba(0, 0, 0, 0.12);
}

.attraction-img {
width: 100%;
 height: 220px;
object-fit: cover;
display: block;
}

.attraction-info {
padding: 16px;
}

.attraction-title {
  font-family: 'MontserratAlternates-Bold-12'; 
    font-weight: bold;
    font-size: 1.6rem;
    color: #333333;
    line-height: 1.75rem;
    word-wrap: break-word;
    word-break: break-all;
    overflow-wrap: break-word;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-line-clamp: 2;
    text-justify: distribute-all-lines !important;
    hyphens: none !important;
        }
.attraction-card .imgs{
height:18rem;
overflow:hidden;
          
}
 .attraction-card .imgs img{

 object-fit:cover;
  object-position: top center; 
}

 .attraction-desc {
font-family: 'OPPOSans'; 

 margin-top:0.3rem;
font-size: 1.125rem;
color: #666;
line-height: 1;
}
.attraction-card img{
 height:100%;
width:100%;
  }

  #caseSingleContent img{
border-radius: 2.5rem;
width:100%;

  }

      


 @media (max-width: 576px) {


.portfolio .swiper-slide{

   width: 100%!important;
}
       
        
  .attraction-card {
                width: 100%!important;
}
}

