:root {
    --main-background: #fff;
    --color-text: #000;
    --color-background: #eaeaea;
    --color-highlight: #f5b501;
    --color-bg: #fff;
    --color-bg-light: #5d84b3;
    --color-bg-dark: #001f50;
    --color-gray: #858586;
    --color-grayer: #ccc;
    --color-grayest: #eaeaea;
    --color-dark: #696a74;
    --color-darker: #292725;
    --color-success: #6cb43f;
    --color-fail: #fb4b35;
    --color-white: #fff;
    --font-size-base: 15px;
    --page-body-padding: 3vw;
    --page-content-width: 1600px;
    --color-primary: #5d84b3;
    --color-primary-light-3: rgb(121.3, 187.1, 255);
    --button-hover-bg-color: var(--color-primary-light-3);
    --button-hover-border-color: var(--color-primary-light-3);
    --border-width: 1px;
    --border-style: solid;
    --border-color: var(--color-grayer);
    --border: var(--border-width) var(--border-style) var(--border-color);
    --border-radius-circle: 100%;

    --bg-deg: 165deg;
    --radio-input-bg-color: #fff;
    --radio-input-border: var(--border);
    --radio-input-border-radius: var(--border-radius-circle);
    --radio-input-height: 14px;
    --radio-input-width: 14px;
    --radio-input-border-color-hover: var(--color-primary);
    --fill-color-blank: #ffffff;
    --input-bg-color: var(--fill-color-blank);
    --border-radius-base: 4px;
    --input-border-color: var(--el-border-color);
    --transition-box-shadow: box-shadow var(--el-transition-duration-fast) var(--el-transition-function-ease-in-out-bezier);
    --input-focus-border-color: var(--el-color-primary);
}

.breadcrumb-wrap {
    padding: 1em 0;
    background-color: var(--main-background);
}

.goods-detail {
    padding-top: 0 !important;
    background-color: var(--main-background);
}

.goods-detail .page-body {
    display: flex;
    justify-content: space-between;
    align-items: stretch;
    flex-direction: row-reverse;
}

.goods-detail .page-body {
    gap: 3%;
}

.page-product .goods-detail .page-body {
    align-items: flex-start;
}

.goods-detail .info {
    flex: 1;
}

.goods-detail hgroup {
    /*border-bottom: .1em solid var(--color-gray);*/
}

.goods-detail hgroup p {
    margin-top: .5em;
}

.goods-detail hgroup p:first-child {
    margin-top: 0;
}

.goods-detail hgroup h1 {
    font-size: 2.67em;
    font-weight: bold;
    margin: 0;
}

.goods-detail .attributes table {
    width: 100%;
    border: .1em solid var(--color-grayer);
}

.goods-detail .attributes table td, .goods-detail .attributes table th {
    border: .1em solid var(--color-grayer);
}

.goods-detail .btn {
    --padding: .3em;
    margin-top: 1em;
    background-color: #000;
    color: #fff;
    font-size: 1.33em;
}

.offer-list.default {
    --reverse-color: #fff;
    background-color: #fff;
}

.goods-detail .offer-list {
    margin-top: 1em;
    padding: .5em;
}

.offer-list h4 {
    font-weight: 400;
}

.offer-list ul {
    height: 100%;
    display: flex;
    justify-content: space-between;
}

.offer-list ul {
    gap: 1em;
}

.offer-list.start ul {
    justify-content: flex-start;
}

.offer-list li {
    display: flex;
    align-items: center;
}

.offer-list li {
    gap: .5em;
    white-space: nowrap;
}

.offer-list li svg, .offer-list li img {
    width: 2em;
    height: 2em;
    fill: currentColor;
}

.details-list details {
    padding: .2em 0;
    border-bottom: .1em solid var(--color-grayer);
}

.details-list details[open] {
    padding-bottom: 1em;
}

.goods-detail .details-list * {
    font-size: inherit !important;
    line-height: 1.5 !important;
}

.details-list summary {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.details-list summary {
    gap: 1em;
}

.details-list summary {
    min-height: 3em;
    line-height: 1.2;
    cursor: pointer;
    list-style: none;
}

.goods-detail .details-list * {
    font-size: inherit !important;
    line-height: 1.5 !important;
}

.details-list h4 {
    font-weight: 400;
    font-size: 1.2em;
}

.goods-detail .details-list h4 {
    font-size: 1em;
}

.details-list summary > svg {
    flex-shrink: 0;
    width: 1em;
    height: 1em;
    transition: transform .1s;
    transform: rotate(-90deg);
}

.details-list details[open] summary > svg, .details-list details[open] summary:after {
    transform: rotate(90deg);
}

.details-list details[open] summary > svg, .details-list details[open] summary:after {
    transform: rotate(90deg);
}

.details-list details p {
    margin-top: 1em;
}

.details-list details p:first-of-type {
    margin-top: 0;
}

.goods-detail .img {
    display: flex;
    justify-content: space-between;
    align-items: stretch;
    flex-direction: column;
}

.goods-detail .img {
    gap: .5em;
    width: 40%;
}

.page-product .goods-detail .img {
    width: 35%;
    position: sticky;
    top: 128px;
    z-index: 50;
}

.goods-detail .img .main {
    flex: 1;
    position: relative;
    aspect-ratio: 1;
    background-color: #fff;
    overflow: hidden;
}

.goods-detail .img .thumbs {
    scrollbar-width: 0;
    -ms-overflow-style: none;
}

.goods-detail .img .thumbs {
    height: 5.63em;
    max-width: 100%;
    overflow-x: auto;
    scroll-behavior: smooth;
}

.page-product .goods-detail .thumbs {
    width: 5.63em;
    height: auto;
    max-height: 100vw;
    overflow-x: hidden;
    overflow-y: auto;
}

.goods-detail .img .thumbs ul {
    display: flex;
    align-items: center;
}

.goods-detail .img .thumbs ul {
    gap: .5em;
    height: 100%;
}

.page-product .goods-detail .thumbs ul {
    flex-direction: column;
}

.goods-detail .img .thumbs li {
    flex-shrink: 0;
    width: 5.63em;
    height: 5.63em;
    border: .2em solid transparent;
    background-color: #fff;
}

.goods-detail .img .thumbs li.active {
    border-color: var(--color-highlight);
}

.goods-detail .img .thumbs li:first-child {
    margin-top: 0;
}

.goods-detail .img .thumbs li:last-child {
    margin-bottom: 0;
}

.goods-detail .star {
    padding: 1em 0;
    display: flex;
    align-items: flex-end;
}

.goods-detail .star .myf-star-group {
    font-size: 1.2em;
}

.goods-detail .star .reviews-num {
    margin-left: 10px;
}

.goods-detail .patch-size-guide {
    padding-top: 1em;
    gap: 1em;
    display: flex;
}

.goods-detail .patch-size-guide > span {
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: .3em;
}

.goods-detail .patch-size-guide-box {
    display: none;
}

.goods-detail .patch-size-guide-box.open {
    display: block;
    position: fixed;
    width: 100%;
    height: 100%;
    background: #00000055;
    overflow: hidden;
    z-index: 100000;
    top: 0;
    left: 0;
    overscroll-behavior: contain;
}

.goods-detail .patch-size-guide-box.open .patch-size-guide-content {
    width: 600px;
    height: 300px;
    position: absolute;
    top: calc(50% - 150px);
    background: #fff;
    border-radius: 1em;
    left: calc(50% - 300px);
}

.goods-detail .patch-size-guide-box .patch-size-guide-content .header {
    padding: 1em;
    text-align: right;
}

.goods-detail .patch-size-guide-box .patch-size-guide-content .header > svg {
    cursor: pointer;
}

.goods-detail .patch-size-guide-box .patch-size-guide-content table {
    width: 100%;
}

.goods-detail .patch-size-guide-box .patch-size-guide-content table th {
    font-weight: bold;
}

.goods-detail .patch-size-guide-box .patch-size-guide-content table tr th:first-child,
.goods-detail .patch-size-guide-box .patch-size-guide-content table tr td:first-child {
    text-align: left;
    padding: .2em 3em;
}

.goods-detail .patch-size-guide-box .patch-size-guide-content table tr th:first-child {
    padding: .5em 3em;
}

.goods-detail .patch-size-guide-box .patch-size-guide-content table tr th:last-child,
.goods-detail .patch-size-guide-box .patch-size-guide-content table tr td:last-child {
    text-align: right;
    padding: 0 3em;
}

.desc header {
    display: flex;
    align-items: flex-end;
}

.desc header {
    border-bottom: .1em solid var(--color-gray);
}

.container .desc header h2 {
    margin-bottom: -.1em;
    padding: .5em 1em;
    border: .1em solid var(--color-gray);
    border-top-width: .15em;
    border-bottom-color: #fff;
    background-color: #fff;
    font-size: 1.33em;
    font-weight: 400;
}

.desc .page-content {
    padding: 1em .5em;
    font-size: 1.2em;
}

.desc .page-content {
    padding: 1em .5em;
    font-size: 1.2em;
}

.how-it-work h2 {
    margin-bottom: 2em;
}

.how-it-work ul {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 2em 5%;
    justify-items: center;
}

.how-it-work .img {
    margin: 0 auto;
    padding: 2em;
    max-width: 10em;
    max-height: 10em;
    width: 15vw;
    height: 15vw;
    border-radius: 50%;
    background-color: var(--color-bg-light);
    display: flex;
    justify-content: center;
    align-items: center;
}

.how-it-work h4 {
    margin-top: 1em;
    font-weight: 400;
    text-align: center;
}

.container .how-it-work h2 {
    margin-bottom: 2em;
}

.how-it-work ul {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 2em 5%;
    justify-items: center;
}

.how-it-work .img img {
    width: 80%;
}

.similar-patches .goodslist .img {
    border: .2em solid var(--color-grayer);
}

.similar-patches .goodslist h4 {
    margin-top: 1em;
    font-weight: 400;
    text-align: center;
}

.faq hgroup {
    text-align: center;
}

.collections {
    margin-top: 1em;
}

.collections header {
    text-align: center;
}

.collections header h2 {
    padding-bottom: .5em;
    border-bottom: 1px solid;
}

.collections .cata-product-list {
    --collections-cloumns: 8;
    display: grid;
    grid-template-columns: repeat(var(--collections-cloumns), 1fr);
    gap: 1em;
    text-align: center;
}

.collections footer {
    text-align: center;
    margin-top: 1em;
}

.collections footer button {
    border-radius: 1em;
}

.carbon-offset .page-content {
    background-color: #f1f8f5;
    flex-grow: 1;
    margin: 0 auto;
    color: #1D4136;
    border-radius: 4px;
    display: flex;
    border: 1px solid #95c9b4;
}

.carbon-offset .page-content > div {
    display: flex;
    align-items: center;
}

.carbon-offset .page-content > div.carbon-offset-left {
    width: 45%;
    border-right: 1px solid #95c9b4;
    padding: 1em;
    gap: 1em;
}

.carbon-offset .page-content > div.carbon-offset-right {
    flex: 1;
    justify-content: center;
}

.carbon-offset .carbon-offset-right1 {
    display: flex;
    align-items: center;
    padding: 1em;
    font-size: 18px;
    gap: 1em;
    border-right: 1px solid #95c9b4;
}

.carbon-offset .carbon-offset-right1 span:last-child {
    font-size: 10px;
}

.carbon-offset .carbon-offset-right2 {
    display: flex;
    align-items: center;
    padding: 1em;
    font-size: 18px;
    gap: 1em;
}

.carbon-offset .carbon-offset-right2 .mini-text {
    font-size: 10px;
}

.product-example header h2 {
    display: inline-block;
}

.product-example .product-example-list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2em;
}

