
/* 轮播图标题样式 */
.carousel-caption {
    width: 100%;
    position: absolute;
    top: 50%;
    left: 50%;
    right: auto;
    bottom: auto;
    transform: translate(-50%, -50%);
    color: white;
    z-index: 100;
    height: auto;
    overflow: hidden;
}

.carousel-title {
    width: 80%;
    margin: 0 auto;
    font-weight: bold;
    text-overflow: ellipsis;
    overflow: hidden;
    text-align: center;
    font-size: 3rem;
}

/* 轮播图指示符样式调整 */
.carousel-indicators {
    right: 0px;
    width: 100%;
    text-align: center;
    top: auto;
    left: auto;
    bottom: 15px;
    margin-bottom: 0;
    margin-right: 0;
    z-index: 11;
}

    .carousel-indicators button {
        width: 12px !important;
        height: 12px !important;
        border-radius: 50%;
        margin: 3px 0;
    }

#carousel-inner {
    height: 100vh;
    overflow: hidden;
}

/* 设置轮播图图片宽高比为2:3 */
.carousel-item {
    position: relative;
    width: 100%;
    height: 100%;
}

    .carousel-item img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center;
    }

.carousel a.btn-into {
    display: none !important;
}


h2.title {
    font-family: Arial, Helvetica, sans-serif;
    font-weight: bold;
    font-size: 3rem;
    color: #000;
    text-align: center;
    margin: 5rem 0;
    position: relative;
}

    h2.title:after {
        content: '';
        position: absolute;
        width: 3rem;
        height: 0.5rem;
        left: 50%;
        top: 120%;
        transform: translateX(-50%);
        background: var(--secondary);
        transition: width 0.3s ease;
    }



/**Solutions**/
.solutions {
    z-index: 1;
    position: relative;
}

    .solutions .col-md-4 {
        padding: 0 2rem;
        position: relative;
    }

    .solutions .solutions-bg {
        position: relative;
        width: 100%;
        height: 100%;
        padding-bottom: 120%;
        overflow: hidden;
    }

        .solutions .solutions-bg img {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            transition: transform 0.5s ease;
        }

    .solutions .col-md-4:hover .solutions-bg img {
        transform: scale(1.1);
    }

    .solutions .solutions-item {
        width: calc(100% - 4rem);
        height: 100%;
        position: absolute;
        z-index: 1;
    }

    .solutions .solutions-desc {
        height: 100%;
        padding: 2rem;
    }

    .solutions .solutions-content {
        height: 9rem;
        margin-top: 70%;
        padding: 1.5rem;
        background: rgba(255, 255, 255, 0.8); /* 半透明白色 */
        backdrop-filter: blur(10px); /* 磨砂效果 */
        -webkit-backdrop-filter: blur(10px); /* Safari兼容 */
        border-radius: 2rem;
    }

    .solutions .col-md-4:hover h3 {
        background: var(--secondary);
    }

    .solutions a {
        display: block;
    }

    .solutions h3 {
        font-size: 1rem;
        display: inline-block !important;
        margin-top: 0;
        padding: 0.5rem 1rem;
        background: rgba(0, 0, 0, 0.5);
        border: 1px solid #fff;
        color: #fff;
        border-radius: 1rem;
    }

    .solutions .solutions-content h4 {
        display: none;
        font-size: 1rem;
        font-weight: 600;
        margin-top: 0;
        margin-bottom: 2rem;
        color: #000;
    }

    .solutions .solutions-content p {
        font-size: 1rem;
        margin-bottom: 0;
        line-height: 1.5em;
        color: #333;
    }

.bgblue {
    background: var(--primary);
    height: 50rem;
    z-index: 0;
    margin-top: -20rem;
}

