html {
    height: 100% !important;
    scroll-behavior: smooth;
}

body {
    line-height: 1.9em;
    min-height: 100vh !important;
    height: auto !important;
    
}
/*** Header Area ***/
/* Header Top */
#sp-top-bar {
    position: relative;
    z-index: 999;
}

/* Header Menu */
#sp-header {
    box-shadow: none;
    border-bottom: 1px solid #ffffff2b;
}
body:not(.home) #sp-header, #sp-header.header-sticky {
    background-color: #222;
    box-shadow: 0 0 4px 0 rgb(0 0 0 / 10%);
}
.sp-megamenu-parent .sp-dropdown li.sp-menu-item>a {
    font-weight: 400 !important;
    padding: 10px 0;
}
.sp-megamenu-parent > li > a, .sp-megamenu-parent > li > span {
    text-transform: capitalize;
    position: relative;
}
.sp-megamenu-parent > li > span {
    color: #fff;
}

/* Canvas Menu */
.offcanvas-menu .offcanvas-inner .menu-child > li a {
    padding: 12px 10px !important;
    border-bottom: 1px solid rgba(197, 153, 153, 0.21);
    display: inherit;
}
.offcanvas-menu .offcanvas-inner ul.menu>li>a, .offcanvas-menu .offcanvas-inner ul.menu>li>span {
    font-size: 15px;
    font-weight: 500;
}
.burger-icon>span {
    background-color: #fff;
}
.offcanvas-menu > .align-items-center {
    background: #3f3a3b;
}
.offcanvas-active .burger-icon>span, #modal-menu-toggler.active .burger-icon>span {
    background-color: #fff;
}

/*** Block Styles ***/
/* Button */
.btn {
    padding: 10px 30px;
    font-size: 16px;
    font-weight: 500;
    border-radius: 0;
    letter-spacing: 1px;
    border: none;
    display: inline-block;
    background: transparent;
    color: #000;
    -webkit-transition: .3s ease-in-out;
    -o-transition: .3s ease-in-out;
    transition: .3s ease-in-out;
}
.btn:hover {
    background-color: #333;
    color:  #fff;
}
.btn.white {
    background-color: #fff;
    color:  #000;
}
.btn.white:hover {
    color: #fff;
}
.addtocart-button:hover {
    background-color: #333 !important;
    border-color: #333 !important;
}

/* Title */
.title h4 {
    letter-spacing: 3px;
}