.product-example .product-example-list .product-example-item .product-example-item-img {
    background: #F2F2F2;
}

.product-example .product-example-list .product-example-item .product-example-item-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 1em;
}

.product-example .product-example-list .product-example-item .product-example-item-info h3 {
    text-align: center;
    font-size: 1.2em;
    margin-top: 1em;
}

.product-details .page-content {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1em;
}

.product-details .page-content > div {
    padding: 1em;
}

.product-details .product-details-box .product-details-title {
    font-size: 1.5em;
    margin-bottom: 1em;
    font-weight: 600;
}

.product-details .details-list .content {
    padding: .5em;
}

.product-details .details-list summary span {
    font-weight: bold;
    font-size: 1.2em;
}

.more-style header h2 {
    display: inline-block;
}

.more-style .more-style-list {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 3em;
}

.more-style .more-style-list .more-style-item-info {
    padding: 1em;
}

.more-style .more-style-list .more-style-item-info .more-style-item-info-title {
    font-size: 1.2em;
    font-weight: bold;
    margin-top: 1em;
}

.more-style .more-style-list .more-style-item-btn {
    padding: 1em;
}

.more-style .more-style-list .more-style-item-btn > a {
    border: 1px solid var(--color-grayer);
    width: 100%;
    position: relative;
    display: block;
}

.more-style .more-style-list .more-style-item-btn > a:hover {
    background: initial;
}

.more-style .more-style-list .more-style-item-btn > a span.btn_text {
    text-align: center;
    width: 100%;
    display: inline-block;
    transition: transform 175ms ease, all 175ms linear;
    white-space: nowrap;
}

.more-style .more-style-list .more-style-item-btn > a:hover {
    border-color: #000;
}

.more-style .more-style-list .more-style-item-btn > a:hover span.btn_text {
    width: 0;
}

.more-style .more-style-list .more-style-item-btn > a span.btn_icon {
    position: absolute;
    right: calc(var(--padding) * 2 + 20px);
    opacity: 0;
    transition: transform 175ms ease, all 175ms linear;
}

.more-style .more-style-list .more-style-item-btn > a:hover span.btn_icon {
    transform: translate(20px);
    opacity: 1;
}

#product-steps .step .step-title {
    font-weight: bold;
    padding: 1.5em 0 .5em 0;
}

#product-steps .step.error .step-title .step-title-text {
    color: red;
}

#product-steps .step .step-content.ordinary {
    --step-content-item-columns: 6;
    display: grid;
    gap: 1em;
    grid-template-columns: repeat(var(--step-content-item-columns), 1fr);
}

@media screen and (max-width: 1536px) {
    #product-steps .step .step-content.ordinary {
        --step-content-item-columns: 4;
    }
}

@media screen and (max-width: 1098px) {
    #product-steps .step .step-content.ordinary {
        --step-content-item-columns: 4;
    }
}

@media screen and (max-width: 768px) {
    #product-steps .step .step-content.ordinary {
        --step-content-item-columns: 3;
    }
}

.step.turnover_time {
    --color-bg-turnover_time: #e6fbf2;
    --first-turnover_time-color: #e6fbf2;
    --second-turnover_time-color: #e6f3fd;
    --third-turnover_time-color: #fde9e9;
    --fourth-turnover_time-color: #fff7ea;
    --fifth-turnover_time-color: #fff7ea;
    --last-turnover_time-color: #fff1e9;
}
.step.turnover_time .step-content {
    --columns: 3;
    gap: clamp(1em, 0vw, 2em);
    margin-top: 10px;
}

.step.turnover_time .step-content .step-content-item {
    position: relative;
    padding: 20px 0 0 0;
    background-color: var(--color-bg-turnover_time);
    border-radius: .5em;
    overflow: hidden;
    --radio-input-bg-color: var(--color-bg-turnover_time);
    display: flex;
    align-items: center;
}
.step.turnover_time .step-content .step-content-item:hover {
    box-shadow: 0 0 0 1px #000;
    -webkit-box-shadow: 0 0 0 1px #000;
}

.step.turnover_time .step-content .step-content-item:not(:first-child):not(:last-child) {
    padding: 0;
}

.step.turnover_time .step-content .step-content-item .step-content-item-title > div {
    padding: 1em;
    color: #000;
    align-items: flex-start;
}

.step.turnover_time .step-content .step-content-item:first-child::after,
.step.turnover_time .step-content .step-content-item:last-child::after {
    position: absolute;
    top: 0;
    left: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 1.5em;
    border-radius: 0 0 .5em 0;
    color: #fff;
    padding: 0 .8em;
}

.step.turnover_time .step-content .step-content-item:last-child::after {
    content: "Standard";
    background: #f56956;
}

.step.turnover_time .step-content .step-content-item:first-child::after{
    content: "Express";
    background: #3cbe68;
}

