/* 整体背景定位 */ .service-description-position { width: 750rpx; background: rgb(255, 255, 255); z-index: 999; position: relative; top: -31rpx; border-radius: 20rpx; box-shadow: 0 4rpx 12rpx rgba(0, 0, 0, 0.05); } .service-description-container { width: 720rpx; height: auto; background: #FFFFFF; margin-left: 15rpx; padding: 20rpx 0; .service-price-top { display: flex; align-items: baseline; margin-left: 20rpx; margin-bottom: 10rpx; .service-price-tag1 { font-family: Source Han Sans; font-weight: 500; font-size: 40rpx; font-variation-settings: "opsz" auto; color: #FA2922; } .service-price-tag2 { font-family: Source Han Sans; font-weight: 600; font-size: 60rpx; font-variation-settings: "opsz" auto; color: #FA2922; } .service-price-tag3 { font-family: Source Han Sans; font-weight: 500; font-size: 32rpx; font-variation-settings: "opsz" auto; color: #FA2922; } } .service-text { width: 694rpx; height: 36rpx; font-family: PingFang SC; font-size: 34rpx; font-weight: 600; line-height: 42rpx; letter-spacing: -0.02em; color: #141414; margin-left: 20rpx; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 694rpx; } } .service-description-bottom { background: #FBFBFB; margin-top: 30rpx; display: flex; justify-content: space-around; align-items: center; padding: 20rpx 0rpx; width: 100%; .service-item { display: flex; align-items: center; margin: 0 10rpx; } .service-description-bottom-img { width: 28rpx; height: 28rpx; margin-right: 8rpx; } .service-description-bottom-text { font-family: PingFang SC; font-size: 22rpx; font-weight: normal; line-height: 34rpx; letter-spacing: 0; color: #858585; white-space: nowrap; } } .volunteer-Introduction { width: 750rpx; height: auto; background-color: #fff; padding: 30rpx; box-sizing: border-box; .volunteer-Introduction-top { width: 100%; background: #FFF9ED; border-radius: 20rpx; border: 1rpx solid #FDEDD5; padding: 30rpx; box-sizing: border-box; position: relative; } .volunteer-main-content { display: flex; } .volunteer-image { width: 120rpx; height: 120rpx; border-radius: 50%; margin-right: 30rpx; } .volunteer-info { flex: 1; .name-row { display: flex; align-items: center; margin-bottom: 15rpx; .name { font-size: 32rpx; font-weight: bold; color: #333; margin-right: 20rpx; } .stat-item { display: flex; align-items: center; margin-right: 20rpx; background: rgba(203, 157, 114, 0.2); padding: 4rpx 12rpx; border-radius: 4rpx; image { width: 24rpx; height: 24rpx; margin-right: 6rpx; } text { font-size: 22rpx; color: #A17551; } } } .contact-row { display: flex; font-size: 26rpx; color: #999; text { margin-right: 20rpx; position: relative; &:not(:last-child):after { content: ""; position: absolute; right: -10rpx; top: 50%; transform: translateY(-50%); width: 1px; height: 16rpx; background-color: #ddd; } } } } .view-profile { display: flex; align-items: center; justify-content: flex-end; // margin-top: 20rpx; border-radius: 10rpx; background: #FFEED2; padding: 6rpx 12rpx; width: fit-content; margin-left: auto; text { font-size: 24rpx; color: #BE8962; } image { width: 24rpx; height: 24rpx; margin-left: 6rpx; } } .tags-container { display: flex; // margin-top: 20rpx; .tag { // width: 106rpx; // height: 30rpx; padding: 12rpx 24rpx; // background-color: #fff; border-radius: 11rpx; box-sizing: border-box; border: 1rpx solid #C4C3C3; font-size: 26rpx; color: #130F26; margin-right: 20rpx; } } .volunteer-H1 { width: auto; height: 32rpx; font-family: PingFang SC; font-size: 32rpx; font-weight: 600; line-height: 32rpx; letter-spacing: -0.04em; color: #141414; margin-top: 44rpx; margin-bottom: 20rpx; display: flex; align-items: center; } .volunteer-H1-text { width: 672rpx; height: 190rpx; font-family: PingFang SC; font-size: 30rpx; font-weight: normal; line-height: 38rpx; text-align: justify; letter-spacing: -0.02em; color: rgba(0, 0, 0, 0.5); } .certificate-more-container { display: flex; flex-direction: column; .certificate-more { display: flex; align-items: center; text { width: 101rpx; height: 32rpx; font-family: PingFang SC; font-size: 26rpx; font-weight: normal; line-height: 32rpx; text-align: right; letter-spacing: -0.04em; color: #7B7B7B; } .certificate-arrow-icon { width: 28rpx; height: 28rpx; margin-left: 6rpx; } } } } .comment-container { width: 750rpx; height: auto; background: #FFFFFF; margin-top: 20rpx; margin-bottom: 39rpx; .comment-top { display: flex; justify-content: space-between; align-items: center; .comment-top-H2 { width: 200rpx; height: 32rpx; font-family: PingFang SC; font-size: 32rpx; font-weight: 500; line-height: 32rpx; letter-spacing: -0.04em; color: #141414; margin-left: 37rpx; margin-top: 50rpx; } .comment-top-text { display: flex; align-items: center; margin-top: 50rpx; text { width: 139rpx; height: 32rpx; font-family: PingFang SC; font-size: 26rpx; font-weight: normal; line-height: 32rpx; text-align: right; letter-spacing: -0.04em; color: #7B7B7B; } .certificate-arrow-img { width: 24rpx; height: 24rpx; margin-right: 39rpx; } } } .comment-evaluate { width: 694rpx; height: 266rpx; border-radius: 20rpx; background: #F4F5F7; box-sizing: border-box; border: 1rpx solid #FDEDD5; margin-left: 28rpx; margin-right: 28rpx; margin-top: 30rpx; margin-bottom: 30rpx; .comment-user-title { display: flex; align-items: center; .comment-user-img1 { width: 80rpx; height: 80rpx; border-radius: 200rpx; margin-left: 36rpx; margin-top: 30rpx; } .user-rating { display: flex; flex-direction: column; margin-left: 24rpx; .user-name{ margin-top: 30rpx; } .rating-stars { display: flex; margin-top: 8rpx; } } } .comment-user-img2 { width: 30rpx; height: 30rpx; } .comment-evaluate-text { display: flex; justify-content: space-between; align-items: center; .comment-evaluate-text-text { width: 368rpx; height: 108rpx; font-family: PingFang SC; font-size: 26rpx; font-weight: normal; line-height: 36rpx; letter-spacing: -0.02em; color: rgba(20, 20, 20, 0.8); opacity: 0.9; margin-left: 36rpx; margin-top: -40rpx; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; text-overflow: ellipsis; } .comment-evaluate-img3 { width: 200rpx; height: 199rpx; margin-top: -40rpx; margin-right: 36rpx; } } } } .certificate-container { display: flex; flex-wrap: wrap; gap: 20rpx; margin-top: 20rpx; } .certificate-img { width: 48%; border-radius: 8rpx; box-shadow: 0 4rpx 12rpx rgba(0, 0, 0, 0.08); } /* 添加卡片样式 */ .card-container { display: flex; padding: 20rpx; margin: 10rpx; background-color: #fff; border-radius: 10rpx; box-shadow: 0 2rpx 10rpx rgba(0, 0, 0, 0.1); } .card-image { width: 120rpx; height: 120rpx; border-radius: 10rpx; margin-right: 20rpx; } .card-content { flex: 1; display: flex; flex-direction: column; justify-content: space-between; } .info-item, .Telephone, .date, .time { font-size: 26rpx; margin-bottom: 8rpx; } .box { height: 100vh; width: 100vw; position: fixed; top: 0; left: 0; z-index: 999999; background: red; } .card-container { display: flex; position: relative; padding: 20rpx; align-items: flex-start; background-color: #fff; border-radius: 12rpx; } /* 左侧图片 */ .card-image { width: 240rpx; height: 380rpx; border-radius: 12rpx; margin-right: 30rpx; flex-shrink: 0; } /* 中间信息区域 */ .card-info { flex: 1; padding-right: 100rpx; } .Telephone { white-space: nowrap; margin-bottom: 24rpx; font-size: 28rpx; line-height: 1.6; color: #333; } .info-item { margin-bottom: 24rpx; font-size: 28rpx; line-height: 1.6; color: #333; } /* 右上角评分 */ .card-rating { position: absolute; top: 20rpx; right: 20rpx; background-color: #f8f8f8; padding: 6rpx 16rpx; border-radius: 20rpx; font-size: 24rpx; color: #ff9900; font-weight: bold; } /* 固定在页面底部 */ .Wrap-btn { position: fixed; bottom: 0; width: 100%; background-color: white; padding: 40rpx 20rpx; box-shadow: -2rpx 5rpx rgba(0, 0, 0, 0.1); } .Wrapper { display: flex; align-items: center; gap: 10rpx; margin-top: 10rpx; } .Wrapper-img { width: 50rpx; height: 50rpx; margin-left: 10rpx; } .Wrapper-content { color: rgba(16, 16, 16, 1); font-size: 25rpx; font-family: PingFangSC-regular; line-height: 20rpx; } .Wrap-content1 { display: flex; justify-content: flex-start; align-items: center; margin-left: 10rpx; margin-top: 10rpx; } .Wrap-info { display: flex; justify-content: flex-start; margin-left: 10rpx; margin-top: 25rpx; } .Wrap-content3 { margin-top: 25rpx; } .Wrap-content4 { margin-top: 25rpx; } .Wrap-content5 { display: flex; justify-content: flex-start; margin-left: 10rpx; margin-top: 25rpx; } .Wrap-content6 { margin-top: 25rpx; } .Wrap-detils-btn { display: flex; justify-content: flex-end; align-items: center; margin-top: 25rpx; } .Wrap-Payment { padding: 40rpx 30rpx; background-color: #fff; border-radius: 16rpx; margin-bottom: 20rpx; } .payment-header { display: flex; justify-content: space-between; align-items: center; padding: 20rpx 0 30rpx; } .payment-title { font-size: 32rpx; font-weight: bold; color: #333; } .payment-amount { font-size: 40rpx; color: #ff4d4f; font-weight: bold; } .payment-option { display: flex; justify-content: space-between; align-items: center; padding: 30rpx 0; } .option-left { display: flex; align-items: center; } .payment-icon { width: 64rpx; height: 64rpx; margin-right: 24rpx; border-radius: 8rpx; } .option-text { font-size: 30rpx; font-weight: 500; color: #333; } .other-payment { padding: 30rpx 0; display: flex; align-items: center; justify-content: space-between; } .other-payment-text { color: #1890ff; font-size: 28rpx; } .terms-of-service { padding: 30rpx 0; font-size: 24rpx; color: #999; line-height: 1.6; background-color: #f9f9f9; padding: 20rpx; border-radius: 8rpx; } .Wrap-detils-btn { display: flex; justify-content: space-between; align-items: center; padding: 30rpx; background-color: #fff; border-top: 1px solid #f0f0f0; } .certificate { display: flex; flex-direction: column; } .certificate-img { margin-bottom: 24rpx; } /* 第二层弹框 */ .card-container { display: flex; flex-direction: row; align-items: flex-start; padding: 10px; } .card-image { width: 100px; height: 100px; border-radius: 8px; margin-right: 15px; object-fit: cover; } .card-content { flex: 1; display: flex; flex-direction: column; } .info-item, .Telephone, .date, .time { margin-bottom: 5px; font-size: 14px; color: #333; } .time span { margin-right: 8px; } .address-line { font-size: 14px; line-height: 20rpx; color: #333; display: block; margin-bottom: 30rpx; } /* 联系人信息容器 */ .contact-info { display: flex; gap: 20rpx; } /* 姓名样式 */ .contact-name { font-size: 12px; color: #999; line-height: 20rpx; } /* 电话样式 */ .contact-phone { font-size: 12px; color: #999; line-height: 20rpx; } /* 弹框滚动内容样式 */ .popup-scroll-content { height: calc(80vh - 120rpx); padding: 24rpx; padding-bottom: 30px; box-sizing: border-box; } /* 固定底部按钮样式 */ .popup-fixed-bottom { position: absolute; bottom: 0; left: 0; right: 0; width: 100%; background-color: white; padding: 20rpx; box-sizing: border-box; display: flex; justify-content: flex-end; align-items: center; box-shadow: 0 -2rpx 10rpx rgba(0, 0, 0, 0.1); z-index: 1; } /* 服务信息项样式 */ .service-info-item { display: flex; align-items: center; padding: 24rpx 0; border-bottom: 1px solid #f5f5f5; } .service-values { margin-left: 20rpx; } .service-label { width: 200rpx; font-size: 28rpx; color: #666; flex-shrink: 0; } .service-label1 { font-size: 28rpx; color: #666; flex-shrink: 0; } .service-value { font-size: 28rpx; color: #333; font-weight: 500; } .service-number-box { background-color: #f8f8f8; border-radius: 8rpx; } /* 服务周期样式 */ .service-period { padding: 24rpx 0; border-bottom: 1px solid #f5f5f5; } .date-picker-container { margin: 20rpx 0; padding: 12rpx; background-color: #f8f8f8; border-radius: 8rpx; } .calendar-component { margin-top: 20rpx; border: 1px solid #f0f0f0; border-radius: 8rpx; } /* 备注容器样式 */ .remark-container { padding: 24rpx 0; display: flex; flex-direction: column; } .remark-input { margin-top: 16rpx; background-color: #f8f8f8; border-radius: 8rpx; } /* 志愿者卡片样式 */ .volunteer-card { display: flex; position: relative; padding: 24rpx 0; align-items: flex-start; } .volunteer-image { width: 180rpx; height: 180rpx; border-radius: 12rpx; margin-right: 24rpx; flex-shrink: 0; object-fit: cover; box-shadow: 0 4rpx 12rpx rgba(0, 0, 0, 0.1); } .volunteer-info { flex: 1; display: flex; flex-direction: column; gap: 16rpx; } .info-row { display: flex; align-items: center; } .info-label { color: #666; font-size: 26rpx; margin-right: 8rpx; width: 140rpx; flex-shrink: 0; } .info-value { color: #333; font-size: 26rpx; font-weight: 500; } .volunteer-rating { position: absolute; top: 24rpx; right: 0; background-color: #fff8e6; padding: 8rpx 16rpx; border-radius: 20rpx; display: flex; align-items: center; border: 1px solid #ffebb7; } .rating-text { font-size: 28rpx; color: #ff9900; font-weight: bold; margin-right: 6rpx; } .rating-label { font-size: 24rpx; color: #ff9900; } /* 技能描述样式 */ .skill-description { padding: 16rpx 0; font-size: 28rpx; line-height: 1.6; color: #333; } /* 证书样式 */ .certificate { display: flex; flex-direction: column; gap: 20rpx; } .certificate-img { border-radius: 8rpx; box-shadow: 0 4rpx 12rpx rgba(0, 0, 0, 0.08); margin-bottom: 16rpx; } /* Address selection styles */ .address-display { padding: 16rpx; background-color: #f8f8f8; border-radius: 8rpx; margin-bottom: 16rpx; } .address-line { font-size: 28rpx; line-height: 40rpx; color: #333; display: block; margin-bottom: 12rpx; font-weight: 500; } .contact-info { display: flex; gap: 20rpx; } .contact-name, .contact-phone { font-size: 26rpx; color: #666; line-height: 36rpx; } .service-description-box { padding-bottom: 180rpx; } /* Create flex row for title and view more */ .certificate-more-container { .volunteer-H1 { width: 100%; display: flex; flex-direction: row; justify-content: space-between; align-items: center; &+.certificate-more { display: none; /* Hide the separate view more button since we'll include it inside the H1 */ } } }