/* 商城样式 */
.store .finished,
.store .loading {
    font-size: .28rem;
    line-height: 1rem;
    text-align: center;
    color: #bbb;
}

.store .fa-spin {
    -webkit-animation: fa-spin 1s infinite linear;
    animation: fa-spin 1s infinite linear;
}

.store .empty {
    margin-top: 1rem;
    font-size: .28rem;
    text-align: center;
    color: #bbb;
}

.store .empty img {
    display: block;
    width: 4.14rem;
    height: 3.05rem;
    margin: 0 auto;
}

.store .banner {
    position: relative;
    padding-top: .3rem;
    padding-bottom: .3rem;
}

.store .banner .swiper-container {
    width: 7.1rem;
    height: 3.1rem;
    border-radius: .2rem;
}

.store .banner img {
    display: block;
    width: 100%;
    height: 100%;
    border-radius: .2rem;
    object-fit: cover;
}

.store .banner .swiper-pagination {
    bottom: .08rem;
    left: 0;
    width: 100%;
}

.store .banner .swiper-pagination-bullet {
    width: .1rem;
    height: .1rem;
    border-radius: .05rem;
    margin: 0 .05rem;
    background: #d6d6d6;
    opacity: 1;
}

.store .banner .swiper-pagination-bullet-active {
    width: .2rem;
    background: #2c8eff;
}

.store .tabs.fixed {
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    z-index: 2;
    background-color: #FFFFFF;
    box-shadow: 0 .06rem .2rem rgba(0, 0, 0, 0.03);
}

.store .tabs .swiper-slide {
    width: auto;
    height: .92rem;
    padding: 0 .25rem;
    font-weight: 500;
    font-size: .3rem;
    line-height: .92rem;
    color: #666666;
}

.store .tabs .swiper-slide.on {
    font-weight: bold;
    font-size: .32rem;
    color: #2C8EFF;
}

.store .tabs .swiper-slide.on::after {
    content: "";
    position: absolute;
    bottom: .2rem;
    left: 50%;
    width: .42rem;
    height: .04rem;
    border-radius: .02rem;
    background-color: #2c8eff;
    transform: translateX(-50%);
}

.store .list {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    padding: .3rem .2rem;
}

.store .list .item {
    width: 3.45rem;
    margin-bottom: .3rem;
}

.store .list .image {
    height: 3.45rem;
    border-radius: .1rem;
    overflow: hidden;
}

.store .list .image .img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: scale-down;
}

.store .list .text {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: 1.48rem;
    padding-top: .13rem;
}

.store .list .title {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    font-size: .28rem;
    line-height: .4rem;
    color: #343434;
}