.step.turnover_time .step-content .step-content-item:nth-child(2) {
    --color-bg-turnover_time: var(--second-turnover_time-color);
    --color-primary: var(--second-turnover_time-color);
}
.step.turnover_time .step-content .step-content-item:nth-child(3) {
    --color-bg-turnover_time: var(--third-turnover_time-color);
    --color-primary: var(--third-turnover_time-color);
}
.step.turnover_time .step-content .step-content-item:nth-child(4) {
    --color-bg-turnover_time: var(--fourth-turnover_time-color);
    --color-primary: var(--fourth-turnover_time-color);
}
.step.turnover_time .step-content .step-content-item:nth-child(5) {
    --color-bg-turnover_time: var(--fifth-turnover_time-color);
    --color-primary: var(--fifth-turnover_time-color);
}
.step.turnover_time .step-content .step-content-item:last-child {
    --color-bg-turnover_time: var(--last-turnover_time-color);
    --color-primary: var(--last-turnover_time-color);
}
.step.turnover_time .step-content .step-content-item:first-child {
    --color-bg-turnover_time: var(--first-turnover_time-color);
    --color-primary: var(--first-turnover_time-color);
}

.step.turnover_time .step-content .step-content-item .step-content-item-title > div span {
    display: block;
    text-align: left;
}

.step.turnover_time .step-content-item .step-content-item-title-text {
    font-weight: bold;
}

.step.turnover_time .step-content-item .step-content-item-title-desc {
    margin-top: 1em;
    font-size: .9em;
}

.step.turnover_time .step-content .step-content-item.is-checked .radio__inner {
    border-color: #333;
}

.step.turnover_time .step-content .step-content-item.is-checked .radio__inner:after {
    background-color: #333;
}

#product-steps .step.turnover_time .step-content {
    --step-content-item-columns: 6;
    display: grid;
    gap: 1em;
    grid-template-columns: repeat(var(--step-content-item-columns), 1fr);
}

@media screen and (max-width: 1536px) {
    #product-steps .step.turnover_time .step-content {
        --step-content-item-columns: 4;
    }
}

@media screen and (max-width: 1098px) {
    #product-steps .step.turnover_time .step-content {
        --step-content-item-columns: 4;
    }
}

@media screen and (max-width: 960px) {
    #product-steps .step.turnover_time .step-content {
        --step-content-item-columns: 3;
    }
}

@media screen and (max-width: 768px) {
    #product-steps .step.turnover_time .step-content {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 1em;
        padding: 20px 0;
        --step-content-item-columns: 1;
    }
    #product-steps .step.turnover_time .step-content .step-content-item .input-box {
        aspect-ratio: unset !important;
    }
    #product-steps .step.turnover_time .step-content .step-content-item.is-checked::before{
        content: "√";
        position: absolute;
        top: 0;
        color: rgb(255, 255, 255);
        width: 18%;
        background-color: rgb(93, 132, 179);
        display: flex;
        align-items: flex-end;
        font-size: 14px;
        font-weight: bold;
        box-sizing: border-box;
        border-radius: 50%;
        padding: 6% 3% 4%;
        transform: translate(52%, -30%);
        justify-content: flex-start;
        right: 0;
        left: auto;
    }
}

#product-steps .step.turnover_time .step-content .step-content-item .input-box {
    aspect-ratio: 1 / 1;
    display: flex;
    align-items: center;
    flex-direction: column;
    .step-content-item-title-desc{
        text-align: center;
    }
}

#product-steps .step.turnover_time .step-content .step-content-item.is-checked .step-content-item-title{
    position: relative;
    overflow: hidden;
}

#product-steps .step.turnover_time .step-content .step-content-item.is-checked{
        box-shadow: 0 0 0 2px #5D84B3;
        -webkit-box-shadow: 0 0 0 2px #5D84B3;
        box-sizing: border-box;
}

#product-steps .step.turnover_time .step-content .step-content-item.is-checked::before{
    content: "√";
    position: absolute;
    top: 0;
    color: rgb(255, 255, 255);
    width: 35%;
    height: 35%;
    background-color: rgb(93, 132, 179);
    display: flex;
    align-items: flex-end;
    font-size: 14px;
    font-weight: bold;
    box-sizing: border-box;
    border-radius: 50%;
    padding: 4% 7%;
    transform: translate(50%, -50%);
    justify-content: flex-start;
    right: 0;
    left: auto;
}

#product-steps .step .step-content .step-content-item {
    position: relative;
    padding: .2em;
    cursor: pointer;
}

#product-steps .step .step-content .step-content-item:hover:after {
    /*content: "";*/
    /*border: 1px solid #A0A0A0;*/
    /*padding: 1px;*/
    /*border-radius: 6px;*/
    /*background-color: #fff;*/
    /*box-shadow: #00000059 0 5px 15px;*/
    /*position: absolute;*/
    /*width: 250px;*/
    /*height: 250px;*/
    /*z-index: 2;*/
    /*background: var(--item-background-img);*/
    /*background-color: #fff;*/
    /*background-position: center;*/
    /*background-size: contain;*/
    /*background-repeat: no-repeat;*/
    /*bottom: calc(100% + 8px);*/
    /*right: 5%;*/
    /*display: none;*/
}

#product-steps .step .step-content-item .step-content-item-img {
    overflow: hidden;
    border-radius: 4%;
    box-shadow: 0 0 0 1px var(--color-grayer);
    -webkit-box-shadow: 0 0 0 1px var(--color-grayer);
    position: relative;
}

.step-content-item-img span{
    position: absolute;
    top: 0;
    padding-left: .5em;
    padding-right: .3em;
    background-color: #ff5252;
    border-radius: 8%;
    color: #fff;
    font-size: .75em;
    border-bottom-right-radius: 8px;
}

#product-steps .step .step-content-item.none-img .step-content-item-img {
    display: none;
}

#product-steps .step .step-content-item .step-content-item-img:hover {
    box-shadow: 0 0 0 1px #000;
    -webkit-box-shadow: 0 0 0 1px #000;
}

#product-steps .step .step-content-item.is-checked .step-content-item-img {
    box-shadow: 0 0 0 2px #5D84B3;
    -webkit-box-shadow: 0 0 0 2px #5D84B3;
    box-sizing: border-box;
}

/* 伪类元素打勾 */
#product-steps .step .step-content-item.is-checked .step-content-item-img::after {
    content: "√";
    position: absolute;
    top: 0;
    left: 0;
    transform: translate(-50%, -50%);
    color: #fff;
    width: 35%;
    height: 35%;
    background-color: #5D84B3;
    border-radius: 50%;
    display: flex;
    justify-content: flex-end;
    align-items: flex-end;
    font-size: 14px;
    font-weight: bold;
    padding: 4% 7%;
    box-sizing: border-box;
}
@media(max-width: 768px) {
    #product-steps .step .step-content-item.is-checked .step-content-item-img::after {
        padding: 1% 6%;
    }
}

#product-steps .step .step-content-item .step-content-item-img img {
    width: 100%;
    height: 100%;
    /*设置比例*/
    aspect-ratio: 1 / 1;
    object-fit: contain;
}

#product-steps .step .step-content-item .step-content-item-title {
    /*display: none;*/
}

#product-steps .step .step-content-item .step-content-item-title {
    bottom: 0;
    display: block;
    width: 100%;
    text-align: center;
    left: 0;
    border-radius: 0 0 1em 1em;
    padding: .1em;
    font-size: .9em;
}

#product-steps .step .step-content-item .step-content-item-title .input-box {
    display: flex;
    align-items: center;
    justify-content: center;
}

#product-steps .step .step-content-item.none-img .step-content-item-title .input-box {
    justify-content: left;
}

/* 自定义radio外观 */
#product-steps .step .step-content-item.none-img .step-content-item-title .radio-icon {
    display: inline-block;
    width: 16px;
    height: 16px;
    min-width: 16px;
    min-height: 16px;
    border: 1px solid #ccc;
    border-radius: 50%;
    margin-right: 8px;
    vertical-align: middle;
    position: relative;
    transition: all 0.1s;
}

/* 选中状态样式 */
#product-steps .step .step-content-item.none-img.is-checked .step-content-item-title .radio-icon {
    background: white;
    border-radius: 50%;
    border: 5px solid #5D84B3;
}

#product-steps .step .qty-label {
    display: inline-flex;
    justify-content: space-between;
    border: 1px solid var(--color-grayer);
    border-radius: .4em;
    position: relative;
}


