/* ============================================================
 * HtmlPage2.css — HtmlPage2.html 独立样式
 * ============================================================ */

html, body {
            overflow: visible;
        }
html {
            height: 100%;
        }
html, body {
            background: #f5f5f5 !important;
        }
/* 避免 splash overlay 首帧默认变黑 */
        #splash-overlay {
            background: #f5f5f5 !important;
        }
body {
            font-family: Arial, sans-serif;
            display: flex;
            flex-direction: row;
            margin: 0;
            justify-content: center;
            height: 100%;
            /* 底部栏（#bottom-nav / #home-filing-bar）为 fixed 定位，
               推荐模块 .home-recommend-section 内部已预留 2.09rem 底部间距，
               这里不再给 body 加 padding-bottom，避免底部栏隐藏后残留灰色空白框 */
            padding-bottom: 0;
            box-sizing: border-box;
        }
/* APP 内嵌 WebView（无底部导航）：清除 body 为底部栏预留的间距（保留空规则以兼容旧类名） */
        html.no-bottom-nav body,
        body.no-bottom-nav {
            padding-bottom: 0;
        }
#home-scroll-viewport {
            flex: 1;
            min-height: 0;
            width: 100%;
            max-width: 100%;
            overflow-y: auto;
            -ms-overflow-style: none;
            scrollbar-width: none;
            /* iOS：整页纵向容器用 auto（对齐 Cart/Order/PaidOrder），
               避免与内层横向列表（touch）的手势冲突吞掉垂直滑动 → 纵向阻尼大 */
            -webkit-overflow-scrolling: auto;
        }
#home-scroll-viewport::-webkit-scrollbar {
            display: none;
            width: 0;
            height: 0;
        }
@media (min-width: 1070px) {
            #home-scroll-viewport {
                max-width: 96vw;
            }
        }
#product-scroll {
            -ms-overflow-style: none;
            scrollbar-width: none;
        }
#product-scroll::-webkit-scrollbar {
            width: 0;
            height: 0;
            display: none;
        }
/* 禁止移动端文字自动放大，保持与订单页一致 */
        html, body, #bottom-nav, #bottomShippingWrap {
            -webkit-text-size-adjust: 100%;
            text-size-adjust: 100%;
        }
/* 页面主容器：移动端单列铺满屏幕，PC 端铺满屏幕（95vw） */
        #home-header, #top-banner-wrap {
            max-width: 100%;
        }
/* hot-sales 包裹：宽度与店铺新品保持一致 */
        .hot-sales-wrap {
            width: 100%;
        }
@media (min-width: 1070px) {
            #home-header, #top-banner-wrap {
                max-width: 96vw;
            }
            /* PC 端热销/推荐区与上方 banner 左右对齐 */
            #home-hot-blocks,
            #home-products-section,
            .home-recommend-section {
                display: flex;
                flex-direction: column;
            }
            /* PC 宽屏：热销卡片不足一行时整组左右居中；卡片多到溢出时仍可正常横向滚动 */
            #hot-sales-scroll > .home-hot-card:first-child { margin-left: auto; }
            #hot-sales-scroll > .home-hot-card:last-child { margin-right: auto; }
            #week-sales-scroll > .home-hot-card:first-child { margin-left: auto; }
            #week-sales-scroll > .home-hot-card:last-child { margin-right: auto; }
            /* PC 宽屏：隐藏底部 5Tab 导航栏，改在顶部栏右侧显示纯文字导航 */
            #bottom-nav { display: none !important; }
            /* 隐藏底部栏后清除 body 为底部栏预留的 1.30rem 间距，避免底部残留空白 */
            body { padding-bottom: 0 !important; }
            /* 宽屏：顶栏换行，导航独占上方一行（纯文字右对齐），搜索/分类/签到在下行 */
            #home-header { flex-wrap: wrap; padding-bottom: 0.3rem !important; }
            /* 顶栏变高后为下方内容预留足够空间，避免被固定顶栏遮挡 */
            #top-banner-wrap { padding-top: calc(2.91rem + 1.26rem) !important; }
            #home-top-nav {
                display: flex !important;
                order: -1;
                flex-basis: 100%;
                align-items: center;
                justify-content: flex-end;
                gap: 0.3rem;
                margin-left: 0 !important;
                flex-shrink: 0;
                padding-top: 0.08rem;
                padding-bottom: 0.08rem;
                font-size: 0.38rem;
                overflow: hidden;
                transition: height 0.26s ease, padding 0.26s ease, opacity 0.2s ease;
            }
            #home-top-nav a {
                display: flex;
                align-items: center;
                font-size: 0.38rem;
                font-weight: 400;
                color: #333;
                text-decoration: none;
                white-space: nowrap;
                line-height: normal;
            }
            #home-top-nav .home-top-nav-brand {
                display: inline-flex;
                align-items: baseline;
                margin-right: auto;
                font-size: 0.38rem;
                font-weight: 400;
                color: #333;
                line-height: normal;
                white-space: nowrap;
            }
            #home-top-nav .home-top-nav-login {
                display: inline;
                margin-left: 0.24rem;
                font-size: 0.38rem;
                font-weight: 400;
                color: #333;
                text-decoration: none;
                line-height: normal;
                white-space: nowrap;
            }
            #home-top-nav .home-top-nav-login:hover { color: #1976d2; }
            #home-top-nav .home-top-nav-login .home-top-nav-name {
                color: #bbb;
            }
            #home-top-nav .home-top-nav-login .home-top-nav-logout {
                margin-left: 0.12rem;
                cursor: pointer;
                color: #bbb;
            }
            #home-top-nav a svg { display: none; }
            #home-top-nav a:hover { color: #1976d2; }
            /* 顶栏收起时，顶部文字导航一并收起 */
            #home-header.home-pills-collapsed #home-top-nav {
                height: 0;
                padding-top: 0;
                padding-bottom: 0;
                opacity: 0;
                pointer-events: none;
            }
            /* 搜索框换行到第二行并占满剩余宽度：给一个正的 flex-basis 触发 flex-wrap 换行，
               覆盖 inline flex:1(=flex-basis 0%) 导致的「不换行、被压成 0 宽」问题 */
            #home-search-wrap {
                flex: 1 1 50% !important;
            }
        }
#sidebar-toggle-btn-wrap .sidebar-category-btn {
            background: #f5f5f5;
            color: #1976d2;
            font-weight: 500;
            font-size: 0.29rem;
            border: none;
            outline: none;
            box-shadow: none;
            margin-bottom: 0;
        }
#sidebar-toggle-btn-wrap .sidebar-category-btn::after {
            display: none;
        }
/* 全部商品下方的短分隔线（已移除） */
        #sidebar-toggle-btn-wrap::after {
            display: none;
        }
/* 左侧分组：按钮通用样式 */
        .sidebar-category-btn {
            position: relative;
            width: 1.54rem;
            display: block;
            margin: 0 auto 0.42rem auto;
            padding: 0.21rem 0;
            font-size: 0.27rem;
            font-weight: 400;
            color: #5c5c5c;
            background: #f5f5f5;
            border: 0.05rem solid #f5f5f5;
            border-radius: 26.11rem;
            cursor: pointer;
            text-align: center;
            transition: background 0.2s, color 0.2s;
            outline: none;
            box-shadow: none;
            -webkit-tap-highlight-color: transparent;
        }