/* Slider */
#slider {
    margin-top: -90px !important;
}
.slider .sppb-row-overlay {
    background-image: linear-gradient(180deg, #2D2D2D80 0%, #1a1a1a 85%);
}
.slider .btn {
    padding: 18px 40px;
    font-size: 18px;
}
.slider-title h1 {
    -webkit-text-stroke-width: 1px;
    stroke-width: 1px;
    -webkit-text-stroke-color: #ffffff2b;
    stroke: hsl(0deg 0% 100% / 17%);
}
.slider-title {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    margin: 0 auto;
    z-index: -1;
}

/* Bg */
.bg-title {
    list-style-type: none;
    padding: 0;
    margin: 0;
}
.bg-title li {
    display: inline-block;
    text-transform: capitalize;
    font-weight: 500;
    letter-spacing: 1px;
}
.bg-title li strong {
    display: none;
}
.bg-title li em {
    padding: 0 15px;
    font-size: 16px;
}

/* Feature */
.feature-column {
    background-size: 110%;
    border: 1px solid #ffffff2b;
    -webkit-transition: .5s ease-in-out;
    -o-transition: .5s ease-in-out;
    transition: .5s ease-in-out;
}
.feature-column:hover {
    background-size: 100%;
    -webkit-transition: .5s ease-in-out;
    -o-transition: .5s ease-in-out;
    transition: .5s ease-in-out;
}

/* About */
.about, .faqs {
    background-size: 125px auto;
}
.about .sppb-row-overlay, .faqs .sppb-row-overlay {
    background-image: radial-gradient(at bottom left, #1A1A1ACC 0%, #1a1a1a 50%);
}
.about-counter {
    width: 33.33%;
    float: left;
}
.about-counter h1 {
    font-size: 55px;
    margin-bottom: 0;
}
.about-item {
    padding: 20px 50px;
    display: inline-block;
}

/* Services */
.services .sppb-row-overlay {
    background-image: radial-gradient(at center center, #0F1015CC 0%, #0f1015 60%);
}
.services-item.icon i {
    height: 75px !important;
    width: 75px !important;
    line-height: 75px !important;
    background: #fff;
    border-radius: 50%;
    color: #222;
}

/* Choose */
.choose {
    background-size: 100px auto;
}
.choose .sppb-row-overlay {
    background-image: radial-gradient(at center center, #1A1A1ACC 0%, #1a1a1a 60%);
}

/* Client */
.client-item img {
        filter: brightness( 200% ) contrast( 25% ) saturate( 0% ) blur( 0px ) hue-rotate( 0deg );
}

/* Testimonials */
.testimonials-column {
    border: 10px solid #ffffff2b;
    border-bottom: none;
}
.testimonials-img img {
    filter: brightness( 100% ) contrast( 100% ) saturate( 0% ) blur( 0px ) hue-rotate( 0deg );
}

/* FAQs */
.sppb-panel-title {
    font-size: 25px;
    font-weight: 400;
}
.sppb-panel-modern>.sppb-panel-heading {
    background: transparent;
    color: #fff;
}
.sppb-panel-modern {
    background: transparent;
    border: none;
    border-radius: 0;
    border-bottom: 1px solid #ffffff38;
    margin-bottom: 0;
}
.sppb-panel-body {
    border-top: none;
}
.sppb-panel-heading.active .sppb-panel-title {
    color: #000;
}
span.sppb-toggle-direction i {
    font-size: 15px;
}

/* Team */
.team-item {
    position: relative;
    overflow: hidden
}
.team-item:before {
    position: absolute;
    content: '';
    left: 4%;
    bottom: 4%;
    height: 92%;
    width: 92%;
    -webkit-transition: .2s;
    transition: .2s;
    opacity: 0;
    transform: scale(1.3);
}
.team-item:hover:before {
    transform: scale(1);
    opacity: .7;
}
.team-item p {
    margin-bottom: 15px;
    margin-top: 12px;
}
.team-item .sppb-media-content {
    position: absolute;
    left: 0;
    right: 0;
    opacity: 0;
    bottom: -20px;
    z-index: 1;
    -webkit-transition: .2s;
    transition: .2s;
}
.team-item:hover .sppb-media-content {
    opacity: 1;
    bottom: 30%;
}
.team-item .shrewd_solution_icon ul, .team-item .shrewd_solution_icon ul li {
    display: inline-block!important;
    padding: 0!important;
    margin-bottom: 0px !important;
}
.team-item .shrewd_solution_icon ul li a {
    font-size: 15px;
    width: 32px;
    line-height: 35px;
    color: #fff !important;
    text-align: center;
    border-radius: 50%;
    background: #000;
    -webkit-transition: .5s;
    transition: .5s;
    display: inline-block;
    height: 32px;
    margin-right: 5px;
}
.team-item .shrewd_solution_icon ul li a:hover {
    background-color: #fff;
    color: #222 !important;
}
.team-item .shrewd_solution_icon ul li a em {
    font-family: "Font Awesome 5 Brands";
}
.team-item .shrewd_solution_icon strong {
    display: none;
    margin: 0 20px;
}

/* Check List */
ul.check-left, ul.check-right {
    padding: 0;
    margin: 0;
    width: 50%;
    float: left;
    list-style: none;
}
.check-list ul strong {
    display: none;
}
.check-list ul li {
    padding-bottom: 10px;
}
.check-list ul li span {
    padding-right: 10px;
    font-size: 17px;
}

/* Video */
.video-column, .video-column .sppb-column-overlay {
    border-radius: 50px 0px 50px 0px;
    box-shadow: 0px 0px 100px 0px rgb(0 0 0 / 5%);
}
.video-item {
    position: relative;
    top: 0;
    margin: 0;
    right: 0;
    left: 0;
    text-align: center;
    background: #fff;
    width: 85px;
    height: 85px;
    border-radius: 50%;
    z-index: 1;
}
.video-item .sppb-img-container {
    overflow: hidden;
}
.video-item .sppb-img-container:hover:before {
    background-color: rgba(0, 0, 0, 0.90);
}
.video-item .sppb-img-container:before {
    background-color: rgba(0, 0, 0, 0.60);
    position: absolute;
    content: "";
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    height: 100%;
    display: block;
    border-radius: 10px;
    -webkit-transition: all 0.4s ease-in-out;
    transition: all 0.4s ease-in-out;
}
.video-item img {
    width: 100%;
}
#video-popup-container,
#video-popup-containers {
    display:none;
    position: fixed;
    z-index: 996;
    width: 60%;
    left: 50%;
    margin-left: -30%;
    top: 20%;
    background-color: #fff;
}
.video-item a {
    font-size: 0;
    position: absolute;
    top: 44%;
}
.video-item a:before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 65px;
    height: 65px;
    margin-top: 5px;
    margin-left: 0;
    border-radius: 50%;
    z-index: 10;
    border: 4px solid #fff;
    -webkit-animation: pulse-border 1500ms ease-out infinite;
    animation: pulse-border 1500ms ease-out infinite;
    z-index: 4;
}
.video-item a:after {
    content: '';
    position: absolute;
    top: 2px;
    left: 0;
    margin-top: -10.5px;
    margin-left: -5px;
    border: solid 12px transparent;
    border-left: solid 18px;
    border-left-color: #000;
    z-index: 10;
}
#video-popup-close,
#video-popup-closes {
    cursor: pointer;
    position: absolute;
    right: -10px;
    top: -10px;
    z-index: 9999;
    width: 25px;
    height: 25px;
    border-radius: 25px;
    text-align: center;
    font-size: 12px;
    background-color: #000;
    line-height: 25px;
    color: #fff;
    opacity: 1;
}
#video-popup-iframe-container,
#video-popup-iframe-containers {
    position: absolute;
    z-index: 999;
    width: 100%;
    padding-bottom: 56.25%;
    border: 2px solid #000;
    border-radius: 2px;
    background-color: #000;
}
#video-popup-iframe,
#video-popup-iframes {
    z-index: 999;
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    background-color: #000;
}
#video-popup-overlay,
#video-popup-overlays {
    display: none;
    position: fixed;
    top: 0;
    background-color: #000;
    opacity: 0.8;
    width: 100%;
    height: 100%;
    left: 0;
}
#video-popup-close:hover,
#video-popup-closes:hover {
    color: #DE0023;
}
@-webkit-keyframes pulse-border{
    0%{
        -webkit-transform:translateX(-50%) translateY(-50%) translateZ(0) scale(1);
        transform:translateX(-50%) translateY(-50%) translateZ(0) scale(1);
        opacity:1
    }
    100%{
        -webkit-transform:translateX(-50%) translateY(-50%) translateZ(0) scale(1.8);
        transform:translateX(-50%) translateY(-50%) translateZ(0) scale(1.8);
        opacity:0
    }
}
@keyframes pulse-border{
    0%{
        -webkit-transform:translateX(-50%) translateY(-50%) translateZ(0) scale(1);
        transform:translateX(-50%) translateY(-50%) translateZ(0) scale(1);
        opacity:1
    }
    100%{
        -webkit-transform:translateX(-50%) translateY(-50%) translateZ(0) scale(1.8);
        transform:translateX(-50%) translateY(-50%) translateZ(0) scale(1.8);
        opacity:0
    }
}