#product-steps .step .qty-label > button {
    cursor: pointer;
    padding: 1em;
}

#product-steps .step .qty-label > input {
    width: 300px;
    text-align: center;
    padding: 1em 0;
}

.unit-price-list {
    width: 55%;
    margin-bottom: 1em;
}

@media (max-width: 1280px) {
    .unit-price-list {
        width: 80%;
    }
}

@media (max-width: 760px) {
    .unit-price-list {
        width: 100%;
    }
    #product-steps .step .qty-label > input {
        width: 200px;
        text-align: center;
        padding: 1em 0; 
    }
}

.unit-price-list thead th {
    font-weight: bold;
    padding-bottom: 1.2em;
}

.unit-price-list thead th:first-child {
    width: 150px;
    text-align: left;
}

.unit-price-list thead th:last-child {
    width: 180px;
    text-align: left;
}

.unit-price-list tbody {
    position: relative;
}

.unit-price-list tbody .back-box {
    position: absolute;
    left: 0;
    z-index: 1;
    width: 100%;
    background: #E2FFF0;
    border-radius: .5em;
    transition: all .3s;
}

.unit-price-list tbody tr {
    position: relative;
    z-index: 2;
    cursor: pointer;
}

.unit-price-list tbody tr td {
    border-bottom: 1px solid gray;
    color: #000000AB;
    box-sizing: border-box;
    max-height: 35px;
    padding: .5em 0;
}

.unit-price-list tbody tr td:last-child {
    text-align: left;
}

.unit-price-list tbody tr.active td {
    background: #E2FFF000;
    border-color: #00000000;
}

.unit-price-list tbody tr:has(+tr.active) td {
    border-color: #00000000;
}

.unit-price-list .qty-num {
    text-align: left;
}

.unit-price-list .qty-discount {
    color: #4db849;
    font-weight: bold;
}

.step-content.qty {
    width: 55%;
    display: flex;
    align-items: center;
}

@media (max-width: 1280px) {
    .step-content.qty {
        width: 80%;
    }
}

@media (max-width: 760px) {
    .step-content.qty {
        width: 100%;
    }
}

.step-content.qty > div:first-child {
    width: 55%;
}

.step-content.qty > div.now-qty-discount {
    flex: 1;
    text-align: center;
    padding: .5em 1em;
    color: #4db849;
    font-weight: bold;
}

.step-content.qty > div:last-child {
    width: auto;
    padding: .5em 0;
    text-align: left;
    font-family: math;
}

.step .select-size {
    display: flex;
    gap: 1em;
}

.step .select-size {
    width: 100%;
}

@media (max-width: 1280px) {
    .step .select-size {
        width: 65%;
    }
}

@media (max-width: 760px) {

    .step .select-size {
        width: 100%;
        display: grid;
        grid-template-columns: repeat(1, 1fr);
    }
}

.step .select-size > div {
    padding: .5em;
}

.step .select-size .qty-title {
    font-weight: bold;
    padding: .2em;
}

.step .select-size .qty-title .select-area {
    color: #44b67b;
}

.step .select-size .select-size-label .num-tips {
    padding-top: .5em;
    color: #5c5c5c;
}

.step .select-size .select-size-label .qty-title {
    position: relative;
}

.step .select-size .select-size-label .qty-title svg:hover + .tool-tip-text {
    visibility: visible;
}

.input-box svg:hover + .tool-tip-text {
    visibility: visible;
}

.step-content-item-title-text{
    margin-right: .5em;
}

.step .select-size .select-size-label .qty-title .tool-tip-text {
    visibility: hidden;
    box-shadow: 0 0 3px #333;
    border-radius: 6px;
    min-width: 180px;
    position: absolute;
    z-index: 1;
    bottom: calc(100% + 6px);
    left: 50%;
    font-weight: 400;
    line-height: 120%;
    transform: translate(-50%);
    font-size: 12px;
    padding: 10px;
    white-space: normal;
    text-align: left;
    background-color: #000;
    color: #fff;
}

.step .select-size .select-size-info {
    font-size: 14px;
}

.step .select-size .select-size-info em {
    font-style: italic;
}

.footer-options {
    margin-top: 1em;
    margin-bottom: 3em;
}

.footer-options .footer-btn {
    position: relative;
    display: flex;
    gap: 2em;
}


.footer-options .footer-btn > div {
    /*position: absolute;*/
    width: 50%;
    margin-top: 1em;
    padding: 1em;
    display: inline-block;
}

@media (max-width: 960px) {
    .footer-options .footer-btn {
        flex-direction: column;
        gap: .5em;
    }

    .footer-options .footer-btn > div {
        width: 100%;
    }
}

.footer-options .footer-btn > div > button {
    width: 100%;
    font-size: 1.5em;
    position: relative;
    background-color: var(--color-primary);
    border-radius: .2em;
    cursor: pointer;
    color: #fff;
    margin-top: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .5em;
}

.footer-options .footer-btn > div > button > svg {
    width: 1em;
    height: 1em;
    fill: gold;
}

.footer-options .footer-btn > div.footer-left-btn,
.footer-options .footer-btn > div.footer-left-btn > button {
    background-color: #000;
}

.footer-options .footer-btn > div.footer-left-btn.out-of-stock,
.footer-options .footer-btn > div.footer-left-btn.out-of-stock > button {
    background-color: #b6b6b6;
}

.step .step-content.upload-img {
    --columns: 1;
}

.step-content-upload-by-file {
    display: flex;
    justify-content: space-between;
    flex-direction: column;
}

.step-content-upload-by-file .upload-file {
    width: 100%;
    height: 100%;
    position: relative;
}

.step-content-upload-by-file .upload-file > .el-radio {
    margin-bottom: .5em;
    font-size: 1.2em;
    font-weight: bold;
    display: block;
    cursor: pointer;
}

.step-content-upload-by-file .upload-file > p {
    margin-left: 1.5em;
    color: var(--color-gray);
}

#drop_zone {
    background-color: var(--el-disabled-bg-color);
    border: 1px dashed var(--el-border-color);
    border-radius: 6px;
    box-sizing: border-box;
    overflow: hidden;
    padding: 40px;
    position: relative;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    cursor: no-drop;
    justify-content: center;
    width: 65%;
}

.step-content-upload-type.is-checked #drop_zone:hover {
    border-color: var(--color-primary);
}

.step-content-upload-type.is-checked #drop_zone {
    cursor: pointer;
    background-color: #fff;
}

#drop_zone > svg {
    width: 67px;
    height: 67px;
    color: #a8abb2;
}

#drop_zone #browseBtn {
    margin: 10px;
    background: var(--color-primary);
    color: #fff;
    border-radius: calc(var(--el-border-radius-base) - 1px);
    font-size: 12px;
    padding: 5px 11px;
    /*width: 10em;*/
    cursor: pointer;
}

#drop_zone #browseBtn:hover {
    background: var(--button-hover-bg-color);
}

#drop_zone .desc > span {
    color: var(--el-text-color-regular);
    font-size: 12px;
}

#drop_zone .desc > .tips {
    width: 12px;
    height: 12px;
    color: #a8abb2;
    position: relative;
    display: inline-block;
}

#drop_zone .desc > .tips:hover i {
    opacity: 1;
    pointer-events: auto;
}

#drop_zone .desc > .tips i {
    display: flex;
    position: absolute;
    width: 360px;
    height: 40px;
    bottom: 20px;
    right: -180px;
    background: #fff;
    text-align: left;
    align-items: center;
    padding: 1em;
    border-radius: 5px;
    border: 1px solid var(--el-border-color);
    color: #000;
    font-size: 12px;
    opacity: 0;
    transition: all 0.3s ease;
    pointer-events: none;
    cursor: auto;
}

#drop_zone .desc > .tips i:before {
    content: '';
    position: absolute;
    width: 12px;
    height: 12px;
    background: linear-gradient(135deg, transparent 50%, rgb(255, 255, 255) 50%);;
    bottom: -6px;
    right: 50%;
    transform: rotate(45deg);
    border-bottom: 1px solid var(--el-border-color);
    border-right: 1px solid var(--el-border-color);
}

#drop_zone .desc > .tips i:after {
    content: '';
    position: absolute;
    width: 100%;
    height: 12px;
    bottom: -12px;
    left: 0;
}


