@charset "UTF-8";

.page-cases {
    background-color: var(--color-neutral-50);
}

.page-cases .header {
    position: -webkit-sticky;
    position: sticky;
}

.header .header__top__menu,
.header .header__actions a,
.header .header__logo__svg,
.header .language-switch-wrap span {
    --un-text-opacity: 1;
    color: rgb(31 31 31 / var(--un-text-opacity));
}

.carousel {
    height: 100%;
}

.carousel__content {
    position: relative;
}

/* 标题：英文 */
.carousel__title[lang="en"] {
    text-align: center;
    font-size: var(--font-en-display);
    line-height: 1;
    font-weight: 500;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    font-family:
        Zalando Sans SemiExpanded,
        sans-serif;
    /* 字距微调: 30 => 30=30/1000 em=0.03em 或者 0.03 x 42 = 1.26px */
    letter-spacing: 0.03em;
}

/* 标题：中文 */
.carousel__title[lang|="zh"] {
    margin-top: 1em;
    font-size: var(--font-zh-display);
    line-height: 1.32;
    font-weight: 400;
    letter-spacing: 0.07em;
    font-family: FZLTHProJ-Medium, sans-serif;
    /* 字号:24 行高: 41.68 => 41.68/24 = 1.7367  */
    /* line-height: 1.7367; */
    /* 字距微调: 70 => 70=70/1000 em=0.07em 或者 0.07 x 24 = 1.68px */
    letter-spacing: 0.07em;
}

/* 副标题：中文 */
.carousel__subtitle[lang|="zh"] {
    margin-top: 0.3rem;
    font-size: var(--font-zh-text);
    line-height: 1.6494;
    font-weight: 300;
    letter-spacing: 0.11em;
    font-family: FZLTHProJ-Regular, sans-serif;
    /* 字号:18 行高: 29.69 => 29.69/18 = 1.6494  */
    line-height: 1.6494;
    /* 字距微调: 110 => 110=110/1000 em=0.11em 或者 0.11 x 18 = 1.98px */
    letter-spacing: 0.11em;
    /* -webkit-text-stroke: 0.15px; */
}

/* 文本主题 */
.carousel__title[theme="white"],
.carousel__subtitle[theme="white"] {
    color: var(--color-text-inverse);
}

.carousel__title[theme="black"],
.carousel__subtitle[theme="black"] {
    color: var(--color-text-primary);
}

/* slide 背景 */
.carousel__slide {
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

/* 指示器 */
.carousel__pagination {
    position: absolute;
    bottom: 12% !important;
    z-index: 10;
    display: flex;
    align-items: center;
    justify-content: center;
}

.carousel__pagination .swiper-pagination-bullet {
    margin-left: 0 !important;
    margin-right: 0 !important;
    height: 2px;
    width: 0.2rem;
    border-radius: 0;
    --un-bg-opacity: 1;
    background-color: rgb(255 255 255 / var(--un-bg-opacity));
    transition-property: all;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 300ms;
}

.carousel__pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
    width: 0.46rem;
    margin: 0 !important;
}

/* 左右导航 */
.carousel__next,
.carousel__prev {
    position: absolute;
    z-index: 10;
    width: 1rem;
    height: 1rem;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 99.99rem;
    background-color: rgb(0 0 0 / 0.6);
    --un-text-opacity: 1;
    color: rgb(255 255 255 / var(--un-text-opacity));
    transition-property: all;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 300ms;
    top: calc(50% - 0.5rem);
}

.carousel__next {
    right: -15%;
    --un-text-opacity: 1;
    color: rgb(255 255 255 / var(--un-text-opacity));
}

.carousel__prev {
    left: -15%;
    --un-text-opacity: 1;
    color: rgb(255 255 255 / var(--un-text-opacity));
}

.carousel__next.is-active,
.carousel__prev.is-active {
    pointer-events: auto;
}

.carousel__next.swiper-button-disabled,
.carousel__prev.swiper-button-disabled {
    opacity: 0.35;
    cursor: auto;
    pointer-events: none;
}

/* .carousel__next:hover,
.carousel__prev:hover {
    background: #fff;
    color: #000;
} */

.carousel__next::before,
.carousel__prev::before {
    font-size: 0.2rem;
    line-height: 1;
    font-family: "iconfont" !important;
}

.carousel__next::before {
    content: "\e60c";
}

.carousel__prev::before {
    content: "\e609";
}