/* Blog */
.blog {
    z-index: 3 !important;
}
.jmm-item .jmm-image.mod-article-image {
    overflow: hidden;
    margin: 0;
}
.jmm-image.mod-article-image img {
    transform: scale(1);
    -webkit-transition: .5s ease-in-out;
    -o-transition: .5s ease-in-out;
    transition: .5s ease-in-out;
}
.jmm-item:hover .jmm-image.mod-article-image img {
    transform: scale(1.12);
    filter: grayscale(100%);
}
.jmm-text {
    padding: 30px 0 0;
    border-radius: 0px 0px 0px 0px;
}
.jm-category-module.default .jmm-text .jmm-title {
    font-size: 17px;
    font-weight: 600;
    text-transform: capitalize;
}
.jm-category-module.default .jmm-readmore {
    margin-top: 20px;
}

/* Bottom */
#sp-bottom {
    overflow: hidden;
    position: relative;
    z-index: 1;
    font-size: 20px;
    box-shadow: 0 0 4px 0 rgb(255 255 255 / 10%);
}
#sp-bottom .sp-module .sp-module-title {
    font-size: 28px;
    font-weight: 400;
    margin-bottom: 20px;
    padding-bottom: 0px;
    position: relative;
}
#sp-bottom1 h1 {
    font-weight: 600;
    margin-bottom: 15px;
}
#sp-position1 img {
    max-width: 200px;
}
#sp-bottom .sp-module ul>li {
    margin-bottom: 5px !important;
}
.shrewd_solution_icon  {
    margin-top: 25px;
}
.shrewd_solution_icon ul, .shrewd_solution_icon ul li {
    display: inline-block!important;
    padding: 0!important;
    margin-bottom: 0px !important;
}
.shrewd_solution_icon ul li a {
    font-size: 16px;
    width: 35px;
    line-height: 35px;
    color: #333369 !important;
    text-align: center;
    border-radius: 0px;
    border: none;
    -webkit-transition: .5s;
    transition: .5s;
    display: inline-block;
    height: 35px;
    margin-right: 5px;
    background: #f7f7f7;
}
.shrewd_solution_icon ul li a em {
    font-family: "Font Awesome 5 Brands";
}
.shrewd_solution_icon strong {
    display: none;
    margin: 0 20px;
}
#sp-bottom ul li strong {
    display: none;
}
#sp-bottom ul li span {
    padding-right: 10px;
}
#sp-bottom .bt3-top {
    font-size: 25px;
    font-weight: 300;
    text-transform: uppercase;
}
#sp-bottom2 h4 {
    font-size: 28px;
}

/* Footer Copyright */
#sp-footer {
    font-size: 20px;
    text-align: center;
}
#sp-footer {
    display: inline-block;
    width: 100%;
    position: relative;
    z-index: 1;
}
#sp-footer .container-inner {
    border-top: 1px solid #8080801f;
}

/*** Responsive Layout ***/
@media (max-width: 1280px) {

}
@media (min-width: 992px) and (max-width: 1280px) {
    .sp-megamenu-parent > li > a, .sp-megamenu-parent > li > span {
        font-size: 14px !important;
    }
}
/* Mobile Standard Layout */
@media (max-width: 991px) {
    #sp-header, #sp-header .logo {
        height: 70px;
    }
    #sp-footer p {
        text-align: center;
    }
    body #sp-header {
        padding: 0;
    }
    .btn-column .sppb-text-right {
        text-align: left;
    }
}

/* Mobile Small Resolution */
@media (max-width: 480px) {
    body #sp-header {
        top: 0;
    }
    .check-list ul,
    .about-counter {
        width: 100%;
    }
}

/* General color defination
Color value depend on preset color that picking on template settings > Presets
*/