.Consultation {display:none;
    margin-top: -27rem;
    position: relative;
}

    .Consultation h2.title {
        color: #fff;
    }

    .Consultation p {
        color: #fff;
        font-size: 2rem;
    }

    .Consultation a {
        color: #fff;
    }

    .Consultation .Consultation-content {
        position: absolute;
        width: 90%;
        top: 60%;
        left: 50%;
        transform: translate(-50%,-50%);
        text-align: center;
        line-height: 2.5em;
        font-weight: 500;
    }

    .Consultation a.btn-into {
        position: absolute;
        bottom: -5%;
        left: 50%;
        right: auto;
        transform: translateX(-50%);
        white-space: nowrap;
    }

        .Consultation a.btn-into:hover {
            background: var(--secondary);
        }

    .Consultation .Consultation-bg img {
        width: 100%;
        height: auto;
    }


/**data**/
.data {
    margin-top: 10rem !important;
    display: none
}

    .data .data-content {
        width: 80%;
        margin: 0 auto;
        text-align: center;
        font-size: 1.2rem;
        color: var(--text-gray);
    }

    .data .data-info {
        display: flex;
        align-items: center;
        position: relative;
    }

        .data .data-info .data-info-left {
            width: 54%;
            height: auto;
            float: left;
            margin: 0 3%;
            position: relative;
            z-index: 1;
        }

        .data .data-info .data-info-right {
            width: 34%;
            height: auto;
            float: right;
            margin: 0 3%;
            position: relative;
            z-index: 1;
        }

    .data .data-bg {
        text-align: center;
        position: absolute;
        left: 0;
        top: 0;
        width: 100%;
        opacity: 0.2
    }


/**meida**/
.media {
    overflow: hidden;
    margin-top: 5rem !important;
}

    .media .company-news > .row > a {
        display: flex
    }

    .media .news-image {
        position: relative;
    }

    .media img {
        border-radius: 2rem;
        overflow: hidden;
        aspect-ratio: 1.83;
        object-fit: cover;
        object-position: center;
        width: 100%;
        height: auto;
        transition: all 1s ease;
    }

    .media .badge {
        background: rgba(0, 0, 0, 0.3);
        position: absolute;
        left: 8%;
        top: 10%;
        padding: 0.8rem 1.5rem;
        border: 1px solid #fff;
        color: #fff;
    }

    .media a:hover .badge {
        background: var(--secondary);
    }

    .media .news-date {
        color: var(--text-gray);
        font-size: 1.1rem;
    }

    .media .news-desc {
        color: var(--text-gray);
        font-size: 1.1rem;
        margin-bottom: 7rem;
    }

    .media h2.news-title {
        color: #000;
        font-size: 1.7rem
    }

    .media p.more {
        display: inline-block;
        border-bottom: 1px solid #666;
        font-size: 1.1rem;
    }

    .media a:hover p.more {
        border-bottom: 1px solid var(--secondary);
    }

    .media .media-list {
        margin: 5rem 0;
    }

        .media .media-list .news-image {
            margin-bottom: 1rem;
        }

            .media .media-list .news-image i {
                display: none;
                position: absolute;
                top: 10%;
                right: 8%;
                font-size: 1.5rem;
                background: var(--secondary);
                color: #fff;
                overflow: hidden;
                padding: 0.3rem 0.7rem;
                border-radius: 0.5rem;
            }

        .media .media-list h3 {
            font-size: 1.3rem;
        }

/**contact**/
.contact {
    position: relative;
}

    .contact .contact-content {
        background: #fff;
        position: absolute;
        left: 18%;
        top: 35%;
        padding: 2rem 3rem;
        width: 30%;
    }

        .contact .contact-content h2 {
            font-size: 0.8rem;
            font-weight: bold;
        }

        .contact .contact-content .contact-desc {
            font-size: 1.2rem;
        }

        .contact .contact-content a.btn-into {
            border: 1px solid #ccc;
            padding: 0.5rem 1rem !important;
            width: 80%;
            background: NONE;
            margin: 0;
            color: var(--text-gray);
        }

            .contact .contact-content a.btn-into i {
                right: 1rem;
            }

            .contact .contact-content a.btn-into * {
                color: #666 !important;
            }

    .contact .contact-bg img {
        width: 100%;
        height: auto;
    }

