/* 首页(Tab 顶栏样式见 styles/nav-bar.css) */ .tab-main-city-pin { width: 14px; height: 14px; border-radius: 50%; background: var(--color-heritage-red); flex-shrink: 0; position: relative; } .tab-main-city-pin::after { content: ''; position: absolute; left: 50%; top: 50%; width: 5px; height: 5px; margin: -2px 0 0 -2px; border-radius: 50%; background: #fff; } .tab-main-city-label { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 100px; } .home-page { background: var(--color-background); } .home-aroma-nav { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 8px var(--space-page); background: rgba(250, 249, 247, 0.95); border-bottom: 1px solid var(--color-surface-container); position: sticky; top: var(--nav-bar-height, 56px); z-index: 40; } .home-aroma-tabs { display: flex; align-items: center; gap: 8px; flex: 1; min-width: 0; } .home-aroma-city { flex-shrink: 0; font-size: 11px; color: var(--color-subtle-gray); pointer-events: none; max-width: 72px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .home-aroma-tab { border: none; background: transparent; padding: 6px 12px; font-family: var(--font-headline); font-size: 16px; font-weight: 600; line-height: 24px; color: var(--color-subtle-gray); border-bottom: 2px solid transparent; white-space: nowrap; } .home-aroma-tab--active { color: var(--color-heritage-red); border-bottom-color: var(--color-heritage-red); } .home-aroma-tab--muted { opacity: 0.65; } .home-product-list { display: flex; flex-direction: column; gap: 16px; padding: 16px var(--space-page); } .home-product-card { background: var(--color-card); border-radius: var(--radius-lg); overflow: hidden; box-shadow: var(--shadow-card); } .home-carousel-wrap { position: relative; width: 100%; aspect-ratio: 1; background: var(--color-surface-container); overflow: hidden; } .home-carousel { width: 100%; height: 100%; } .home-carousel-item, .home-carousel-image, .home-carousel-placeholder { width: 100%; height: 100%; } .home-carousel-placeholder { background: var(--color-surface-container); } .home-carousel-dots { position: absolute; bottom: 12px; left: 0; right: 0; display: flex; justify-content: center; } .home-carousel-dot { height: 4px; width: 6px; margin: 0 3px; border-radius: 999px; background: rgba(153, 153, 153, 0.35); } .home-carousel-dot--active { width: 20px; background: var(--color-heritage-red); } .home-product-body { padding: var(--space-gutter); display: flex; flex-direction: column; gap: 4px; } .home-product-row { display: flex; justify-content: space-between; align-items: flex-start; gap: 8px; } .home-product-name { font-family: var(--font-headline); font-size: 16px; font-weight: 600; line-height: 24px; color: var(--color-on-surface); flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .home-product-price { font-size: 16px; font-weight: 700; color: var(--color-heritage-red); flex-shrink: 0; } .home-product-sub { font-size: 13px; color: var(--color-subtle-gray); line-height: 18px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .home-product-footer { margin-top: 4px; } .home-product-actions { padding: 0 var(--space-gutter) var(--space-gutter); display: flex; justify-content: flex-end; } .home-buy-btn { display: inline-flex; align-items: center; justify-content: center; padding: 8px 16px; border-radius: var(--radius-full); background: var(--color-heritage-red); color: #fff; font-size: 13px; font-weight: 600; border: none; } .home-empty { text-align: center; padding: 48px 24px; color: var(--color-subtle-gray); font-size: 14px; } .coupon-badge { position: relative; display: inline-flex; align-items: center; background: var(--color-aged-amber); color: var(--color-on-secondary-container); padding: 4px 12px; border-radius: 2px; font-family: var(--font-label); font-size: 12px; font-weight: 700; letter-spacing: 0.05em; }