.sidebar-category-btn.active {
                background: #f5f5f5;
                color: #1976d2;
                font-weight: 500;
            }
.sidebar-category-btn.active::after {
                content: '';
                position: absolute;
                left: 50%;
                top: 100%;
                margin-top: 0;
                width: 0.13rem;
                height: 0.13rem;
                border-radius: 50%;
                background: #2196f3;
                transform: translateX(-50%);
                opacity: 0.5;
            }
.sidebar-category-btn.active:hover,
            .sidebar-category-btn.active:focus,
            .sidebar-category-btn.active:focus-visible,
            .sidebar-category-btn.active:active {
                background: #f5f5f5;
                color: #1976d2;
                font-weight: 500;
                outline: none;
                box-shadow: none;
            }
.sidebar-category-btn:not(.active):hover {
                background: #f5f5f5;
            }
.sidebar-category-btn:focus,
            .sidebar-category-btn:focus-visible,
            .sidebar-category-btn:active {
                outline: none;
                box-shadow: none;
                background: #f5f5f5;
            }
.sidebar-category-btn.sidebar-spacer-btn {
                visibility: hidden;
                pointer-events: none;
                user-select: none;
            }
#sidebar-toggle-btn-wrap .sidebar-category-btn.active {
            background: #f5f5f5;
            color: #666;
            font-weight: 600;
            border: none;
            outline: none;
            box-shadow: none;
        }
#sidebar-toggle-btn-wrap .sidebar-category-btn:focus,
        #sidebar-toggle-btn-wrap .sidebar-category-btn:focus-visible,
        #sidebar-toggle-btn-wrap .sidebar-category-btn:active,
        #sidebar-toggle-btn-wrap .sidebar-category-btn:hover {
            background: #f5f5f5;
            color: #1976d2;
            font-weight: 500;
            border: none;
            outline: none;
            box-shadow: none;
        }
#sidebar-toggle-btn-wrap .sidebar-category-btn.sidebar-toggle-overlay-active,
        #sidebar-toggle-btn-wrap .sidebar-category-btn.sidebar-toggle-overlay-active.active,
        #sidebar-toggle-btn-wrap .sidebar-category-btn.sidebar-toggle-overlay-active:focus,
        #sidebar-toggle-btn-wrap .sidebar-category-btn.sidebar-toggle-overlay-active:focus-visible,
        #sidebar-toggle-btn-wrap .sidebar-category-btn.sidebar-toggle-overlay-active:active,
        #sidebar-toggle-btn-wrap .sidebar-category-btn.sidebar-toggle-overlay-active:hover {
            background: #f5f5f5 !important;
            color: #1976d2 !important;
            font-weight: 500 !important;
        }
/* ===== 首页热销/推荐区域 ===== */
        #home-products-section {
            padding: 0 0.31rem 0 0.31rem;
            background: #f5f5f5;
        }
/* 今日热销 / 本周热销（独立卡片区块，常驻页面上方） */
        #home-hot-blocks {
            padding: 0 0.31rem;
            background: #f5f5f5;
        }
.home-hot-block + .home-hot-block { margin-top: 0.26rem; }
/* 最近热销：已移出 #home-hot-blocks，独立放在「推荐」模块上方，补回左右内边距与背景 */
#homeWeekBlock {
            margin-top: 0.26rem;
            padding: 0 0.31rem;
            background: #f5f5f5;
        }
.home-hot-block-title {
            display: flex;
            align-items: center;
            font-size: 0.37rem;
            font-weight: 400;
            color: #333;
            padding: 0.18rem 0 0.26rem 0;
            text-align: left;
        }
.home-hot-block-title::before {
            content: '';
            width: 0.1rem;
            height: 0.34rem;
            border-radius: 0.05rem;
            background: rgb(33, 150, 243);
            margin-right: 0.18rem;
            flex-shrink: 0;
        }
/* ===== 首页应用横滑条（更多应用）===== */
.home-apps-strip {
            display: none !important;
            padding: 0.32rem 0 0.24rem 0;
            overflow: hidden;
        }
.home-apps-scroll {
            display: flex;
            overflow-x: auto;
            overflow-y: hidden;
            -webkit-overflow-scrolling: touch;
            scrollbar-width: none;
            padding: 0 0.08rem 0 0;
        }
.home-apps-scroll::-webkit-scrollbar { display: none; }
.home-app-item {
            flex: 0 0 auto;
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: flex-start;
            width: 1.42rem;
            margin: 0 0.12rem;
            padding: 0.04rem 0 0.1rem 0;
            cursor: pointer;
            -webkit-tap-highlight-color: transparent;
        }
.home-app-item:first-child {
            margin-left: 0;
        }
.home-app-icon {
            width: 0.89rem;
            height: 0.89rem;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            margin-bottom: 0.12rem;
            color: #333;
        }
.home-app-icon svg {
            width: 0.57rem;
            height: 0.57rem;
            display: block;
        }
