/* 陪聊页面样式 */ page { background: #fff; } .page-container { min-height: 100vh; background: #fff; position: relative; } /* 吸顶搜索和筛选区域 */ .sticky-header { position: fixed; top: 0; left: 0; right: 0; width: 100%; z-index: 998; background-color: #ffffff; padding: 16rpx 32rpx 24rpx; padding-top: calc(16rpx + var(--status-bar-height, 44px)); box-shadow: 0 4rpx 12rpx rgba(0, 0, 0, 0.08); opacity: 0; pointer-events: none; visibility: hidden; } .sticky-header::before { content: ''; position: absolute; top: 0; left: 0; right: 0; bottom: 0; background-color: #ffffff; z-index: -1; } .sticky-header.show { opacity: 1; pointer-events: auto; visibility: visible; } /* 吸顶内的搜索框 */ .sticky-header .search-box { background: #f3f4f6; position: relative; z-index: 1; } /* 吸顶内的筛选条 */ .sticky-header .filter-bar { background: transparent; position: relative; z-index: 1; } /* 跟随滚动的 Header 背景 */ .header-scroll { height: 400rpx; overflow: hidden; /* 备用渐变背景,当图片加载失败时显示 */ background: linear-gradient(135deg, #e8d5f0 0%, #f5e6d3 50%, #fce4ec 100%); } .header-image { width: 100%; height: 100%; object-fit: cover; } /* 隐藏滚动条 */ .content-scroll::-webkit-scrollbar { display: none; width: 0; height: 0; } .content-scroll { -ms-overflow-style: none; scrollbar-width: none; height: 100vh; box-sizing: border-box; position: relative; z-index: 1; } /* 红包提示条 */ .notice-bar { padding: 24rpx 32rpx; background: linear-gradient(to right, #fffbeb, #fff7ed); border-bottom: 2rpx solid rgba(254, 243, 198, 0.5); display: flex; align-items: center; gap: 16rpx; } .notice-icon { width: 40rpx; height: 40rpx; } .notice-text { font-size: 32rpx; color: #973c00; } /* 分类按钮 */ .category-grid { display: flex; gap: 16rpx; padding: 24rpx 32rpx; } .category-btn { flex: 1; height: 180rpx; border-radius: 24rpx; overflow: hidden; position: relative; } .category-image { width: 100%; height: 100%; border-radius: 24rpx; } /* 倾诉师列表区域 */ .counselor-section { padding: 24rpx 32rpx; background: #fff; border-radius: 48rpx 48rpx 0 0; margin-top: -24rpx; } .section-header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 32rpx; } .section-title { font-size: 40rpx; font-weight: 700; color: #1e2939; } .guide-btn { display: flex; align-items: center; gap: 4rpx; } .guide-text { font-size: 24rpx; color: #101828; } .guide-arrow { width: 24rpx; height: 24rpx; } /* 搜索框 */ .search-box { display: flex; align-items: center; background: #f3f4f6; border-radius: 100rpx; padding: 20rpx 32rpx; margin-bottom: 16rpx; } .search-box.hidden { display: none; } .search-icon { width: 40rpx; height: 40rpx; margin-right: 16rpx; } .search-input { flex: 1; font-size: 28rpx; color: #101828; } .search-input::placeholder { color: rgba(16, 24, 40, 0.5); } /* 筛选条 */ .filter-bar { display: flex; justify-content: space-between; padding-bottom: 0; border-bottom: none; margin-bottom: 0; } .filter-bar-inline { padding-bottom: 24rpx; border-bottom: 2rpx solid #f3f4f6; margin-bottom: 24rpx; } .filter-bar.hidden { display: none; } .filter-item { display: flex; align-items: center; gap: 4rpx; padding: 16rpx 8rpx; min-height: 60rpx; } .filter-item.active .filter-text { color: #9333ea; font-weight: 500; } .filter-text { font-size: 32rpx; color: #364153; } .filter-arrow { width: 32rpx; height: 32rpx; opacity: 0.6; } /* 吸顶占位 */ .sticky-placeholder { height: 0; } .sticky-placeholder.show { height: 180rpx; } /* 倾诉师列表 */ .counselor-list { display: flex; flex-direction: column; } .counselor-card { display: flex; padding: 16rpx 0; border-bottom: 2rpx solid #f3f4f6; position: relative; } .counselor-card:last-child { border-bottom: none; } /* 左侧头像区域 */ .counselor-avatar-section { display: flex; flex-direction: column; align-items: center; width: 120rpx; margin-right: 16rpx; flex-shrink: 0; } .avatar-wrap { width: 120rpx; height: 120rpx; border-radius: 50%; background: #e5e7eb; position: relative; display: flex; align-items: center; justify-content: center; } .avatar-placeholder { width: 100%; height: 100%; border-radius: 50%; display: flex; align-items: center; justify-content: center; } /* 真实头像图片样式 */ .avatar-image { width: 100%; height: 100%; border-radius: 50%; } .avatar-text { font-size: 40rpx; font-weight: 700; color: #fff; } .online-dot { position: absolute; bottom: 4rpx; right: 4rpx; width: 24rpx; height: 24rpx; background: #22c55e; border-radius: 50%; border: 4rpx solid #fff; box-shadow: 0 2rpx 4rpx rgba(0, 0, 0, 0.1); } /* 忙碌状态 - 橙色 */ .online-dot.busy { background: #f59e0b; } /* 状态文字 */ .status-text { font-size: 22rpx; margin-top: 8rpx; padding: 4rpx 12rpx; border-radius: 20rpx; text-align: center; } .status-text.online { color: #22c55e; background: rgba(34, 197, 94, 0.1); } .status-text.busy { color: #f59e0b; background: rgba(245, 158, 11, 0.1); } .status-text.offline { color: #9ca3af; background: rgba(156, 163, 175, 0.1); } .trial-btn { display: flex; align-items: center; gap: 8rpx; background: #eff6ff; border-radius: 100rpx; padding: 8rpx 16rpx; margin-top: 16rpx; } .play-icon { width: 0; height: 0; border-left: 10rpx solid #2b7fff; border-top: 6rpx solid transparent; border-bottom: 6rpx solid transparent; } .trial-text { font-size: 28rpx; color: #155dfc; } .location-row { display: inline-flex; align-items: center; gap: 4rpx; margin-top: 4rpx; float: right; } .location-icon { width: 24rpx; height: 24rpx; flex-shrink: 0; } .location-text { font-size: 26rpx; color: #6a7282; } /* 中间信息区域 */ .counselor-info { flex: 1; display: flex; flex-direction: column; gap: 6rpx; min-width: 0; padding-right: 136rpx; } .name-row { display: flex; align-items: center; gap: 16rpx; } .counselor-name { font-size: 40rpx; font-weight: 700; color: #101828; } .counselor-type { font-size: 28rpx; color: #6a7282; } .counselor-desc { font-size: 28rpx; color: #6a7282; line-height: 1.5; } .counselor-cert { font-size: 28rpx; color: #4a5565; } .counselor-quote { font-size: 28rpx; color: #009966; font-style: normal; line-height: 1.5; margin: 8rpx 0; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden; text-overflow: ellipsis; } .tags-row { display: flex; gap: 12rpx; flex-wrap: wrap; } .tag { background: #f9fafb; border: 2rpx solid #f3f4f6; border-radius: 16rpx; padding: 4rpx 16rpx; } .tag-text { font-size: 28rpx; color: #6a7282; } .stats-row { display: flex; gap: 16rpx; margin-top: 8rpx; flex-wrap: nowrap; align-items: center; } .stat-item { display: flex; align-items: center; gap: 4rpx; white-space: nowrap; } .stat-value { font-size: 28rpx; font-weight: 700; color: #4a5565; } .stat-label { font-size: 28rpx; color: #99a1af; } /* 右侧咨询按钮和地址 */ .counselor-action { position: absolute; top: 16rpx; right: 0; bottom: 16rpx; display: flex; flex-direction: column; align-items: center; justify-content: space-between; } .consult-btn { width: 120rpx; height: 120rpx; } .counselor-action .location-row { display: flex; align-items: center; gap: 4rpx; } .location-icon { width: 24rpx; height: 24rpx; flex-shrink: 0; } .location-text { font-size: 26rpx; color: #6a7282; } /* 底部占位 */ .bottom-placeholder { height: 240rpx; } /* 自定义底部导航栏 - 完全匹配Figma设计 */ .custom-tabbar { position: fixed; bottom: 0; left: 0; right: 0; height: 194rpx; background: #fff; display: flex; align-items: flex-start; justify-content: space-around; padding-top: 24rpx; z-index: 999; border-top: 2rpx solid #F3F4F6; } .tabbar-item { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12rpx; width: 150rpx; height: 120rpx; } .tabbar-icon { width: 68rpx; height: 68rpx; } .tabbar-text { font-family: Arial, sans-serif; font-size: 40rpx; font-weight: 700; color: #A58AA5; line-height: 1; } .tabbar-text.active { color: #B06AB3; } .message-icon-wrapper { position: relative; width: 68rpx; height: 68rpx; } .message-icon-wrapper .tabbar-icon { width: 68rpx; height: 68rpx; } .message-dot { position: absolute; top: -8rpx; right: -8rpx; width: 24rpx; height: 24rpx; background: #FB2C36; border: 2rpx solid #fff; border-radius: 50%; } /* ==================== 电话倾诉指南弹窗样式 ==================== */ /* 遮罩层 */ .guide-popup-mask { position: fixed; top: 0; left: 0; right: 0; bottom: 0; background: rgba(0, 0, 0, 0.5); z-index: 1000; display: flex; align-items: center; justify-content: center; } /* 弹窗容器 */ .guide-popup { width: 680rpx; background: #fff; border-radius: 48rpx; overflow: hidden; animation: popupIn 0.3s ease-out; box-shadow: 0 50rpx 100rpx -24rpx rgba(0, 0, 0, 0.25); } @keyframes popupIn { from { opacity: 0; transform: scale(0.9); } to { opacity: 1; transform: scale(1); } } /* 紫色渐变头部 */ .guide-header { background: linear-gradient(180deg, #b06ab3 0%, #c984cd 100%); padding: 40rpx 48rpx; display: flex; align-items: center; justify-content: space-between; } .guide-header-left { display: flex; align-items: center; gap: 24rpx; } .guide-phone-icon { width: 96rpx; height: 96rpx; background: rgba(255, 255, 255, 0.2); border-radius: 50%; display: flex; align-items: center; justify-content: center; } .phone-icon-img { width: 48rpx; height: 48rpx; } .guide-header-text { display: flex; flex-direction: column; gap: 4rpx; } .guide-title { font-size: 40rpx; font-weight: 700; color: #fff; line-height: 1.4; } .guide-subtitle { font-size: 28rpx; color: rgba(255, 255, 255, 0.8); line-height: 1.4; } .guide-close-btn { width: 64rpx; height: 64rpx; background: rgba(255, 255, 255, 0.2); border-radius: 50%; display: flex; align-items: center; justify-content: center; } .close-icon-img { width: 40rpx; height: 40rpx; } /* 步骤列表 */ .guide-steps { padding: 40rpx 48rpx 0; } .guide-step { display: flex; align-items: flex-start; margin-bottom: 40rpx; gap: 24rpx; } .guide-step:last-child { margin-bottom: 0; } .step-number { width: 64rpx; height: 64rpx; background: linear-gradient(180deg, #b06ab3 0%, #c984cd 100%); border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 28rpx; font-weight: 700; color: #fff; flex-shrink: 0; } .step-content { flex: 1; padding-top: 4rpx; } .step-title { display: block; font-size: 32rpx; font-weight: 700; color: #1e2939; margin-bottom: 12rpx; line-height: 1.5; } .step-desc { display: block; font-size: 28rpx; color: #4a5565; line-height: 1.625; } /* 温馨提示卡片 */ .guide-tips { margin: 40rpx 48rpx; padding: 34rpx; background: linear-gradient(180deg, #fffbeb 0%, #fff7ed 100%); border: 2rpx solid #fde68a; border-radius: 32rpx; display: flex; align-items: flex-start; gap: 28rpx; } .tips-icon-wrap { width: 40rpx; height: 40rpx; background: #fbbf24; border-radius: 50%; display: flex; align-items: center; justify-content: center; flex-shrink: 0; margin-top: 4rpx; } .tips-icon-text { font-size: 24rpx; font-weight: 700; color: #fff; } .tips-content { flex: 1; } .tips-title { display: block; font-size: 32rpx; font-weight: 700; color: #92400e; margin-bottom: 8rpx; line-height: 1.5; } .tips-text { display: block; font-size: 28rpx; color: #78350f; line-height: 1.625; } /* 确认按钮 */ .guide-btn-wrap { padding: 0 48rpx 40rpx; } .guide-confirm-btn { width: 100%; height: 120rpx; background: linear-gradient(180deg, #b06ab3 0%, #c984cd 100%); border-radius: 32rpx; font-size: 36rpx; font-weight: 700; color: #fff; display: flex; align-items: center; justify-content: center; border: none; box-shadow: 0 8rpx 12rpx -8rpx rgba(0, 0, 0, 0.1), 0 20rpx 30rpx -6rpx rgba(0, 0, 0, 0.1); } .guide-confirm-btn::after { border: none; }