.swiper-cursor {
    position: absolute;
    z-index: 10;
    width: 1rem;
    height: 1rem;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 99.99rem;
    background-color: rgb(0 0 0 / 0.6);
    --un-text-opacity: 1;
    color: rgb(255 255 255 / var(--un-text-opacity));
    left: 0;
    top: 0;
    opacity: 0;
    pointer-events: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
    will-change: transform, opacity;
}

.swiper-cursor i {
    transition: transform 0.3s ease;
}

.swiper-cursor.is-next i {
    transform: scaleX(-1);
}

.button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-family: FZLTHProJ-Regular, sans-serif;
    transition-property: all;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 300ms;
    transition-duration: 700ms;
    min-width: 1.86rem;
    height: 0.56rem;
    margin-top: 0.36rem;
    border-radius: 4px;
    font-size: 0.18rem;
    letter-spacing: 3px;
    transition: all 0.3s ease;
}

.button--primary {
    border: 1px solid var(--color-bg-inverse);
    background: var(--color-bg-inverse);
    color: var(--color-text-inverse);
}

.button--primary:hover {
    border-color: var(--color-bg-inverse);
    background: var(--color-text-inverse);
    color: var(--color-bg-inverse);
}

.button--outline {
    border: 1px solid rgba(255, 255, 255, 0.6);
    color: var(--color-text-inverse);
}

.button--outline[theme="black"],
.button--outline[theme="black"] {
    border-color: var(--color-bg-inverse);
    color: var(--color-bg-inverse);
}

.button--outline:hover {
    border-color: var(--color-bg-inverse);
    background: var(--color-bg-inverse);
    color: var(--color-text-inverse);
}

/* ===== 序列号 ===== */
.carousel_serial {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-left: 0.56rem;
    padding-right: 0.56rem;
    padding-top: 0.44rem;
    padding-bottom: 0.44rem;
}

.carousel_serial p {
    font-size: var(--font-en-text);
    line-height: 1;
    font-weight: 400;
    letter-spacing: 0.03em;
    --un-text-opacity: 1;
    color: rgb(51 51 51 / var(--un-text-opacity));
    line-height: 1;
    font-family:
        Zalando Sans SemiExpanded,
        sans-serif;
}

.carousel_serial p:last-child {
    border-width: 1px;
    --un-border-opacity: 1;
    border-color: rgb(51 51 51 / var(--un-border-opacity));
    border-radius: 0.2em;
    border-style: solid;
    padding: 0.5em;
}

/* 产品中心 第一个模块 */
.cases-header {
    padding-top: 0.72rem;
    padding-bottom: 0.72rem;
}