/* 点缀色：图标线条用柔和马卡龙色 + 淡彩圆底点缀 */
.home-app-icon.home-app-color-timer { color: #ED9A5C; background: #FFF1E4; }
.home-app-icon.home-app-color-feeding { color: #6CAFA6; background: #E4F3F1; }
.home-app-icon.home-app-color-forbidden-foods { color: #6CA8E8; background: #E7F2FB; }
.home-app-icon.home-app-color-account { color: #9579C6; background: #EFEAF7; }
.home-app-icon.home-app-color-personality { color: #E084A5; background: #FCEAF1; }
.home-app-icon.home-app-color-age { color: #5CBBEB; background: #E6F5FC; }
.home-app-icon.home-app-color-naming { color: #84BE88; background: #EBF5EB; }
.home-app-label {
            font-size: 0.29rem;
            font-weight: 400;
            color: #666;
            line-height: 1.2;
            text-align: center;
            white-space: nowrap;
        }
/* ===== 顶部横幅区：海报 + 右侧入口列（移动端海报全宽，入口列隐藏） ===== */
#banner-row {
            display: block;
        }
#pc-entry-col {
            display: none;
        }
/* ===== 首页四入口：养宠手册 / 本店购买榜 / 活动 / 邀请注册 ===== */
.home-entry-grid {
            display: grid;
            grid-template-columns: 1.1fr 1fr 1fr;
            grid-template-rows: 1.8rem 1.8rem;
            gap: 0.2rem;
            padding: 0.26rem 0 0.26rem 0;
        }
.home-entry-card {
            display: flex;
            align-items: center;
            justify-content: center;
            border-radius: 0.34rem;
            cursor: pointer;
            overflow: hidden;
            -webkit-tap-highlight-color: transparent;
        }
.home-entry-icon {
            width: 0.5rem;
            height: 0.5rem;
            margin-right: 0.12rem;
            padding: 0.14rem;
            box-sizing: content-box;
            border-radius: 50%;
            flex-shrink: 0;
        }
.home-entry-label {
            font-size: 0.3rem;
            font-weight: 400;
            color: #555555;
            line-height: 1.2;
            text-align: center;
        }
.home-entry-handbook .home-entry-icon { color: #4A8EF2; background: #E3F0FD; }
.home-entry-rank .home-entry-icon { color: #F59E0B; background: #FFF4E0; }
.home-entry-activity .home-entry-icon { color: #34C77B; background: #E8F9F0; }
.home-entry-invite .home-entry-icon { color: #A78BFA; background: #F3EFFF; }
#homeEntryActivity { position: relative; }
.entry-swap-track { position: absolute; left: 0; top: 0; display: flex; width: 300%; height: 100%; transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1); will-change: transform; }
.entry-swap { flex: 0 0 33.3333%; width: 33.3333%; height: 100%; display: flex; align-items: center; justify-content: center; }
.entry-swap-game .home-entry-icon { color: #F56C6C; background: #FDE8E8; }
.home-entry-handbook {
            grid-column: 1 / 2;
            grid-row: 1 / 3;
            background: #fff;
        }
.home-entry-rank {
            grid-column: 2 / 4;
            grid-row: 1 / 2;
            background: #fff;
        }
.home-entry-activity {
            grid-column: 3 / 4;
            grid-row: 2 / 3;
            background: #fff;
        }
.home-entry-invite {
            grid-column: 2 / 3;
            grid-row: 2 / 3;
            background: #fff;
        }
/* ===== 首页横滑行：入口宫格 + 团购卡 并排左右滑动（移动端） ===== */
.home-entry-row {
            display: flex;
            align-items: stretch;
            gap: 0.2rem;
            overflow-x: auto;
            overflow-y: hidden;
            scroll-snap-type: x mandatory;
            -webkit-overflow-scrolling: touch;
            scrollbar-width: none;
            padding: 0.26rem 0;
        }
.home-entry-row::-webkit-scrollbar { display: none; }
.home-entry-row > .home-entry-grid {
            flex: 0 0 85%;
            width: 85%;
            height: 4.2rem;
            grid-template-rows: 1fr 1fr;
            gap: 0.18rem;
            padding: 0;
            scroll-snap-align: start;
            scroll-snap-stop: always;
        }
.home-entry-row > .home-groupon-card {
            flex: 0 0 84%;
            width: 84%;
            height: 4.2rem;
            margin: 0;
            scroll-snap-align: start;
            scroll-snap-stop: always;
        }
.home-entry-row > .home-groupon-card.home-groupon-card-active {
            padding: 0.42rem 0.4rem 0.24rem;
        }
.home-entry-row > .home-groupon-card.home-groupon-card-empty {
            padding: 0.5rem 0.3rem;
        }
/* ===== PC 端（≥1070px）：海报等比缩小 + 右侧竖排入口列（养宠手册/购买榜/活动/邀请注册） ===== */
@media (min-width: 1070px) {
            #banner-row {
                display: flex;
                align-items: stretch;
                gap: 0.5rem;
                height: 8.3rem;
                padding: 0 0.31rem;
            }
            /* 三列顺序：pc-right(左) → top-banner(中) → home-apps-strip(右) */
            #banner-row #pc-right { order: 1; }
            #banner-row #top-banner { order: 2; }
            #banner-row .home-apps-strip { order: 3; }
            #banner-row #top-banner {
                flex: 1 1 16rem;
                width: auto !important;
                margin: 0 -0.1rem 0 0.1rem !important;
                min-width: 6rem;
            }
            /* 右侧容器：固定宽度，海报框自适应剩余宽度 */
            #pc-right {
                display: flex;
                flex: 0 0 auto;
                width: 8.0rem;
                flex-direction: column;
                gap: 0.2rem;
            }
            /* 右侧入口列：养宠手册/购买榜各占一行，活动+邀请注册一行各半宽，卡片间留上下间距 */
            #pc-entry-col {
                display: flex;
                flex: 1 1 0;
                flex-direction: column;
                gap: 0.2rem;
            }
            #pc-entry-col .home-entry-card {
                flex: 1 1 0;
                background: #fff;
                border-radius: 0.34rem;
            }
            #pc-entry-bottom-row {
                flex: 1 1 0;
                display: flex;
                gap: 0.2rem;
            }
            #pc-entry-bottom-row .home-entry-card {
                flex: 1 1 0;
                background: #fff;
                border-radius: 0.34rem;
            }
            /* 团购卡片：由 JS 移到右侧容器底部，去掉自身外边距 */
            #pc-right .home-groupon-card {
                margin: 0;
                flex: 0 0 auto;
            }
            /* 移动端四入口 grid 在 PC 端隐藏（已由右侧入口列替代） */
            .home-entry-grid {
                display: none;
            }
            /* 移动端横滑行（入口宫格 + 团购卡）在 PC 端隐藏 */
            .home-entry-row {
                display: none;
            }
            /* 更多应用：由 JS 移到海报框左边，做成一张白底卡片，内部 7 项竖排高度平均分布 */
            /* 优先自适应：增长到上限；到最小值后冻结，视频框才收缩 */
            #banner-row .home-apps-strip {
                flex: 100 0 2.8rem;
                width: auto;
                min-width: 2.8rem;
                max-width: 8.5rem;
                padding: 0 0.2rem;
                overflow: visible;
                display: flex;
                flex-direction: column;
                gap: 0.18rem;
            }
            /* 卡片左上角标题“应用” */
            #banner-row .home-apps-strip::before {
                content: none;
            }
            #banner-row .home-apps-scroll {
                flex: 1 1 0;
                flex-direction: column;
                overflow: visible;
                padding: 0;
                gap: 0.18rem;
            }
            #banner-row .home-app-item {
                flex: 1 1 0;
                flex-direction: row;
                align-items: center;
                justify-content: flex-start;
                width: auto;
                margin: 0;
                padding: 0.06rem 0.2rem;
                background: #fff;
                border-radius: 0.28rem;
                gap: 0.16rem;
            }
            #banner-row .home-app-icon {
                width: 0.56rem;
                height: 0.56rem;
                margin-bottom: 0;
                flex: 0 0 auto;
            }
            #banner-row .home-app-icon svg {
                width: 0.36rem;
                height: 0.36rem;
            }
            #banner-row .home-app-label {
                font-size: 0.29rem;
                white-space: nowrap;
            }
        }
/* ===== 超宽屏（≥1600px）：应用卡片自适应拉宽，视频不无限拉宽、保持接近 16:9 ===== */
@media (min-width: 1600px) {
            #banner-row {
                height: 9rem;
            }
            #banner-row #top-banner {
                flex: 1 1 16rem;
            }
            #pc-right {
                width: 8.9rem;
            }
        }
