.shop-home-body {
    max-width: none;
    margin: 0;
    background: #fff;
    color: #333;
    font-family: "VIVO-FONT-WEB", "VIVO-FONT-NAV", "PingFang SC", sans-serif;
    overflow-x: hidden;
}
html { overflow-x: hidden; }
.shop-home-body .home { min-height: 100vh; background: #fff; overflow-x: hidden; }
#gw_header {
    position: fixed;
    inset: 0 0 auto 0;
    z-index: 80;
    width: 100%;
    height: 1.2rem;
}
#gw_bg { height: 1.2rem; }
.vp-head-wrap-wap { position: relative; height: 1.2rem; }
.vp-head-download {
    position: relative;
    height: 0.6rem;
    background: #ededed;
}
.vp-head-download-click,
.vp-head-download-img {
    position: absolute;
    inset: 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.vp-head-img-floating { width: 2.35rem; height: 0.6rem; margin-left: 0.2rem; object-fit: contain; }
.vp-head-img-button { width: 0.65rem; height: 0.25rem; margin-right: 0.2rem; object-fit: contain; }
.vp-head-download-close {
    position: absolute;
    left: 0;
    top: 0;
    width: 0.24rem;
    height: 0.24rem;
    background: transparent;
}
.vp-head-download-close::before { content: "×"; color: #fff; font-size: 0.2rem; line-height: 0.24rem; }
.vp-head-common {
    position: relative;
    height: 0.6rem;
    background: #fff;
}
.vp-head-left-feature,
.vp-head-btns-search,
.vp-head-btns-member {
    position: absolute;
    top: 0.18rem;
    width: 0.24rem;
    height: 0.24rem;
    color: #111827;
    background: transparent;
}
.vp-head-left-feature { left: 0.2rem; }
.vp-head-btns-search { right: 0.64rem; }
.vp-head-btns-member { right: 0.2rem; }
.vp-head-left-feature::before,
.vp-head-btns-search::before,
.vp-head-btns-member::before,
.vp-head-logo a::before {
    font-family: "Header-icon-wap";
    font-size: 0.24rem;
    line-height: 0.24rem;
}
.vp-head-left-feature::before { content: "\e90a"; }
.vp-head-btns-search::before { content: "\e90b"; }
.vp-head-btns-member::before { content: "\e903"; }
.vp-head-logo {
    position: absolute;
    left: 50%;
    top: 0;
    width: 0.7rem;
    height: 0.6rem;
    transform: translateX(-50%);
}
.vp-head-logo a { display: block; height: 0.6rem; overflow: hidden; font-size: 0; line-height: 0.6rem; }
.vp-head-logo a::before {
    content: "vivo";
    display: block;
    font-family: "VIVO-FONT-NAV-BOLD", "VIVO-FONT-NAV", sans-serif;
    font-size: 0.31rem;
    font-weight: 600;
    letter-spacing: 0.02rem;
    line-height: 0.6rem;
    text-align: center;
}
.banner {
    position: relative;
    height: 2.57rem;
    overflow: hidden;
    background: #fff;
}
.guarantees {
    position: absolute;
    inset: 0 0 auto 0;
    z-index: 2;
    height: 0.29rem;
    display: flex;
    justify-content: space-between;
    padding: 0 0.23rem;
    background: rgba(0, 0, 0, 0.2);
}
.guarantees div { display: flex; align-items: center; color: #fff; font-size: 0.11rem; line-height: 0.29rem; }
.guarantees div::before { content: "保"; width: 0.16rem; height: 0.16rem; margin-right: 0.03rem; border: 1px solid rgba(255,255,255,.8); border-radius: 50%; font-size: 0.1rem; line-height: 0.15rem; text-align: center; }
.guarantees .item1::before { content: "正"; }
.guarantees .item2::before { content: "物"; }
.guarantees .item4::before { content: "♡"; }
.banner .swiper-wrapper,
.banner .swiper-slide,
.banner-content,
.structure-module,
.sm-wrapper { height: 100%; }
.j_bgImage { width: 100%; height: 100%; object-fit: cover; }
.banner-link { position: absolute; inset: 0; z-index: 1; }
.banner .swiper-pagination { bottom: 0.17rem; justify-content: flex-end; padding-right: 0.24rem; }
.banner .swiper-pagination-bullet { width: 0.06rem; height: 0.06rem; border-radius: 50%; background: rgba(255,255,255,.5); }
.banner .swiper-pagination-bullet-active { background: #fff; }
.nav__box {
    height: 1.53rem;
    display: flex;
    flex-wrap: wrap;
    padding: 0.065rem 0;
    background: #fff;
}
.nav__item { width: 25%; height: 0.7rem; }
.nav__item a { display: grid; place-items: center; height: 100%; }
.nav__img { width: 0.5rem; height: 0.56rem; object-fit: contain; }
.vbuy-wrap { height: 2.41rem; margin-top: 0.11rem; overflow: hidden; background: #fff; }
.vbuy-tit { height: 0.52rem; display: flex; align-items: center; padding-left: 0.18rem; }
.vbuy-logo { margin-right: 0.08rem; color: #111; font-size: 0.22rem; font-weight: 700; font-style: italic; }
.tit-txt { margin-right: 0.06rem; color: #111; font-size: 0.12rem; }
.v-count-down { display: inline-flex; gap: 0.03rem; color: #fff; font-size: 0.11rem; }
.tbg { min-width: 0.18rem; height: 0.18rem; padding: 0 0.03rem; background: #f81200; line-height: 0.18rem; text-align: center; }
.risk { color: #f81200; font-style: normal; line-height: 0.18rem; }
.vbuy-tit .more { margin-left: auto; padding-right: 0.18rem; color: #666; font-size: 0.12rem; }
.vbuy-list { display: flex; gap: 0.07rem; overflow-x: auto; padding: 0 0.13rem 0.16rem; }
.vbuy-list { scrollbar-width: none; }
.vbuy-list::-webkit-scrollbar { display: none; }
.vbuy-item { flex: 0 0 0.96rem; color: #333; font-size: 0.12rem; }
.vbuy-item img { width: 0.88rem; height: 0.88rem; margin: 0 auto 0.08rem; object-fit: contain; }
.vbuy-name { height: 0.32rem; overflow: hidden; line-height: 0.16rem; }
.vbuy-price { margin-top: 0.06rem; color: #f81200; font-size: 0.15rem; line-height: 0.2rem; white-space: nowrap; }
.vbuy-price del { margin-left: 0.03rem; color: #aaa; font-size: 0.12rem; }
.floor__title { height: 0.6rem; color: #333; font-size: 0.18rem; font-weight: 400; line-height: 0.6rem; text-align: center; }
.floor__title::before,
.floor__title::after { content: ""; display: inline-block; width: 0.2rem; height: 1px; margin: 0 0.08rem; background: #c7c7c7; vertical-align: middle; }
.floor__item-list { width: 100%; display: flex; flex-wrap: wrap; overflow: hidden; }
.floor__item { position: relative; width: 50%; min-height: 2.77rem; border-right: 1px solid #eee; border-bottom: 1px solid #eee; background: #fff; }
.floor__item.full { width: 100%; min-height: 1.57rem; }
.floor__item a { display: block; height: 100%; color: #333; text-align: center; }
.floor__item img { width: 1.25rem; height: 1.25rem; margin: 0.25rem auto 0.18rem; object-fit: contain; }
.floor__item.full img { position: absolute; left: 0.24rem; top: 0.16rem; width: 1.25rem; height: 1.25rem; margin: 0; }
.floor__item.floor-hero { min-height: 1.57rem; }
.floor__item.floor-hero img { position: static; width: 100%; height: 1.57rem; margin: 0; object-fit: cover; }
.floor__item.full .content { padding: 0.38rem 0.27rem 0 1.87rem; text-align: left; }
.floor__item.floor-hero .content { display: none; }
.floor__item__title { height: 0.2rem; overflow: hidden; font-size: 0.155rem; font-weight: 400; line-height: 0.2rem; }
.floor__item__selling-point { height: 0.16rem; margin-top: 0.03rem; overflow: hidden; color: #000; font-size: 0.112rem; line-height: 0.16rem; }
.floor__item__price { margin-top: 0.28rem; color: #f81200; font-size: 0.155rem; line-height: 0.2rem; }
.floor__item__price dfn { font-style: normal; font-size: 0.11rem; }
.floor-more { display: block; padding: 0.15rem 0 0.25rem; color: #666; font-size: 0.12rem; text-align: center; }
.rp .floor__item-list { padding: 0.15rem 0.1rem 0.3rem; gap: 0.16rem 0; }
.rp .floor__item { width: 25%; min-height: 0.28rem; border: 0; }
.rp .floor__item a { display: flex; justify-content: center; }
.rp button { width: 0.89rem; height: 0.28rem; border: 1px solid #e8e8e8; border-radius: 0.14rem; background: #fff; color: #333; font-size: 0.12rem; }
.rp .floor__item:first-child button { color: #fff; background: #f10313; border-color: #f10313; }
.newbie-bar { position: fixed; left: 0; bottom: 0.94rem; z-index: 70; width: 1.07rem; height: 1.07rem; padding: 0.12rem; }
.newbie-bar img { width: 0.82rem; height: 0.82rem; object-fit: contain; }
.newbie-bar .close { position: absolute; right: 0.1rem; top: 0.1rem; width: 0.18rem; height: 0.18rem; background: transparent; }
.newbie-bar.hide { display: none; }
.nav-sheet { z-index: 120; }
@media (min-width: 481px) { .shop-home-body > * { max-width: 480px; margin-left: auto; margin-right: auto; } }