#drop_zone.highlight {
    border-color: var(--color-primary);
    border-width: 3px;
}
#drop_zone.highlight {
    border-color: var(--color-primary);
    border-width: 3px;
}

.drop-zone-content {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 150px;
}

.drop-zone-content.hidden {
    display: none !important;
}

.upload-file-list {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 15px;
}

.upload-file-list.hidden {
    display: none !important;
}

.file-card {
    position: relative;
    width: 100px;
    height: 100px;
    background: #fff;
    border: 2px solid #e5e7eb;
    border-radius: 8px;
    overflow: hidden;
    transition: all 0.3s ease;
    cursor: pointer;
}

.file-card:hover {
    border-color: var(--color-primary);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

.file-card-preview {
    width: 100px;
    height: 100px;
    background: #f9fafb;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.file-preview-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.file-preview-svg {
    width: 80px;
    height: 80px;
    color: #9ca3af;
}

.file-card-info {
    padding: 10px;
    height: 40px;
    overflow: hidden;
}

.file-card-name {
    font-size: 12px;
    color: #374151;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    margin-bottom: 4px;
}

.file-card-size {
    font-size: 11px;
    color: #9ca3af;
}

.file-card-remove {
    position: absolute;
    top: 0px;
    right: 0px;
    width: 28px;
    height: 28px;
    background: rgba(255, 255, 255, 0.95);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transition: all 0.3s ease;
    cursor: pointer;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
    z-index: 10;
}

.file-card-remove svg {
    color: #ef4444;
    width: 14px;
    height: 14px;
}

.file-card:hover .file-card-remove {
    opacity: 1;
}

.file-card-remove:hover {
    background: #ef4444;
}

.file-card-remove:hover svg {
    color: #fff;
}

.add-new-card {
    width: 100px;
    height: 100px;
    background: #f9fafb;
    border: 2px dashed #d1d5db;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.3s ease;
    position: relative;
    z-index: 1;
}

.add-new-card:hover {
    border-color: var(--color-primary);
    background: #eff6ff;
}

.add-new-card:hover svg {
    color: var(--color-primary);
}

.add-new-card svg {
    color: #9ca3af;
    transition: all 0.3s ease;
}

.file-info-tooltip {
    background: #fff;
    border: 2px solid var(--color-primary);
    border-radius: 8px;
    padding: 12px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    animation: fadeIn 0.3s ease;
    top: 0;
    position: absolute;
}

.file-info-type {
    font-size: 14px;
    font-weight: bold;
    color: var(--color-primary);
    margin-bottom: 8px;
    text-transform: uppercase;
}

.file-info-name {
    font-size: 12px;
    color: #374151;
    word-break: break-all;
}

@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(-10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.step-content-upload-by-file .order-comments {
    width: 55%;
    height: 100%;
    position: relative;
    flex: 0 0 46%;
}

@media (max-width: 768px) {
    .step-content-upload-by-file .order-comments {
        width: 100%;
    }

    .step-content-upload-by-file .upload-file {
        width: 100%;
    }

    .upload-file-list {
        position: unset;
        width: 100%;
    }
}

.step-content-upload-by-file .order-comments label {
    height: 100%;
    display: block;
}

.step-content-upload-by-file .order-comments span {
    margin-bottom: .5em;
    font-size: 1.2em;
    font-weight: bold;
    display: block;
}

.step-content-upload-by-file .order-comments textarea {
    width: 100%;
    resize: block;
    background-color: var(--el-disabled-bg-color);
    box-shadow: 0 0 0 1px var(--el-disabled-border-color) inset;
    color: var(--el-disabled-text-color);
    cursor: not-allowed;
    min-height: 58px;
}

.step-content-upload-type.is-checked .order-comments textarea {
    cursor: auto;
    background-color: #fff;
}

.goods-detail .as-low-price {
    padding-bottom: .5em;
    font-size: 2em;
    font-weight: bold;
    display: inline-block;
}

.images-container {
    display: flex;
    flex-direction: column;
    overflow: hidden;
    max-height: 925px;
    gap: 1em;
}

.slick-slider {
    position: relative;
    display: block;
    box-sizing: border-box;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -webkit-touch-callout: none;
    -khtml-user-select: none;
    -ms-touch-action: pan-y;
    touch-action: pan-y;
    -webkit-tap-highlight-color: transparent
}

.slick-list {
    position: relative;
    display: block;
    overflow: hidden;
    margin: 0;
    padding: 0;
    position: relative;
    top: 0;
    left: 0;
    display: block;
    margin-left: auto;
    margin-right: auto;
    opacity: 1;
    display: flex;
    justify-content: center;
    align-items: center;
}

.slick-list figure {
    width: 570px
}

.discount{
    position: absolute; 
    z-index: 10;
    top: 0;
    right: 0;
    font-size: 20px;
    background-color: #11a66a;
    color: #fff;
    font-weight: bold;
    padding: 10px 20px;
}

#JS_thumbnailSwitch {
    display: flex;
    gap:.5em;
    padding-left: 25px;
}

#JS_thumbnailSwitch figure {
    width: 80px;
    height: 80px;
    border: 1px solid #fff;
    min-width: 80px;
    cursor: pointer;
}

#JS_thumbnailSwitch figure.active {
    border-color: var(--color-highlight);
}

#JS_thumbnailSwitch figure img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.pdp-featured-nav .next, .pdp-featured-nav .previous {
    position: absolute;
    top: 0;
    width: 25px;
    height: 100%;
    background-color: #f2f2f2;
    z-index: 10;
    border: 0;
    cursor: pointer;
}

.pdp-featured-nav .previous {
    left: 0;
}

.pdp-featured-nav .next {
    right: 0;
}

.pdp-featured-nav .previous::before {
    display: inline-block;
    content: " " !important;
    border-bottom: 8px solid #999;
    border-left: 8px solid transparent;
    border-right: 8px solid transparent;
    transform: rotate(-90deg);
}


.pdp-featured-nav .next::before {
    display: inline-block;
    content: " " !important;
    border-top: 8px solid #999;
    border-left: 8px solid transparent;
    border-right: 8px solid transparent;
    transform: rotate(-90deg);
}

/* review 评论 */
.comment {
    background-color: white;
}

.fit_content {
    min-width: 200px;
    overflow: hidden
}

.fit_content .fit_title {
    font-size: 16px;
    font-weight: 600;
    color: #333;
    line-height: 18px;
}

.fit_content .fit_part {
    margin-top: 24px;
}

.fit_line {
    background-color: #ccc;
    position: relative;
    height: 2px;
    border-radius: 1px;
}

.v7_fit_bar_float {
    position: absolute;
    width: 16px;
    height: 16px;
    top: -11px;
    transform: translateX(-50%)
}

.v7_fit_bar_float img {
    width: 100%;
    height: 100%;
}

.fit_content .fit_desc {
    display: flex;
    justify-content: space-between;
    font-size: 12px;
    color: #333;
    margin-top: 12px;
}

.fit_content .fit_size_small {
    font-size: 14px;
    line-height: 20px
}

.fit_content .fit_size_large {
    font-size: 14px;
    line-height: 20px
}

.show_overall_rating {
    display: flex;
    justify-content: space-between;
    width: 100%;
    height: 115px;
    background-color: #eee;
    color: #333;
    overflow: hidden;
}

.rating-stars {
    text-align: left;
    margin: 26px 0 0 30px;
    color: #333;
}

.rating-stars .score {
    font-size: 30px;
    color: #333;
    line-height: 30px;
    padding-right: 6px;
    font-weight: 600;
}

.rating-stars .rating-td .star-item {
    width: 14px;
    height: 14px;
    font-size: 14px;
}

.show_overall_rating .fit_content {
    margin-left: 100px;
    margin-top: 26px;
}

.hot-title {
    display: flex;
    color: #000;
    position: relative;
    margin: 20px auto;
}

.hot-title:before {
    display: block;
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    top: 50%;
    z-index: 0;
    margin-top: -2px;
    border: 1px solid #000;
}

.hot-title span {
    padding: 0 50px;
    margin: 0 auto;
    text-transform: uppercase;
    background: white;
    font-size: 20px;
    font-weight: 600;
    z-index: 1;
}

section {
    overflow: hidden;
}

section {
    overflow: hidden;
}