/* ===== PC 宽屏（≥1070px）：养宠手册独占上一行，本店购买榜/活动/邀请注册 横排下一行 ===== */
@media (min-width: 1070px) {
            #pc-entry-col {
                flex-direction: row;
                flex-wrap: wrap;
                min-height: 1.7rem;
            }
            /* 养宠手册：独占第一行 */
            #pc-entry-col > .home-entry-handbook {
                flex: 1 1 100%;
                min-width: 0;
            }
            /* 本店购买榜：第二行占 1/3 */
            #pc-entry-col > .home-entry-rank {
                flex: 1 1 0;
                min-width: 0;
            }
            /* 活动+邀请注册：第二行占 2/3 */
            #pc-entry-bottom-row {
                flex: 2 1 0;
                display: flex;
            }
            #pc-entry-bottom-row .home-entry-card {
                flex: 1 1 0;
                min-width: 0;
            }
            /* 横排时图标与文字上下堆叠，避免窄卡片内拥挤 */
            #pc-entry-col .home-entry-card {
                flex-direction: column;
                gap: 0.08rem;
            }
            #pc-entry-col .home-entry-icon {
                margin-right: 0;
                width: 0.44rem;
                height: 0.44rem;
                padding: 0.1rem;
            }
            #pc-entry-col .home-entry-label {
                font-size: 0.26rem;
                white-space: nowrap;
            }
        }
/* ===== 团购活动卡片（四入口上方，动态展示进行中的团购） ===== */
.home-groupon-card {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 0.2rem;
            margin: 0.26rem 0 0 0;
            padding: 0.6rem 0.3rem;
            border-radius: 0.34rem;
            background: linear-gradient(135deg, #FF7A45 0%, #FF4D6D 100%);
            color: #fff;
            cursor: pointer;
            -webkit-tap-highlight-color: transparent;
        }
.home-groupon-left {
            display: flex;
            align-items: center;
            gap: 0.24rem;
            min-width: 0;
            flex: 1;
        }
.home-groupon-tag {
            flex: 0 0 auto;
            font-size: 0.3rem;
            font-weight: 800;
            line-height: 1;
            padding: 0.14rem 0.2rem;
            border-radius: 0.18rem;
            background: rgba(255, 255, 255, 0.92);
            color: #FF4D6D;
            letter-spacing: 0.02rem;
        }
.home-groupon-body {
            min-width: 0;
            display: flex;
            align-items: center;
            gap: 0.2rem;
            flex-wrap: nowrap;
            flex: 1;
            justify-content: flex-end;
        }
.home-groupon-title {
            font-size: 0.34rem;
            font-weight: 700;
            line-height: 1.3;
            color: #fff;
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
            flex: 0 0 auto;
        }
#homeGrouponTitle {
            display: none;
        }
.home-groupon-dots {
            display: none;
            align-items: center;
            gap: 0.16rem;
            flex: 0 0 auto;
        }
.home-groupon-dot {
            width: 0.4rem;
            height: 0.4rem;
            border-radius: 50%;
            background: rgba(255, 255, 255, 0.28);
            border: none;
            color: #fff;
            font-size: 0.24rem;
            font-weight: 700;
            line-height: 1;
            padding-top: 0.02rem;
            display: flex;
            align-items: center;
            justify-content: center;
            cursor: pointer;
            flex: 0 0 auto;
            -webkit-tap-highlight-color: transparent;
            user-select: none;
            -webkit-user-select: none;
        }
.home-groupon-dot.active {
            background: rgba(255, 255, 255, 0.65);
            color: #FF4D6D;
        }
.home-groupon-sub {
            font-size: 0.28rem;
            font-weight: 400;
            color: rgba(255, 255, 255, 0.92);
            line-height: 1.3;
            margin-top: 0.3rem;
            text-align: center;
            white-space: normal;
            overflow: visible;
            word-break: break-word;
        }
.home-groupon-arrow {
            flex: 0 0 auto;
            font-size: 0.5rem;
            line-height: 1;
            color: rgba(255, 255, 255, 0.9);
            font-weight: 700;
        }
/* ===== 团购活动卡片：空态（无进行中活动，白底展示） ===== */
.home-groupon-card-empty {
            background: #fff;
            color: #333;
            border: 1px solid #f0f0f0;
            padding: 0.56rem 0.3rem;
        }
.home-groupon-card-empty .home-groupon-tag {
            background: #fff3e0;
            color: rgb(230, 126, 34);
            font-weight: 400;
        }
.home-groupon-card-empty .home-groupon-title {
            color: #333;
            font-size: 0.3rem;
            font-weight: 400;
        }
.home-groupon-card-empty .home-groupon-sub {
            display: none;
        }
.home-groupon-card-empty .home-groupon-arrow {
            color: #c9c9c9;
        }