.carousel__content--cases-header {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.carousel__content--cases-header .carousel__subtitle {
    text-align: center;
    line-height: 1.6667;
}

/* 筛选 */
.cases-filter {
    --filter-top: 0;
    position: static;
    top: var(--filter-top);
    left: 0;
    z-index: 1;
    width: 100%;
    background-color: var(--color-neutral-50);
    /* transition-all duration-700 */
}
@media (max-width: 767.9px) {
    .cases-filter {
        position: static;
    }
}

.cases-filter--header {
    /* h-86px */
    min-height: 0.86rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    overflow: hidden;
    border-width: 1px;
    border-top-style: solid;
    border-right-style: none;
    border-bottom-style: solid;
    border-left-style: none;
    padding-top: 0.16rem;
    padding-bottom: 0.16rem;
    padding-left: 0.6rem;
    padding-right: 0.6rem;
    border-color: rgba(27, 28, 28, 0.3);
}

.cases-filter--left {
    position: relative;
    width: 70%;
    display: flex;
    align-items: center;
}

@media (max-width: 767.9px) {
    .cases-filter--left {
        width: 80%;
    }
}

.cases-filter--left .selected {
    width: 100%;
    height: 0;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.18rem;
    transition-property: all;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 300ms;
    transition-property:
        color,
        background-color,
        border-color,
        fill,
        stroke,
        opacity,
        box-shadow,
        transform,
        filter,
        -webkit-text-decoration-color,
        -webkit-backdrop-filter;
    transition-property:
        color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform,
        filter, backdrop-filter;
    transition-property:
        color,
        background-color,
        border-color,
        text-decoration-color,
        fill,
        stroke,
        opacity,
        box-shadow,
        transform,
        filter,
        backdrop-filter,
        -webkit-text-decoration-color,
        -webkit-backdrop-filter;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 600ms;
    transform: translateX(-100%);
    opacity: 0;
    overflow: hidden;
}

.cases-filter--left .selected.show {
    height: auto;
    transform: translateX(0);
    opacity: 1;
}

.cases-filter--left .selected .item {
    display: flex;
    align-items: center;
    --un-bg-opacity: 1;
    background-color: rgb(228 228 224 / var(--un-bg-opacity));
    padding: 0.18rem;
    font-size: var(--font-zh-text);
    line-height: 1.6494;
    font-weight: 300;
    letter-spacing: 0.11em;
    font-family: FZLTHProJ-Regular, sans-serif;
    border-radius: 6px;
}

.cases-filter--left .selected .item .txt {
    --un-text-opacity: 1;
    color: rgb(28 28 28 / var(--un-text-opacity));
    line-height: 1;
    transition-property: all;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 300ms;
    letter-spacing: 0.09em;
}

.cases-filter--left .selected .item .icon {
    margin-left: 0.3rem;
    --un-text-opacity: 1;
    color: rgb(102 102 102 / var(--un-text-opacity));
    transition-property: all;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 300ms;
}

/* .cases-filter--left .selected .item + .item {
    margin-left: 18px;
} */

.cases-filter--left .selected .item:hover .icon {
    --un-text-opacity: 1;
    color: rgb(28 28 28 / var(--un-text-opacity));
}

.cases-filter--left .total {
    font-size: var(--font-en-text);
    line-height: 1;
    font-weight: 400;
    letter-spacing: 0.03em;
    --un-text-opacity: 1;
    color: rgb(10 10 10 / var(--un-text-opacity));
    font-family:
        Zalando Sans SemiExpanded,
        sans-serif;
    transition-property: all;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 300ms;
    transition-property:
        color,
        background-color,
        border-color,
        fill,
        stroke,
        opacity,
        box-shadow,
        transform,
        filter,
        -webkit-text-decoration-color,
        -webkit-backdrop-filter;
    transition-property:
        color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform,
        filter, backdrop-filter;
    transition-property:
        color,
        background-color,
        border-color,
        text-decoration-color,
        fill,
        stroke,
        opacity,
        box-shadow,
        transform,
        filter,
        backdrop-filter,
        -webkit-text-decoration-color,
        -webkit-backdrop-filter;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 600ms;
    position: absolute;
    white-space: nowrap;
}

@media (max-width: 767.9px) {
    .cases-filter--left .total {
        font-size: 14px;
    }
}

.cases-filter--left .total.hide {
    transform: translateX(-100%);
    opacity: 0;
}

.cases-filter--control {
    display: flex;
    cursor: pointer;
    align-items: center;
    gap: 0.14rem;
}

.cases-filter--control .icon {
    font-size: 0.24rem;
}

@media (max-width: 767.9px) {
    .cases-filter--control .icon {
        font-size: 14px;
    }
}

.cases-filter--control p {
    font-size: var(--font-zh-text);
    line-height: 1.6494;
    font-weight: 300;
    letter-spacing: 0.11em;
    --un-text-opacity: 1;
    color: rgb(10 10 10 / var(--un-text-opacity));
    font-family: FZLTHProJ-Regular, sans-serif;
    height: 1.6494em;
    overflow: hidden;
    letter-spacing: 0.09em;
}

@media (max-width: 767.9px) {
    .cases-filter--control p {
        font-size: 14px;
    }
}

.cases-filter--control p span {
    display: block;
    line-height: 1.6494em;
    transition-property: all;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 300ms;
}

.cases-filter--control p span:first-child,
.cases-filter--control p span:last-child {
    transform: translateY(0);
}

.cases-filter--control.active span:first-child,
.cases-filter--control.active span:last-child {
    transform: translateY(-1.6494em);
}

.cases-filter--content {
    display: none;
}

.cases-filter--content .options-main {
    display: flex;
    justify-content: center;
    padding-left: 0.6rem;
    padding-right: 0.6rem;
}

@media (max-width: 767.9px) {
    .cases-filter--content .options-main {
        flex-direction: column;
    }
}

.cases-filter--content .options-main .options {
    border-width: 1px;
    border-top-style: none;
    border-right-style: none;
    border-bottom-style: none;
    border-left-style: solid;
    padding-top: 0.76rem;
    padding-bottom: 0.76rem;
    padding-left: 1.12rem;
    padding-right: 1.12rem;
    border-color: rgba(27, 28, 28, 0.3);
}

@media (max-width: 767.9px) {
    .cases-filter--content .options-main .options {
        border-left-style: none;
        border-bottom-style: solid;
        padding-left: 0;
        padding-right: 0;
        padding-top: 0.3rem;
        padding-bottom: 0.3rem;
    }
}

.cases-filter--content .options-main .options:last-child {
    border-right-style: solid;
}

@media (max-width: 767.9px) {
    .cases-filter--content .options-main .options:last-child {
        border-right-style: none;
        border-bottom-style: none;
    }
}

.cases-filter--content .options-main .options .title {
    margin-bottom: 0.28rem;
    display: flex;
    align-items: center;
    font-size: var(--font-zh-display);
    line-height: 1.32;
    font-weight: 400;
    letter-spacing: 0.07em;
    font-size: 0.18rem;
    --un-text-opacity: 1;
    color: rgb(27 28 28 / var(--un-text-opacity));
    font-family: FZLTHProJ-Medium, sans-serif;
}

@media (max-width: 767.9px) {
    .cases-filter--content .options-main .options .title {
        font-size: 15px;
    }
}

.cases-filter--content .options-main .options .title span {
    display: block;
    letter-spacing: 0.11em;
}

.cases-filter--content .options-main .options .title span + span {
    margin-left: 10px;
}

.cases-filter--content .options-main .option + .option {
    margin-top: 0.2rem;
}

.cases-filter--content .options-main .option .option-label {
    display: flex;
    align-items: center;
}

.cases-filter--content .options-main .option .option-label input[type="checkbox"] {
    position: relative;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    width: 0.2rem;
    height: 0.2rem;
    font-size: 0.2rem;
    margin-right: 0.14rem;
    border: 1px solid rgba(27, 28, 28, 0.3);
    border-radius: 0.2em;
}

.cases-filter--content .options-main .option .option-label input[type="checkbox"]::after {
    content: "\e72e";
    position: absolute;
    top: 50%;
    left: 50%;
    font-size: 12px;
    font-family: "iconfont";
    font-weight: 700;
    color: #1b1c1c;
    opacity: 0;
    transform: translate(-50%, -50%) scale(0);
    transition: all 0.3s;
}

.cases-filter--content .options-main .option .option-label input[type="checkbox"]:checked {
    border-color: #1b1c1c;
}

.cases-filter--content .options-main .option .option-label input[type="checkbox"]:checked::after {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1);
}