.comment .wrapper .data-report {
    padding-bottom: 30px;
}

.comment .wrapper .data-report .rating-star {
    width: 50%;
    float: left;
}

.comment .wrapper .data-report .rating-star button {
    margin-top: 12px;
    width: 195px;
    height: 42px;
    font-size: 14px;
    line-height: 19px;
    font-weight: 600;
    border-radius: 4px;
    color: #fff;
    background: #82cd93;
    cursor: pointer;
}

.comment .wrapper .data-report .desc {
    margin: 0 0 16px;
    font-size: 13px;
}

.rating-stars .score {
    font-size: 30px;
    color: #333;
    line-height: 30px;
    padding: 0 6px 0 0;
    font-weight: 600;
}

.writeBtn-theme, .single-selector > span.selected {
    background-color: #000 !important;
}

.review_filter_select {
    display: flex;
    margin-bottom: 20px;
}

.select-content-label {
    margin-right: 10px;
    vertical-align: middle;
    flex-shrink: 0;
    line-height: 40px;
    color: #333;
    font-weight: 600;
}

.select-content {
    display: flex;
}

.statistic-directive-hook {
    display: inline-block;
    position: relative;
    height: 40px;
    cursor: pointer;
}

.statistic-directive-hook .select {
    overflow: hidden;
    position: relative;
    box-sizing: border-box;
    height: 40px;
    line-height: 38px;
    padding: 0 21px 0 11px;
    border: 1px solid #ccc;
}

.statistic-directive-hook .select:hover {
    border: 1px solid #333;
}

.statistic-directive-hook .select .select-name {
    color: #333;
    font-size: 13px;
    text-transform: capitalize;
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
}

.statistic-directive-hook .arrow-down-icon {
    position: absolute;
    top: 13px;
    right: 10px;
    z-index: 10;
    width: 10px;
    height: 13px;
    vertical-align: -0.15em;
    overflow: hidden;
}

.statistic-directive-hook .checkbox {
    flex: 0 0 auto;
    box-sizing: border-box;
    position: relative;
    min-width: 12px;
    width: 12px;
    height: 12px;
    margin-right: 7px;
    border: 1px solid #333 !important;
}

.statistic-directive-hook .checkbox .selected-icon {
    position: absolute;
    z-index: 10;
    width: 12px;
    height: 12px;
    border: 0;
}

.statistic-directive-hook .select-option {
    max-height: 200px;
    overflow: auto;
    width: 120px;
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    list-style: none;
    position: absolute;
    left: 0;
    top: 40px;
    z-index: 100;
    color: #333;
    font-size: 13px;
    background: #fff;
    border: 1px solid #ccc;
    border-top: 0;
    box-shadow: 0 2px 3px 0 rgba(51, 51, 51, .3);
}

.statistic-directive-hook .select-option li {
    height: 30px;
    line-height: 30px;
    padding: 0 11px;
    cursor: pointer;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    display: flex;
    align-items: center;
}

.statistic-directive-hook .select-option li .name {
    overflow: hidden;
    text-transform: capitalize;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.statistic-directive-hook .select-option li .name span {
    vertical-align: top;
}

.statistic-directive-hook .select-option .selected {
    background: #f5f5f5;
}

.statistic-directive-hook .select-option li:hover {
    background: #f5f5f5;
}

.statistic-directive-hook .color-hex {
    flex: 0 0 auto;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    margin-right: 5px;
    border: 1px solid #ccc;
}

.comment__sort-by {
    display: flex;
    align-items: center;
    padding-bottom: 10px;
    gap: 1em;
}

.comment__sort-by .btns {
    display: flex;
    align-items: center;
    min-width: 200px;
}

.comment__sort-by .btns div {
    padding: 10px;
    border: 1px solid #dcdfe6;
    border-radius: 5px;
    text-align: center;
    cursor: pointer;
}

.comment__sort-by .btns div.active {
    background-color: rgb(25, 17, 1);
    color: #fff;
}

.review_item {
    padding: 20px 0;
    color: #333;
    display: flex;
    justify-content: space-between;
    overflow: hidden;
    border-bottom: 1px solid #ccc;
}

.review_item .prlr-details {
    flex-shrink: 0;
    float: left;
    width: 20%;
    margin-right: 1%;
    font-size: 13px;
    color: #333;
}

.review_item .user-name {
    height: 18px;
    font-size: 14px;
    line-height: 18px;
    font-weight: 700;
    color: #333;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    display: inline-block;
    padding-right: 1em;
}

.review_item .fit-content {
    display: flex;
    align-items: center;
    margin: 8px 0 6px;
    font-size: 14px;
    font-weight: 400;
    color: #666;
    line-height: 18px;
}

.review_item .color-or-size {
    font-weight: 400;
    color: #666;
    height: 24px;
    font-size: 14px;
    line-height: 24px;
    display: flex;
    align-items: center;
}

.review_item .color-or-size span {
    color: #333
}

.review_item .prlr-details .fit_line {
    width: 100px;
    margin: 0 10px;
}

.review_item .prlr-text-wrap {
    position: relative;
    flex: 1;
    float: left;
    width: 60%;
    margin-right: 1%;
}

.review_item .prlr-text {
    position: relative;
    padding: 0 20px 0 15px;
    z-index: 0;
    word-break: keep-all;
    font-size: 14px;
    color: #999;
    line-height: 18px;
}

.review_item .review-text {
    width: 100%;
    color: #333;
    font-weight: 700;
    word-break: break-word;
    margin-top: 9px;
}

.review_item .size-content {
    color: #999;
    line-height: 18px;
    margin-top: 8px;
}

.review_item .review-date {
    margin-top: 8px;
}

.comment .comments .item {
    padding: 20px 0;
    font-size: 14px;
    border-top: 1px solid #F2F2F2;
    border-bottom: 1px solid #F2F2F2;
}

.comment .wrapper .comments .item .header {
    margin-bottom: 15px;
    overflow: hidden;
    position: relative;
    display: flex;
    justify-content: space-between;
    z-index: 1;
}

.comment .wrapper .comments .item .desc-title {
    color: #000000;
    word-break: keep-all;
    word-wrap: break-word;
    padding-left: 1em;
    font-weight: 700;
}


.comment .wrapper .comments .item .header .time {
    color: #97989F;
}

.comment .wrapper .comments .item .desc {
    line-height: 24px;
    color: #4D4F5C;
    word-break: keep-all;
    word-wrap: break-word;
    white-space: pre-wrap;
}

.comment .wrapper .comments .item .comment-images {
    margin: 0;
    overflow: hidden;
}

.comment .wrapper .comments .item .comment-images a {
    position: relative;
    display: inline-block;
    max-width: 60px;
    overflow: hidden;
    height: 80px;
    margin: 10px 5px 0 0;
    width: 60px;
}

.comment .wrapper .comments .item .comment-images img {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    display: inline-block;
    vertical-align: top;
    cursor: pointer;
    height: 80px;
    max-width: initial;
}

.customer-review .footer {
    margin-top: 1em;
}

.customer-review .footer #comment-pagination .pagination {
    display: flex;
    justify-content: flex-end;
    gap: .4em;
}

.customer-review .footer #comment-pagination .pagination li.active {
    font-weight: bold;
}

.customer-review .footer #comment-pagination .pagination li.disabled {
    cursor: none;
    color: #999;
}

.zoomdiv .bigimg {
    width: initial;
}


/**突出显示步骤*/
.step.prominent {
    z-index: 1001 !important;
    position: relative;
}

.step.prominent::before {
    content: '\f067';
    position: absolute;
    top: 0;
    right: 0;
    width: 30px;
    height: 30px;
    font-family: "izchic";
    transform: rotate(45deg);
    text-align: center;
}

.base-dialog {
    background-color: rgba(0, 0, 0, .5);
    bottom: 0;
    height: 100%;
    left: 0;
    overflow: auto;
    position: fixed;
    right: 0;
    text-align: center;
    top: 0;
    z-index: 1000;
    display: none;
}

.base-dialog .base-dialog-model-overlay {
    bottom: 0;
    left: 0;
    overflow: auto;
    position: fixed;
    right: 0;
    top: 0;
}

.el-dialog {
    --el-dialog-width: 99%;
}

.others-box textarea {
    height: 302px;
}

