/**index.wxss**/ page { height: 100vh; display: flex; flex-direction: column; background-color: var(--gray-1); /* padding-bottom: 200rpx !important; */ box-sizing: border-box !important; } .scrollarea { flex: 1; overflow-y: hidden; scroll-behavior: smooth; } /* 轮播图样式 */ .banner-swiper { width: 100%; height: 360rpx; border-radius: 0 0 24rpx 24rpx; overflow: hidden; box-shadow: var(--shadow-1); margin-bottom: 20rpx; } .banner-item { position: relative; width: 100%; height: 100%; overflow: hidden; } .banner-image { width: 100%; height: 100%; transition: transform 0.6s ease; } .banner-item:hover .banner-image { transform: scale(1.05); } .banner-title { position: absolute; bottom: 30rpx; left: 30rpx; color: #fff; font-size: var(--font-size-lg); font-weight: bold; text-shadow: 0 2px 8px rgba(0, 0, 0, 0.4); background: linear-gradient(90deg, rgba(0,0,0,0.6) 0%, rgba(0,0,0,0) 100%); padding: 10rpx 30rpx 10rpx 20rpx; border-radius: 0 var(--radius-large) var(--radius-large) 0; max-width: 80%; backdrop-filter: blur(4px); } /* 服务导航样式 */ .service-nav { display: flex; justify-content: space-between; padding: 30rpx; background-color: #fff; margin: 0 20rpx 20rpx; border-radius: var(--radius-default); box-shadow: var(--shadow-1); } .service-nav-item { display: flex; flex-direction: column; align-items: center; width: 25%; transition: transform 0.3s ease; } .service-nav-item:active { transform: scale(0.95); } .service-nav-icon { width: 100rpx; height: 100rpx; border-radius: 50%; display: flex; align-items: center; justify-content: center; margin-bottom: 16rpx; box-shadow: 0 4rpx 12rpx rgba(0, 0, 0, 0.1); transition: all 0.3s ease; } .service-nav-name { font-size: var(--font-size-base); color: var(--gray-10); transition: all 0.3s ease; } .service-nav-item:active .service-nav-icon { box-shadow: 0 2rpx 6rpx rgba(0, 0, 0, 0.1); } /* 通用区块样式 */ .section { margin: 0 20rpx 20rpx; background-color: #fff; padding: 30rpx; border-radius: var(--radius-default); box-shadow: var(--shadow-1); transition: var(--transition-base); } .section:active { transform: translateY(2rpx); box-shadow: var(--shadow-1); } .section-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 20rpx; } .section-title { font-size: var(--font-size-lg); font-weight: bold; color: var(--gray-10); position: relative; padding-left: 20rpx; } .section-title::before { content: ''; position: absolute; left: 0; top: 6rpx; width: 8rpx; height: 34rpx; background: var(--primary-gradient); border-radius: var(--radius-small); transition: height 0.3s ease; } .section:hover .section-title::before { height: 40rpx; } .section-more { display: flex; align-items: center; font-size: var(--font-size-base); color: var(--gray-8); transition: all 0.3s ease; } .section-more:active { color: var(--primary-color); transform: translateX(4rpx); } /* 服务卡片样式 */ .service-list { display: flex; flex-direction: column; } .service-card { display: flex; margin-bottom: 30rpx; padding-bottom: 30rpx; border-bottom: 1rpx solid var(--gray-2); transition: all 0.3s ease; position: relative; } .service-card:active { transform: translateX(6rpx); background-color: var(--gray-1); border-radius: var(--radius-default); } .service-card:last-child { margin-bottom: 0; padding-bottom: 0; border-bottom: none; } .service-image { width: 200rpx; height: 200rpx; border-radius: var(--radius-default); margin-right: 20rpx; box-shadow: var(--shadow-1); transition: all 0.3s ease; overflow: hidden; } .service-card:active .service-image { transform: scale(0.98); box-shadow: var(--shadow-1); } .service-content { flex: 1; display: flex; flex-direction: column; justify-content: space-between; } .service-name { font-size: var(--font-size-md); font-weight: 600; color: var(--gray-10); margin-bottom: 10rpx; transition: color 0.3s ease; } .service-card:active .service-name { color: var(--primary-color); } .service-desc { font-size: var(--font-size-base); color: var(--gray-8); margin-bottom: 20rpx; line-height: 1.5; } .service-footer { display: flex; justify-content: space-between; align-items: center; } .service-price { display: flex; align-items: baseline; } .price { font-size: var(--font-size-lg); font-weight: bold; color: var(--primary-color); margin-right: 10rpx; transition: all 0.3s ease; } .service-card:active .price { transform: scale(1.05); } .original-price { font-size: var(--font-size-sm); color: var(--gray-7); text-decoration: line-through; } .service-sales { font-size: var(--font-size-sm); color: var(--gray-7); background-color: var(--gray-2); padding: 4rpx 12rpx; border-radius: var(--radius-small); } /* 美容师卡片样式 */ .beautician-list { display: flex; flex-direction: column; } .beautician-card { display: flex; align-items: center; padding: 20rpx 0; border-bottom: 1rpx solid var(--gray-2); transition: all 0.3s ease; } .beautician-card:active { transform: translateX(6rpx); background-color: var(--gray-1); border-radius: var(--radius-default); } .beautician-card:last-child { border-bottom: none; } .beautician-avatar { width: 120rpx; height: 120rpx; border-radius: 50%; margin-right: 20rpx; box-shadow: 0 4rpx 12rpx rgba(0, 0, 0, 0.08); border: 3rpx solid #fff; transition: all 0.3s ease; } .beautician-card:active .beautician-avatar { transform: scale(0.95); box-shadow: 0 2rpx 6rpx rgba(0, 0, 0, 0.08); } .beautician-info { flex: 1; } .beautician-name { font-size: var(--font-size-md); font-weight: 600; color: var(--gray-10); margin-bottom: 6rpx; transition: color 0.3s ease; } .beautician-card:active .beautician-name { color: var(--primary-color); } .beautician-title { font-size: var(--font-size-base); color: var(--primary-color); margin-bottom: 6rpx; font-weight: 500; } .beautician-exp { font-size: var(--font-size-sm); color: var(--gray-7); background-color: var(--gray-2); display: inline-block; padding: 2rpx 12rpx; border-radius: var(--radius-small); } .beautician-btn { margin-left: 20rpx; transition: all 0.3s ease; } .beautician-card:active .beautician-btn { transform: scale(0.95); } /* 品牌介绍样式 */ .brand-intro { background-color: #fff; padding: 40rpx 30rpx; margin: 0 20rpx 30rpx; border-radius: var(--radius-default); box-shadow: var(--shadow-1); position: relative; overflow: hidden; } .brand-intro::before { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 6rpx; background: var(--primary-gradient); } .brand-title { font-size: var(--font-size-lg); font-weight: bold; color: var(--gray-10); margin-bottom: 20rpx; text-align: center; position: relative; display: inline-block; left: 50%; transform: translateX(-50%); } .brand-title::after { content: ''; position: absolute; bottom: -10rpx; left: 25%; width: 50%; height: 4rpx; background: var(--primary-gradient); border-radius: var(--radius-small); } .brand-desc { font-size: var(--font-size-base); color: var(--gray-9); line-height: 1.8; text-align: center; margin-bottom: 40rpx; } .brand-contact { border-top: 1rpx solid var(--gray-2); padding-top: 30rpx; display: flex; flex-direction: column; align-items: center; } .contact-item { display: flex; align-items: center; margin-bottom: 20rpx; font-size: var(--font-size-base); color: var(--gray-8); transition: all 0.3s ease; } .contact-item:active { transform: translateX(6rpx); color: var(--primary-color); } .contact-item text { margin-left: 10rpx; }