.specs-popup { width: 100vw; box-sizing: border-box; padding: 32rpx 32rpx calc(20rpx + env(safe-area-inset-bottom)) 32rpx; max-height: 80vh; display: flex; flex-direction: column; background-color: white; border-radius: 20rpx 20rpx 0 0; position: relative; } .popup-close { position: absolute; right: 30rpx; top: 30rpx; z-index: 9; color: #999999; } .popup-header { margin-bottom: 32rpx; } .price-section { margin-top: 24rpx; padding: 0 24rpx; display: flex; align-items: center; } .price-label { font-size: 28rpx; color: #666666; } .price-value { font-size: 36rpx; color: #fa4126; font-weight: bold; } .loading-container { padding: 80rpx 0; text-align: center; } .spec-selection { flex: 1; overflow-y: auto; -webkit-overflow-scrolling: touch; } .spec-group { margin-bottom: 32rpx; } .spec-group-title { font-size: 28rpx; color: #333333; margin-bottom: 20rpx; font-weight: 500; } .spec-options { display: flex; flex-wrap: wrap; gap: 20rpx; } .spec-option { min-width: 128rpx; height: 56rpx; line-height: 56rpx; padding: 0 24rpx; border-radius: 8rpx; background-color: #f5f5f5; border: 2rpx solid #f5f5f5; text-align: center; font-size: 26rpx; color: #333333; transition: all 0.3s; } .spec-option--active { background-color: rgba(250, 65, 38, 0.04); border-color: #fa4126; color: #fa4126; } .quantity-section { margin-top: 40rpx; padding-top: 32rpx; border-top: 1rpx solid #f5f5f5; display: flex; align-items: center; justify-content: space-between; } .quantity-label { font-size: 28rpx; color: #333333; font-weight: 500; } .bottom-btn { margin-top: 42rpx; position: relative; height: 80rpx; line-height: 80rpx; text-align: center; background-color: #fa4126; color: white; border-radius: 40rpx; font-size: 32rpx; font-weight: 500; } .bottom-btn--disabled { background-color: #dddddd; color: #999999; } .bottom-btn--active { opacity: 0.8; }