/* Java migration fixes for product detail rendering and legacy lazy assets. */
.wrap-details,
.wrap-details-3d,
.solution-show,
.wrap-product,
.wrap-solution {
    overflow: hidden;
}

.wrap-details .common-tit h2,
.wrap-details-3d .common-tit h2,
.solution-show .common-tit h2,
.wrap-product .common-tit h2,
.wrap-solution .common-tit h2 {
    letter-spacing: 0;
    line-height: 1.22;
    text-wrap: balance;
}

.wrap-details .common-txt,
.wrap-details-3d .common-txt,
.solution-show .common-txt {
    max-width: 980px;
}

.wrap-details .common-txt p,
.wrap-details-3d .common-txt p,
.solution-show .common-txt p {
    line-height: 1.75;
}

.wrap-details-3d .three-d {
    position: relative;
    background: linear-gradient(180deg, #08256d 0%, #0b2f88 100%);
}

.wrap-details-3d .three-d .group {
    margin-top: 48px;
}

.wrap-details-3d .iframe-group {
    width: min(100%, 1480px);
    height: clamp(560px, 72vh, 860px);
    margin: 0 auto;
    overflow: hidden;
    border-radius: 0;
    background: #f5fbff;
    box-shadow: 0 22px 70px rgba(3, 30, 89, .2);
}

.wrap-details-3d .iframe-group iframe {
    width: 100%;
    height: 100%;
    display: block;
    border: 0;
    background: #f5fbff;
}

.wrap-details-3d .common-menu,
.wrap-details .common-menu {
    pointer-events: none;
}

.wrap-details-3d .common-menu .info,
.wrap-details .common-menu .info {
    pointer-events: auto;
    max-width: 168px;
    padding-left: 28px;
}

.wrap-details-3d .common-menu .info ul,
.wrap-details .common-menu .info ul {
    padding-left: 20px;
}

.wrap-details-3d .common-menu .info ul li a,
.wrap-details .common-menu .info ul li a {
    white-space: normal;
    line-height: 1.5;
}

.wrap-details .introduce .info,
.wrap-details-3d .three-d .info,
.solution-show .introduce .info {
    min-width: 0;
}

.wrap-details .core-advantage .group,
.wrap-details-3d .core-advantage .group {
    position: relative;
}

.wrap-details .core-advantage .group .group-pic img,
.wrap-details-3d .core-advantage .scene img,
.wrap-details-3d .platform-advantage img,
.wrap-details-3d .hardware-advantage img,
.wrap-details-3d .quality-assurance img,
.wrap-details .platform-advantage img,
.wrap-details .hardware-advantage img,
.wrap-details .quality-assurance img,
.solution-show img {
    max-width: 100%;
    height: auto;
    object-fit: contain;
}

.wrap-details .core-advantage .group .item,
.wrap-details-3d .core-advantage .group .item {
    overflow: visible;
}

.wrap-details .platform-advantage .right .pic,
.wrap-details-3d .platform-advantage .right .pic,
.wrap-details .quality-assurance .left .pic,
.wrap-details-3d .quality-assurance .left .pic {
    min-height: 280px;
    background: rgba(245, 251, 255, .78);
    display: flex;
    align-items: center;
    justify-content: center;
}

.wrap-details .slick-hardware,
.wrap-details-3d .slick-hardware,
.solution-show .slick-hardware {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
    gap: 28px;
}

.wrap-details .slick-hardware .item,
.wrap-details-3d .slick-hardware .item,
.solution-show .slick-hardware .item {
    min-width: 0;
}

.wrap-details .slick-hardware .item .pic,
.wrap-details-3d .slick-hardware .item .pic,
.solution-show .slick-hardware .item .pic {
    background: linear-gradient(180deg, #fff, #edf7ff);
    border: 1px solid rgba(35, 86, 167, .12);
    border-radius: 18px;
    overflow: hidden;
}

.wrap-details .slick-hardware .item .pic img,
.wrap-details-3d .slick-hardware .item .pic img,
.solution-show .slick-hardware .item .pic img {
    width: 100%;
    aspect-ratio: 1 / 1;
    object-fit: contain;
    display: block;
}

.wrap-details .slick-application,
.wrap-details-3d .slick-application,
.solution-show .slick-application {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 28px;
}

.wrap-details .slick-application .pic img,
.wrap-details-3d .slick-application .pic img,
.solution-show .slick-application .pic img {
    width: 100%;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    display: block;
}

img.lazy-loaded {
    opacity: 1;
}

.lazy-bg-loaded {
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

@media (max-width: 1199px) {
    .wrap-details-3d .three-d .group {
        margin-top: 28px;
    }
    .wrap-details-3d .iframe-group {
        height: min(76vh, 620px);
        border-radius: 0;
    }
}

@media (max-width: 767px) {
    .wrap-details-3d .iframe-group {
        height: 560px;
    }
    .wrap-details .common-tit h2,
    .wrap-details-3d .common-tit h2,
    .solution-show .common-tit h2,
    .wrap-product .common-tit h2,
    .wrap-solution .common-tit h2 {
        font-size: 30px;
        line-height: 1.18;
    }
}

/* Stable rendering overrides for Java-migrated public pages. */
.wow,
.fadeIn,
.fadeInUp,
.fadeInDown,
.fadeInLeft,
.fadeInRight {
    visibility: visible !important;
}

.wrap-details,
.wrap-details-3d {
    margin-top: 90px;
}

.wrap-details .common-menu,
.wrap-details-3d .common-menu,
.solution-show .common-menu {
    padding-top: 0;
}

.wrap-details .common-menu .info,
.wrap-details-3d .common-menu .info,
.solution-show .common-menu .info {
    top: 110px;
    padding: 18px 14px 18px 30px;
    border-radius: 0 12px 12px 0;
    background: rgba(4, 28, 84, .22);
    backdrop-filter: blur(8px);
}

.wrap-details .introduce .introduce-box {
    padding: clamp(72px, 8vw, 120px) 0;
}

.wrap-details .introduce .introduce-box::before {
    display: none;
}

.wrap-details .introduce .info {
    gap: 56px;
}

.wrap-details .introduce .info .left .common-tit h2,
.wrap-details .introduce .info .left .common-txt p,
.wrap-details .introduce .info .left p,
.wrap-details .introduce .info .left li {
    color: #11243e !important;
}

.wrap-details .introduce .info .left .common-tit h2 {
    font-size: clamp(34px, 4vw, 56px);
    line-height: 1.16;
}

.wrap-details .introduce .info .right .pic,
.wrap-details .introduce .info .right .pic.active {
    display: flex !important;
    justify-content: center;
}

.wrap-details .introduce .info .right .pic img {
    max-height: 460px;
    object-fit: contain;
}

.wrap-details-3d .display {
    padding: clamp(54px, 7vw, 96px) 0 clamp(60px, 8vw, 104px);
}

.wrap-details-3d .display .group {
    margin-top: 34px;
}

.wrap-details-3d .iframe-group {
    height: clamp(620px, 70vh, 820px);
    box-shadow: 0 24px 76px rgba(3, 30, 89, .26);
}

.wrap-details .core-advantage,
.wrap-details-3d .core-advantage,
.wrap-details .platform-advantage,
.wrap-details-3d .platform-advantage,
.wrap-details .hardware-advantage,
.wrap-details-3d .hardware-advantage,
.wrap-details .quality,
.wrap-details-3d .quality,
.wrap-details .application-case,
.wrap-details-3d .application-case,
.solution-show .overview,
.solution-show .value,
.solution-show .management,
.solution-show .equipment,
.solution-show .case,
.solution-show .common-support {
    padding-top: clamp(56px, 7vw, 96px);
    padding-bottom: clamp(56px, 7vw, 96px);
}

.wrap-details .core-advantage .info .group,
.wrap-details-3d .core-advantage .info .group {
    margin-top: 42px;
}

.wrap-details .core-advantage .info .group .group-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
    margin: 0;
}

.wrap-details .core-advantage .info .group .group-list .item,
.wrap-details .core-advantage .info .group .group-list .item:nth-child(2n) {
    width: auto;
    padding: 0;
    display: block;
}

.wrap-details .core-advantage .info .group .group-list .item .item-box,
.wrap-details-3d .core-advantage .info .group .row .item-box {
    width: 100%;
    min-height: 150px;
    align-items: flex-start;
    border-radius: 14px;
    padding: 26px;
    background: rgba(255, 255, 255, .07);
}

.wrap-details-3d .core-advantage .info .group .row {
    row-gap: 24px;
}

.wrap-details-3d .core-advantage .info .group .row .col-12 {
    display: flex;
}

.wrap-details-3d .core-advantage .info .group .row .item {
    width: 100%;
}

.wrap-details-3d .core-advantage .info .group .row .item-box {
    display: flex;
}

.wrap-details .core-advantage .info .group .group-list .item-ring {
    display: none;
}

.wrap-details .core-advantage .info .group .group-pic {
    position: relative;
    left: auto;
    bottom: auto;
    transform: none;
    width: min(420px, 46vw);
    height: auto;
    margin: 34px auto 0;
}

.wrap-details .core-advantage .info .end-note,
.wrap-details-3d .core-advantage .info .end-note {
    padding-top: clamp(36px, 5vw, 72px);
}

.wrap-details-3d .core-advantage .scene {
    margin-top: clamp(42px, 6vw, 80px);
}

.wrap-details-3d .core-advantage .scene .scene-group {
    margin-top: 28px;
}

.wrap-details-3d .core-advantage .scene .scene-pic,
.wrap-details-3d .core-advantage .scene .scene-pic .pic,
.wrap-details-3d .core-advantage .scene .scene-pic .img-box {
    border-radius: 16px;
    overflow: hidden;
}

.wrap-details-3d .core-advantage .scene .scene-pic img {
    width: 100%;
    aspect-ratio: 1350 / 640;
    object-fit: cover;
}

.wrap-details-3d .core-advantage .scene .box:not(.on) {
    display: none;
}

.wrap-details-3d .core-advantage .scene .scene-select ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 12px;
    padding: 18px 0 0;
}

.wrap-details-3d .core-advantage .scene .scene-select li {
    width: auto;
    min-width: 120px;
    margin: 0;
    padding: 8px 16px;
    border: 1px solid rgba(255, 255, 255, .24);
    border-radius: 999px;
    color: #fff;
    list-style: none;
}

.wrap-details .platform-advantage .info .group,
.wrap-details-3d .platform-advantage .info .group,
.wrap-details .quality .info .group,
.wrap-details-3d .quality .info .group {
    gap: 34px;
    margin-top: 42px;
    padding-top: 0;
}

.wrap-details .platform-advantage .info .group .left,
.wrap-details-3d .platform-advantage .info .group .left,
.wrap-details .quality .info .group .right,
.wrap-details-3d .quality .info .group .right {
    width: min(420px, 34%);
}

.wrap-details .platform-advantage .info .group .right,
.wrap-details-3d .platform-advantage .info .group .right,
.wrap-details .quality .info .group .left,
.wrap-details-3d .quality .info .group .left {
    flex: 1 1 auto;
    width: auto;
    min-width: 0;
}

.wrap-details .platform-advantage .info .group .left .item,
.wrap-details-3d .platform-advantage .info .group .left .item,
.wrap-details .quality .info .group .right .item,
.wrap-details-3d .quality .info .group .right .item {
    border-radius: 14px;
    padding: 24px;
}

.wrap-details .slick-hardware,
.wrap-details-3d .slick-hardware,
.wrap-details .slick-application,
.wrap-details-3d .slick-application,
.solution-show .slick-hardware,
.solution-show .slick-application {
    padding-top: 42px !important;
}

.wrap-solution .wow,
.solution-show .wow,
.home-case .wow,
.home-brand .wow,
.customer-cases-wrap .wow {
    visibility: visible !important;
}

.wrap-solution .info .platform .main-area:empty,
.wrap-solution .info .platform:empty,
.quality:empty,
.hardware-advantage:empty {
    display: none !important;
}

@media (max-width: 1199px) {
    .wrap-details,
    .wrap-details-3d {
        margin-top: 72px;
    }

    .wrap-details .introduce .info {
        gap: 28px;
    }

    .wrap-details-3d .iframe-group {
        height: min(680px, 74vh);
    }

    .wrap-details .platform-advantage .info .group .left,
    .wrap-details-3d .platform-advantage .info .group .left,
    .wrap-details .quality .info .group .right,
    .wrap-details-3d .quality .info .group .right,
    .wrap-details .platform-advantage .info .group .right,
    .wrap-details-3d .platform-advantage .info .group .right,
    .wrap-details .quality .info .group .left,
    .wrap-details-3d .quality .info .group .left {
        width: 100%;
    }
}

@media (max-width: 767px) {
    .wrap-details .introduce .info {
        text-align: left;
    }

    .wrap-details .core-advantage .info .group .group-list {
        grid-template-columns: 1fr;
    }

    .wrap-details .core-advantage .info .group .group-pic {
        width: min(340px, 86vw);
    }

    .wrap-details-3d .iframe-group {
        height: 620px;
    }

    .wrap-details .core-advantage .info .group .group-list .item .item-box,
    .wrap-details-3d .core-advantage .info .group .row .item-box,
    .wrap-details .platform-advantage .info .group .left .item,
    .wrap-details-3d .platform-advantage .info .group .left .item,
    .wrap-details .quality .info .group .right .item,
    .wrap-details-3d .quality .info .group .right .item {
        border-radius: 10px;
        padding: 20px;
    }
}
.wrap-home .home-mark .pic-bg {
    min-height: 680px;
}

.wrap-home .home-mark .pic-bg > img[src*="h_mark_bg"] {
    display: block;
}

.wrap-home .home-mark .pic-bg .model-product {
    z-index: 3;
    width: min(78vw, 860px);
    height: min(72vh, 680px);
    cursor: grab;
}

.wrap-home .home-mark .pic-bg .model-product:active {
    cursor: grabbing;
}

.wrap-home .home-mark .pic-bg .home-fbx-viewer {
    width: 100%;
    height: 100%;
    position: relative;
    overflow: hidden;
}

.wrap-home .home-mark .pic-bg .home-fbx-viewer::before {
    content: "模型加载中";
    position: absolute;
    z-index: 1;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    color: rgba(255, 255, 255, .86);
    font-size: 16px;
    letter-spacing: .08em;
    text-shadow: 0 2px 12px rgba(35, 86, 167, .35);
    pointer-events: none;
}

.wrap-home .home-mark .pic-bg .home-fbx-viewer.is-loaded::before {
    display: none;
}

.wrap-home .home-mark .pic-bg .home-fbx-viewer.is-error::before {
    content: "模型加载失败，请刷新";
}

.wrap-home .home-mark .pic-bg .home-fbx-viewer canvas {
    width: 100%;
    height: 100%;
    display: block;
    background: transparent;
}

@media (max-width: 991px) {
    .wrap-home .home-mark .pic-bg {
        min-height: 520px;
    }

    .wrap-home .home-mark .pic-bg .model-product {
        width: 100%;
        height: 58vh;
    }
}

/* P3-11: case page desktop category filter tabs */
.wrap-case .xs-select-info {
    display: block;
    padding-top: 40px;
}
.wrap-case .xs-select-info ul {
    justify-content: center;
}
@media (min-width: 1200px) {
    .wrap-case .xs-select-info ul li {
        width: auto;
    }
}