:root {
  --background-color: currentColor;
  --background: currentColor;
  --text-color: currentColor;
}
.page-item.active .page-link, .slider-item .sppb-btn-success, .sp-simpleportfolio .sp-simpleportfolio-item .sp-simpleportfolio-info:hover, 
.btn, .btn.white:hover, .shrewd_solution_icon ul li a:hover,
.about-column.right .sppb-addon-wrapper:last-child, .about-item,
.sppb-panel-modern>.sppb-panel-heading.active, .btn:hover,
.services-item.icon i, .team-item:before {
    background-color: var(--background-color);
}
.addtocart-button {
    background-color: var(--background-color) !important;
}
.article-list .article .readmore a:hover, .article-list .article .readmore a:active, .article-list .article .article-header h2 a:hover,
.title h4, .product-title h3, .services-item i, #sp-bottom2 h4,
.bg-title em, .check-list ul li span {
    color: var(--text-color);
}
.btn, .services-column .clearfix {
    border-color: var(--text-color);
}
.addtocart-button, .com-sppagebuilder .product-container .spacer:hover {
    border-color: var(--background-color) !important;
}






/* 开始主容器布局 */

/* Container constraints */
.sppb-row-container {
    max-width: 1400px !important;
    margin: 0 auto !important;
    padding: 0 20px !important;
    box-sizing: border-box !important;
}

.sppb-container-inner {
    max-width: 1400px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    box-sizing: border-box !important;
}

