登录页面
This commit is contained in:
@@ -0,0 +1,107 @@
|
||||
/* 地址管理 */
|
||||
.address-page {
|
||||
background: var(--color-background);
|
||||
min-height: 100vh;
|
||||
}
|
||||
|
||||
.address-item {
|
||||
background: var(--color-card);
|
||||
border-radius: var(--radius-lg);
|
||||
margin: 12px var(--space-page);
|
||||
padding: 16px;
|
||||
box-shadow: var(--shadow-card);
|
||||
}
|
||||
|
||||
.address-item-head {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
margin-bottom: 8px;
|
||||
}
|
||||
|
||||
.address-item-name {
|
||||
font-size: 15px;
|
||||
font-weight: 700;
|
||||
margin-right: 10px;
|
||||
}
|
||||
|
||||
.address-item-phone {
|
||||
font-size: 14px;
|
||||
color: var(--color-on-surface-variant);
|
||||
}
|
||||
|
||||
.address-default-tag {
|
||||
margin-left: auto;
|
||||
padding: 2px 8px;
|
||||
border-radius: 999px;
|
||||
background: rgba(166, 29, 36, 0.08);
|
||||
color: var(--color-heritage-red);
|
||||
font-size: 11px;
|
||||
}
|
||||
|
||||
.address-item-detail {
|
||||
display: block;
|
||||
font-size: 13px;
|
||||
color: var(--color-on-surface-variant);
|
||||
line-height: 1.5;
|
||||
margin-bottom: 12px;
|
||||
}
|
||||
|
||||
.address-item-actions {
|
||||
display: flex;
|
||||
justify-content: flex-end;
|
||||
}
|
||||
|
||||
.address-action {
|
||||
font-size: 13px;
|
||||
color: var(--color-heritage-red);
|
||||
margin-left: 16px;
|
||||
}
|
||||
|
||||
.address-fab {
|
||||
position: fixed;
|
||||
left: 16px;
|
||||
right: 16px;
|
||||
bottom: calc(16px + env(safe-area-inset-bottom, 0px));
|
||||
height: 48px;
|
||||
border-radius: 999px;
|
||||
background: var(--color-heritage-red);
|
||||
color: #fff;
|
||||
font-size: 16px;
|
||||
font-weight: 700;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
.address-form-field {
|
||||
margin: 0 var(--space-page) 12px;
|
||||
}
|
||||
|
||||
.address-form-label {
|
||||
display: block;
|
||||
font-size: 13px;
|
||||
color: var(--color-on-surface-variant);
|
||||
margin-bottom: 6px;
|
||||
}
|
||||
|
||||
.address-form-input {
|
||||
width: 100%;
|
||||
height: 48px;
|
||||
padding: 0 14px;
|
||||
border-radius: var(--radius-md);
|
||||
background: var(--color-card);
|
||||
box-shadow: var(--shadow-card);
|
||||
font-size: 15px;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.address-form-textarea {
|
||||
width: 100%;
|
||||
min-height: 88px;
|
||||
padding: 12px 14px;
|
||||
border-radius: var(--radius-md);
|
||||
background: var(--color-card);
|
||||
box-shadow: var(--shadow-card);
|
||||
font-size: 15px;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
@@ -0,0 +1,97 @@
|
||||
/* 全局基础类(对齐 shared-ui / h5-user,适配 Taro) */
|
||||
.app-page-title {
|
||||
margin: 0;
|
||||
font-family: var(--font-headline);
|
||||
font-size: 18px;
|
||||
font-weight: 700;
|
||||
line-height: 26px;
|
||||
color: var(--color-heritage-red);
|
||||
text-align: center;
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
|
||||
.full-bleed {
|
||||
width: 100%;
|
||||
margin-left: 0;
|
||||
margin-right: 0;
|
||||
}
|
||||
|
||||
.inset-page {
|
||||
padding-left: var(--space-page);
|
||||
padding-right: var(--space-page);
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.u-card {
|
||||
background: var(--color-card);
|
||||
border-radius: var(--radius-lg);
|
||||
margin: 12px var(--space-page);
|
||||
padding: 16px;
|
||||
box-shadow: var(--shadow-card);
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.u-muted {
|
||||
color: var(--color-subtle-gray);
|
||||
font-size: 13px;
|
||||
}
|
||||
|
||||
.u-title {
|
||||
font-family: var(--font-headline);
|
||||
font-size: 18px;
|
||||
font-weight: 600;
|
||||
margin: 0 0 8px;
|
||||
color: var(--color-on-surface);
|
||||
}
|
||||
|
||||
.u-btn {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
border: none;
|
||||
border-radius: var(--radius-md);
|
||||
padding: 12px 18px;
|
||||
font-size: 15px;
|
||||
font-weight: 600;
|
||||
line-height: 1.2;
|
||||
background: var(--color-heritage-red);
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.u-btn--block {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.u-btn--ghost {
|
||||
background: transparent;
|
||||
color: var(--color-heritage-red);
|
||||
border: 1px solid var(--color-heritage-red);
|
||||
}
|
||||
|
||||
.u-btn:active {
|
||||
opacity: 0.85;
|
||||
}
|
||||
|
||||
.u-empty {
|
||||
text-align: center;
|
||||
padding: 48px 24px;
|
||||
color: var(--color-subtle-gray);
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
.u-safe-top {
|
||||
padding-top: env(safe-area-inset-top, 0px);
|
||||
}
|
||||
|
||||
.text-primary {
|
||||
color: var(--color-heritage-red);
|
||||
}
|
||||
|
||||
.amount-lg {
|
||||
font-family: var(--font-headline);
|
||||
font-size: 24px;
|
||||
font-weight: 700;
|
||||
color: var(--color-heritage-red);
|
||||
}
|
||||
@@ -0,0 +1,255 @@
|
||||
/* 好客权益 */
|
||||
.benefit-page {
|
||||
background: var(--color-background);
|
||||
}
|
||||
|
||||
.benefit-header {
|
||||
position: sticky;
|
||||
top: 0;
|
||||
z-index: 50;
|
||||
padding-left: var(--space-page);
|
||||
background: var(--color-background);
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.benefit-header__content {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.benefit-header-city {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
color: var(--color-heritage-red);
|
||||
font-size: 12px;
|
||||
font-weight: 500;
|
||||
max-width: 30vw;
|
||||
}
|
||||
|
||||
.benefit-header-city-pin {
|
||||
width: 8px;
|
||||
height: 8px;
|
||||
border-radius: 50%;
|
||||
background: var(--color-heritage-red);
|
||||
margin-right: 4px;
|
||||
flex-shrink: 0;
|
||||
}
|
||||
|
||||
.benefit-header-title {
|
||||
font-family: var(--font-headline);
|
||||
font-size: 18px;
|
||||
font-weight: 700;
|
||||
color: var(--color-heritage-red);
|
||||
}
|
||||
|
||||
.benefit-header-btn {
|
||||
width: 40px;
|
||||
height: 40px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
color: var(--color-on-surface-variant);
|
||||
font-size: 18px;
|
||||
}
|
||||
|
||||
.benefit-main {
|
||||
padding: 16px var(--space-page) 24px;
|
||||
}
|
||||
|
||||
.benefit-hero {
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
padding: 16px;
|
||||
border-radius: var(--radius-lg);
|
||||
background: var(--color-card);
|
||||
border: 1px solid rgba(226, 190, 188, 0.2);
|
||||
box-shadow: 0 4px 20px rgba(166, 29, 36, 0.05);
|
||||
margin-bottom: 16px;
|
||||
}
|
||||
|
||||
.benefit-hero-top {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: flex-start;
|
||||
margin-bottom: 16px;
|
||||
}
|
||||
|
||||
.benefit-hero-label {
|
||||
display: block;
|
||||
font-size: 12px;
|
||||
color: var(--color-on-surface-variant);
|
||||
margin-bottom: 4px;
|
||||
}
|
||||
|
||||
.benefit-hero-amount {
|
||||
display: flex;
|
||||
align-items: baseline;
|
||||
color: var(--color-heritage-red);
|
||||
}
|
||||
|
||||
.benefit-hero-symbol {
|
||||
font-family: var(--font-headline);
|
||||
font-size: 28px;
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
.benefit-hero-value {
|
||||
font-family: var(--font-headline);
|
||||
font-size: 40px;
|
||||
font-weight: 700;
|
||||
line-height: 1;
|
||||
}
|
||||
|
||||
.benefit-hero-logo {
|
||||
width: 48px;
|
||||
height: 48px;
|
||||
border-radius: 12px;
|
||||
background: rgba(166, 29, 36, 0.08);
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
color: var(--color-heritage-red);
|
||||
font-weight: 700;
|
||||
font-size: 18px;
|
||||
}
|
||||
|
||||
.benefit-hero-actions {
|
||||
display: flex;
|
||||
margin-top: 8px;
|
||||
}
|
||||
|
||||
.benefit-hero-link {
|
||||
font-size: 13px;
|
||||
color: var(--color-heritage-red);
|
||||
margin-right: 16px;
|
||||
}
|
||||
|
||||
.benefit-hero-cta {
|
||||
flex: 1;
|
||||
height: 44px;
|
||||
border-radius: var(--radius-full);
|
||||
background: var(--color-heritage-red);
|
||||
color: #fff;
|
||||
font-size: 15px;
|
||||
font-weight: 700;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
.benefit-tabs {
|
||||
display: flex;
|
||||
margin-bottom: 12px;
|
||||
border-bottom: 1px solid var(--color-surface-container);
|
||||
}
|
||||
|
||||
.benefit-tab {
|
||||
margin-right: 24px;
|
||||
padding: 10px 0;
|
||||
font-size: 14px;
|
||||
font-weight: 600;
|
||||
color: var(--color-subtle-gray);
|
||||
border-bottom: 2px solid transparent;
|
||||
}
|
||||
|
||||
.benefit-tab--active {
|
||||
color: var(--color-heritage-red);
|
||||
border-bottom-color: var(--color-heritage-red);
|
||||
}
|
||||
|
||||
.benefit-coupon {
|
||||
position: relative;
|
||||
background: var(--color-card);
|
||||
border-radius: var(--radius-lg);
|
||||
padding: 16px;
|
||||
margin-bottom: 12px;
|
||||
box-shadow: var(--shadow-card);
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.benefit-coupon-notch {
|
||||
position: absolute;
|
||||
left: -8px;
|
||||
top: 50%;
|
||||
width: 16px;
|
||||
height: 16px;
|
||||
margin-top: -8px;
|
||||
border-radius: 50%;
|
||||
background: var(--color-background);
|
||||
}
|
||||
|
||||
.benefit-coupon-notch--right {
|
||||
left: auto;
|
||||
right: -8px;
|
||||
}
|
||||
|
||||
.benefit-coupon-head {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: flex-start;
|
||||
margin-bottom: 8px;
|
||||
}
|
||||
|
||||
.benefit-coupon-name {
|
||||
font-family: var(--font-headline);
|
||||
font-size: 15px;
|
||||
font-weight: 700;
|
||||
color: var(--color-on-surface);
|
||||
flex: 1;
|
||||
margin-right: 8px;
|
||||
}
|
||||
|
||||
.benefit-coupon-balance {
|
||||
font-family: var(--font-headline);
|
||||
font-size: 20px;
|
||||
font-weight: 700;
|
||||
color: var(--color-heritage-red);
|
||||
}
|
||||
|
||||
.benefit-coupon-no {
|
||||
display: block;
|
||||
font-size: 11px;
|
||||
color: var(--color-subtle-gray);
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
.benefit-progress {
|
||||
height: 6px;
|
||||
border-radius: 999px;
|
||||
background: var(--color-surface-container);
|
||||
overflow: hidden;
|
||||
margin-bottom: 12px;
|
||||
}
|
||||
|
||||
.benefit-progress-bar {
|
||||
height: 100%;
|
||||
background: var(--color-heritage-red);
|
||||
border-radius: 999px;
|
||||
}
|
||||
|
||||
.benefit-coupon-footer {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.benefit-coupon-meta {
|
||||
font-size: 12px;
|
||||
color: var(--color-subtle-gray);
|
||||
}
|
||||
|
||||
.benefit-coupon-btn {
|
||||
padding: 6px 14px;
|
||||
border-radius: var(--radius-full);
|
||||
background: var(--color-heritage-red);
|
||||
color: #fff;
|
||||
font-size: 12px;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
.benefit-login-gate {
|
||||
padding: 48px 24px;
|
||||
text-align: center;
|
||||
}
|
||||
@@ -1,42 +1,4 @@
|
||||
/* Tab 主页面顶栏 + 首页(对齐 h5-user) */
|
||||
.tab-main-header {
|
||||
position: sticky;
|
||||
top: 0;
|
||||
z-index: 50;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
height: 56px;
|
||||
padding: env(safe-area-inset-top, 0px) var(--space-page) 0;
|
||||
padding-top: calc(env(safe-area-inset-top, 0px));
|
||||
min-height: calc(56px + env(safe-area-inset-top, 0px));
|
||||
background: var(--color-background);
|
||||
box-shadow: var(--shadow-card);
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.tab-main-header__title {
|
||||
font-family: var(--font-headline);
|
||||
font-size: 18px;
|
||||
font-weight: 700;
|
||||
color: var(--color-heritage-red);
|
||||
line-height: 56px;
|
||||
}
|
||||
|
||||
.tab-main-header__extra {
|
||||
position: absolute;
|
||||
right: var(--space-page);
|
||||
top: calc(env(safe-area-inset-top, 0px) + 28px);
|
||||
transform: translateY(-50%);
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 4px;
|
||||
color: var(--color-heritage-red);
|
||||
font-size: 12px;
|
||||
font-weight: 500;
|
||||
max-width: 46vw;
|
||||
}
|
||||
|
||||
/* 首页(Tab 顶栏样式见 styles/nav-bar.css) */
|
||||
.tab-main-city-pin {
|
||||
width: 14px;
|
||||
height: 14px;
|
||||
@@ -78,7 +40,7 @@
|
||||
background: rgba(250, 249, 247, 0.95);
|
||||
border-bottom: 1px solid var(--color-surface-container);
|
||||
position: sticky;
|
||||
top: calc(56px + env(safe-area-inset-top, 0px));
|
||||
top: var(--nav-bar-height, 56px);
|
||||
z-index: 40;
|
||||
}
|
||||
|
||||
@@ -118,18 +80,52 @@
|
||||
box-shadow: var(--shadow-card);
|
||||
}
|
||||
|
||||
.home-product-cover {
|
||||
.home-carousel-wrap {
|
||||
position: relative;
|
||||
width: 100%;
|
||||
height: 200px;
|
||||
aspect-ratio: 1;
|
||||
background: var(--color-surface-container);
|
||||
display: block;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.home-product-cover--empty {
|
||||
height: 200px;
|
||||
.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;
|
||||
|
||||
@@ -0,0 +1,283 @@
|
||||
/* 登录页(对齐 h5-user login-page) */
|
||||
.login-page {
|
||||
min-height: 100vh;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
background: var(--color-background);
|
||||
color: var(--color-on-surface);
|
||||
box-sizing: border-box;
|
||||
padding-top: var(--nav-status-bar-height, 20px);
|
||||
}
|
||||
|
||||
.login-header {
|
||||
padding: 48px var(--space-page) 32px;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.login-logo-wrap {
|
||||
position: relative;
|
||||
width: 120px;
|
||||
height: 120px;
|
||||
margin-bottom: 28px;
|
||||
}
|
||||
|
||||
.login-logo {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
border-radius: var(--radius-lg);
|
||||
background: var(--color-card);
|
||||
box-shadow: var(--shadow-card);
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
font-family: var(--font-headline);
|
||||
font-size: 48px;
|
||||
font-weight: 700;
|
||||
color: var(--color-heritage-red);
|
||||
}
|
||||
|
||||
.login-logo-badge {
|
||||
position: absolute;
|
||||
bottom: -8px;
|
||||
right: -8px;
|
||||
background: var(--color-heritage-red);
|
||||
color: #fff;
|
||||
font-size: 10px;
|
||||
font-weight: 700;
|
||||
padding: 2px 8px;
|
||||
border-radius: 999px;
|
||||
line-height: 1.4;
|
||||
}
|
||||
|
||||
.login-welcome {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.login-welcome-title {
|
||||
display: block;
|
||||
font-family: var(--font-headline);
|
||||
font-size: 20px;
|
||||
font-weight: 600;
|
||||
line-height: 28px;
|
||||
color: var(--color-ink-black, #1a1a1a);
|
||||
letter-spacing: -0.01em;
|
||||
}
|
||||
|
||||
.login-welcome-sub {
|
||||
display: block;
|
||||
margin-top: 8px;
|
||||
font-size: 16px;
|
||||
line-height: 24px;
|
||||
color: var(--color-on-surface-variant);
|
||||
opacity: 0.8;
|
||||
}
|
||||
|
||||
.login-main {
|
||||
flex: 1;
|
||||
padding: 0 var(--space-page) 32px;
|
||||
width: 100%;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.login-card {
|
||||
background: var(--color-card);
|
||||
border-radius: var(--radius-xl);
|
||||
padding: 24px;
|
||||
box-shadow: var(--shadow-card);
|
||||
}
|
||||
|
||||
.login-card-title {
|
||||
display: block;
|
||||
font-family: var(--font-headline);
|
||||
font-size: 18px;
|
||||
font-weight: 600;
|
||||
line-height: 26px;
|
||||
margin-bottom: 16px;
|
||||
color: var(--color-on-surface);
|
||||
}
|
||||
|
||||
.login-field {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
border-bottom: 1px solid var(--color-surface-variant, #e8e4de);
|
||||
padding-bottom: 8px;
|
||||
margin-bottom: 16px;
|
||||
}
|
||||
|
||||
.login-field-prefix {
|
||||
font-size: 16px;
|
||||
font-weight: 500;
|
||||
color: var(--color-on-surface);
|
||||
margin-right: 12px;
|
||||
flex-shrink: 0;
|
||||
}
|
||||
|
||||
.login-field-input {
|
||||
flex: 1;
|
||||
border: none;
|
||||
background: transparent;
|
||||
padding: 0;
|
||||
height: 32px;
|
||||
font-size: 16px;
|
||||
line-height: 24px;
|
||||
color: var(--color-on-surface);
|
||||
min-width: 0;
|
||||
}
|
||||
|
||||
.login-get-code {
|
||||
flex-shrink: 0;
|
||||
border: none;
|
||||
background: transparent;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
font-size: 14px;
|
||||
font-weight: 500;
|
||||
color: var(--color-heritage-red);
|
||||
line-height: 1.4;
|
||||
}
|
||||
|
||||
.login-get-code--disabled {
|
||||
color: var(--color-subtle-gray);
|
||||
}
|
||||
|
||||
.login-msg {
|
||||
display: block;
|
||||
font-size: 13px;
|
||||
color: var(--color-heritage-red);
|
||||
margin-bottom: 12px;
|
||||
}
|
||||
|
||||
.login-msg--hint {
|
||||
color: var(--color-success, #2d6a4f);
|
||||
}
|
||||
|
||||
.login-sms-btn {
|
||||
width: 100%;
|
||||
height: 48px;
|
||||
margin-top: 8px;
|
||||
border: 1px solid rgba(166, 29, 36, 0.2);
|
||||
border-radius: var(--radius-lg);
|
||||
background: transparent;
|
||||
color: var(--color-heritage-red);
|
||||
font-family: var(--font-headline);
|
||||
font-size: 18px;
|
||||
font-weight: 600;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
line-height: 1;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.login-sms-btn::after {
|
||||
border: none;
|
||||
}
|
||||
|
||||
.login-sms-btn[disabled] {
|
||||
opacity: 0.6;
|
||||
}
|
||||
|
||||
.login-divider {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 16px;
|
||||
margin: 32px 0;
|
||||
}
|
||||
|
||||
.login-divider-line {
|
||||
flex: 1;
|
||||
height: 1px;
|
||||
background: linear-gradient(
|
||||
90deg,
|
||||
transparent 0%,
|
||||
var(--color-surface-variant, #e8e4de) 50%,
|
||||
transparent 100%
|
||||
);
|
||||
}
|
||||
|
||||
.login-divider-text {
|
||||
font-size: 12px;
|
||||
font-weight: 500;
|
||||
letter-spacing: 0.05em;
|
||||
color: var(--color-subtle-gray);
|
||||
flex-shrink: 0;
|
||||
}
|
||||
|
||||
.login-wechat-btn {
|
||||
width: 100%;
|
||||
height: 56px;
|
||||
border: none;
|
||||
border-radius: var(--radius-lg);
|
||||
background: var(--color-heritage-red);
|
||||
color: #fff;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
gap: 12px;
|
||||
font-family: var(--font-headline);
|
||||
font-size: 18px;
|
||||
font-weight: 600;
|
||||
line-height: 1;
|
||||
padding: 0;
|
||||
box-shadow: 0 8px 24px rgba(166, 29, 36, 0.1);
|
||||
}
|
||||
|
||||
.login-wechat-btn::after {
|
||||
border: none;
|
||||
}
|
||||
|
||||
.login-wechat-btn[disabled] {
|
||||
opacity: 0.7;
|
||||
}
|
||||
|
||||
.login-wechat-icon {
|
||||
font-size: 22px;
|
||||
line-height: 1;
|
||||
}
|
||||
|
||||
.login-footer {
|
||||
padding: 0 var(--space-page) calc(env(safe-area-inset-bottom, 0px) + 32px);
|
||||
width: 100%;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.login-agreement {
|
||||
display: flex;
|
||||
align-items: flex-start;
|
||||
gap: 8px;
|
||||
}
|
||||
|
||||
.login-agreement-check {
|
||||
width: 16px;
|
||||
height: 16px;
|
||||
margin-top: 2px;
|
||||
border-radius: 4px;
|
||||
border: 1px solid var(--color-outline, #c8c4be);
|
||||
flex-shrink: 0;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
font-size: 11px;
|
||||
color: #fff;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.login-agreement-check--on {
|
||||
background: var(--color-heritage-red);
|
||||
border-color: var(--color-heritage-red);
|
||||
}
|
||||
|
||||
.login-agreement-text {
|
||||
flex: 1;
|
||||
font-size: 12px;
|
||||
font-weight: 500;
|
||||
line-height: 16px;
|
||||
letter-spacing: 0.05em;
|
||||
color: var(--color-on-surface-variant);
|
||||
}
|
||||
|
||||
.login-agreement-link {
|
||||
color: var(--color-heritage-red);
|
||||
}
|
||||
@@ -0,0 +1,257 @@
|
||||
/* 我的 */
|
||||
.mine-page {
|
||||
background: var(--color-background);
|
||||
}
|
||||
|
||||
.mine-header {
|
||||
position: relative;
|
||||
padding: 24px var(--space-page) 80px;
|
||||
background: linear-gradient(135deg, #820012 0%, var(--color-heritage-red) 40%, #d4a373 100%);
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.mine-header-texture {
|
||||
position: absolute;
|
||||
inset: 0;
|
||||
opacity: 0.08;
|
||||
background: repeating-linear-gradient(
|
||||
45deg,
|
||||
transparent,
|
||||
transparent 8px,
|
||||
rgba(255, 255, 255, 0.04) 8px,
|
||||
rgba(255, 255, 255, 0.04) 16px
|
||||
);
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
.mine-profile {
|
||||
position: relative;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
z-index: 1;
|
||||
}
|
||||
|
||||
.mine-avatar {
|
||||
width: 72px;
|
||||
height: 72px;
|
||||
border-radius: 50%;
|
||||
border: 2px solid rgba(255, 255, 255, 0.35);
|
||||
background: #fff;
|
||||
overflow: hidden;
|
||||
flex-shrink: 0;
|
||||
margin-right: 14px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
color: var(--color-heritage-red);
|
||||
font-size: 28px;
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
.mine-avatar-img {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.mine-profile-name {
|
||||
display: block;
|
||||
font-family: var(--font-headline);
|
||||
font-size: 20px;
|
||||
font-weight: 600;
|
||||
color: #fff;
|
||||
margin-bottom: 4px;
|
||||
}
|
||||
|
||||
.mine-member-tag {
|
||||
display: inline-block;
|
||||
padding: 2px 8px;
|
||||
border-radius: 999px;
|
||||
background: rgba(255, 255, 255, 0.15);
|
||||
font-size: 10px;
|
||||
color: rgba(255, 255, 255, 0.9);
|
||||
}
|
||||
|
||||
.mine-main {
|
||||
margin-top: -48px;
|
||||
position: relative;
|
||||
z-index: 2;
|
||||
padding: 0 var(--space-page) 24px;
|
||||
}
|
||||
|
||||
.mine-card {
|
||||
background: var(--color-card);
|
||||
border-radius: var(--radius-lg);
|
||||
padding: 16px;
|
||||
box-shadow: var(--shadow-card);
|
||||
margin-bottom: 12px;
|
||||
}
|
||||
|
||||
.mine-card-head {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
margin-bottom: 14px;
|
||||
}
|
||||
|
||||
.mine-card-title {
|
||||
font-family: var(--font-headline);
|
||||
font-size: 16px;
|
||||
font-weight: 700;
|
||||
color: var(--color-on-surface);
|
||||
}
|
||||
|
||||
.mine-card-link {
|
||||
font-size: 12px;
|
||||
color: var(--color-subtle-gray);
|
||||
}
|
||||
|
||||
.mine-asset-panel {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
padding: 16px;
|
||||
border-radius: var(--radius-md);
|
||||
background: linear-gradient(135deg, #fff9e6 0%, #fff0c2 100%);
|
||||
}
|
||||
|
||||
.mine-asset-label {
|
||||
display: block;
|
||||
font-size: 12px;
|
||||
color: rgba(87, 69, 0, 0.8);
|
||||
margin-bottom: 4px;
|
||||
}
|
||||
|
||||
.mine-asset-amount {
|
||||
display: flex;
|
||||
align-items: baseline;
|
||||
color: var(--color-heritage-red);
|
||||
}
|
||||
|
||||
.mine-asset-currency {
|
||||
font-size: 16px;
|
||||
font-weight: 700;
|
||||
margin-right: 2px;
|
||||
}
|
||||
|
||||
.mine-asset-value {
|
||||
font-family: var(--font-headline);
|
||||
font-size: 28px;
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
.mine-asset-cta {
|
||||
padding: 8px 16px;
|
||||
border-radius: 999px;
|
||||
background: var(--color-heritage-red);
|
||||
color: #fff;
|
||||
font-size: 13px;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
.mine-order-grid {
|
||||
display: flex;
|
||||
justify-content: space-around;
|
||||
}
|
||||
|
||||
.mine-order-item {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
padding: 8px;
|
||||
position: relative;
|
||||
width: 33%;
|
||||
}
|
||||
|
||||
.mine-order-icon {
|
||||
width: 40px;
|
||||
height: 40px;
|
||||
border-radius: 12px;
|
||||
background: rgba(166, 29, 36, 0.08);
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
color: var(--color-heritage-red);
|
||||
font-size: 18px;
|
||||
margin-bottom: 6px;
|
||||
}
|
||||
|
||||
.mine-order-badge {
|
||||
position: absolute;
|
||||
top: 2px;
|
||||
right: 18%;
|
||||
min-width: 16px;
|
||||
height: 16px;
|
||||
padding: 0 4px;
|
||||
border-radius: 999px;
|
||||
background: var(--color-heritage-red);
|
||||
color: #fff;
|
||||
font-size: 10px;
|
||||
line-height: 16px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.mine-order-label {
|
||||
font-size: 12px;
|
||||
color: var(--color-on-surface);
|
||||
}
|
||||
|
||||
.mine-service-grid {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
}
|
||||
|
||||
.mine-service-item {
|
||||
width: 25%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
padding: 12px 4px;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.mine-service-icon {
|
||||
width: 36px;
|
||||
height: 36px;
|
||||
border-radius: 10px;
|
||||
background: var(--color-surface-container-low);
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
color: var(--color-heritage-red);
|
||||
font-size: 16px;
|
||||
margin-bottom: 6px;
|
||||
}
|
||||
|
||||
.mine-service-label {
|
||||
font-size: 11px;
|
||||
color: var(--color-on-surface);
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.mine-footer {
|
||||
text-align: center;
|
||||
padding: 16px 0 8px;
|
||||
}
|
||||
|
||||
.mine-version {
|
||||
display: block;
|
||||
font-size: 12px;
|
||||
color: var(--color-subtle-gray);
|
||||
margin-bottom: 12px;
|
||||
}
|
||||
|
||||
.mine-logout {
|
||||
display: inline-flex;
|
||||
padding: 10px 32px;
|
||||
border-radius: var(--radius-full);
|
||||
border: 1px solid rgba(166, 29, 36, 0.3);
|
||||
color: var(--color-heritage-red);
|
||||
font-size: 14px;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
.mine-login-gate {
|
||||
margin-top: -32px;
|
||||
position: relative;
|
||||
z-index: 2;
|
||||
}
|
||||
@@ -0,0 +1,215 @@
|
||||
/* 页面壳 + 三种顶栏(刘海屏 / 胶囊适配) */
|
||||
|
||||
.page-shell {
|
||||
min-height: 100vh;
|
||||
background: var(--color-background);
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.page-shell--tab {
|
||||
padding-bottom: calc(88px + env(safe-area-inset-bottom, 0px));
|
||||
}
|
||||
|
||||
.page-shell--scroll,
|
||||
.page-shell--sub,
|
||||
.page-shell--plain {
|
||||
padding-bottom: calc(24px + env(safe-area-inset-bottom, 0px));
|
||||
}
|
||||
|
||||
.page-shell--fixed-footer {
|
||||
padding-bottom: calc(88px + env(safe-area-inset-bottom, 0px));
|
||||
}
|
||||
|
||||
/* ── Tab 主页面顶栏(实底 sticky) ── */
|
||||
.tab-main-header {
|
||||
position: sticky;
|
||||
top: 0;
|
||||
z-index: 50;
|
||||
padding-left: var(--space-page);
|
||||
background: var(--color-background);
|
||||
box-shadow: var(--shadow-card);
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.tab-main-header__content {
|
||||
position: relative;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.tab-main-header__title {
|
||||
font-family: var(--font-headline);
|
||||
font-size: 18px;
|
||||
font-weight: 700;
|
||||
color: var(--color-heritage-red);
|
||||
line-height: 1.2;
|
||||
max-width: 52vw;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.tab-main-header__extra {
|
||||
position: absolute;
|
||||
right: 0;
|
||||
top: 50%;
|
||||
transform: translateY(-50%);
|
||||
max-width: 40vw;
|
||||
}
|
||||
|
||||
.tab-main-header__extra-inner {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
color: var(--color-heritage-red);
|
||||
font-size: 12px;
|
||||
font-weight: 500;
|
||||
}
|
||||
|
||||
.tab-main-header__extra-inner .tab-main-city-label {
|
||||
margin-left: 4px;
|
||||
}
|
||||
|
||||
/* ── 滚动透明顶栏(商品/门店详情) ── */
|
||||
.page-nav-bar {
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
z-index: 50;
|
||||
padding-left: var(--space-page);
|
||||
background: transparent;
|
||||
box-sizing: border-box;
|
||||
transition: background 0.3s, box-shadow 0.3s;
|
||||
}
|
||||
|
||||
.page-nav-bar--solid {
|
||||
background: rgba(255, 255, 255, 0.95);
|
||||
box-shadow: 0 1px 0 rgba(0, 0, 0, 0.05);
|
||||
}
|
||||
|
||||
.page-nav-bar__content {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.page-nav-bar__btn {
|
||||
width: 40px;
|
||||
height: 40px;
|
||||
border-radius: 999px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
background: rgba(255, 255, 255, 0.8);
|
||||
flex-shrink: 0;
|
||||
}
|
||||
|
||||
.page-nav-bar--solid .page-nav-bar__btn {
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
.page-nav-bar__btn--placeholder {
|
||||
background: transparent;
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
.page-nav-bar__icon {
|
||||
font-size: 28px;
|
||||
line-height: 1;
|
||||
color: var(--color-ink-black);
|
||||
font-weight: 300;
|
||||
}
|
||||
|
||||
.page-nav-bar__icon--share {
|
||||
font-size: 18px;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
.page-nav-bar__title {
|
||||
flex: 1;
|
||||
opacity: 0;
|
||||
padding: 0 8px;
|
||||
font-family: var(--font-headline);
|
||||
font-size: 16px;
|
||||
font-weight: 600;
|
||||
color: var(--color-ink-black);
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
text-align: center;
|
||||
transition: opacity 0.3s;
|
||||
}
|
||||
|
||||
.page-nav-bar__title--visible {
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
.page-with-nav-bar {
|
||||
padding-top: var(--nav-bar-height, 56px);
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
/* ── 子页面固定实底顶栏 ── */
|
||||
.sub-page-header {
|
||||
position: sticky;
|
||||
top: 0;
|
||||
z-index: 50;
|
||||
padding-left: var(--space-page);
|
||||
background: var(--color-background);
|
||||
box-shadow: var(--shadow-card);
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.sub-page-header__content {
|
||||
position: relative;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.sub-page-header__back {
|
||||
position: absolute;
|
||||
left: 0;
|
||||
top: 50%;
|
||||
transform: translateY(-50%);
|
||||
width: 40px;
|
||||
height: 40px;
|
||||
margin-left: -8px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
.sub-page-header__back-icon {
|
||||
font-size: 28px;
|
||||
line-height: 1;
|
||||
color: var(--color-heritage-red);
|
||||
font-weight: 300;
|
||||
}
|
||||
|
||||
.sub-page-header__title {
|
||||
font-family: var(--font-headline);
|
||||
font-size: 18px;
|
||||
font-weight: 700;
|
||||
color: var(--color-heritage-red);
|
||||
max-width: 60vw;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.sub-page-header__right {
|
||||
position: absolute;
|
||||
right: 0;
|
||||
top: 50%;
|
||||
transform: translateY(-50%);
|
||||
}
|
||||
|
||||
.sub-page-body {
|
||||
padding-top: 12px;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
@@ -0,0 +1,280 @@
|
||||
/* 订单确认 / 支付 / 订单列表 / 订单详情 */
|
||||
.order-confirm-page,
|
||||
.pay-page,
|
||||
.orders-page,
|
||||
.order-detail-page {
|
||||
background: var(--color-background);
|
||||
min-height: 100vh;
|
||||
}
|
||||
|
||||
.order-card {
|
||||
background: var(--color-card);
|
||||
border-radius: var(--radius-lg);
|
||||
margin: 0 var(--space-page) 12px;
|
||||
padding: 16px;
|
||||
box-shadow: var(--shadow-card);
|
||||
}
|
||||
|
||||
.order-card-title {
|
||||
display: block;
|
||||
font-family: var(--font-headline);
|
||||
font-size: 15px;
|
||||
font-weight: 700;
|
||||
margin-bottom: 12px;
|
||||
color: var(--color-on-surface);
|
||||
}
|
||||
|
||||
.order-product-row {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.order-product-thumb {
|
||||
width: 72px;
|
||||
height: 72px;
|
||||
border-radius: 12px;
|
||||
background: var(--color-surface-container);
|
||||
margin-right: 12px;
|
||||
flex-shrink: 0;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.order-product-thumb-img {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.order-product-name {
|
||||
display: block;
|
||||
font-size: 15px;
|
||||
font-weight: 600;
|
||||
margin-bottom: 4px;
|
||||
}
|
||||
|
||||
.order-product-price {
|
||||
display: block;
|
||||
color: var(--color-heritage-red);
|
||||
font-weight: 700;
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
.order-qty-row {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
margin-top: 12px;
|
||||
padding-top: 12px;
|
||||
border-top: 1px solid var(--color-surface-container);
|
||||
}
|
||||
|
||||
.order-qty-controls {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.order-qty-btn {
|
||||
width: 32px;
|
||||
height: 32px;
|
||||
border-radius: 8px;
|
||||
background: var(--color-surface-container-low);
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
font-size: 18px;
|
||||
color: var(--color-on-surface);
|
||||
}
|
||||
|
||||
.order-qty-value {
|
||||
margin: 0 14px;
|
||||
font-size: 16px;
|
||||
font-weight: 600;
|
||||
min-width: 24px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.order-row {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
padding: 8px 0;
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
.order-row-label {
|
||||
color: var(--color-on-surface-variant);
|
||||
}
|
||||
|
||||
.order-row-value {
|
||||
color: var(--color-on-surface);
|
||||
font-weight: 500;
|
||||
}
|
||||
|
||||
.order-row-value--price {
|
||||
color: var(--color-heritage-red);
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
.order-confirm-bar,
|
||||
.pay-bar {
|
||||
position: fixed;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
z-index: 50;
|
||||
padding: 12px 16px calc(env(safe-area-inset-bottom, 0px) + 12px);
|
||||
display: flex;
|
||||
align-items: center;
|
||||
background: rgba(255, 255, 255, 0.95);
|
||||
border-top: 1px solid rgba(226, 190, 188, 0.1);
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.order-confirm-total {
|
||||
flex: 1;
|
||||
}
|
||||
|
||||
.order-confirm-total-label {
|
||||
display: block;
|
||||
font-size: 12px;
|
||||
color: var(--color-subtle-gray);
|
||||
}
|
||||
|
||||
.order-confirm-total-value {
|
||||
font-family: var(--font-headline);
|
||||
font-size: 22px;
|
||||
font-weight: 700;
|
||||
color: var(--color-heritage-red);
|
||||
}
|
||||
|
||||
.order-confirm-submit {
|
||||
height: 48px;
|
||||
padding: 0 28px;
|
||||
border-radius: 999px;
|
||||
background: var(--color-heritage-red);
|
||||
color: #fff;
|
||||
font-size: 16px;
|
||||
font-weight: 700;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
.order-tabs {
|
||||
display: flex;
|
||||
padding: 0 var(--space-page);
|
||||
border-bottom: 1px solid var(--color-surface-container);
|
||||
background: var(--color-background);
|
||||
position: sticky;
|
||||
top: var(--nav-bar-height, 56px);
|
||||
z-index: 40;
|
||||
}
|
||||
|
||||
.order-tab {
|
||||
flex: 1;
|
||||
text-align: center;
|
||||
padding: 12px 0;
|
||||
font-size: 14px;
|
||||
font-weight: 600;
|
||||
color: var(--color-subtle-gray);
|
||||
border-bottom: 2px solid transparent;
|
||||
}
|
||||
|
||||
.order-tab--active {
|
||||
color: var(--color-heritage-red);
|
||||
border-bottom-color: var(--color-heritage-red);
|
||||
}
|
||||
|
||||
.order-list-item {
|
||||
background: var(--color-card);
|
||||
border-radius: var(--radius-lg);
|
||||
margin: 12px var(--space-page);
|
||||
padding: 16px;
|
||||
box-shadow: var(--shadow-card);
|
||||
}
|
||||
|
||||
.order-list-head {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
margin-bottom: 12px;
|
||||
}
|
||||
|
||||
.order-list-no {
|
||||
font-size: 12px;
|
||||
color: var(--color-subtle-gray);
|
||||
}
|
||||
|
||||
.order-list-status {
|
||||
font-size: 13px;
|
||||
font-weight: 600;
|
||||
color: var(--color-heritage-red);
|
||||
}
|
||||
|
||||
.order-list-body {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.order-list-thumb {
|
||||
width: 64px;
|
||||
height: 64px;
|
||||
border-radius: 10px;
|
||||
background: var(--color-surface-container);
|
||||
margin-right: 12px;
|
||||
flex-shrink: 0;
|
||||
}
|
||||
|
||||
.order-list-name {
|
||||
display: block;
|
||||
font-size: 14px;
|
||||
font-weight: 600;
|
||||
margin-bottom: 4px;
|
||||
}
|
||||
|
||||
.order-list-meta {
|
||||
display: block;
|
||||
font-size: 12px;
|
||||
color: var(--color-subtle-gray);
|
||||
}
|
||||
|
||||
.order-list-footer {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
margin-top: 12px;
|
||||
padding-top: 12px;
|
||||
border-top: 1px solid var(--color-surface-container);
|
||||
}
|
||||
|
||||
.pay-status {
|
||||
text-align: center;
|
||||
padding: 48px 24px;
|
||||
}
|
||||
|
||||
.pay-status-icon {
|
||||
width: 72px;
|
||||
height: 72px;
|
||||
border-radius: 50%;
|
||||
background: rgba(166, 29, 36, 0.08);
|
||||
color: var(--color-heritage-red);
|
||||
font-size: 36px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
margin: 0 auto 16px;
|
||||
}
|
||||
|
||||
.pay-status-title {
|
||||
display: block;
|
||||
font-family: var(--font-headline);
|
||||
font-size: 20px;
|
||||
font-weight: 700;
|
||||
margin-bottom: 8px;
|
||||
}
|
||||
|
||||
.pay-status-amount {
|
||||
display: block;
|
||||
font-size: 28px;
|
||||
font-weight: 700;
|
||||
color: var(--color-heritage-red);
|
||||
margin-bottom: 24px;
|
||||
}
|
||||
@@ -0,0 +1,320 @@
|
||||
/* 商品详情页 — 对齐 h5-user ProductDetailPage */
|
||||
.product-detail-page {
|
||||
background: var(--color-background);
|
||||
}
|
||||
|
||||
.product-detail-main {
|
||||
padding-bottom: 24px;
|
||||
}
|
||||
|
||||
.product-detail-hero {
|
||||
background: var(--color-card);
|
||||
}
|
||||
|
||||
.detail-carousel-wrap {
|
||||
position: relative;
|
||||
width: 100%;
|
||||
aspect-ratio: 1;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.detail-carousel {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.detail-carousel-item,
|
||||
.detail-carousel-image,
|
||||
.detail-carousel-placeholder {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.detail-carousel-placeholder {
|
||||
background: var(--color-surface-container);
|
||||
}
|
||||
|
||||
.detail-carousel-dots {
|
||||
position: absolute;
|
||||
bottom: 16px;
|
||||
left: 0;
|
||||
right: 0;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
gap: 6px;
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
.detail-carousel-dot {
|
||||
height: 4px;
|
||||
width: 6px;
|
||||
border-radius: 999px;
|
||||
background: rgba(153, 153, 153, 0.3);
|
||||
}
|
||||
|
||||
.detail-carousel-dot--active {
|
||||
width: 24px;
|
||||
background: var(--color-heritage-red);
|
||||
}
|
||||
|
||||
.product-detail-info {
|
||||
padding: var(--space-md) var(--space-page) var(--space-lg);
|
||||
}
|
||||
|
||||
.product-detail-price {
|
||||
display: flex;
|
||||
align-items: baseline;
|
||||
gap: 2px;
|
||||
margin-bottom: 8px;
|
||||
}
|
||||
|
||||
.product-detail-price-symbol {
|
||||
font-family: var(--font-headline);
|
||||
font-size: 16px;
|
||||
font-weight: 600;
|
||||
color: var(--color-heritage-red);
|
||||
}
|
||||
|
||||
.product-detail-price-value {
|
||||
font-family: var(--font-headline);
|
||||
font-size: 32px;
|
||||
font-weight: 700;
|
||||
line-height: 40px;
|
||||
color: var(--color-heritage-red);
|
||||
}
|
||||
|
||||
.product-detail-name {
|
||||
display: block;
|
||||
font-family: var(--font-headline);
|
||||
font-size: 20px;
|
||||
font-weight: 700;
|
||||
line-height: 28px;
|
||||
color: var(--color-ink-black);
|
||||
margin-bottom: 4px;
|
||||
}
|
||||
|
||||
.product-detail-subtitle {
|
||||
display: block;
|
||||
font-size: 14px;
|
||||
line-height: 20px;
|
||||
color: var(--color-on-surface-variant);
|
||||
margin-bottom: 24px;
|
||||
}
|
||||
|
||||
.product-detail-promo {
|
||||
position: relative;
|
||||
padding: 16px;
|
||||
border-radius: var(--radius-lg);
|
||||
background: linear-gradient(135deg, #fff9e6 0%, #fff0c2 100%);
|
||||
border: 1px solid rgba(255, 191, 0, 0.1);
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.product-detail-promo-glow {
|
||||
position: absolute;
|
||||
top: -16px;
|
||||
right: -16px;
|
||||
width: 80px;
|
||||
height: 80px;
|
||||
border-radius: 50%;
|
||||
background: rgba(166, 29, 36, 0.05);
|
||||
}
|
||||
|
||||
.product-detail-promo-head {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 12px;
|
||||
margin-bottom: 8px;
|
||||
position: relative;
|
||||
z-index: 1;
|
||||
}
|
||||
|
||||
.product-detail-promo-icon {
|
||||
width: 40px;
|
||||
height: 40px;
|
||||
border-radius: 50%;
|
||||
background: var(--color-heritage-red);
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
flex-shrink: 0;
|
||||
}
|
||||
|
||||
.product-detail-promo-icon-text {
|
||||
color: #fff;
|
||||
font-size: 16px;
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
.product-detail-promo-title {
|
||||
flex: 1;
|
||||
font-family: var(--font-headline);
|
||||
font-size: 16px;
|
||||
font-weight: 700;
|
||||
line-height: 22px;
|
||||
color: var(--color-on-secondary-container);
|
||||
}
|
||||
|
||||
.product-detail-promo-amount {
|
||||
color: var(--color-heritage-red);
|
||||
}
|
||||
|
||||
.product-detail-promo-desc {
|
||||
display: block;
|
||||
font-size: 14px;
|
||||
line-height: 22px;
|
||||
color: rgba(87, 69, 0, 0.8);
|
||||
padding-left: 52px;
|
||||
position: relative;
|
||||
z-index: 1;
|
||||
}
|
||||
|
||||
.product-detail-content {
|
||||
background: var(--color-card);
|
||||
border-radius: 24px 24px 0 0;
|
||||
padding-top: var(--space-lg);
|
||||
padding-bottom: 24px;
|
||||
}
|
||||
|
||||
.product-detail-section-head {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 8px;
|
||||
padding: 0 var(--space-page);
|
||||
margin-bottom: var(--space-md);
|
||||
}
|
||||
|
||||
.product-detail-section-bar {
|
||||
width: 4px;
|
||||
height: 20px;
|
||||
border-radius: 999px;
|
||||
background: var(--color-heritage-red);
|
||||
}
|
||||
|
||||
.product-detail-section-title {
|
||||
font-family: var(--font-headline);
|
||||
font-size: 18px;
|
||||
font-weight: 600;
|
||||
color: var(--color-ink-black);
|
||||
}
|
||||
|
||||
.product-detail-banner {
|
||||
width: 100%;
|
||||
display: block;
|
||||
}
|
||||
|
||||
.product-detail-copy {
|
||||
padding: var(--space-lg) var(--space-page);
|
||||
}
|
||||
|
||||
.product-detail-story {
|
||||
text-align: center;
|
||||
margin-bottom: 24px;
|
||||
}
|
||||
|
||||
.product-detail-story-title {
|
||||
display: block;
|
||||
font-family: var(--font-headline);
|
||||
font-size: 18px;
|
||||
font-weight: 700;
|
||||
color: var(--color-heritage-red);
|
||||
margin-bottom: 8px;
|
||||
}
|
||||
|
||||
.product-detail-story-text {
|
||||
display: block;
|
||||
font-size: 14px;
|
||||
line-height: 22px;
|
||||
color: var(--color-on-surface-variant);
|
||||
}
|
||||
|
||||
.product-detail-features {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
gap: 16px;
|
||||
}
|
||||
|
||||
.product-detail-feature {
|
||||
width: calc(50% - 8px);
|
||||
background: var(--color-surface-container-low);
|
||||
border: 1px solid rgba(226, 190, 188, 0.3);
|
||||
border-radius: var(--radius-lg);
|
||||
padding: 16px;
|
||||
text-align: center;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.product-detail-feature-icon {
|
||||
display: block;
|
||||
font-size: 20px;
|
||||
color: var(--color-heritage-red);
|
||||
}
|
||||
|
||||
.product-detail-feature-title {
|
||||
display: block;
|
||||
font-family: var(--font-headline);
|
||||
font-size: 14px;
|
||||
font-weight: 600;
|
||||
color: var(--color-ink-black);
|
||||
margin-top: 8px;
|
||||
}
|
||||
|
||||
.product-detail-feature-desc {
|
||||
display: block;
|
||||
font-size: 12px;
|
||||
color: var(--color-subtle-gray);
|
||||
margin-top: 4px;
|
||||
}
|
||||
|
||||
.product-detail-bar {
|
||||
position: fixed;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
z-index: 50;
|
||||
padding: 12px 16px calc(env(safe-area-inset-bottom, 0px) + 12px);
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 16px;
|
||||
background: rgba(255, 255, 255, 0.95);
|
||||
border-top: 1px solid rgba(226, 190, 188, 0.1);
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.product-detail-bar-home {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
gap: 4px;
|
||||
padding: 0 8px;
|
||||
}
|
||||
|
||||
.product-detail-bar-home-icon {
|
||||
width: 24px;
|
||||
height: 24px;
|
||||
}
|
||||
|
||||
.product-detail-bar-home-label {
|
||||
font-size: 10px;
|
||||
font-weight: 500;
|
||||
color: var(--color-on-surface-variant);
|
||||
}
|
||||
|
||||
.product-detail-buy-btn {
|
||||
flex: 1;
|
||||
height: 48px;
|
||||
border-radius: 999px;
|
||||
background: var(--color-heritage-red);
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
box-shadow: 0 8px 24px rgba(166, 29, 36, 0.2);
|
||||
}
|
||||
|
||||
.product-detail-buy-btn-text {
|
||||
color: #fff;
|
||||
font-family: var(--font-headline);
|
||||
font-size: 16px;
|
||||
font-weight: 700;
|
||||
}
|
||||
@@ -0,0 +1,252 @@
|
||||
/* 核销 / 核销码 / 成功 / 权益明细 */
|
||||
.redeem-page,
|
||||
.redeem-code-page,
|
||||
.redeem-success-page,
|
||||
.benefit-detail-page,
|
||||
.cs-page {
|
||||
background: var(--color-background);
|
||||
min-height: 100vh;
|
||||
}
|
||||
|
||||
.redeem-hero {
|
||||
margin: 16px var(--space-page);
|
||||
padding: 24px 20px;
|
||||
border-radius: var(--radius-lg);
|
||||
background: linear-gradient(135deg, #fff9e6 0%, #fff0c2 100%);
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.redeem-hero-label {
|
||||
display: block;
|
||||
font-size: 13px;
|
||||
color: rgba(87, 69, 0, 0.8);
|
||||
margin-bottom: 8px;
|
||||
}
|
||||
|
||||
.redeem-hero-amount {
|
||||
font-family: var(--font-headline);
|
||||
font-size: 36px;
|
||||
font-weight: 700;
|
||||
color: var(--color-heritage-red);
|
||||
}
|
||||
|
||||
.redeem-input-wrap {
|
||||
margin: 0 var(--space-page) 16px;
|
||||
background: var(--color-card);
|
||||
border-radius: var(--radius-lg);
|
||||
padding: 16px;
|
||||
box-shadow: var(--shadow-card);
|
||||
}
|
||||
|
||||
.redeem-input {
|
||||
width: 100%;
|
||||
height: 52px;
|
||||
font-size: 24px;
|
||||
font-weight: 700;
|
||||
color: var(--color-heritage-red);
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.redeem-tips {
|
||||
margin: 0 var(--space-page);
|
||||
font-size: 12px;
|
||||
color: var(--color-subtle-gray);
|
||||
line-height: 1.6;
|
||||
}
|
||||
|
||||
.redeem-submit {
|
||||
margin: 24px var(--space-page);
|
||||
height: 48px;
|
||||
border-radius: 999px;
|
||||
background: var(--color-heritage-red);
|
||||
color: #fff;
|
||||
font-size: 16px;
|
||||
font-weight: 700;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
.redeem-code-panel {
|
||||
margin: 32px var(--space-page);
|
||||
padding: 32px 20px;
|
||||
background: var(--color-card);
|
||||
border-radius: var(--radius-xl);
|
||||
box-shadow: var(--shadow-card);
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.redeem-code-value {
|
||||
display: block;
|
||||
font-family: var(--font-headline);
|
||||
font-size: 36px;
|
||||
font-weight: 700;
|
||||
letter-spacing: 0.12em;
|
||||
color: var(--color-heritage-red);
|
||||
margin: 16px 0;
|
||||
}
|
||||
|
||||
.redeem-code-timer {
|
||||
display: block;
|
||||
font-size: 13px;
|
||||
color: var(--color-subtle-gray);
|
||||
}
|
||||
|
||||
.redeem-success-icon {
|
||||
width: 80px;
|
||||
height: 80px;
|
||||
border-radius: 50%;
|
||||
background: rgba(45, 106, 79, 0.12);
|
||||
color: var(--color-success-green);
|
||||
font-size: 40px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
margin: 48px auto 16px;
|
||||
}
|
||||
|
||||
.redeem-success-title {
|
||||
display: block;
|
||||
text-align: center;
|
||||
font-family: var(--font-headline);
|
||||
font-size: 22px;
|
||||
font-weight: 700;
|
||||
margin-bottom: 8px;
|
||||
}
|
||||
|
||||
.redeem-success-desc {
|
||||
display: block;
|
||||
text-align: center;
|
||||
font-size: 14px;
|
||||
color: var(--color-subtle-gray);
|
||||
margin-bottom: 32px;
|
||||
}
|
||||
|
||||
.ledger-item {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
padding: 14px 0;
|
||||
border-bottom: 1px solid var(--color-surface-container);
|
||||
}
|
||||
|
||||
.ledger-item:last-child {
|
||||
border-bottom: none;
|
||||
}
|
||||
|
||||
.ledger-title {
|
||||
display: block;
|
||||
font-size: 14px;
|
||||
font-weight: 600;
|
||||
margin-bottom: 4px;
|
||||
}
|
||||
|
||||
.ledger-time {
|
||||
display: block;
|
||||
font-size: 12px;
|
||||
color: var(--color-subtle-gray);
|
||||
}
|
||||
|
||||
.ledger-amount {
|
||||
font-size: 16px;
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
.ledger-amount--in {
|
||||
color: var(--color-success-green);
|
||||
}
|
||||
|
||||
.ledger-amount--out {
|
||||
color: var(--color-heritage-red);
|
||||
}
|
||||
|
||||
.region-picker-mask {
|
||||
position: fixed;
|
||||
inset: 0;
|
||||
z-index: 100;
|
||||
background: rgba(0, 0, 0, 0.45);
|
||||
display: flex;
|
||||
align-items: flex-end;
|
||||
}
|
||||
|
||||
.region-picker-sheet {
|
||||
width: 100%;
|
||||
background: var(--color-card);
|
||||
border-radius: 20px 20px 0 0;
|
||||
padding-bottom: calc(16px + env(safe-area-inset-bottom, 0px));
|
||||
}
|
||||
|
||||
.region-picker-head {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
padding: 14px 16px;
|
||||
border-bottom: 1px solid var(--color-surface-container);
|
||||
}
|
||||
|
||||
.region-picker-title {
|
||||
font-size: 16px;
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
.region-picker-cancel,
|
||||
.region-picker-ok {
|
||||
font-size: 14px;
|
||||
color: var(--color-heritage-red);
|
||||
padding: 4px 8px;
|
||||
}
|
||||
|
||||
.region-picker-body {
|
||||
padding: 24px 16px;
|
||||
}
|
||||
|
||||
.region-picker-item {
|
||||
display: block;
|
||||
text-align: center;
|
||||
padding: 12px;
|
||||
font-size: 16px;
|
||||
color: var(--color-on-surface);
|
||||
}
|
||||
|
||||
.region-picker-item--active {
|
||||
color: var(--color-heritage-red);
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
.cs-bubble {
|
||||
max-width: 78%;
|
||||
padding: 12px 14px;
|
||||
border-radius: 16px;
|
||||
margin-bottom: 12px;
|
||||
font-size: 14px;
|
||||
line-height: 1.5;
|
||||
}
|
||||
|
||||
.cs-bubble--bot {
|
||||
background: var(--color-card);
|
||||
box-shadow: var(--shadow-card);
|
||||
margin-right: auto;
|
||||
}
|
||||
|
||||
.cs-bubble--user {
|
||||
background: var(--color-heritage-red);
|
||||
color: #fff;
|
||||
margin-left: auto;
|
||||
}
|
||||
|
||||
.cs-quick {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
margin: 16px var(--space-page);
|
||||
}
|
||||
|
||||
.cs-quick-item {
|
||||
padding: 8px 12px;
|
||||
margin-right: 8px;
|
||||
margin-bottom: 8px;
|
||||
border-radius: 999px;
|
||||
background: var(--color-card);
|
||||
box-shadow: var(--shadow-card);
|
||||
font-size: 12px;
|
||||
color: var(--color-on-surface);
|
||||
}
|
||||
@@ -0,0 +1,148 @@
|
||||
/* 门店详情 */
|
||||
.store-detail-page {
|
||||
background: var(--color-background);
|
||||
}
|
||||
|
||||
.store-detail-hero {
|
||||
background: var(--color-card);
|
||||
}
|
||||
|
||||
.store-detail-carousel-wrap {
|
||||
position: relative;
|
||||
width: 100%;
|
||||
height: 280px;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.store-detail-carousel {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.store-detail-carousel-item,
|
||||
.store-detail-carousel-image,
|
||||
.store-detail-carousel-placeholder {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.store-detail-carousel-placeholder {
|
||||
background: var(--color-surface-container);
|
||||
}
|
||||
|
||||
.store-detail-carousel-dots {
|
||||
position: absolute;
|
||||
bottom: 16px;
|
||||
left: 0;
|
||||
right: 0;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
.store-detail-carousel-dot {
|
||||
height: 4px;
|
||||
width: 6px;
|
||||
margin: 0 3px;
|
||||
border-radius: 999px;
|
||||
background: rgba(255, 255, 255, 0.45);
|
||||
}
|
||||
|
||||
.store-detail-carousel-dot--active {
|
||||
width: 20px;
|
||||
background: #fff;
|
||||
}
|
||||
|
||||
.store-detail-info-card {
|
||||
margin: -40px var(--space-page) 16px;
|
||||
position: relative;
|
||||
z-index: 2;
|
||||
background: var(--color-card);
|
||||
border-radius: var(--radius-lg);
|
||||
padding: 20px 16px;
|
||||
box-shadow: var(--shadow-card);
|
||||
}
|
||||
|
||||
.store-detail-name {
|
||||
display: block;
|
||||
font-family: var(--font-headline);
|
||||
font-size: 20px;
|
||||
font-weight: 700;
|
||||
color: var(--color-ink-black);
|
||||
margin-bottom: 8px;
|
||||
}
|
||||
|
||||
.store-detail-meta {
|
||||
display: block;
|
||||
font-size: 13px;
|
||||
color: var(--color-on-surface-variant);
|
||||
margin-bottom: 6px;
|
||||
line-height: 1.5;
|
||||
}
|
||||
|
||||
.store-detail-tags {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
margin-top: 12px;
|
||||
}
|
||||
|
||||
.store-detail-tag {
|
||||
padding: 4px 10px;
|
||||
margin-right: 8px;
|
||||
margin-bottom: 8px;
|
||||
border-radius: 999px;
|
||||
background: rgba(166, 29, 36, 0.08);
|
||||
color: var(--color-heritage-red);
|
||||
font-size: 11px;
|
||||
}
|
||||
|
||||
.store-detail-section {
|
||||
background: var(--color-card);
|
||||
margin: 0 var(--space-page) 16px;
|
||||
border-radius: var(--radius-lg);
|
||||
padding: 16px;
|
||||
box-shadow: var(--shadow-card);
|
||||
}
|
||||
|
||||
.store-detail-section-title {
|
||||
display: block;
|
||||
font-family: var(--font-headline);
|
||||
font-size: 16px;
|
||||
font-weight: 700;
|
||||
margin-bottom: 10px;
|
||||
color: var(--color-on-surface);
|
||||
}
|
||||
|
||||
.store-detail-bar {
|
||||
position: fixed;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
z-index: 50;
|
||||
padding: 12px 16px calc(env(safe-area-inset-bottom, 0px) + 12px);
|
||||
display: flex;
|
||||
background: rgba(255, 255, 255, 0.95);
|
||||
border-top: 1px solid rgba(226, 190, 188, 0.1);
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.store-detail-bar-btn {
|
||||
flex: 1;
|
||||
height: 48px;
|
||||
border-radius: 999px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
font-size: 15px;
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
.store-detail-bar-btn--ghost {
|
||||
background: rgba(166, 29, 36, 0.08);
|
||||
color: var(--color-heritage-red);
|
||||
margin-right: 12px;
|
||||
}
|
||||
|
||||
.store-detail-bar-btn--primary {
|
||||
background: var(--color-heritage-red);
|
||||
color: #fff;
|
||||
}
|
||||
@@ -0,0 +1,125 @@
|
||||
/* 门店列表 */
|
||||
.store-page {
|
||||
background: var(--color-background);
|
||||
}
|
||||
|
||||
.store-toolbar {
|
||||
padding: 0 var(--space-page) 12px;
|
||||
}
|
||||
|
||||
.store-location {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
margin-bottom: 10px;
|
||||
color: var(--color-on-surface-variant);
|
||||
font-size: 12px;
|
||||
font-weight: 500;
|
||||
}
|
||||
|
||||
.store-location-pin {
|
||||
width: 8px;
|
||||
height: 8px;
|
||||
border-radius: 50%;
|
||||
background: var(--color-heritage-red);
|
||||
margin-right: 6px;
|
||||
}
|
||||
|
||||
.store-search {
|
||||
height: 44px;
|
||||
padding: 0 16px 0 40px;
|
||||
border-radius: var(--radius-md);
|
||||
background: var(--color-surface-container-low);
|
||||
font-size: 14px;
|
||||
color: var(--color-on-surface);
|
||||
box-sizing: border-box;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.store-category-tabs {
|
||||
display: flex;
|
||||
padding: 12px var(--space-page);
|
||||
overflow-x: auto;
|
||||
white-space: nowrap;
|
||||
border-bottom: 1px solid rgba(226, 190, 188, 0.1);
|
||||
}
|
||||
|
||||
.store-category-tab {
|
||||
flex-shrink: 0;
|
||||
margin-right: 24px;
|
||||
font-size: 12px;
|
||||
font-weight: 500;
|
||||
color: var(--color-on-surface-variant);
|
||||
padding-bottom: 6px;
|
||||
border-bottom: 2px solid transparent;
|
||||
}
|
||||
|
||||
.store-category-tab--active {
|
||||
color: var(--color-heritage-red);
|
||||
border-bottom-color: var(--color-heritage-red);
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
.store-list {
|
||||
padding: 16px var(--space-page);
|
||||
}
|
||||
|
||||
.store-card {
|
||||
background: var(--color-card);
|
||||
border-radius: var(--radius-lg);
|
||||
overflow: hidden;
|
||||
box-shadow: var(--shadow-card);
|
||||
margin-bottom: 16px;
|
||||
}
|
||||
|
||||
.store-card-cover {
|
||||
width: 100%;
|
||||
height: 160px;
|
||||
background: var(--color-surface-container);
|
||||
display: block;
|
||||
}
|
||||
|
||||
.store-card-cover--empty {
|
||||
height: 160px;
|
||||
background: var(--color-surface-container);
|
||||
}
|
||||
|
||||
.store-card-body {
|
||||
padding: 14px 16px 16px;
|
||||
}
|
||||
|
||||
.store-card-name {
|
||||
display: block;
|
||||
font-family: var(--font-headline);
|
||||
font-size: 16px;
|
||||
font-weight: 700;
|
||||
color: var(--color-on-surface);
|
||||
margin-bottom: 6px;
|
||||
}
|
||||
|
||||
.store-card-meta {
|
||||
display: block;
|
||||
font-size: 12px;
|
||||
color: var(--color-subtle-gray);
|
||||
margin-bottom: 4px;
|
||||
}
|
||||
|
||||
.store-card-footer {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
margin-top: 12px;
|
||||
}
|
||||
|
||||
.store-card-distance {
|
||||
font-size: 12px;
|
||||
color: var(--color-on-surface-variant);
|
||||
}
|
||||
|
||||
.store-card-cta {
|
||||
padding: 6px 14px;
|
||||
border-radius: var(--radius-full);
|
||||
background: rgba(166, 29, 36, 0.08);
|
||||
color: var(--color-heritage-red);
|
||||
font-size: 12px;
|
||||
font-weight: 600;
|
||||
}
|
||||
Reference in New Issue
Block a user