page { background: var(--bg-base); } .page { padding-top: var(--space-2); } .banner { margin-top: var(--space-2); height: 340rpx; border-radius: var(--radius-lg); background-size: cover; background-position: center; padding: var(--space-4); box-sizing: border-box; display: flex; flex-direction: column; justify-content: flex-end; } .banner-title { font-size: var(--font-title-md); color: #fff; font-weight: 700; } .price-row { margin-top: 8rpx; display: flex; gap: 14rpx; align-items: baseline; } .banner-price { font-size: var(--font-title-lg); color: #fff; font-weight: 700; line-height: 1; } .banner-origin { color: rgba(255, 255, 255, 0.8); font-size: var(--font-body); text-decoration: line-through; } .slots { margin-top: 10rpx; width: fit-content; min-height: 48rpx; border-radius: var(--radius-pill); padding: 0 14rpx; display: flex; align-items: center; background: rgba(255, 255, 255, 0.86); color: var(--brand-main); font-size: var(--font-caption); } .sec-title { margin-top: var(--space-5); font-size: var(--font-title-sm); font-weight: 700; color: var(--text-1); } .card { margin-top: var(--space-3); } .line { font-size: var(--font-body); color: var(--text-2); line-height: 1.8; } .bottom { position: fixed; left: var(--space-4); right: var(--space-4); bottom: calc(16rpx + env(safe-area-inset-bottom)); bottom: calc(16rpx + constant(safe-area-inset-bottom)); } .book-btn { min-height: 88rpx; }