.sppb-row {
    display: flex !important;
    flex-wrap: wrap !important;
    margin: 0 !important;
    gap: 40px !important;
    align-items: flex-start !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

.sppb-nested-row {
    display: flex !important;
    flex-wrap: wrap !important;
    margin: 0 !important;
    gap: 40px !important;
    align-items: flex-start !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

/* Column layout */
.sppb-row-column {
    flex: 1 1 0 !important;
    min-width: 0 !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}


.sppb-addon-sp-slider {
  position: relative !important;
  display: flex !important;
  flex-direction: row !important; /* 水平排列 */
  gap: 20px !important;
  padding: 20px !important;
  height: 500px !important;
  background: #fff;
  margin: 0 !important;
  width: 100% !important;
  box-sizing: border-box !important;
  border-radius: 15px !important;
  overflow: visible !important; /* 改为 visible */
}


/* 主图区域 */
.sp-slider-outer-stage {
  flex: 1 !important; /* 使用 flex 布局 */
  height: 100% !important;
  order: 2 !important;
  position: relative !important;
  overflow: hidden !important;
  border-radius: 15px !important;
  margin: 0 !important;
  background: #f5f5f5 !important;
}

/* 幻灯片项目 */
.sp-item {
  position: absolute !important;
  width: 100% !important;
  height: 100% !important;
  left: 0 !important;
  background: #fff;
  display: none !important;
  border-radius: 15px !important; /* 添加这行 */
  overflow: hidden !important; /* 添加这行 */
}

.sp-item.active {
  display: block !important;
}


/* 背景图片 */
.sp-background {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  border-radius: 15px !important; /* 修改这里 */
  background-size: contain !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
}



/* 导航按钮 */
/* 导航按钮位置调整 */
.sp-nav-control {
  position: absolute !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: calc(100% - 170px) !important; /* 减去缩略图宽度和间距 */
  right: 0 !important;
  left: auto !important;
  z-index: 10 !important;
  pointer-events: none !important;
}

.nav-control {
  position: absolute !important;
  width: 40px !important;
  height: 40px !important;
  background: rgba(255,255,255,0.9) !important;
  border-radius: 50% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  transition: all 0.3s ease !important;
  color: #333 !important;
  pointer-events: auto !important;
}

.prev-control {
  left: 50px !important;
}

.next-control {
  right: 50px !important;
}

.nav-control:hover {
  background: #fff !important;
  box-shadow: 0 0 10px rgba(0,0,0,0.1) !important;
}

/* 内容区域 */
.sp-slider-content-align-center {
  position: absolute !important;
  right: 0 !important;
  bottom: 0 !important;
  width: 50% !important;
  padding: 30px !important;
  background: rgba(255,255,255,0.9) !important;
  border-radius: 8px 0 0 0 !important;
  text-align: left !important;
  z-index: 2 !important;
}

/* 标题样式 */
.sppb-sp-slider-title {
  font-size: 24px !important;
  margin-bottom: 15px !important;
  color: #333 !important;
}

/* 文本样式 */
.sppb-sp-slider-text {
  font-size: 16px !important;
  line-height: 1.6 !important;
  color: #666 !important;
}

/* 按钮样式 */
.sppb-sp-slider-button {
  display: inline-block !important;
  padding: 10px 25px !important;
  background: #007bff !important;
  color: #fff !important;
  text-decoration: none !important;
  border-radius: 4px !important;
  margin-top: 20px !important;
  transition: all 0.3s ease !important;
}

.sppb-sp-slider-button:hover {
  background: #0056b3 !important;
}

/* 隐藏不需要的元素 */
.sp-indicator-container {
  display: none !important;
}

/* 动画效果 */
.sp-item {
  transition: transform 0.8s ease !important;
}

/* 响应式样式 */
@media (max-width: 992px) {
  .sp-slider-outer-stage {
    height: 400px !important;
  }

  .sp-slider-content-align-center {
    width: 70% !important;
  }
  
  .sp-dots li {
    width: 80px !important;
    height: 80px !important;
  }
}

@media (max-width: 768px) {
  .sp-slider-outer-stage {
    height: 350px !important;
  }

  .sp-dots {
    height: 100px !important;
  }

  .sp-dots li {
    width: 70px !important;
    height: 70px !important;
  }

  .sp-slider-content-align-center {
    width: 90% !important;
    left: 5% !important;
    right: 5% !important;
    bottom: 20px !important;
  }

  .sppb-sp-slider-title {
    font-size: 20px !important;
  }

  .sppb-sp-slider-text {
    font-size: 14px !important;
  }

  .nav-control {
    width: 30px !important;
    height: 30px !important;
  }
}

@media (max-width: 576px) {
  .sp-slider-outer-stage {
    height: 300px !important;
  }

  .sp-dots {
    height: 80px !important;
  }

  .sp-dots li {
    width: 60px !important;
    height: 60px !important;
  }

  .sp-slider-content-align-center {
    padding: 15px !important;
  }

  .sppb-sp-slider-title {
    font-size: 18px !important;
  }

  .nav-control {
    display: none !important;
  }
}

/* 导航点容器样式 */
.sp-dots {
    position: absolute !important;
    bottom: 20px !important;
    left: 50% !important;
    transform: translateX(0%) !important;
    z-index: 10 !important;
}

.sp-dots ul {
    display: flex !important;
    gap: 8px !important;
    padding: 0 !important;
    margin: 0 !important;
    list-style: none !important;
}

.sp-dots li {
    width: 20px !important;
    height: 2px !important;
    padding: 0 !important;
    margin: 0 !important;
}

.dot-indicator {
    width: 100% !important;
    height: 100% !important;
    background: #999999 !important;  /* 默认灰色 */
    transition: all 0.3s ease !important;
    cursor: pointer !important;
}

.dot-indicator.active {
    background: #000000 !important;  /* 激活时纯黑色 */
}

/* 移动端适配 */
@media screen and (max-width: 768px) {
    /* 主容器调整 */
    .sppb-addon-sp-slider {
        flex-direction: column !important;
        height: auto !important;
        padding: 10px !important;
        gap: 8px !important; /* 减小间距 */
    }

    /* 主图区域 - 调大 */
    .sp-slider-outer-stage {
        height: 400px !important; /* 增加主图高度 */
        order: 1 !important;
        margin-bottom: 8px !important;
    }

    /* 缩略图调整 */
    .sp-dots {
        height: 60px !important; /* 减小缩略图容器高度 */
    }

    .sp-dots li {
        width: 50px !important; /* 减小缩略图宽度 */
        height: 50px !important; /* 减小缩略图高度 */
        margin: 0 4px !important; /* 减小间距 */
    }

    /* 内容区域上移 */
    .sp-slider-content-align-center {
        position: relative !important;
        width: 100% !important;
        padding: 12px !important;
        border-radius: 8px !important;
        background: #fff !important;
    }
}

/* 更小屏幕的适配 */
@media screen and (max-width: 480px) {
    .sp-slider-outer-stage {
        height: 350px !important; /* 保持较大的主图 */
    }

    /* 更小的缩略图 */
    .sp-dots {
        height: 50px !important;
    }

    .sp-dots li {
        width: 40px !important;
        height: 40px !important;
        margin: 0 3px !important;
    }
}

.slider-thumbnails{
margin-left: 60px;
}


/* 联系表单样式 */
.contact-form {
    margin-top: 30px !important;
    padding-top: 20px !important;
    border-top: 1px solid #eee !important;
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
}

.features-title {
    font-size: 1.3rem !important;
    font-weight: 600 !important;
    margin-bottom: 15px !important;
    color: #333 !important;
    display: block !important;
}

.inquiry-form {
    display: flex !important;
    flex-direction: column !important;
    gap: 15px !important;
    width: 100% !important;
}

.form-group {
    width: 100% !important;
    display: block !important;
}

.form-group input,
.form-group textarea {
    width: 100% !important;
    padding: 12px 15px !important;
    border: 1px solid #ddd !important;
    border-radius: 6px !important;
    font-size: 1rem !important;
    box-sizing: border-box !important;
    transition: border-color 0.3s !important;
    display: block !important;
    visibility: visible !important;
}

.form-group input:focus,
.form-group textarea:focus {
    outline: none !important;
    border-color: #007bff !important;
}

.form-group textarea {
    min-height: 100px !important;
    resize: vertical !important;
}

/* 提交按钮样式 */
.inquiry-button {
    padding: 12px 20px !important;
    background: #28a745 !important;
    color: white !important;
    border: none !important;
    border-radius: 6px !important;
    font-size: 1rem !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    transition: background 0.3s !important;
    width: 100% !important;
    margin-top: 10px !important;
    visibility: visible !important;
    opacity: 1 !important;
}

.inquiry-button:hover {
    background: #218838 !important;
}

.send-icon {
    width: 16px !important;
    height: 16px !important;
    fill: currentColor !important;
}

/* 确保按钮文本可见 */
.inquiry-button span {
    display: inline-block !important;
    visibility: visible !important;
}




/* 产品网格 */
.product-grid {
  max-width: 1600px;
  margin: 0 auto;
  padding: 20px;
}

.product-grid__wrapper {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 30px;
  margin-bottom: 40px; /* 为底部线条留出空间 */
}

/* 底部线条样式 */
.grid-line {
  position: absolute;
  bottom: 0;
  left: 50%;  /* 居中定位 */
  transform: translateX(-50%) scaleX(0);  /* 水平居中并初始化宽度为0 */
  width: 100%;
  max-width: 1000px;  /* 与产品网格同宽 */
  height: 2px;
  background-color: #cccccc;
  transition: transform 0.3s ease;
  transform-origin: center;  /* 从中心开始展开 */
}

/* 鼠标悬停效果 */
.product-grid:hover .grid-line {
  transform: translateX(-50%) scaleX(1);  /* 保持居中并展开宽度 */
}

/* 产品卡片 */
.product-item {
  position: relative;
  background: #fff;
  border-radius: 12px;
  overflow: hidden;
  transition: all 0.3s ease;
  box-shadow: 0 2px 10px rgba(0,0,0,0.05);
}



/* 产品标签 */
.product-badge {
  position: absolute;
  top: 10px;
  left: 10px;
  padding: 4px 8px;
  background: #ff4444;
  color: #fff;
  border-radius: 4px;
  font-size: 12px;
  z-index: 2;
}

/* 产品图片 */
.product-image {
  position: relative;
  padding-bottom: 100%;
}

.product-image img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: opacity 0.3s;
}

.hover-image {
  opacity: 0;
}

.product-image:hover .hover-image {
  opacity: 1;
}

.product-image:hover .main-image {
  opacity: 0;
}

/* 快速操作按钮 */
.product-actions {
  position: absolute;
  top: 10px;
  right: 10px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  opacity: 0;
  transform: translateX(10px);
  transition: all 0.3s;
}

.product-item:hover .product-actions {
  opacity: 1;
  transform: translateX(0);
}

.action-btn {
  width: 36px;
  height: 36px;
  border: none;
  border-radius: 50%;
  background: #fff;
  color: #333;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s;
}

.action-btn:hover {
  background: #333;
  color: #fff;
}

/* 产品信息 */
.product-info {
  padding: 20px;
  text-align: center;
}

.product-name {
  margin: 0 0 10px;
  font-size: 22px;
}

.product-name a {
  text-decoration: none;
  color: inherit;
}

.product-name .type {
  display: block;
  font-size: 18px;
  color: #666;
  margin-top: 4px;
}

/* 价格 */
.product-price {
  margin: 10px 0;
}

.current-price {
  font-size: 18px;
  font-weight: 600;
  color: #333;
}

.original-price {
  font-size: 18px;
  color: #999;
  text-decoration: line-through;
  margin-left: 8px;
}

/* 颜色选择器 */
.color-swatches {
  display: flex;
  justify-content: center;
  gap: 8px;
  margin-top: 15px;
}

.swatch-item input {
  display: none;
}

.swatch-item label {
  display: block;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  border: 2px solid transparent;
  cursor: pointer;
  transition: all 0.2s;
}

.swatch-item input:checked + label {
  border-color: #333;
}

/* 响应式设计 */
@media (max-width: 768px) {
  .product-grid__wrapper {
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: 15px;
  }
  
  .product-info {
    padding: 15px;
  }
  
  .product-name {
    font-size: 14px;
  }
  
  .current-price {
    font-size: 16px;
  }
}



/* 针对特定高度问题的修复 */
.sp-page-builder .page-content [style*="height: 100vh"],
.sp-page-builder .page-content [style*="min-height: 999px"],
.sp-page-builder .page-content [style*="min-height: 9999px"] {
    height: auto !important;
    min-height: auto !important;
    max-height: none !important;
    overflow: visible !important;
}

/* 确保内容自由扩展 */
.sp-page-builder .page-content .sppb-row-container {
    height: auto !important;
    min-height: auto !important;
    max-height: none !important;
    overflow: visible !important;
}

.sp-page-builder .page-content .sppb-row {
    height: auto !important;
    min-height: auto !important;
    max-height: none !important;
    overflow: visible !important;
}

.sp-page-builder .page-content .sppb-row-column {
    height: auto !important;
    min-height: auto !important;
    max-height: none !important;
    overflow: visible !important;
} 



.article-details .article-ratings-social-share {
    padding: none; 
    border-top: none; 
    border-bottom: none; 
    margin-bottom: 1rem;
    
}



.fields-container {
    display: none;}

/* 文章全图样式 */

/* 基础样式 */
.article-full-image {
    position: relative;
    overflow: hidden;
    margin: 20px 0;
}

.article-full-image img {
    display: block;
    width: 50%;
    height: auto;
    object-fit: cover;
}

/* 文章列表图片固定宽度设置 */
.article-list .article .article-intro-image img, 
.article-list .article .article-featured-video img, 
.article-list .article .article-featured-audio img, 
.article-list .article .article-feature-gallery img {
    border-radius: 3px 3px 0 0;
    width: 500px !important;
    max-width: 100% !important;
    height: auto !important;
    object-fit: cover !important;
}

/* 固定宽度样式 */
.article-full-image.fixed-width img {
    width: 800px;
    max-width: 100%;
    height: auto;
}

/* 固定高度样式 */
.article-full-image.fixed-height img {
    width: 100%;
    height: 400px;
    object-fit: cover;
}

/* 固定尺寸样式 */
.article-full-image.fixed-size img {
    width: 600px;
    height: 400px;
    object-fit: cover;
    max-width: 100%;
}

/* 响应式尺寸 */
.article-full-image.responsive img {
    width: 100%;
    max-width: 800px;
    height: auto;
}

/* 居中显示 */
.article-full-image.centered {
    text-align: center;
}

.article-full-image.centered img {
    margin: 0 auto;
}

/* 圆角样式 */
.article-full-image.rounded img {
    border-radius: 8px;
}

/* 阴影效果 */
.article-full-image.shadow img {
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

/* 悬停效果 */
.article-full-image.hover-zoom img {
    transition: transform 0.3s ease;
}

.article-full-image.hover-zoom:hover img {
    transform: scale(1.05);
}

/* 响应式断点 */
@media (max-width: 768px) {
    .article-full-image img {
        width: 100%;
        height: auto;
    }
    
    .article-full-image.fixed-size img {
        width: 100%;
        height: 250px;
    }
    
    /* 移动端文章列表图片 */
    .article-list .article .article-intro-image img, 
    .article-list .article .article-featured-video img, 
    .article-list .article .article-featured-audio img, 
    .article-list .article .article-feature-gallery img {
        width: 100% !important;
        height: auto !important;
    }
}

@media (max-width: 480px) {
    .article-full-image.fixed-size img {
        height: 200px;
    }
}

/* 特定尺寸预设 */
.article-full-image.size-small img {
    width: 300px;
    height: 200px;
    object-fit: cover;
    max-width: 100%;
}

.article-full-image.size-medium img {
    width: 500px;
    height: 350px;
    object-fit: cover;
    max-width: 100%;
}

.article-full-image.size-large img {
    width: 800px;
    height: 500px;
    object-fit: cover;
    max-width: 100%;
}

/* 宽高比控制 */
.article-full-image.ratio-16-9 {
    position: relative;
    width: 100%;
    padding-bottom: 56.25%; /* 16:9 比例 */
}

.article-full-image.ratio-16-9 img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.article-full-image.ratio-4-3 {
    position: relative;
    width: 100%;
    padding-bottom: 75%; /* 4:3 比例 */
}

.article-full-image.ratio-4-3 img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* 懒加载占位符 */
.article-full-image.lazy-loading {
    background-color: #f0f0f0;
    min-height: 200px;
}

.article-full-image.lazy-loading img {
    opacity: 0;
    transition: opacity 0.3s ease;
}

.article-full-image.lazy-loading img.loaded {
    opacity: 1;
}




/* 文章主体容器 */
.article-body {
    font-family: 'Teko', sans-serif;
    line-height: 1.6;
    color: #333;
    max-width: 1200px;
    margin: 0 auto;
    padding: 20px;
}

/* 文章标题 */
.article-header h2 {
    font-size: 2.5rem;
    font-weight: 700;
    margin-bottom: 20px;
    color: #2c3e50;
    line-height: 1.2;
}

.article-header h2 a {
    color: inherit;
    text-decoration: none;
    transition: color 0.3s ease;
}

.article-header h2 a:hover {
    color: #007bff;
}

/* 文章信息栏 */
.article-info {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    margin-bottom: 30px;
    padding: 15px 0;
    border-bottom: 1px solid #e9ecef;
    font-size: 1rem;
    color: #6c757d;
}

.article-info span {
    display: flex;
    align-items: center;
    gap: 5px;
}

.article-info .createdby {
    font-weight: 500;
}

.article-info .category-name a {
    color: #007bff;
    text-decoration: none;
    font-weight: 500;
}

.article-info .category-name a:hover {
    text-decoration: underline;
}

.article-info .published {
    font-style: italic;
}

/* 字段容器 */
.fields-container {
    list-style: none;
    padding: 0;
    margin: 20px 0;
    background: #f8f9fa;
    border-radius: 8px;
    padding: 15px;
}

.fields-container .field-entry {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 10px;
    font-size: 1rem;
}

.fields-container .field-entry:last-child {
    margin-bottom: 0;
}

.fields-container .field-label {
    font-weight: 600;
    color: #495057;
    min-width: 80px;
}

.fields-container .field-value {
    color: #007bff;
    font-weight: 500;
}

/* 文章介绍文本 */
.article-introtext {
    font-size: 1.1rem;
    line-height: 1.8;
    color: #495057;
    margin-top: 25px;
}

.article-introtext p {
    margin-bottom: 20px;
    text-align: justify;
}

.article-introtext p:last-child {
    margin-bottom: 0;
}

.article-introtext strong {
    font-weight: 700;
    color: #2c3e50;
}

/* 响应式设计 */
@media (max-width: 768px) {
    .article-body {
        padding: 15px;
    }
    
    .article-header h2 {
        font-size: 2rem;
    }
    
    .article-info {
        flex-direction: column;
        gap: 10px;
        font-size: 0.9rem;
    }
    
    .article-introtext {
        font-size: 1rem;
        line-height: 1.6;
    }
    
    .fields-container {
        padding: 10px;
    }
    
    .fields-container .field-entry {
        font-size: 0.9rem;
    }
}

@media (max-width: 480px) {
    .article-header h2 {
        font-size: 1.8rem;
    }
    
    .article-introtext {
        font-size: 0.95rem;
    }
}

/* 深色主题支持 */
@media (prefers-color-scheme: dark) {
    .article-body {
        color: #e2e8f0;
    }
    
    .article-header h2 {
        color: #f8f9fa;
    }
    
    .article-info {
        color: #adb5bd;
        border-bottom-color: #4a5568;
    }
    
    .article-introtext {
        color: #cbd5e0;
    }
    
    .fields-container {
        background: #2d3748;
    }
    
    .fields-container .field-label {
        color: #a0aec0;
    }
    
    .fields-container .field-value {
        color: #4dabf7;
    }
}

/* 可选的文字大小变体 */
.article-body.text-small .article-header h2 {
    font-size: 2rem;
}

.article-body.text-small .article-introtext {
    font-size: 1rem;
}

.article-body.text-large .article-header h2 {
    font-size: 3rem;
}

.article-body.text-large .article-introtext {
    font-size: 1.2rem;
}

.article-body.text-extra-large .article-header h2 {
    font-size: 3.5rem;
}

.article-body.text-extra-large .article-introtext {
    font-size: 1.3rem;
}

/* 紧凑布局 */
.article-body.compact .article-info {
    margin-bottom: 20px;
    padding: 10px 0;
}

.article-body.compact .article-introtext {
    margin-top: 15px;
}

.article-body.compact .article-introtext p {
    margin-bottom: 15px;
}

/* 宽松布局 */
.article-body.spacious .article-header h2 {
    margin-bottom: 30px;
}

.article-body.spacious .article-info {
    margin-bottom: 40px;
    padding: 20px 0;
}

.article-body.spacious .article-introtext {
    margin-top: 35px;
}

.article-body.spacious .article-introtext p {
    margin-bottom: 25px;
}




.ArticleListWrapper {
  padding: 0;
}

.ArticleList {
  max-width: 100%;
  margin: 0;
  padding: 0;
}

/* 网格布局 */
.Grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
  align-items: center;
}

/* 文章内容样式 */
.ArticleItem__Content {
  padding: 0 100px;
  max-width: 800px;
  margin: 0 auto;
}

.ArticleItem__Category {
  font-size: 14px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: #666;
  margin-bottom: 24px;
  display: block;
}

.ArticleItem__Title {
  font-size: 56px;
  line-height: 1.1;
  margin-bottom: 40px;
  font-weight: 500;
}

.ArticleItem__Title a {
  color: #000;
  text-decoration: none;
}

.ArticleItem__Excerpt {
  font-size: 25px;
  line-height: 1.6;
  color: #666;
  margin-bottom: 40px;
}

.ArticleItem__Link {
  font-size: 40px;
  text-transform: uppercase;
  color: #000;
  text-decoration: none;
  position: relative;
  display: inline-block;
  letter-spacing: 0.1em;
}

/* 下划线动画效果 */
.Link--underline {
  position: relative;
}

.Link--underline::after {
  content: '';
  position: absolute;
  bottom: -2px;
  left: 0;
  width: 100%;
  height: 1px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: right;
  transition: transform 0.3s ease;
}

.Link--underline:hover::after {
  transform: scaleX(1);
  transform-origin: left;
}

/* 图片容器 */
.ArticleItem__ImageWrapper {
  position: relative;
  display: block;
  width: 100%;
  height: 100vh;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.AspectRatio {
  position: relative;
}

.AspectRatio > img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* 图片淡入效果 */
.Image--fadeIn {
  opacity: 1;
  transition: opacity 0.3s ease;
}

/* 懒加载图片样式 */
.Image--lazyLoad {
  opacity: 0;
  transition: opacity 0.3s ease;
}

.Image--lazyLoaded {
  opacity: 1;
}

/* Heading 样式 */
.Heading {
  font-family: var(--heading-font-family);
  font-weight: var(--heading-font-weight);
  font-style: var(--heading-font-style);
}

.u-h2 {
  font-size: 56px;
  line-height: 1.1;
}

.u-h6 {
  font-size: 30px;
  line-height: 1.4;
}

.Text--subdued {
  color: #666;
}

/* 响应式设计 */
@media screen and (max-width: 1400px) {
  .ArticleItem__Content {
    padding: 0 80px;
  }

  .ArticleItem__Title,
  .u-h2 {
    font-size: 48px;
  }
}

@media screen and (max-width: 1200px) {
  .ArticleItem__Content {
    padding: 0 60px;
  }

  .ArticleItem__Title,
  .u-h2 {
    font-size: 42px;
  }
  
  .ArticleItem__Excerpt {
    font-size: 18px;
  }
}

@media screen and (max-width: 768px) {
  .Grid {
    grid-template-columns: 1fr;
  }
  
  .ArticleItem__Content {
    padding: 40px 20px;
    order: 2;
  }
  
  .ArticleItem__ImageWrapper {
    order: 1;
    height: 60vh;
  }
  
  .ArticleItem__Title,
  .u-h2 {
    font-size: 36px;
    margin-bottom: 30px;
  }

  .ArticleItem__Excerpt {
    font-size: 16px;
    margin-bottom: 30px;
  }

  .ArticleItem__Category {
    font-size: 12px;
    margin-bottom: 20px;
  }
}

/* 可见性控制 */
@media screen and (max-width: 768px) {
  .visible-desktop {
    display: none;
  }
}

@media screen and (min-width: 769px) {
  .visible-mobile {
    display: none;
  }
}

/* Grid Cell 响应式类 */
@media screen and (min-width: 641px) {
  .Grid__Cell.1\\/2--tablet {
    width: 50%;
  }
}

@media screen and (min-width: 1008px) {
  .Grid__Cell.1\\/2--lap-and-up {
    width: 50%;
  }
}