@media (max-width: 767.9px) {
    .cases-filter--content .options-main .option .option-label input[type="checkbox"] {
        width: 0.3rem;
        height: 0.3rem;
    }
}

.cases-filter--content .options-main .option span {
    display: block;
    font-size: var(--font-zh-text);
    line-height: 1.6494;
    font-weight: 300;
    letter-spacing: 0.11em;
    font-size: 0.14rem;
    color: rgb(27 28 28 / 0.5);
    font-family: FZLTHProJ-Regular, sans-serif;
    letter-spacing: 0.07em;
}

@media (max-width: 767.9px) {
    .cases-filter--content .options-main .option span {
        font-size: 14px;
    }
}

.cases-filter--content .options-main .option .option-label input[type="checkbox"]:checked + span {
    --un-text-opacity: 1;
    color: rgb(27 28 28 / var(--un-text-opacity));
}

.cases-filter--content .options-footer {
    display: flex;
    align-items: center;
    justify-content: center;
    border-width: 1px;
    border-top-style: solid;
    border-right-style: none;
    border-bottom-style: solid;
    border-left-style: none;
    padding-left: 0.6rem;
    padding-right: 0.6rem;
    padding-top: 0.2rem;
    padding-bottom: 0.2rem;
    border-color: rgba(27, 28, 28, 0.3);
}

.cases-filter--content .options-footer .button {
    font-size: var(--font-zh-display);
    line-height: 1.32;
    font-weight: 400;
    letter-spacing: 0.07em;
    font-size: 0.14rem;
    font-family: FZLTHProJ-Medium, sans-serif;
    width: 1.18rem;
    height: 0.55rem;
    border-radius: 6px;
    letter-spacing: 0.09em;
    transition: all 0.3s;
    margin-top: 0;
}

.cases-filter--content .options-footer .button + .button {
    margin-left: 0.2rem;
}

.cases-filter--content .options-footer .button.button--outline {
    border: 1px solid rgba(27, 28, 28, 0.3);
    color: #1b1c1c;
}

.cases-filter--content .options-footer .button.button--primary {
    border: 1px solid #1b1c1c;
    background: #1b1c1c;
    color: #fff;
}

.cases-filter--content .options-footer .button.button--outline:hover {
    border-color: #1b1c1c;
    background: #1b1c1c;
    color: #fff;
}

.cases-filter--content .options-footer .button.button--primary:hover {
    border-color: #1b1c1c;
    background: #d9d8d3;
    color: #1b1c1c;
}

/* ===== 案例列表 ===== */
.cases-list {
    padding-top: 1.14rem;
    padding-bottom: 1.52rem;
}