/* ===== 团购活动卡片：活动态（有进行中活动，橙色渐变展示） ===== */
.home-groupon-card-active {
            background: linear-gradient(135deg, #FF7A45 0%, #FF4D6D 100%);
            color: #fff;
            flex-direction: column;
            align-items: stretch;
            gap: 0;
            padding: 0.6rem 0.44rem 0.34rem 0.44rem;
            overflow: hidden;
        }
/* 卡片 padding/布局统一，切换场次时高度与内容位置保持一致，避免上下抖动 */
.home-groupon-card-active.home-groupon-card-no-pay {
            justify-content: space-between;
            padding: 0.6rem 0.44rem 0.34rem 0.44rem;
        }
.home-groupon-main {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 0.2rem;
            padding-bottom: 0.24rem;
        }
.home-groupon-card-active .home-groupon-left {
            position: relative;
        }
.home-groupon-card-active .home-groupon-tag {
            position: absolute;
            left: 0;
            top: 50%;
            transform: translateY(-50%);
        }
.home-groupon-pay {
            display: none;
            align-items: center;
            justify-content: space-between;
            margin-top: 0.4rem;
            padding: 0.24rem 0 0.08rem 0;
            border-top: 1px solid rgba(255, 255, 255, 0.45);
            color: #fff;
            font-size: 0.28rem;
            font-weight: 400;
            cursor: pointer;
            -webkit-tap-highlight-color: transparent;
        }
.home-groupon-pay-arrow {
            font-size: 0.42rem;
            line-height: 1;
            font-weight: 400;
        }
.home-groupon-early {
            display: none;
            position: relative;
            align-items: center;
            justify-content: space-between;
            margin-top: 0.4rem;
            padding: 0.24rem 0 0.08rem 0;
            border-top: 1px solid rgba(255, 255, 255, 0.45);
            color: #fff;
            font-size: 0.28rem;
            font-weight: 400;
            cursor: pointer;
            -webkit-tap-highlight-color: transparent;
        }
.home-groupon-early-arrow {
            position: absolute;
            right: 0;
            top: 50%;
            transform: translateY(-50%);
            font-size: 0.42rem;
            line-height: 1;
            font-weight: 400;
        }
.home-groupon-count {
            display: none;
            position: relative;
            align-items: center;
            justify-content: space-between;
            margin-top: 0.4rem;
            padding: 0.24rem 0 0.08rem 0;
            border-top: 1px solid rgba(255, 255, 255, 0.45);
            color: rgba(255, 255, 255, 0.92);
            font-size: 0.28rem;
            font-weight: 400;
        }
.home-groupon-countdown {
            margin-top: 0.2rem;
            position: relative;
            display: flex;
            align-items: center;
            justify-content: center;
        }
.home-groupon-countdown .home-groupon-cd-label {
            position: absolute;
            right: 0;
            top: 50%;
            transform: translateY(-50%);
            font-size: 0.26rem;
            color: rgba(255, 255, 255, 0.92);
            font-weight: 400;
            white-space: nowrap;
        }
.home-groupon-countdown .home-groupon-cd-time {
            font-size: 0.5rem;
            font-weight: 800;
            line-height: 1.25;
            letter-spacing: 0.02rem;
        }
.home-groupon-result {
            margin-top: 0.2rem;
            display: flex;
            align-items: center;
            justify-content: center;
        }
.home-groupon-result .home-groupon-result-text {
            font-size: 0.48rem;
            font-weight: 600;
            color: #fff;
            line-height: 1.25;
            letter-spacing: 0.02rem;
        }
/* 切换动画：中间内容先向左滑出并透明消失，切换内容后从右侧滑入并恢复显示；卡片背景固定不动 */
@keyframes homeGrouponSlideOut {
            0%   { transform: translateX(0);    opacity: 1; }
            100% { transform: translateX(-14%); opacity: 0; }
        }
@keyframes homeGrouponSlideIn {
            0%   { transform: translateX(14%);  opacity: 0; }
            100% { transform: translateX(0);    opacity: 1; }
        }
.home-groupon-content {
            display: flex;
            flex-direction: column;
            align-items: stretch;
            gap: 0;
        }
.home-groupon-content-switching-out {
            animation: homeGrouponSlideOut 0.45s ease-in forwards;
        }
.home-groupon-content-switching-in {
            animation: homeGrouponSlideIn 0.45s ease-out;
        }
/* 三选项卡（参考购物车风格：居中 + 蓝色小圆点标记） */
        .home-tabs {
            display: flex;
            align-items: center;
            justify-content: center;
            padding: 0.37rem 0.26rem 0.57rem 0.26rem;
        }
.home-tabs > * + * { margin-left: 0.78rem; } /* gap→margin */
.home-tab-btn {
            position: relative;
            border: none;
            background: transparent;
            color: #bbb;
            font-size: 0.34rem;
            font-weight: 380;
            padding: 0.21rem 0 0.16rem 0;
            line-height: 1;
            cursor: pointer;
            outline: none;
            -webkit-tap-highlight-color: transparent;
            transition: color .18s, font-weight .18s, transform .18s;
        }
.home-tab-btn:focus,
        .home-tab-btn:focus-visible,
        .home-tab-btn:active { outline: none; background: transparent; }
.home-tab-btn.active {
            color: #555;
            font-weight: 400;
            transform: translateY(-0.05rem);
        }
.home-tab-btn.active::after {
            content: '';
            position: absolute;
            left: 50%;
            top: 100%;
            margin-top: 0.05rem;
            width: 0.13rem;
            height: 0.13rem;
            border-radius: 50%;
            background: #2196f3;
            opacity: 0.5;
            transform: translateX(-50%);
        }
.home-tab-pane { display: none; }
.home-tab-pane.active { display: block; }
/* 横向滚动容器（今日热销/本周热销/店铺新品/试吃推荐 共用同一套布局） */
        #hot-sales-scroll,
        #week-sales-scroll,
        #new-products-grid,
        #trial-products-grid,
        #free-shipping-grid {
            display: flex;
            /* 防止某张卡片（图片 intrinsic 尺寸瞬时撑高）被 stretch 拖累整条列表高度 */
            align-items: flex-start;
            overflow-x: auto;
            overflow-y: hidden;
            /* iOS：不加 -webkit-overflow-scrolling: touch —— 嵌套的 touch 动量容器会吞掉手势，导致横向滑动有阻尼（对齐 cart/order 的 same-wh-scroll） */
            padding-bottom: 0.05rem;
            -ms-overflow-style: none;
            scrollbar-width: none;
            overscroll-behavior-x: contain;
            /* pan-x pan-y：左右滑列表、上下滑整页，避免手势被单方向拦截 */
            touch-action: pan-x pan-y;
        }
#hot-sales-scroll > * + *,
#week-sales-scroll > * + *,
#new-products-grid > * + *,
#trial-products-grid > * + *,
#free-shipping-grid > * + * { margin-left: 0.21rem; } /* gap→margin */
#hot-sales-scroll::-webkit-scrollbar,
#week-sales-scroll::-webkit-scrollbar,
#new-products-grid::-webkit-scrollbar,
#trial-products-grid::-webkit-scrollbar,
#free-shipping-grid::-webkit-scrollbar { display: none; }
.home-hot-card {
            flex: 0 0 3.35rem;
            background: #fff;
            border-radius: 0.21rem;
            overflow: hidden;
            cursor: pointer;
            -webkit-tap-highlight-color: transparent;
            display: flex;
            flex-direction: column;
        }
.home-hot-card .hh-img-wrap {
            position: relative;
            flex-shrink: 0;
        }
.home-hot-card .hh-img {
            width: 3.35rem;
            height: 3.95rem;
            object-fit: cover;
            display: block;
            background: #f5f5f5;
            flex-shrink: 0;
        }
.home-hot-card .hh-img.no-image {
            display: flex;
            align-items: center;
            justify-content: center;
            color: #b0b0b0;
            font-size: 0.3rem;
            font-weight: 600;
            cursor: default;
        }
.home-hot-card .hh-info {
            padding: 0.13rem 0.18rem 0 0.18rem;
            flex: 1;
            display: flex;
            flex-direction: column;
        }
.home-hot-card .hh-title {
            font-size: 0.31rem;
            font-weight: 600;
            color: #222;
            line-height: 1.3;
            /* 固定两行高度：标题已由 JS clampTitle 截到 ≤2 行，这里再统一占满两行，
               保证「1 行标题」与「2 行标题」的卡片高度完全一致（否则短标题卡片矮 16px，
               在 align-items:flex-start 下底部露灰）。flex:none 禁止 flex 拉伸/收缩，
               height + overflow:hidden 是最朴素、所有内核都可靠的两行裁剪。 */
            flex: none;
            height: 2.6em;
            overflow: hidden;
            margin-bottom: 0.08rem;
        }
.home-hot-card .hh-spec {
            font-size: 0.29rem;
            color: #999;
            line-height: 1.2;
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
            /* 固定单行最小高度：规格为空时也占一行，保证三 tab 卡片高度一致、无下方空白 */
            min-height: 0.348rem;
            margin-bottom: 0.13rem;
        }
.home-hot-card .hh-price {
            display: flex;
            align-items: baseline;
            font-size: 0.39rem;
            font-weight: 700;
            color: #f44336;
            margin-top: auto;
            padding: 0.24rem 0 0.29rem 0;
        }
.home-hot-card .hh-price > * + * { margin-left: 4px; } /* gap→margin */
/* 最近热销卡片：价格行（左价格 + 右购买人数） */
.home-hot-card .hh-price-row {
            display: flex;
            align-items: flex-end;
            justify-content: space-between;
            margin-top: auto;
            padding: 0.24rem 0 0.29rem 0;
        }
.home-hot-card .hh-price-row .hh-price {
            margin-top: 0;
            padding: 0;
        }
.home-hot-card .hh-buyers {
            position: absolute;
            right: 0.14rem;
            bottom: 0.14rem;
            font-size: 0.24rem;
            font-weight: 500;
            color: rgba(255, 255, 255, 0.75);
            line-height: 1;
            padding: 0.09rem 0.18rem;
            border-radius: 999px;
            background: rgba(0, 0, 0, 0.25);
            white-space: nowrap;
        }