.step {
    padding: 20px;
    display: flex;
    flex-direction: column;
    border-radius: 1em;
    background: #fff;
    margin-bottom: 20px;
    border: .2em solid transparent;
}

.step .step-next .step-next-btn {
    padding: 8px 1em;
    background: var(--color-primary);
    color: #fff;
    display: none;
}

.step.active .step-next .step-next-btn {
    display: block;
}

.step .step-next .step-next-btn:hover {
    background: var(--button-hover-bg-color);
}

.tool-tip-text{
    visibility: hidden;
    box-shadow: 0 0 3px #333;
    border-radius: 6px;
    min-width: 180px;
    position: absolute;
    z-index: 1;
    bottom: calc(100% + 6px);
    left: 50%;
    font-weight: 400;
    line-height: 120%;
    transform: translate(-50%);
    font-size: 12px;
    padding: 10px;
    white-space: normal;
    text-align: left;
    background-color: #000;
}


.dynamic-nav {
    position: fixed;
    top: -60px;
    left: 0;
    width: 100%;
    height: 60px;
    background: white;
    box-shadow: 0 2px 10px rgba(0,0,0,0.1);
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 20px;
    transition: top 0.3s ease;
    z-index: 1002;
}

/* 导航栏显示时的状态 */
.dynamic-nav.visible {
    top: 0; /* 向下滑动出现 */
}

/* 导航栏基础样式 */
.nav-left a {
    padding: 8px 12px;
    text-decoration: none;
    color: #333;
    transition: all 0.3s;
}

/* 选中状态样式 */
.nav-left .active {
    background: rgb(93, 132, 179);
    color: white;
    border-radius: 4px;
}

.nav-left a:hover {
    background: rgb(93, 132, 179);
    color: white;
    border-radius: 4px;
}

/* 右侧购物车按钮 */
.cart-btn {
    background: #000000;
    color: white;
    border: none;
    padding: 8px 15px;
    border-radius: 4px;
    cursor: pointer;
}

.dynamic-nav .nav-right span {
    margin-right: 15px;
    font-weight: bold;
}

.disabled1 {
  background-color: #ccc;
  cursor: not-allowed;
  opacity: 0.6;
  pointer-events: none; /* 阻止点击事件穿透 */
}

.nav-left{
    font-size: 1.5em;
}

.nav-right{
    font-size: 1.5em;
    display: flex;
    align-items: center;
}

.nav-right .cart-amount{
    font-size: .95em;
}

.nav-right .cart-btn{
    font-size: .95em;
    width: 20vw;
}

.nav-right .cart-btn:hover{
    background: rgb(93, 132, 179);
}

/* 尺寸属性下拉选择器 */
.dropdown-container{
    position: absolute;
    top: 35px;
    z-index: 10;
    left: 0;
}
.size-grid {
    display: none;
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
    margin-top: 10px;
    padding: 5px;
    border: 2px solid #e0e0e0;
    border-radius: 8px;
    background-color: white;
    max-height: 300px;
    overflow-y: auto;
    animation: fadeIn 0.3s ease;
}

.size-grid.active {
    display: grid;
}

/* @keyframes fadeIn {
    from { opacity: 0; transform: translateY(-10px); }
    to { opacity: 1; transform: translateY(0); }
} */

.size-option {
    position: relative;
    display: flex;
    align-items: center;
    border: 2px solid #e0e0e0;
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.3s ease;
    background-color: white;
}

.size-option:hover {
    border-color: #3498db;
    background-color: #f8fafc;
}

.size-option.selected {
    border-color: #3498db;
    background-color: #e1f0fa;
}

.size-option input[type="radio"] {
    position: absolute;
    opacity: 0;
    cursor: pointer;
}

.custom-radio {
    width: 20px;
    height: 20px;
    border: 2px solid #95a5a6;
    border-radius: 50%;
    margin-right: 12px;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: all 0.2s ease;
}

.size-option.selected .custom-radio {
    border-color: #3498db;
    background-color: #3498db;
}

.custom-radio::after {
    content: "";
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background-color: white;
    opacity: 0;
    transition: opacity 0.2s ease;
}

.size-option.selected .custom-radio::after {
    opacity: 1;
}

.size-option:hover {
    background-color: #f5f5f5;
}
.custom-radio-label:hover .custom-radio {
    border-color: #007bff;
}
.size-option.selected {
    background-color: #e3f2fd;
}

.size-label {
    font-size: 16px;
    font-weight: 500;
    color: #2c3e50;
}

.selected-size-display {
    margin-top: 25px;
    padding: 15px;
    background-color: #f8f9fa;
    border-radius: 8px;
    text-align: center;
}

.selected-size-display h3 {
    color: #2c3e50;
    margin-bottom: 8px;
}

.selected-value {
    font-size: 18px;
    font-weight: 600;
    color: #3498db;
}

.instructions {
    margin-top: 20px;
    padding: 15px;
    background-color: #e8f4fc;
    border-radius: 8px;
    border-left: 4px solid #3498db;
}

.instructions h3 {
    color: #2c3e50;
    margin-bottom: 10px;
}

.instructions ul {
    padding-left: 20px;
    color: #34495e;
}

.instructions li {
    margin-bottom: 5px;
}

/* 升级购买数量提示弹窗 */
/* 弹窗背景遮罩fixed */
.upgrade-modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    display: none;
    justify-content: center;
    align-items: center;opacity: 0;  /* 初始透明 */
    transition: opacity 0.2s ease;
}
.upgrade-modal-overlay.show {
    opacity: 1;  /* 显示时不透明 */
    display: flex !important;
}

.upgrade-modal-overlay.show .upgrade-modal-content {
    transform: scale(1);
    animation: bounce 0.5s;
}

@keyframes bounce {
    0% { transform: scale(0.5); }
    50% { transform: scale(1.05); }
    70% { transform: scale(0.95); }
    100% { transform: scale(1); }
}

/* 弹窗主体 */
.upgrade-modal-content {
    background-color: #fff;
    width: 600px;
    padding: 40px 50px;
    border-radius: 8px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.1);
    position: relative;
    text-align: center;
    transition: transform 0.5s cubic-bezier(0.68, -0.6, 0.32, 1.6);
}

/* 关闭按钮 X */
.upgrade-modal-close-btn {
    position: absolute;
    top: 15px;
    right: 20px;
    font-size: 24px;
    border-radius: 50%;
    width: 30px;
    height: 30px;
    color: #333;
    cursor: pointer;
    font-weight: bold;
    transition: all 0.3s ease-in-out;
}

.upgrade-modal-close-btn:hover {
    color: #fff;
    background-color: #5D84B3;
    scale: 1.5;
    transition: all 0.3s ease-in-out;
}

/* 标题部分 */
.upgrade-modal-title {
    color: #444;
    font-size: 24px;
    margin-bottom: 10px;
    font-weight: 600;
}

.upgrade-modal-subtitle {
    color: #888;
    font-size: 16px;
    margin-bottom: 30px;
}

/* 核心对比区域 */
.upgrade-modal-comparison-area {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 20px;
    margin-bottom: 35px;
}

/* 选项卡片 */
.upgrade-modal-option-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 180px;
    position: relative;
}