.cases-list--container {
    display: flex;
    flex-wrap: wrap;
    -moz-column-gap: 1.8rem;
    column-gap: 1.8rem;
    row-gap: 1.14rem;
    padding-left: 1.14rem;
    padding-right: 1.14rem;
}

@media (max-width: 767.9px) {
    .cases-list--container {
        padding-left: 0.4rem;
        padding-right: 0.4rem;
    }
}

.cases-list--card {
    width: calc((100% - 3.6rem) / 3);
}

@media (max-width: 767.9px) {
    .cases-list--card {
        width: 100%;
    }
}

.cases-list--card a {
    display: block;
}

.cases-list--title {
    font-size: var(--font-zh-display);
    line-height: 1.32;
    font-weight: 400;
    letter-spacing: 0.07em;
    --un-text-opacity: 1;
    color: rgb(51 51 51 / var(--un-text-opacity));
    font-family: FZLTHProJ-Medium, sans-serif;
}

.cases-list--image {
    position: relative;
    margin-top: 0.36rem;
    overflow: hidden;
}

.cases-list--image .img-box {
    position: relative;
    height: 0;
    overflow: hidden;
    padding-bottom: 133%;
}

.cases-list--image .img {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    height: 100%;
    --un-translate-x: -50%;
    --un-translate-y: -50%;
    transform: translateX(var(--un-translate-x)) translateY(var(--un-translate-y)) translateZ(var(--un-translate-z))
        rotate(var(--un-rotate)) rotateX(var(--un-rotate-x)) rotateY(var(--un-rotate-y)) rotateZ(var(--un-rotate-z))
        skewX(var(--un-skew-x)) skewY(var(--un-skew-y)) scaleX(var(--un-scale-x)) scaleY(var(--un-scale-y))
        scaleZ(var(--un-scale-z));
    -o-object-fit: cover;
    object-fit: cover;
    transition-property: all;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 300ms;
    transition-property:
        color,
        background-color,
        border-color,
        fill,
        stroke,
        opacity,
        box-shadow,
        transform,
        filter,
        -webkit-text-decoration-color,
        -webkit-backdrop-filter;
    transition-property:
        color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform,
        filter, backdrop-filter;
    transition-property:
        color,
        background-color,
        border-color,
        text-decoration-color,
        fill,
        stroke,
        opacity,
        box-shadow,
        transform,
        filter,
        backdrop-filter,
        -webkit-text-decoration-color,
        -webkit-backdrop-filter;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 600ms;
}

.cases-list--image .img:first-child {
    opacity: 1;
}

.cases-list--image .img:last-child {
    opacity: 0;
}

.cases-list--button {
    margin-top: 0.2rem;
    width: 100%;
    transition-property: all;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 300ms;
    /* transform: translateY(6px); */
}

.cases-list--button .button--view {
    position: relative;
    isolation: isolate;
    width: 100%;
    display: flex;
    cursor: pointer;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    align-items: center;
    justify-content: space-between;
    padding-left: 0.16rem;
    padding-right: 0.16rem;
    padding-top: 10px;
    padding-bottom: 10px;
    font-size: var(--font-zh-text);
    line-height: 1.6494;
    font-weight: 300;
    letter-spacing: 0.11em;
    --un-text-opacity: 1;
    color: rgb(51 51 51 / var(--un-text-opacity));
    letter-spacing: 0.02em;
    font-family: FZLTHProJ-Regular, sans-serif;
    text-transform: uppercase;
    transition-property: color;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 300ms;
    transition-duration: 0.4s;
    border: 1px solid rgba(27, 28, 28, 0.3);
    border-radius: 6px;
    -webkit-tap-highlight-color: transparent;
    overflow: hidden;
}

.cases-list--button .button--view::before {
    position: absolute;
    inset: -1px;
    z-index: -1;
    border-radius: inherit;
    --un-bg-opacity: 1;
    background-color: rgb(10 10 10 / var(--un-bg-opacity));
    content: "";
    -webkit-clip-path: inset(0 0 100% round 6px);
    clip-path: inset(0 0 100% round 6px);
    transition: -webkit-clip-path 0.4s cubic-bezier(0.38, 0.005, 0.215, 1);
    transition: clip-path 0.4s cubic-bezier(0.38, 0.005, 0.215, 1);
    transition:
        clip-path 0.4s cubic-bezier(0.38, 0.005, 0.215, 1),
        -webkit-clip-path 0.4s cubic-bezier(0.38, 0.005, 0.215, 1);
}

.cases-list--button .button--view:focus-visible {
    outline: none;
    color: #fff;
}