.product-card {
            display: flex;
            flex-direction: row;
            align-items: stretch;
            border-radius: 0.08rem;
            min-width: 0;
            box-sizing: border-box;
            padding: 0.34rem 0.1rem;
            left: 0;
        }
.product-info {
            font-size: 0.31rem;
            display: flex;
            flex-direction: column;
            align-items: flex-start;
            text-align: left;
            position: relative;
            margin-right:0;
            left: 0.16rem;
            flex: 1;
            min-width: 0;
            min-height: 2.2rem;
            box-sizing: border-box;
            padding-right: 0.5em;
        }
.img-crop-box {
            width: 2.3rem;
            height: 3.35rem;
            overflow: hidden;
            border: 0.03rem solid #eee;
            border-radius: 0.13rem;
            position: relative;
            left: 0.03rem;
        }
.product-img.no-image {
                background: #f5f5f5;
                display: flex;
                align-items: center;
                justify-content: center;
                width: 2.51rem;
                height: 3.35rem;
                border: 0.03rem solid #eee;
                margin-bottom: 0;
                margin-right: 0.37rem;
                font-size: 0.31rem;
                text-align: center;
                line-height: 3.35rem;
                color: #b0b0b0;
                font-weight: bold;
                border-radius: 0.13rem;
            }
/* 图片右上角加购数量徽章 */
        .img-qty-badge {
            position: absolute;
            top: 0.08rem;
            right: 0.08rem;
            width: 0.39rem;
            height: 0.39rem;
            border-radius: 50%;
            background: #2196f3;
            color: #fff;
            font-size: 0.26rem;
            font-weight: bold;
            display: flex;
            align-items: center;
            justify-content: center;
            line-height: 1;
            z-index: 2;
            box-shadow: 0 0.05rem 0.21rem rgba(0,0,0,0.12);
            pointer-events: none;
            user-select: none;
        }
.cart-qty-ops {
            display: flex;
            align-items: center;
            justify-content: center;
            min-width: 2.51rem;
            background: transparent;
            border-radius: 26.11rem;
            padding: 0.05rem 0.13rem;
            touch-action: pan-y;
            margin-top: -0.05rem;
        }
.cart-qty-ops > * + * { margin-left: 0.21rem; } /* gap→margin */
.cart-circle-btn {
            width: 0.47rem;
            min-width: 0.47rem;
            height: 0.47rem;
            margin: 0;
            flex: none;
            border-radius: 50%;
            background: #2196f3;
            color: #fff;
            border: none;
            font-size: 0.29rem;
            display: flex;
            align-items: center;
            justify-content: center;
            box-shadow: 0 0.03rem 0.1rem rgba(33,150,243,0.08);
            transition: background .2s;
            touch-action: pan-y;
            user-select: none;
            -webkit-user-select: none;
        }
.cart-qty-input {
            width: 0.73rem;
            min-width: 0.73rem;
            max-width: 0.89rem;
            text-align: center;
            font-size: 0.24rem;
            margin: 0 0.03rem;
            flex: none;
            border-radius: 26.11rem;
            border: 0.03rem solid #e3e3e3 !important;
            background: #fff !important;
            height: 0.47rem;
            line-height: 0.47rem;
            box-shadow: none !important;
            -webkit-appearance: none;
            appearance: none;
        }
.cart-remove-btn {
            margin-left: 0.21rem;
            min-width: 0.94rem;
            height: 0.5rem;
            padding: 0.05rem 0.18rem;
            flex: none;
            border-radius: 26.11rem;
            background: #f44336;
            color: #fff;
            border: none;
            font-size: 0.24rem;
            font-weight: bold;
            box-shadow: 0 0.03rem 0.1rem rgba(244,67,54,0.08);
            transition: .2s;
            cursor: pointer;
        }
.filter-btn {
            border: none;
            border-radius: 0.21rem;
            background: #e3f2fd;
            color: #1976d2;
            padding: 0.05rem 0.18rem;
            font-size: 0.31rem;
            cursor: pointer;
            transition: background .2s, color .2s;
            margin-bottom: 0;
            white-space: nowrap;
            width: 90%;
            text-align: left;
        }
.filter-btn.active {
                background: #2196f3;
                color: #fff;
                font-weight: bold;
            }
.product-title.product-title-link {
            cursor: pointer;
            color: #222;
            outline: none;
            box-shadow: none;
            user-select: none;
            -webkit-user-select: none;
            -webkit-tap-highlight-color: transparent;
        }
.product-title.product-title-link:focus,
            .product-title.product-title-link:focus-visible,
            .product-title.product-title-link:active {
                color: #222;
                outline: none;
                box-shadow: none;
                background: transparent;
            }
.product-guige {
            color: #5c5c5c;
            font-size: 0.31rem;
            margin: 0 0 0.21rem 0;
            word-break: break-all;
            line-height: 1.15;
        }
.product-guige.product-guige-link {
            cursor: pointer;
            outline: none;
            user-select: none;
            -webkit-user-select: none;
            -webkit-tap-highlight-color: transparent;
        }
#filterDrawerActions {
            width: 1.67rem;
            left: -0.03rem;
            justify-content: center !important;
            align-items: center !important;
            display: flex;
            flex-wrap: wrap !important;
            position: fixed;
            bottom: 2.09rem;
            z-index: 1001;
            background: transparent;
            transform: translateX(-50%);
        }
#filterDrawerActions > * + * { margin-left: 0.21rem; } /* gap→margin */
/* 隐藏滚动条（保留滚动能力） */
        #category-sidebar {
            -ms-overflow-style: none;
            scrollbar-width: none;
            overscroll-behavior-y: contain;
        }
#category-sidebar::-webkit-scrollbar {
                width: 0;
                height: 0;
            }
/* html/body 锁定视口，滚动交给 #home-scroll-viewport */
        html {
            overflow: hidden;
            height: 100%;
        }
#filterCategoryItems {
            -ms-overflow-style: none;
            scrollbar-width: none;
        }
#filterCategoryItems::-webkit-scrollbar {
                width: 0;
                height: 0;
                display: none;
            }
#__sort_picker_overlay div::-webkit-scrollbar {
            width: 0;
            height: 0;
            display: none;
        }
#bottom-nav,
            #bottom-nav button,
            #bottom-nav [role="button"],
            #bottomCartInfo,
            #bottom-nav button:focus,
            #bottom-nav button:focus-visible,
            #bottom-nav button:active,
            #bottom-nav [role="button"]:focus,
            #bottom-nav [role="button"]:focus-visible,
            #bottom-nav [role="button"]:active,
            #bottomCartInfo:focus,
            #bottomCartInfo:focus-visible,
            #bottomCartInfo:active {
                outline: none;
                -webkit-tap-highlight-color: transparent;
                -webkit-touch-callout: none;
            }
#bottomCartInfo,
            #bottomCartInfo:focus,
            #bottomCartInfo:focus-visible,
            #bottomCartInfo:active {
                background: transparent;
            }
#ss-btn,
            #signInBtn,
            #ss-btn:focus,
            #ss-btn:focus-visible,
            #ss-btn:active,
            #signInBtn:focus,
            #signInBtn:focus-visible,
            #signInBtn:active {
                outline: none;
                -webkit-tap-highlight-color: transparent;
                -webkit-touch-callout: none;
            }
