.container { width: 100%; align-items: stretch; padding: 0; box-sizing: border-box; background-color: #f5f5f5; } .tab-bar { display: flex; background: white; border-bottom: 1rpx solid #f0f0f0; } .tab-item { flex: 1; text-align: center; padding: 30rpx 0; font-size: 28rpx; color: #666; position: relative; transition: all 0.3s; } .tab-item.active { color: #007AFF; font-weight: bold; } .tab-item.active::after { content: ''; position: absolute; bottom: 0; left: 50%; transform: translateX(-50%); width: 60rpx; height: 6rpx; background: #007AFF; border-radius: 3rpx; } .tab-content { flex: 1; overflow-y: auto; } .search-section { padding: 20rpx; background: white; } .search-box { display: flex; align-items: center; background: #f8f8f8; border-radius: 50rpx; padding: 15rpx 25rpx; } .search-icon { width: 32rpx; height: 32rpx; margin-right: 15rpx; } .search-input { flex: 1; font-size: 28rpx; color: #333; } .hospital-list { padding: 20rpx; } .hospital-item { display: flex; background: white; border-radius: 20rpx; padding: 25rpx; margin-bottom: 20rpx; box-shadow: 0 2rpx 10rpx rgba(0, 0, 0, 0.05); transition: all 0.3s; } .hospital-item:active { transform: scale(0.98); box-shadow: 0 1rpx 5rpx rgba(0, 0, 0, 0.1); } .hospital-image { width: 160rpx; height: 120rpx; border-radius: 15rpx; margin-right: 20rpx; flex-shrink: 0; } .hospital-info { flex: 1; display: flex; flex-direction: column; justify-content: space-between; } .hospital-name { font-size: 28rpx; font-weight: bold; color: #333; margin-bottom: 8rpx; } .hospital-address { font-size: 24rpx; color: #999; margin-bottom: 10rpx; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .hospital-details { display: flex; gap: 20rpx; font-size: 22rpx; } .rating { color: #FF6B35; font-weight: bold; } .distance { color: #007AFF; } .case-count { color: #52c41a; } .price-comparison { padding: 20rpx; } .medicine-title { background: white; border-radius: 20rpx; padding: 25rpx; margin-bottom: 20rpx; font-size: 28rpx; font-weight: bold; color: #333; box-shadow: 0 2rpx 10rpx rgba(0, 0, 0, 0.05); } .price-list { background: white; border-radius: 20rpx; overflow: hidden; box-shadow: 0 2rpx 10rpx rgba(0, 0, 0, 0.05); } .price-item { display: flex; justify-content: space-between; align-items: center; padding: 25rpx; border-bottom: 1rpx solid #f0f0f0; transition: background 0.3s; } .price-item:last-child { border-bottom: none; } .price-item:active { background: #f8f8f8; } .price-item .hospital-info { display: flex; flex-direction: column; } .price-item .hospital-name { font-size: 28rpx; color: #333; margin-bottom: 8rpx; } .price { font-size: 32rpx; color: #FF6B35; font-weight: bold; } .select-btn { background: #007AFF; color: white; padding: 12rpx 30rpx; border-radius: 30rpx; font-size: 24rpx; } .hot-medicines { padding: 20rpx; } .section-title { font-size: 28rpx; font-weight: bold; color: #333; margin-bottom: 20rpx; padding-left: 10rpx; border-left: 6rpx solid #007AFF; } .medicine-grid { display: flex; flex-wrap: wrap; gap: 20rpx; } .medicine-grid .medicine-item { width: calc(50% - 10rpx); background: white; border-radius: 15rpx; padding: 20rpx; box-shadow: 0 2rpx 10rpx rgba(0, 0, 0, 0.05); display: flex; flex-direction: row; align-items: center; transition: all 0.3s; } .medicine-grid .medicine-item:active { transform: scale(0.98); background: #f8f8f8; } .medicine-grid .medicine-icon { width: 60rpx; height: 60rpx; margin-right: 15rpx; flex-shrink: 0; } .medicine-grid .medicine-info { flex: 1; display: flex; flex-direction: column; justify-content: center; } .medicine-grid .medicine-name { font-size: 26rpx; color: #333; margin-bottom: 8rpx; text-align: left; } .medicine-grid .medicine-price { font-size: 24rpx; color: #FF6B35; font-weight: bold; } .modal { position: fixed; top: 0; left: 0; right: 0; bottom: 0; background: rgba(0, 0, 0, 0.5); display: flex; align-items: center; justify-content: center; z-index: 1000; } .modal-content { background: white; border-radius: 20rpx; width: 90%; max-height: 80%; overflow: hidden; display: flex; flex-direction: column; } .modal-header { display: flex; justify-content: space-between; align-items: center; padding: 30rpx; border-bottom: 1rpx solid #f0f0f0; } .modal-title { font-size: 32rpx; font-weight: bold; color: #333; } .modal-close { font-size: 48rpx; color: #999; line-height: 1; padding: 0 10rpx; } .case-list { flex: 1; overflow-y: auto; padding: 20rpx; } .case-item { display: flex; justify-content: space-between; align-items: center; padding: 25rpx; background: #f8f8f8; border-radius: 15rpx; margin-bottom: 15rpx; transition: all 0.3s; } .case-item:active { background: #f0f0f0; } .case-info { flex: 1; display: flex; flex-direction: column; } .case-date { font-size: 22rpx; color: #999; margin-bottom: 8rpx; } .case-doctor { font-size: 26rpx; color: #333; margin-bottom: 8rpx; } .case-diagnosis { font-size: 24rpx; color: #FF6B35; } .case-arrow { font-size: 32rpx; color: #ccc; margin-left: 15rpx; } .modal-content .medicine-list { flex: 1; overflow-y: auto; padding: 20rpx; background: transparent; } .modal-content .medicine-item { display: flex; justify-content: space-between; align-items: center; padding: 25rpx; background: white; border-radius: 15rpx; margin-bottom: 15rpx; box-shadow: 0 2rpx 8rpx rgba(0, 0, 0, 0.05); } .modal-content .medicine-info { flex: 1; display: flex; flex-direction: column; } .modal-content .medicine-name { font-size: 28rpx; color: #333; margin-bottom: 8rpx; } .modal-content .medicine-price { font-size: 26rpx; color: #FF6B35; font-weight: bold; } .medicine-action { display: flex; align-items: center; } .quantity-control { display: flex; align-items: center; gap: 15rpx; } .quantity-control .btn { width: 50rpx; height: 50rpx; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 32rpx; font-weight: bold; } .quantity-control .minus { background: #f0f0f0; color: #666; } .quantity-control .plus { background: #007AFF; color: white; } .quantity { font-size: 28rpx; color: #333; min-width: 40rpx; text-align: center; } /* 送货地址样式 */ .address-section { padding: 20rpx 30rpx; background: white; border-top: 1rpx solid #f0f0f0; } .address-title { font-size: 28rpx; font-weight: bold; color: #333; margin-bottom: 20rpx; padding-left: 10rpx; border-left: 6rpx solid #007AFF; } .address-input-wrapper { display: flex; flex-direction: column; gap: 15rpx; } .address-input { width: 100%; padding: 20rpx; background: #f8f8f8; border-radius: 10rpx; font-size: 28rpx; color: #333; border: 1rpx solid #e8e8e8; } .address-input:focus { border-color: #007AFF; background: white; } .address-actions { display: flex; justify-content: flex-end; } .address-btn { font-size: 26rpx; color: #007AFF; padding: 10rpx 20rpx; border-radius: 20rpx; background: #e6f7ff; } .address-btn:active { background: #bae7ff; } .modal-footer { padding: 20rpx 30rpx; border-top: 1rpx solid #f0f0f0; background: white; } .total-price { font-size: 32rpx; font-weight: bold; color: #FF6B35; margin-bottom: 20rpx; text-align: right; } .action-buttons { display: flex; gap: 20rpx; } .action-buttons .btn { flex: 1; border-radius: 50rpx; padding: 25rpx 0; font-size: 28rpx; font-weight: bold; border: none; } .action-buttons .cancel { background: #f0f0f0; color: #666; } .action-buttons .confirm { background: #007AFF; color: white; } /* 比价确认信息样式 */ .price-confirm-info { padding: 20rpx 30rpx; background: #f8f8f8; border-radius: 10rpx; margin: 20rpx 30rpx; } .confirm-item { display: flex; justify-content: space-between; align-items: center; padding: 15rpx 0; border-bottom: 1rpx solid #e8e8e8; } .confirm-item:last-child { border-bottom: none; } .confirm-label { font-size: 26rpx; color: #666; font-weight: 500; } .confirm-value { font-size: 26rpx; color: #333; font-weight: bold; } .confirm-value.price { color: #FF6B35; font-size: 30rpx; }