.cases-list--button .button--view:focus-visible::before {
    -webkit-clip-path: inset(0 round 6px);
    clip-path: inset(0 round 6px);
}

.cases-list--button .button--view .icon-wrapper {
    position: relative;
    width: 0.16rem;
    height: 0.16rem;
    overflow: hidden;
    flex: 0 0 auto;
}

.cases-list--button .button--view .icon-wrapper > span {
    position: absolute;
    inset: 0;
    display: grid;
    place-items: center;
    transition:
        transform 0.4s cubic-bezier(0.38, 0.005, 0.215, 1),
        opacity 0.4s cubic-bezier(0.38, 0.005, 0.215, 1);
}

.cases-list--button .button--view .icon-wrapper > span:first-child {
    transform: translateX(0);
    opacity: 1;
}

.cases-list--button .button--view .icon-wrapper > span:last-child {
    transform: translateX(-120%);
    opacity: 0;
}

.cases-list--button .button--view .icon-wrapper > span:first-child {
    transform: translateX(120%);
    opacity: 0;
}

.cases-list--button .button--view .icon-wrapper > span:last-child {
    transform: translateX(0);
    opacity: 1;
}

@media (hover: hover) {
    .cases-list--card:hover .cases-list--image .img {
        transform: translate(-50%, -50%) scale(1.1);
    }

    .cases-list--card:hover .cases-list--image .img:first-child {
        opacity: 0;
    }

    .cases-list--card:hover .cases-list--image .img:last-child {
        opacity: 1;
    }

    .cases-list--button .button--view:hover {
        color: #fff;
    }

    .cases-list--button .button--view:hover::before {
        -webkit-clip-path: inset(0 round 6px);
        clip-path: inset(0 round 6px);
    }

    .cases-list--button .button--view .icon-wrapper > span:first-child {
        transform: translateX(120%);
        opacity: 0;
    }

    .cases-list--button .button--view .icon-wrapper > span:last-child {
        transform: translateX(0);
        opacity: 1;
    }
}

/* ===== 案例详情 ===== */
.cases-detail--main {
}