/* 筛选左列固定尺寸按钮 */
        #filterCategoryNames {
            padding-right: 0.16rem;
        }
#filterCategoryNames button {
                width: 1.88rem !important;
                height: 0.57rem !important;
                min-height: 0.57rem !important;
                max-height: 0.57rem !important;
                min-width: 1.88rem !important;
                max-width: 1.88rem !important;
                box-sizing: border-box !important;
                overflow: hidden !important;
                text-overflow: ellipsis !important;
                white-space: nowrap !important;
                padding: 0.18rem 0.13rem !important;
                margin-bottom: 0.16rem !important;
                border-radius: 0.16rem !important;
                border: none !important;
                cursor: pointer !important;
                font-size: 0.29rem !important;
                transition: background .2s, color .2s !important;
                display: flex !important;
                align-items: center !important;
                justify-content: center !important;
                background: #e3f2fd !important;
                color: #1976d2 !important;
                font-weight: normal !important;
            }
#filterCategoryNames button.active {
                    background: #2196f3 !important;
                    color: #fff !important;
                    font-weight: bold !important;
                }
/* 排序下拉框样式 */
        #ss-btn {
            display: inline-block;
            font-size: 0.29rem;
            height: 0.94rem;
            line-height: 0.94rem;
            padding: 0 0.52rem 0 0.29rem;
            border-radius: 0;
            font-weight: 500;
            border: none;
            background: transparent;
            color: #999;
            cursor: pointer;
            outline: none;
            background-image: url('data:image/svg+xml;utf8,<svg xmlns=%22http://www.w3.org/2000/svg%22 width=%2212%22 height=%2212%22 viewBox=%220 0 24 24%22><path fill=%22%23999%22 d=%22M7 10l5 5 5-5z%22/></svg>');
            background-repeat: no-repeat;
            background-position: right 0 center;
            background-size: 0.31rem;
        }
#ss-btn:active {
                color: #777;
            }
.ss-dropdown-item:active {
            background: #e3f2fd !important;
        }
/*搜索框*/
        #ss-parent {
            position: fixed;
            top: 3.87rem;
            left: 0.31rem;
            right: 0.31rem;
            z-index: 2000;
            background: transparent;
            border-radius: 0.08rem;
            padding: 0.24rem 0;
            padding-bottom: 0.24rem;
        }
#ss-parent.search-active #ss-box-wrap {
            display: block;
            width: 100%;
            position: relative;
            opacity: 1;
            pointer-events: auto;
            visibility: visible;
            max-width: none;
            overflow: visible;
        }
/* 首页标题栏（海报上方） */
#home-header > * + * { margin-left: 0.16rem; }
/* 搜索+分类+签到 父级容器：在胶囊下一行占满整行 */
#home-header-main {
    flex: 1 1 100%;
    min-width: 0;
    display: flex;
    align-items: center;
}
#home-header-main > * + * { margin-left: 0.16rem; }
/* 宽屏顶部文字导航：默认（移动端）隐藏 */
#home-top-nav { display: none; }
#home-search-wrap {
            position: relative;
            display: flex;
            align-items: center;
            flex: 1;
            min-width: 0;
        }
#home-search-input {
            font-size: 0.32rem;
            display: block;
            padding: 0.16rem 0.37rem 0.16rem 0.84rem;
            width: 100%;
            height: 0.94rem;
            box-sizing: border-box;
            border-radius: 0.68rem;
            border: 0.03rem solid #e0e0e0;
            transition: border-color .2s;
            outline: none;
            background: #f5f5f5;
            box-shadow: none;
            -webkit-appearance: none;
            appearance: none;
        }
#home-search-input:focus {
            outline: none;
            box-shadow: none;
            border-color: #ccc;
        }
#home-search-icon {
            position: absolute;
            left: 0.26rem;
            top: 50%;
            transform: translateY(-50%);
            width: 0.42rem;
            height: 0.42rem;
            color: #bdbdbd;
            pointer-events: none;
            z-index: 1;
        }
#home-search-icon svg {
            width: 100%;
            height: 100%;
            display: block;
        }
#cs-toggle-btn {
            flex-shrink: 0;
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            padding: 0;
            font-size: 0.3rem;
            font-weight: 400;
            color: #333;
            background: transparent;
            border: none;
            cursor: pointer;
            -webkit-tap-highlight-color: transparent;
            outline: none;
            min-width: 36px;
        }
#cs-toggle-btn > * + * { margin-top: 2px; } /* gap→margin（纵向flex） */
#cs-toggle-btn svg {
            width: 0.52rem;
            height: 0.52rem;
            flex-shrink: 0;
            display: block;
        }
#home-signin-btn {
            flex-shrink: 0;
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            padding: 0;
            font-size: 0.3rem;
            font-weight: 400;
            color: #333;
            background: transparent;
            border: none;
            cursor: pointer;
            -webkit-tap-highlight-color: transparent;
            outline: none;
            min-width: 0.94rem;
        }
#home-signin-btn > * + * { margin-top: 2px; } /* gap→margin（纵向flex） */
#home-signin-btn svg {
            width: 0.52rem;
            height: 0.52rem;
            flex-shrink: 0;
            display: block;
        }
#ss-box {
            font-size: 0.31rem;
            display: block;
            padding: 0.16rem 1.36rem 0.16rem 0.84rem;
            width: 100%;
            height: 0.94rem;
            box-sizing: border-box;
            border-radius: 0.68rem;
            margin-right: 0;
            border: 0.03rem solid #ccc;
            transition: border-color .2s;
            outline: none;
            background: #f5f5f5;
        }
#ss-box-wrap {
            position: relative;
            display: inline-block;
            max-width: 0;
            overflow: hidden;
            opacity: 0;
            pointer-events: none;
            visibility: hidden;
            transition: opacity 0.2s ease;
        }
#ss-parent:not(.search-active) #ss-box-wrap {
            position: absolute;
            max-width: 0;
            overflow: hidden;
            opacity: 0;
            pointer-events: none;
            visibility: hidden;
        }
#ss-search-btn {
            position: absolute;
            right: 0.13rem;
            top: 0.08rem;
            bottom: 0.08rem;
            height: auto;
            padding: 0 0.31rem 0 0.31rem;
            border: none;
            border-radius: 0.57rem;
            background: #f5f5f5;
            color: #666;
            font-size: 0.29rem;
            font-weight: 500;
            cursor: pointer;
            outline: none;
            -webkit-tap-highlight-color: transparent;
            z-index: 1;
        }
#ss-search-btn::before {
            content: '';
            position: absolute;
            left: 0;
            top: 0.18rem;
            bottom: 0.18rem;
            width: 0.03rem;
            background: #e0e0e0;
        }
#ss-btn-wrap {
            text-align: center;
        }
#ss-search-btn:active {
            background: #f5f5f5;
        }
#ss-search-btn.dm-pressing,
        #ss-search-btn:active {
            background-color: #f5f5f5 !important;
        }
#bottomSubmitBtn.dm-pressing,
        #bottomSubmitBtn:active {
            background-color: #90caf9 !important;
        }
