.travel-detail { padding-bottom: 40rpx; background-color: #f5f7fa; } /* 顶部封面区域 */ .cover-section { position: relative; height: 400rpx; overflow: hidden; } .cover-image { width: 100%; height: 100%; } .cover-mask { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(to bottom, rgba(0,0,0,0.1), rgba(0,0,0,0.6)); } .cover-content { position: absolute; bottom: 40rpx; left: 0; width: 100%; padding: 0 40rpx; box-sizing: border-box; } .back-btn { position: absolute; top: -280rpx; left: 0; width: 80rpx; height: 80rpx; background-color: rgba(255,255,255,0.2); border-radius: 50%; display: flex; align-items: center; justify-content: center; } .back-icon { font-size: 48rpx; color: #ffffff; } .trip-title { font-size: 48rpx; font-weight: bold; color: #ffffff; margin-bottom: 16rpx; text-shadow: 0 2rpx 8rpx rgba(0,0,0,0.3); } .trip-subtitle { font-size: 28rpx; color: rgba(255,255,255,0.9); } /* 行程信息 */ .trip-info { margin: 30rpx; padding: 30rpx; background-color: #ffffff; border-radius: 20rpx; box-shadow: 0 4rpx 20rpx rgba(0,0,0,0.05); } .info-title { font-size: 32rpx; font-weight: bold; margin-bottom: 20rpx; color: #333; } .info-content { display: flex; flex-direction: column; } .info-item { display: flex; justify-content: space-between; padding: 16rpx 0; border-bottom: 1px solid #f0f0f0; } .info-item:last-child { border-bottom: none; } .info-label { color: #666; font-size: 28rpx; } .info-value { color: #333; font-size: 28rpx; font-weight: 500; } /* 景点列表 */ .spots-section { margin: 30rpx; padding: 30rpx; background-color: #ffffff; border-radius: 20rpx; box-shadow: 0 4rpx 20rpx rgba(0,0,0,0.05); } .section-title { font-size: 32rpx; font-weight: bold; margin-bottom: 20rpx; color: #333; } .spots-list { display: flex; flex-direction: column; } .spot-item { display: flex; align-items: center; padding: 20rpx 0; } .spot-index { width: 50rpx; height: 50rpx; background-color: #3e98ff; color: white; border-radius: 50%; display: flex; justify-content: center; align-items: center; font-size: 26rpx; margin-right: 20rpx; } .spot-info { flex: 1; } .spot-name { font-size: 30rpx; color: #333; font-weight: 500; margin-bottom: 6rpx; } .spot-address { font-size: 24rpx; color: #999; } /* 距离项样式 */ .distance-item { display: flex; flex-direction: column; align-items: center; padding: 10rpx 0; position: relative; } .distance-line { width: 2rpx; height: 40rpx; background-color: #ddd; } .distance-value { display: flex; align-items: center; background-color: #f5f7fa; padding: 6rpx 16rpx; border-radius: 100rpx; margin: 5rpx 0; } .distance-icon { color: #3e98ff; font-size: 24rpx; margin-right: 8rpx; } .distance-text { font-size: 24rpx; color: #666; } /* 按钮区域 */ .action-buttons { padding: 30rpx 30rpx 0; display: flex; gap: 20rpx; justify-content: space-between; } .edit-btn { background-color: #3e98ff; color: #ffffff; border-radius: 50rpx; font-size: 32rpx; padding: 20rpx 0; flex: 1; } .back-home-btn { background-color: #f0f0f0; color: #333; border-radius: 50rpx; font-size: 32rpx; padding: 20rpx 0; flex: 1; } /* 分享二维码按钮样式 */ .share-section { padding: 0 30rpx; margin-top: 20rpx; } .share-btn { background-color: #4caf50; color: #ffffff; border-radius: 50rpx; font-size: 32rpx; padding: 16rpx 0; width: 100%; display: flex; align-items: center; justify-content: center; box-shadow: 0 4rpx 10rpx rgba(76, 175, 80, 0.2); transition: all 0.3s ease; } .share-btn:active { transform: translateY(2rpx); } .share-icon { margin-right: 10rpx; font-size: 32rpx; } .share-text { font-size: 28rpx; } /* 删除行程按钮样式 */ .delete-section { padding: 20rpx 30rpx 30rpx; } .delete-btn { background-color: #ffffff; color: #ff4d4f; border: 1px solid #ff4d4f; border-radius: 50rpx; font-size: 32rpx; padding: 16rpx 0; width: 100%; display: flex; align-items: center; justify-content: center; margin-top: 20rpx; box-shadow: 0 4rpx 10rpx rgba(255, 77, 79, 0.1); transition: all 0.3s ease; } .delete-btn:active { background-color: #fff1f0; transform: translateY(2rpx); } .delete-icon { margin-right: 10rpx; font-size: 32rpx; } .delete-text { font-size: 28rpx; } /* 二维码弹窗样式 */ .qrcode-popup { position: fixed; top: 0; left: 0; right: 0; bottom: 0; width: 100%; height: 100%; background-color: rgba(0, 0, 0, 0.6); z-index: 9999; display: flex; align-items: center; justify-content: center; } .qrcode-container { width: 600rpx; background-color: #ffffff; border-radius: 20rpx; overflow: hidden; box-shadow: 0 4rpx 20rpx rgba(0, 0, 0, 0.2); transform: scale(1); } .qrcode-header { padding: 30rpx; display: flex; justify-content: space-between; align-items: center; border-bottom: 1rpx solid #f0f0f0; } .qrcode-title { font-size: 32rpx; font-weight: bold; color: #333; } .qrcode-close { display: flex; align-items: center; justify-content: center; width: 60rpx; height: 60rpx; font-size: 48rpx; color: #999; line-height: 1; border-radius: 50%; } .qrcode-close:active { background-color: #f5f5f5; } .qrcode-content { padding: 40rpx; display: flex; flex-direction: column; align-items: center; } .qrcode-image-wrap { width: 400rpx; height: 400rpx; display: flex; justify-content: center; align-items: center; margin-bottom: 20rpx; padding: 20rpx; border: 1px dashed #eee; border-radius: 8rpx; background-color: #fff; } .qrcode-image { width: 100%; height: 100%; } .qrcode-desc { font-size: 28rpx; color: #666; margin-top: 20rpx; } .qrcode-tips { font-size: 24rpx; color: #666; margin-top: 20rpx; display: flex; flex-direction: column; align-items: center; } .qrcode-tips text { margin: 4rpx 0; } .qrcode-footer { padding: 30rpx; border-top: 1rpx solid #f0f0f0; } .qrcode-save-btn { background-color: #3e98ff; color: #ffffff; border-radius: 50rpx; font-size: 32rpx; padding: 16rpx 0; width: 100%; display: flex; align-items: center; justify-content: center; } .qrcode-save-btn:active { opacity: 0.9; transform: translateY(2rpx); }