.board { padding: 28rpx 32rpx 48rpx; } .banner { position: relative; height: 320rpx; border-radius: 28rpx; overflow: hidden; background: linear-gradient(180deg, #d5dbe3 0%, #8e98a6 100%); } .banner-media, .banner-shade { position: absolute; left: 0; top: 0; width: 100%; height: 100%; } .banner-shade { background: linear-gradient(180deg, rgba(0, 0, 0, 0) 45%, rgba(0, 0, 0, 0.28) 100%); } .badge { position: absolute; left: 24rpx; top: 24rpx; z-index: 2; height: 48rpx; padding: 0 20rpx; border-radius: 24rpx; background: rgba(55, 65, 81, 0.45); color: #ffffff; font-size: 24rpx; line-height: 48rpx; } .banner-title { position: absolute; left: 32rpx; right: 32rpx; bottom: 32rpx; z-index: 1; color: #ffffff; font-size: 40rpx; font-weight: 700; line-height: 1.35; } .card { margin-top: 24rpx; padding: 32rpx; background: #ffffff; border-radius: 28rpx; } .brand { display: block; color: #128a80; font-size: 36rpx; font-weight: 700; } .desc { display: block; margin-top: 16rpx; color: #6b7280; font-size: 28rpx; line-height: 1.65; } .info { padding: 8rpx 32rpx; } .row { display: flex; align-items: flex-start; justify-content: space-between; gap: 24rpx; padding: 28rpx 0; border-bottom: 1rpx dashed #e5e7eb; } .row.last { border-bottom: none; } .label { flex-shrink: 0; color: #9ca3af; font-size: 28rpx; } .value { flex: 1; color: #111827; font-size: 28rpx; text-align: right; line-height: 1.5; } .btn { height: 96rpx; margin-top: 24rpx; border-radius: 20rpx; display: flex; align-items: center; justify-content: center; color: #ffffff; font-size: 32rpx; font-weight: 600; } .btn-pressed { opacity: 0.85; } .green { background: #07c160; } .teal { background: #0d8b87; } .disabled { background: #cbd5e1; } .more { margin-top: 36rpx; padding: 8rpx 0; text-align: center; color: #9ca3af; font-size: 28rpx; }