.store .list .group {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.store .list .price {
    font-size: .24rem;
    color: #FF6B00;
}

.store .list .price .num {
    font-size: .32rem;
}

.store .list .sale {
    font-size: .22rem;
    color: #aaa;
}


/* 商品详情页 */
.goods-detail .swiper-container {
    position: relative;
}

.goods-detail .swiper-container img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.goods-detail .swiper-pagination {
    bottom: .1rem;
}

.goods-detail .first .detail {
    padding: .2rem .3rem .38rem;
    background: #fff;
}

.goods-detail .first .price {
    display: flex;
    align-items: baseline;
    margin-bottom: .2rem;
}

.goods-detail .first .now {
    font-weight: bold;
    font-size: .24rem;
    line-height: .56rem;
    color: #FF6B00;
}

.goods-detail .first .now span {
    font-size: .48rem;
}

.goods-detail .first .vip {
    margin-left: .2rem;
    padding: 0 .1rem;
    font-size: .24rem;
    line-height: .4rem;
    color: #fff;
    background: linear-gradient(90deg, #D4A574 0%, #C89860 100%);
    border-radius: .04rem;
}

.goods-detail .first .title {
    font-size: .3rem;
    line-height: .42rem;
    color: #282828;
    margin-bottom: .2rem;
}

.goods-detail .first .other {
    display: flex;
    justify-content: space-between;
    font-size: .24rem;
    color: #999;
}

.goods-detail .first .other del {
    color: #999;
}

.goods-detail .second {
    margin-top: .2rem;
    background: #fff;
}

.goods-detail .second .tab {
    display: flex;
    height: .88rem;
    border-bottom: 1px solid #f5f5f5;
}

.goods-detail .second .tab > div {
    flex: 1;
    text-align: center;
    line-height: .88rem;
    font-size: .28rem;
    color: #282828;
    position: relative;
}

.goods-detail .second .tab > div.on {
    color: #2C8EFF;
    font-weight: bold;
}

.goods-detail .second .tab > div.on::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: .6rem;
    height: .04rem;
    background: #2C8EFF;
    border-radius: .02rem;
}

.goods-detail .second .content {
    padding: .3rem;
}

.goods-detail .second .detail {
    font-size: .28rem;
    line-height: 1.6;
    color: #666;
}

.goods-detail .second .detail img {
    max-width: 100%;
    height: auto;
}

.goods-detail .third {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    display: flex;
    height: 1rem;
    background: #fff;
    box-shadow: 0 -2px 10px rgba(0,0,0,0.1);
    z-index: 999;
}

/* 底部安全区域适配 */
.goods-detail .third::after {
    content: '';
    position: absolute;
    bottom: -100px;
    left: 0;
    right: 0;
    height: 100px;
    background: #fff;
    z-index: -1;
}

.goods-detail .third .group {
    display: flex;
    align-items: center;
}

.goods-detail .third .group button {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background: none;
    border: none;
    font-size: .2rem;
    color: #666;
    padding: 0 .25rem;
    height: 1rem;
    min-width: 1rem;
}

.goods-detail .third .group img {
    width: .44rem;
    height: .44rem;
    margin-bottom: .05rem;
}

.goods-detail .third > button {
    flex: 1;
    background: linear-gradient(90deg, #FF6B00 0%, #FF8C00 100%);
    border: none;
    color: #fff;
    font-size: .32rem;
    font-weight: bold;
    height: 1rem;
    border-radius: 0;
}

.goods-detail .share {
    position: fixed;
    right: .3rem;
    bottom: 2rem;
    width: .88rem;
    height: .88rem;
    background: #2C8EFF;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 12px rgba(44, 142, 255, 0.4);
}

.goods-detail .share .iconfont {
    font-size: .4rem;
    color: #fff;
}

.evaluate-section .head {
    padding: .3rem;
    background: #fff;
}

.evaluate-section .score {
    display: flex;
    justify-content: space-between;
    margin-bottom: .3rem;
    font-size: .28rem;
}

.evaluate-section .score .iconfont {
    color: #ddd;
    margin: 0 .05rem;
}

.evaluate-section .score .iconfont.on {
    color: #FFB400;
}

.evaluate-section .cate {
    display: flex;
    justify-content: space-around;
}

.evaluate-section .cate > div {
    padding: .1rem .3rem;
    font-size: .26rem;
    color: #666;
    border-radius: .04rem;
}

.evaluate-section .cate > div.on {
    color: #2C8EFF;
    background: #E8F4FF;
}

.special {
    padding: .3rem;
}

.special > a {
    display: flex;
    margin-bottom: .3rem;
    background: #fff;
    border-radius: .1rem;
    overflow: hidden;
}

.special .image {
    position: relative;
    width: 2.4rem;
    height: 1.8rem;
    flex-shrink: 0;
}

.special .image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.special .image > div {
    position: absolute;
    top: .1rem;
    left: .1rem;
    padding: 0 .1rem;
    font-size: .2rem;
    color: #fff;
    background: rgba(0,0,0,0.5);
    border-radius: .04rem;
}

.special .text {
    flex: 1;
    padding: .2rem;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.special .title {
    font-size: .28rem;
    line-height: 1.4;
    color: #333;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
}

.special .label {
    display: flex;
    flex-wrap: wrap;
    gap: .1rem;
}

.special .label > div {
    padding: 0 .1rem;
    font-size: .2rem;
    color: #999;
    border: 1px solid #eee;
    border-radius: .04rem;
}

.special .price {
    font-size: .24rem;
    color: #FF6B00;
    font-weight: bold;
}

.special .price span {
    font-size: .32rem;
}