/* 大图查看模态 */
        #image-modal {
            position: fixed;
            top: 0;
            left: 0;
            width: 100vw;
            height: 100vh;
            background: rgba(0,0,0,0.8);
            display: flex;
            align-items: center;
            justify-content: center;
            z-index: 9999;
        }
#image-modal img {
                max-width: 90%;
                max-height: 90%;
                border-radius: 0.13rem;
                cursor: zoom-out;
            }
.fade-enter-active, .fade-leave-active {
            transition: opacity .3s, transform .3s;
        }
.fade-enter, .fade-leave-to {
            opacity: 0;
            transform: translateY(0.1rem);
        }
.cart-action-wrap {
            transition: opacity 0.5s;
            opacity: 0.5;
        }
.cart-action-wrap.hiding {
            opacity: 0;
        }
.cart-action-wrap.show.hiding {
            pointer-events: auto;
            opacity: 1;
        }

/* 价格不换行 */

.product-price{white-space:nowrap;flex-wrap:nowrap;}
.product-price *{white-space:nowrap;}
.price-row,.price-row *{white-space:nowrap;flex-wrap:nowrap;}

/* 价格不换行 */

.product-price{white-space:nowrap;flex-wrap:nowrap;}
.product-price *{white-space:nowrap;}
.price-row,.price-row *{white-space:nowrap;flex-wrap:nowrap;}

/* 价格不换行 */

.product-price{white-space:nowrap;flex-wrap:nowrap;}
.product-price *{white-space:nowrap;}
.price-row,.price-row *{white-space:nowrap;flex-wrap:nowrap;}

/* 价格不换行 */

.product-price{white-space:nowrap;flex-wrap:nowrap;}
.product-price *{white-space:nowrap;}
.price-row,.price-row *{white-space:nowrap;flex-wrap:nowrap;}

/* 客服未读提醒 */
@keyframes dmServiceUnreadBlink{0%,100%{opacity:1;}50%{opacity:.38;}}
.dm-service-unread-pulse{animation:dmServiceUnreadBlink .95s ease-in-out infinite;}
.dm-service-unread-hint{position:fixed;display:none;color:#16a34a;background:#fff;border:0.03rem solid rgba(22,163,74,.28);border-radius:26.11rem;padding:0.03rem 0.1rem;font-size:0.24rem;font-weight:700;line-height:1.15;white-space:nowrap;text-shadow:none;box-shadow:none;pointer-events:none;z-index:100020;}

/* 签到按钮礼物动画 */
#signInBtn{position:relative;overflow:visible;}
#signInBtn .gift-box{display:inline-block;line-height:1;transform-origin:50% 70%;}
#signInBtn.gift-open .gift-box{animation:giftShake .45s ease-in-out;}
@keyframes giftShake{
0%{transform:rotate(0) scale(1);}
20%{transform:rotate(-14deg) scale(1.05);}
40%{transform:rotate(12deg) scale(1.1);}
60%{transform:rotate(-10deg) scale(1.12);}
80%{transform:rotate(8deg) scale(1.15);}
100%{transform:rotate(0) scale(1.2);}
}
#signInBtn.gift-idle .gift-box{animation:giftIdle .5s ease-in-out;}
@keyframes giftIdle{
0%  {transform:rotate(0)   translateY(0)   scale(1);}
20% {transform:rotate(-10deg) translateY(-0.08rem) scale(1.06);}
45% {transform:rotate(10deg)  translateY(-0.13rem) scale(1.1);}
70% {transform:rotate(-6deg)  translateY(-0.08rem) scale(1.07);}
90% {transform:rotate(3deg)   translateY(-0.03rem) scale(1.03);}
100%{transform:rotate(0)   translateY(0)   scale(1);}
}
#signInBtn .gift-burst{position:absolute;left:50%;top:50%;width:0.16rem;height:0.16rem;margin:-0.08rem 0 0 -0.08rem;border-radius:50%;background:#fbc02d;opacity:0;pointer-events:none;}
#signInBtn.gift-open .gift-burst{animation:giftBurst .55s ease-out forwards;}

/* ============================================================
 * 宽屏底部备案栏（PC ≥1070px）：下滑显示，上滑/静止 3 秒隐藏
 * ============================================================ */
#home-filing-bar {
    display: none;
    position: fixed;
    left: 0;
    bottom: 0;
    width: 100%;
    z-index: 9001;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
    padding: 0.14rem 0.3rem;
    background: #fff;
    border-top: 0.02rem solid #f0f0f0;
    font-size: 0.24rem;
    color: #666;
    line-height: 1.6;
    box-sizing: border-box;
    /* 默认隐藏：下滑时才显示 */
    transform: translateY(110%);
    -webkit-transform: translateY(110%);
}
#home-filing-bar a {
    color: inherit;
    text-decoration: none;
    white-space: nowrap;
}
#home-filing-bar .beian-icon {
    width: 0.34rem;
    height: 0.34rem;
    vertical-align: -0.0185rem;
    margin-right: 0.05rem;
    opacity: 1;
}
#home-filing-bar .home-filing-item {
    display: inline-flex;
    align-items: center;
    white-space: nowrap;
}
#home-filing-bar .home-filing-divider {
    color: #ccc;
}
@media (min-width: 1070px) {
    #home-filing-bar {
        display: flex;
    }
}
#signInBtn .gift-burst.c1{background:#ff7043;--bx:-0.57rem;--by:-0.47rem;}
#signInBtn .gift-burst.c2{background:#42a5f5;--bx:0.57rem;--by:-0.47rem;}
#signInBtn .gift-burst.c3{background:#66bb6a;--bx:-0.68rem;--by:0.16rem;}
#signInBtn .gift-burst.c4{background:#ab47bc;--bx:0.68rem;--by:0.16rem;}
#signInBtn .gift-burst.c5{background:#fbc02d;--bx:0;--by:-0.68rem;}
#signInBtn .gift-burst.c6{background:#ec407a;--bx:-0.37rem;--by:0.47rem;}
#signInBtn .gift-burst.c7{background:#26c6da;--bx:0.37rem;--by:0.47rem;}
@keyframes giftBurst{
0%{transform:translate(0,0) scale(.4);opacity:1;}
100%{transform:translate(var(--bx),var(--by)) scale(1);opacity:0;}
}

/* ============================================================
 * 主页类型胶囊（首页顶栏内）：向下滚动收起（超出顶边），向上滚动展开
 * 收起时高度/内边距归零并轻微上移，固定顶栏随之变矮
 * ============================================================ */
#home-header #home-type-pills {
    transition: height 0.26s ease, padding 0.26s ease, opacity 0.2s ease, transform 0.26s ease;
    -webkit-transition: height 0.26s ease, padding 0.26s ease, opacity 0.2s ease, transform 0.26s ease;
    will-change: transform, height, opacity;
    /* 胶囊左右滑动已移至内部 .home-type-pills-track；此处仅纵向 hidden 用于收起动画裁剪 */
    overflow: hidden;
}
#home-header.home-pills-collapsed #home-type-pills {
    height: 0;
    padding-top: 0;
    padding-bottom: 0;
    opacity: 0;
    transform: translateY(-0.18rem);
    -webkit-transform: translateY(-0.18rem);
    pointer-events: none;
}