.cases-detail--main .carousel__content {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

.cases-detail--main .carousel__title[lang|="zh"] {
    margin-top: 8px;
}

.cases-detail--main .carousel__subtitle[lang|="zh"] {
    margin-top: 0.16rem;
    text-align: center;
}

/* ===== 案例详情 头部 ===== */
.cases-detail--header {
    background-color: var(--color-neutral-50);
    padding-top: 1.96rem;
}

.cases-detail--header .image-inner {
    margin-top: 0.7rem;
}

@media (max-width: 767.9px) {
    .cases-detail--header .image-inner {
        aspect-ratio: 3/4;
    }
}

.cases-detail--header .image-inner .image-img {
    display: block;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
}

.cases-detail--freedom {
    background-color: var(--color-neutral-200);
    padding-top: 1.14rem;
}

.cases-detail--freedom .image-inner {
    margin-top: 0.5rem;
}

@media (max-width: 767.9px) {
    .cases-detail--freedom .image-inner {
        display: none;
    }
}

.cases-detail--freedom .scrolling-wrapper {
    position: relative;
    display: none;
    width: 100%;
    height: 7.74rem;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
}

@media (max-width: 767.9px) {
    .cases-detail--freedom .scrolling-wrapper {
        margin-top: 0.5rem;
        display: block;
    }
}

.cases-detail--freedom .scrolling-wrapper::-webkit-scrollbar {
    display: none;
}

.cases-detail--freedom .scrolling-wrapper-inner {
    width: -webkit-max-content;
    width: -moz-max-content;
    width: max-content;
    height: 100%;
}

.cases-detail--freedom .scrolling-wrapper-inner .image-img {
    display: block;
    aspect-ratio: 16/9;
    width: auto;
    height: 100%;
}

.cases-detail--freedom .scrolling-wrapper .custom-scrollbar {
    position: -webkit-sticky;
    position: sticky;
    left: 10%;
    right: 10%;
    bottom: 10%;
    z-index: 1;
    width: 80%;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.cases-detail--freedom .scrolling-wrapper .custom-scrollbar-content {
    position: relative;
    width: 86%;
    height: 2px;
    background-color: rgb(255 255 255 / 0.5);
}

.cases-detail--freedom .scrolling-wrapper .custom-scrollbar-thumb {
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 1;
    height: 2px;
    --un-bg-opacity: 1;
    background-color: rgb(255 255 255 / var(--un-bg-opacity));
}

.cases-detail--freedom .scrolling-wrapper .custom-scrollbar-icon {
    font-size: 14px;
    --un-text-opacity: 1;
    color: rgb(255 255 255 / var(--un-text-opacity));
}

/* ===== 案例详情 轮播 + 文本 - 轮播 ===== */
.cases-detail--module-text {
    height: 9.88rem;
    display: flex;
}
@media (max-width: 767.9px) {
    .cases-detail--module-text {
        height: auto;
        flex-direction: column-reverse;
    }
}

.cases-detail--module-text .module-text-wrap {
    width: 50%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

@media (max-width: 767.9px) {
    .cases-detail--module-text .module-text-wrap {
        aspect-ratio: 8/9;
        width: 100%;
        height: auto;
    }
}

.cases-detail--module-text.module-two {
    flex-direction: row-reverse;
}

@media (max-width: 767.9px) {
    .cases-detail--module-text.module-two {
        flex-direction: column-reverse;
    }
}

.cases-detail--module-text-1 .module-text-wrap,
.cases-detail--module-text-4 .module-text-wrap,
.cases-detail--module-text-7 .module-text-wrap,
.cases-detail--module-text-10 .module-text-wrap,
.cases-detail--module-text-13 .module-text-wrap,
.cases-detail--module-text-16 .module-text-wrap {
    background-color: var(--color-neutral-300);
}

.cases-detail--module-text-2 .module-text-wrap,
.cases-detail--module-text-5 .module-text-wrap,
.cases-detail--module-text-8 .module-text-wrap,
.cases-detail--module-text-11 .module-text-wrap,
.cases-detail--module-text-14 .module-text-wrap,
.cases-detail--module-text-17 .module-text-wrap {
    background-color: var(--color-neutral-400);
}

.cases-detail--module-text-3 .module-text-wrap,
.cases-detail--module-text-6 .module-text-wrap,
.cases-detail--module-text-9 .module-text-wrap,
.cases-detail--module-text-12 .module-text-wrap,
.cases-detail--module-text-15 .module-text-wrap,
.cases-detail--module-text-18 .module-text-wrap {
    background-color: var(--color-neutral-500);
}

.cases-detail--module-text .module-text-wrap .carousel__subtitle {
    text-align: center;
}

.cases-detail--module-text .module-swiper-wrap {
    width: 50%;
}

@media (max-width: 767.9px) {
    .cases-detail--module-text .module-swiper-wrap {
        aspect-ratio: 8/9;
        width: 100%;
        height: auto;
    }
}

.cases-detail--module-text .swiper-container {
    height: 100%;
}

/* ===== 案例详情 大图轮播 ===== */
.cases-detail--module-swiper {
    background-color: var(--color-neutral-50);
    padding-left: 1.1rem;
    padding-right: 1.1rem;
    padding-top: 1.9rem;
    padding-bottom: 1.14rem;
}
@media (max-width: 767.9px) {
    .cases-detail--module-swiper {
        padding-left: 0.4rem;
        padding-right: 0.4rem;
        padding-top: 0.4rem;
        padding-bottom: 0.8rem;
    }
}

.cases-detail--module-swiper .module-swiper__text-wrap .module-swiper__text {
    font-size: var(--font-zh-text);
    line-height: 1.6494;
    font-weight: 300;
    letter-spacing: 0.11em;
    --un-text-opacity: 1;
    color: rgb(51 51 51 / var(--un-text-opacity));
    line-height: 1.6494;
    font-family: FZLTHProJ-Regular, sans-serif;
}

.cases-detail--module-swiper .module-swiper__swiper-wrap {
    margin-top: 0.84rem;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
}

@media (max-width: 767.9px) {
    .cases-detail--module-swiper .module-swiper__swiper-wrap {
        flex-direction: column;
    }
}

.cases-detail--module-swiper .swiper-wrap__navigation {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: flex-start;
    -moz-column-gap: 0.16rem;
    column-gap: 0.16rem;
}

.cases-detail--module-swiper .swiper-wrap__navigation .swiper-wrap__btn {
    position: relative;
    width: 0.56rem;
    height: 0.56rem;
    cursor: pointer;
    overflow: hidden;
    border-width: 1px;
    --un-border-opacity: 1;
    border-color: rgb(51 51 51 / var(--un-border-opacity));
    border-radius: 99.99rem;
    border-style: solid;
    --un-text-opacity: 1;
    color: rgb(51 51 51 / var(--un-text-opacity));
    transition-property: all;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 300ms;
}

@media (max-width: 767.9px) {
    .cases-detail--module-swiper .swiper-wrap__navigation .swiper-wrap__btn {
        margin-bottom: 0.4rem;
        width: 32px;
        height: 32px;
    }
}

.cases-detail--module-swiper .swiper-wrap__navigation .swiper-wrap__btn:hover {
    --un-bg-opacity: 1;
    background-color: rgb(51 51 51 / var(--un-bg-opacity));
    --un-text-opacity: 1;
    color: rgb(255 255 255 / var(--un-text-opacity));
}

.cases-detail--module-swiper .swiper-wrap__navigation .swiper-wrap__btn .icon {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 1em;
    height: 1em;
    --un-translate-x: -50%;
    --un-translate-y: -50%;
    transform: translateX(var(--un-translate-x)) translateY(var(--un-translate-y)) translateZ(var(--un-translate-z))
        rotate(var(--un-rotate)) rotateX(var(--un-rotate-x)) rotateY(var(--un-rotate-y)) rotateZ(var(--un-rotate-z))
        skewX(var(--un-skew-x)) skewY(var(--un-skew-y)) scaleX(var(--un-scale-x)) scaleY(var(--un-scale-y))
        scaleZ(var(--un-scale-z));
    overflow: hidden;
    font-size: 0.14rem;
}

@media (max-width: 767.9px) {
    .cases-detail--module-swiper .swiper-wrap__navigation .swiper-wrap__btn .icon {
        font-size: 16px;
    }
}

.cases-detail--module-swiper .swiper-wrap__navigation .swiper-wrap__btn .icon::before,
.cases-detail--module-swiper .swiper-wrap__navigation .swiper-wrap__btn .icon::after {
    position: absolute;
    top: 50%;
    left: 50%;
    display: block;
    --un-translate-x: -50%;
    --un-translate-y: -50%;
    transform: translateX(var(--un-translate-x)) translateY(var(--un-translate-y)) translateZ(var(--un-translate-z))
        rotate(var(--un-rotate)) rotateX(var(--un-rotate-x)) rotateY(var(--un-rotate-y)) rotateZ(var(--un-rotate-z))
        skewX(var(--un-skew-x)) skewY(var(--un-skew-y)) scaleX(var(--un-scale-x)) scaleY(var(--un-scale-y))
        scaleZ(var(--un-scale-z));
    font-family: "iconfont" !important;
    transition-property: all;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 300ms;
    transition-duration: 700ms;
}

.cases-detail--module-swiper .swiper-wrap__navigation .swiper-wrap__prev .icon::before,
.cases-detail--module-swiper .swiper-wrap__navigation .swiper-wrap__prev .icon::after {
    content: "\e609";
}

.cases-detail--module-swiper .swiper-wrap__navigation .swiper-wrap__next .icon::before,
.cases-detail--module-swiper .swiper-wrap__navigation .swiper-wrap__next .icon::after {
    content: "\e60c";
}

.cases-detail--module-swiper .swiper-wrap__navigation .swiper-wrap__prev .icon::before {
    left: 150%;
}

.cases-detail--module-swiper .swiper-wrap__navigation .swiper-wrap__next .icon::before {
    left: -100%;
}

.cases-detail--module-swiper .swiper-wrap__navigation .swiper-wrap__prev:hover .icon::before {
    left: 50%;
}

.cases-detail--module-swiper .swiper-wrap__navigation .swiper-wrap__prev:hover .icon::after {
    left: 0;
}

.cases-detail--module-swiper .swiper-wrap__navigation .swiper-wrap__next:hover .icon::before {
    left: 50%;
}

.cases-detail--module-swiper .swiper-wrap__navigation .swiper-wrap__next:hover .icon::after {
    left: 100%;
}

.cases-detail--module-swiper .swiper-wrap__content {
    width: 13.28rem;
    height: 7.48rem;
    overflow: hidden;
}

@media (max-width: 767.9px) {
    .cases-detail--module-swiper .swiper-wrap__content {
        aspect-ratio: 4/3;
        width: 100%;
        height: auto;
    }
}

.cases-detail--module-swiper .swiper-wrap__content .swiper-container {
    height: 100%;
    overflow: hidden;
}

.cases-detail--module-swiper .swiper-wrap__content .swiper-slide {
    overflow: hidden;
}

.cases-detail--module-swiper .swiper-wrap__content .swiper-slide .slide-inner {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.products-detail--other-case .case-list .swiper-container:hover .carousel__next {
    right: -15%;
}

.products-detail--other-case .case-list .swiper-container:hover .carousel__prev {
    left: -15%;
}

.products-detail--other-case .text-wrap .carousel {
    padding-left: 5%;
    padding-right: 5%;
}