@media (max-width: 768px) {
    .carousel {
        background: var(--gray-bg);
        padding: 15px;
    }

        .carousel .carousel-item {
            background: var(--gray-bg);
        }

        .carousel .carousel-title {
            font-size: 1.2rem;
        }

        .carousel .carousel-indicators {
            display: none
        }

        .carousel .carousel-caption {
            position: relative;
            top: auto;
            left: auto;
            transform: none;
            height: 12rem;
        }

        .carousel h2.carousel-title {
            color: #000;
            text-align: left;
            font-size: 1.8rem;
            line-height: 1.8em;
            width: auto;
            font-weight: 400;
        }

            .carousel h2.carousel-title br { /* 禁用换行，使<br>失效 */
                white-space: nowrap; /* 或直接隐藏<br>的换行效果（推荐） */
                display: none;
            }

        .carousel a.btn-into {
            display: inline-block !important;
            background: var(--gray-bg);
            color: var(--text-gray) !important;
            border: 1px solid var(--text-gray);
            padding: 0.3rem 1.5rem !important;
            padding-right: 2rem !important;
            margin-bottom: 1.5rem;
        }

    .content .container {
        width: 100%;
    }

    h2.title {
        font-size: 2.5rem;
        margin: 3rem 0;
        margin-bottom: 2rem;
    }

        h2.title::after {
            display: none;
        }


    /* 指示器样式 */
    .solutions.container {
        overflow: visible;
    }

    .solutions .solutions-item {
        width: calc(100%);
    }

    .solutions .carousel#solutionsCarousel {
        padding: 0;
    }

        .solutions .carousel#solutionsCarousel .carousel-indicators {
            display: flex;
            bottom: -3rem;
            align-items: center;
        }

    .solutions #solutionsCarousel .carousel-indicators [data-bs-target] {
        width: 10px;
        height: 10px;
        border-radius: 50%;
        border: none;
        background: #000;
        opacity: 1;
        margin: 0 16px; /* 添加基础间距 */
    }
    /* 修改active样式 */
    .solutions #solutionsCarousel .carousel-indicators .active {
        box-shadow: 0 0 0 10px #fff, 0 0 0 11px #000; /* 3px透明间距 + 1px红色边框 */
        border-radius: 50%;
        overflow: hidden;
    }

    .solutions h3 {
        font-size: 1.8rem;
    }

    .bgblue {
        display: none;
    }

    .Consultation.container {
        margin-top: 7rem;
        overflow: visible;
        padding: 0 !important;
    }

    .solutions .solutions-content {
        margin-top: 45%;
    }

    .Consultation h2.title {
        color: #000;
    }

    .Consultation .Consultation-bg {
        height: 40vh;
        overflow: hidden;
    }

        .Consultation .Consultation-bg img {
            object-fit: cover;
            object-position: center;
            width: auto;
        }

    .Consultation p {
        font-size: 1.2rem;
    }

        .Consultation p br { /* 禁用换行，使<br>失效 */
            white-space: nowrap; /* 或直接隐藏<br>的换行效果（推荐） */
            display: none;
        }

    .data {
        margin-top: 3rem !important;
    }

        .data .data-info {
            flex-direction: column;
        }

            .data .data-info .data-info-left {
                width: 80%;
                float: none;
                margin: 5rem auto;
            }

            .data .data-info .data-info-right {
                width: 90%;
                float: none;
                margin: 0 auto;
                margin-bottom: 5rem;
            }


    .media {
        background: var(--gray-bg);
    }

        .media .company-news > .row > a {
            display: block
        }

        .media .news-desc {
            margin-bottom: 2rem;
        }

        .media .media-list {
            margin: 3rem 0;
        }

        .media .badge {
            font-size: 1.2rem;
        }

    .contact .contact-bg {
        height: 40vh;
        overflow: hidden;
    }

        .contact .contact-bg img {
            object-fit: cover;
            object-position: center;
            width: auto;
        }

    .contact .contact-content {
        width: 80%;
        left: 10%;
        transform: translateY(-50%);
        top: 50%;
        padding: 2rem;
    }

        .contact .contact-content h2 {
            font-size: 1.1rem;
        }

        .contact .contact-content a.btn-into {
            width: 100%
        }
}
