/* 会员中心样式 */ ::-webkit-scrollbar { display: none !important; width: 0 !important; height: 0 !important; } .vip-page { display: flex; flex-direction: column; height: 100vh; background: #FCFCFC; overflow: hidden; } /* 已是VIP 页面整体 */ .vip-done { display: flex; flex-direction: column; align-items: center; height: 100vh; background: linear-gradient(135deg, #1a1a1a 0%, #2d2d2d 100%); position: relative; overflow: hidden; } /* 头部云光装饰 */ .vip-glow { position: absolute; top: -150rpx; left: 50%; transform: translateX(-50%); width: 1000rpx; height: 1000rpx; background: radial-gradient(circle, rgba(251, 191, 36, 0.15) 0%, rgba(0,0,0,0) 60%); z-index: 1; } /* 勋章区 */ .vip-done-hero { display: flex; flex-direction: column; align-items: center; margin-top: 120rpx; z-index: 2; } .vip-crown-wrap { width: 180rpx; height: 180rpx; background: linear-gradient(135deg, #FFDF8A 0%, #D99B22 100%); border-radius: 50%; border: 4rpx solid rgba(255, 255, 255, 0.2); display: flex; align-items: center; justify-content: center; position: relative; box-shadow: 0 16rpx 40rpx rgba(217, 155, 34, 0.4); margin-bottom: 60rpx; } .vip-crown { font-size: 80rpx; z-index: 10; } .vip-crown-ring { position: absolute; border-radius: 50%; border: 2rpx solid rgba(255, 223, 138, 0.4); } .ring-1 { width: 240rpx; height: 240rpx; animation: pulse 2s infinite; } .ring-2 { width: 300rpx; height: 300rpx; animation: pulse 2s infinite 1s; } @keyframes pulse { 0% { transform: scale(0.8); opacity: 1; } 100% { transform: scale(1.2); opacity: 0; } } .vip-done-title { font-size: 44rpx; font-weight: 800; color: #FFF; letter-spacing: 4rpx; margin-bottom: 24rpx; text-shadow: 0 4rpx 16rpx rgba(0,0,0,0.5); } .vip-expire-badge { background: rgba(255, 255, 255, 0.1); padding: 12rpx 32rpx; border-radius: 999rpx; border: 1rpx solid rgba(251, 191, 36, 0.3); } .vip-expire-text { font-size: 24rpx; color: #FCD34D; font-weight: 500; } /* 权益网格 */ .vip-done-benefits { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 24rpx 0; margin-top: 80rpx; padding: 0 50rpx; z-index: 2; width: 100%; box-sizing: border-box; } .vip-benefit-item { width: 48%; background: rgba(255, 255, 255, 0.06); border: 1rpx solid rgba(255, 255, 255, 0.1); border-radius: 24rpx; padding: 32rpx 24rpx; display: flex; align-items: center; box-sizing: border-box; } .vb-icon { font-size: 40rpx; margin-right: 16rpx; } .vb-name { font-size: 28rpx; color: #FFF; font-weight: 600; } /* 按钮操作区 */ .vip-done-actions { margin-top: auto; margin-bottom: 120rpx; z-index: 2; } .done-back-btn { background: linear-gradient(90deg, #FCD34D 0%, #F59E0B 100%); color: #5F370E; font-size: 32rpx; font-weight: 700; padding: 24rpx 120rpx; border-radius: 999rpx; box-shadow: 0 8rpx 32rpx rgba(245, 158, 11, 0.4); border: none; line-height: 1.5; } .done-back-btn::after { border: none; } /* 可滚动内容区 */ .vip-scroll { flex: 1; overflow: hidden; } /* 支付栏(flex 子元素,不用 position:fixed,真机更可靠) */ .pay-bar { flex-shrink: 0; background: #FFF; border-top: 1rpx solid #F5F5F5; padding: 20rpx 32rpx 48rpx; box-shadow: 0 -8rpx 32rpx rgba(0, 0, 0, 0.05); } /* 深色头部 */ .vip-hero { background: linear-gradient(to bottom, #1F2937, #111827); padding: 20rpx 40rpx 80rpx; border-radius: 0 0 64rpx 64rpx; box-shadow: 0 16rpx 40rpx rgba(0, 0, 0, 0.2); position: relative; } .back-btn { position: absolute; top: 0; left: 24rpx; width: 72rpx; height: 72rpx; display: flex; align-items: center; justify-content: center; z-index: 10; } .back-arrow { font-size: 48rpx; color: #FFF; font-weight: 300; } .vip-hero-title { display: block; font-size: 52rpx; font-weight: 800; color: #FFF; letter-spacing: -2rpx; margin-bottom: 12rpx; margin-top: 48rpx; } .vip-hero-desc { display: block; font-size: 28rpx; font-weight: 500; color: #FCD34D; } /* 权益卡片 */ .benefits-card-wrap { padding: 0 32rpx; margin-top: -40rpx; position: relative; z-index: 10; } .benefits-card { padding: 36rpx; box-shadow: 0 8rpx 32rpx rgba(0, 0, 0, 0.06); border: 1rpx solid rgba(251, 191, 36, 0.15); } .benefits-title { font-size: 28rpx; font-weight: 700; color: #333; display: flex; align-items: center; margin-bottom: 28rpx; } .benefit-crown { font-size: 36rpx; margin-right: 12rpx; } .benefits-grid { display: flex; flex-wrap: wrap; gap: 28rpx 16rpx; } .benefit-item { width: calc(50% - 8rpx); display: flex; align-items: flex-start; } .benefit-check { font-size: 28rpx; margin-right: 12rpx; flex-shrink: 0; margin-top: 4rpx; } .benefit-info { flex: 1; } .benefit-name { display: block; font-size: 24rpx; font-weight: 700; color: #333; line-height: 1.3; } .benefit-desc { display: block; font-size: 20rpx; color: #999; margin-top: 4rpx; } /* 套餐 */ .plan-section { padding: 32rpx 32rpx 0; } .plan-title { display: block; font-size: 28rpx; font-weight: 700; color: #333; margin-bottom: 24rpx; padding-left: 8rpx; } .plan-card { display: flex; align-items: center; justify-content: space-between; padding: 28rpx; border: 4rpx solid #F0F0F0; border-radius: 24rpx; background: #FFF; margin-bottom: 16rpx; position: relative; transition: all 0.2s; } .plan-card.selected { border-color: #FBBF24; background: rgba(251, 191, 36, 0.08); } .plan-badge { position: absolute; top: 0; right: 0; background: #FBBF24; color: #1F2937; font-size: 20rpx; font-weight: 700; padding: 6rpx 20rpx; border-radius: 0 20rpx 0 20rpx; } .plan-badge-hot { background: linear-gradient(135deg, #FF9D42, #FF7832); color: #FFF; } .plan-badge-save { background: #2ECC71; color: #FFF; border-radius: 0 0 0 20rpx; right: 0; top: 0; } .plan-info { flex: 1; } .plan-name { display: block; font-size: 28rpx; font-weight: 700; color: #333; margin-bottom: 6rpx; } .plan-desc { display: block; font-size: 22rpx; color: #999; } .plan-price { text-align: right; flex-shrink: 0; } .price-amount { font-size: 40rpx; font-weight: 800; color: #D97706; } .price-amount.single { font-size: 32rpx; color: #333; } .price-symbol { font-size: 24rpx; } .price-original { display: block; font-size: 20rpx; color: #CCC; text-decoration: line-through; } .pay-summary { display: flex; align-items: baseline; margin-bottom: 12rpx; padding: 0 8rpx; } .pay-label { font-size: 26rpx; font-weight: 700; color: #666; } .pay-amount { font-size: 36rpx; font-weight: 800; color: #D97706; margin-left: 4rpx; } .pay-method { display: flex; align-items: center; justify-content: flex-end; margin-bottom: 20rpx; padding: 0 8rpx; } .pay-method-text { font-size: 22rpx; color: #999; } .wechat-check { font-size: 18rpx; background: #07C160; color: #FFF; padding: 2rpx 8rpx; border-radius: 4rpx; margin-left: 8rpx; }