.upgrade-modal-option-label {
    font-size: 16px;
    margin-bottom: 8px;
    font-weight: 500;
}
.upgrade-modal-label-grey { color: #666; }
.upgrade-modal-label-orange { color: #5D84B3; font-weight: bold; }

/* 白色边框盒子 */
.upgrade-modal-box-container {
    border: 1px solid #e0e0e0;
    border-radius: 4px;
    width: 100%;
    padding: 15px 0;
    position: relative;
    z-index: 5;
}

/* 数量显示 */
.upgrade-modal-quantity {
    font-size: 16px;
    color: #333;
    padding-bottom: 12px;
    border-bottom: 1px dashed #e0e0e0;
    margin-bottom: 12px;
    width: 90%;
    margin-left: auto;
    margin-right: auto;
}

/* 价格信息 */
.upgrade-modal-price-total {
    color: #444;
    font-size: 16px;
    margin-bottom: 6px;
    font-weight: 500;
}

.upgrade-modal-price-each {
    font-size: 14px;
    color: #555;
    display: flex;
    justify-content: center;
}

.upgrade-modal-strike-price {
    text-decoration: line-through;
    color: #5D84B3;
    margin-left: 3px;
}

/* 中间箭头 */
.upgrade-modal-arrow-icon {
    color: #5D84B3;
    font-size: 24px;
    margin-top: 20px; /* 视觉微调以对齐盒子 */
}

/* 单选按钮模拟 */
.upgrade-modal-radio-wrapper {
    display: flex;
    justify-content: center;
    border: 1px solid #e9ecf0;
    border-radius: 0 0 16px 16px;
    border-top: none;
    transition: all .3s;
    width: 28px;
    z-index: 10;
    height: 15px;
    background-color: #fff;
    margin-top: -1px;
}

.upgrade-modal-radio-outer {
    width: 20px;
    height: 20px;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: -10px;
    background-color: #fff;
}

.upgrade-modal-radio-unchecked {
    border: 2px solid #ddd;
}
.upgrade-modal-radio-unchecked .upgrade-modal-radio-inner {
    width: 8px;
    height: 8px;
    background-color: #ddd;
    border-radius: 50%;
}

.upgrade-modal-radio-checked {
    border: 2px solid #5D84B3; /* Orange border */
}
.upgrade-modal-radio-checked .upgrade-modal-radio-inner {
    width: 8px;
    height: 8px;
    background-color: #5D84B3; /* Orange dot */
    border-radius: 50%;
}

/* 底部按钮区域 */
.upgrade-modal-action-buttons {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    padding: 0 20px;
}

.upgrade-modal-btn {
    flex: 1;
    padding: 12px 0;
    border-radius: 6px;
    font-size: 16px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s;
}

.upgrade-modal-btn-no {
    background-color: white;
    border: 1px solid #5D84B3;
    color: #333;
}
.upgrade-modal-btn-no:hover {
    background-color: #f0f8ff;
}

.upgrade-modal-btn-yes {
    background-color: #5D84B3; /* Burnt Orange */
    border: 1px solid #5D84B3;
    color: white;
}
.upgrade-modal-btn-yes:hover {
    background-color: #001F50;
}

/* 简单的 SVG 箭头图标样式 */
.upgrade-modal-icon-svg {
    width: 24px;
    height: 24px;
    fill: #5D84B3;
}

/* 客户评价 */
.comments {
    max-height: 600px;
    overflow: auto;
    scrollbar-width: none;
    -ms-overflow-style: none;
}
.user-details {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.stars {
    color: #ffc107;
    font-size: 16px;
    letter-spacing: 2px;
}

.comment-value {
    line-height: 1.6;
    padding: 5px 15px;
    background: #f9f9f9;
    border-radius: 12px;
    border-left: 4px solid #4285f4;
}

.comment-title {
    font-size: 18px;
    font-weight: 600;
}

.comment-desc {
    color: #546e7a;
    font-size: 16px;
}

.comment-images {
    display: flex;
    gap: 10px;
    cursor: pointer;
}

.comment-images > img {
    width: auto;
    height: 50px;
    object-fit: cover;
}

.rating:not(:checked) > input {
    position: absolute;
    appearance: none;
}

.rating:not(:checked) > label {
    float: right;
    cursor: pointer;
    font-size: 15px;
    fill: #666;
}

.rating:not(:checked) > label > svg {
    fill: #666; 
    transition: fill 0.3s ease;
}

.rating > input:checked + label:hover,
.rating > input:checked + label:hover ~ label,
.rating > input:checked ~ label:hover,
.rating > input:checked ~ label:hover ~ label,
.rating > label:hover ~ input:checked ~ label {
    fill: #e58e09;
}

.rating:not(:checked) > label:hover,
.rating:not(:checked) > label:hover ~ label {
    fill: #ff9e0b;
}

.rating > input:checked ~ label > svg {
    fill: #ffa723; 
}

.wrapper_icon {
    width: 150px;
    height: 30px;
    position: relative;
    z-index: 1;
    margin: 0 auto;
}

.circle {
    width: 20px;
    height: 20px;
    position: absolute;
    border-radius: 50%;
    background-color: #fff;
    left: 15%;
    transform-origin: 50%;
    animation: circle7124 .5s alternate infinite ease;
}

@keyframes circle7124 {
    0% {
        top: 40px;
        height: 5px;
        border-radius: 50px 50px 25px 25px;
        transform: scaleX(1.7);
    }

    40% {
        height: 20px;
        border-radius: 50%;
        transform: scaleX(1);
    }

    100% {
        top: 0%;
    }
}

.circle:nth-child(2) {
    left: 45%;
    animation-delay: .2s;
}

.circle:nth-child(3) {
    left: auto;
    right: 15%;
    animation-delay: .3s;
}

.shadow {
    width: 20px;
    height: 4px;
    border-radius: 50%;
    background-color: rgba(0,0,0,0.9);
    position: absolute;
    top: 40px;
    transform-origin: 50%;
    z-index: -1;
    left: 15%;
    filter: blur(1px);
    animation: shadow046 .5s alternate infinite ease;
}

@keyframes shadow046 {
    0% {
        transform: scaleX(1.5);
    }

    40% {
        transform: scaleX(1);
        opacity: .7;
    }

    100% {
        transform: scaleX(.2);
        opacity: .4;
    }
}

.shadow:nth-child(4) {
    left: 45%;
    animation-delay: .2s
}

.shadow:nth-child(5) {
    left: auto;
    right: 15%;
    animation-delay: .3s;
}


.step .step-content .step-content-item .step-content-item-qty {
    width: 60px;
    height: 28px;
    padding: 0 8px;
    margin-left: 10px;
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius-base);
    background-color: var(--input-bg-color, var(--fill-color-blank));
    font-size: 13px;
    text-align: center;
    outline: none;
    transition: border-color .2s, box-shadow .2s;
    -moz-appearance: textfield;
}

.step .step-content .step-content-item .step-content-item-qty::-webkit-outer-spin-button,
.step .step-content .step-content-item .step-content-item-qty::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.step .step-content .step-content-item .step-content-item-qty:focus {
    border-color: var(--color-primary);
    box-shadow: 0 0 0 1px var(--color-primary) inset;
}

.step .step-content .step-content-item .step-content-item-qty::placeholder {
    color: var(--color-gray);
    font-size: 12px;
}

.step .step-content .step-content-item:not(.is-checked) .step-content-item-qty {
    display: none;
}

/* 合并步骤样式 - merged step styles */
.merged-step {
    position: relative;
}

.merged-step .step-title .step-title-index {
    display: none;
}

.merged-step .merged-nav-wrapper {
    margin-bottom: 1em;
    overflow-x: auto;
}

.merged-step .merged-nav {
    display: flex;
    gap: 0.5em;
    padding-bottom: 0.5em;
    border-bottom: 2px solid var(--color-grayest);
}

.merged-step .merged-nav-item {
    padding: 0.6em 1.2em;
    cursor: pointer;
    border-radius: 0.5em 0.5em 0 0;
    background: var(--color-grayest);
    color: var(--color-gray);
    transition: all 0.3s ease;
    white-space: nowrap;
    position: relative;
}

.merged-step .merged-nav-item:hover {
    background: var(--color-bg-light);
    color: #fff;
}

.merged-step .merged-nav-item.active {
    background: var(--color-primary);
    color: #fff;
    font-weight: bold;
}

.merged-step .merged-nav-item.active::after {
    content: '';
    position: absolute;
    bottom: -2px;
    left: 0;
    right: 0;
    height: 2px;
    background: var(--color-primary);
}

.merged-step .merged-nav-text {
    font-size: 0.9em;
}

.merged-step .merged-content-wrapper {
    position: relative;
    min-height: 100px;
}

.merged-step .merged-content {
    display: none;
}

.merged-step .merged-content.active {
    display: block;
}

.merged-step .merged-content .step-content {
    margin-top: 0;
}

/* 隐藏原始步骤 */
.step.merged-hidden-step {
    display: none !important;
}

/* 合并步骤完成状态指示 */
.merged-step .merged-nav-item[data-is-done="true"]::before {
    content: '✓';
    position: absolute;
    top: 2px;
    right: 2px;
    font-size: 10px;
    color: var(--color-success);
}

.merged-step .merged-nav-item.active[data-is-done="true"]::before {
    color: #fff;
}

/* 合并步骤错误状态 */
.merged-step.error .merged-nav-item {
    border-color: var(--color-fail);
}

.merged-step.error .merged-nav-item.active {
    background: var(--color-fail);
}
