.shape-picker-popup {
    border-radius: 20rpx;

    .shape-picker-container {
        width: 642rpx;
        background-color: #fff;
        border-radius: 20rpx;
        box-shadow: 0 3rpx 4rpx rgba(0, 0, 0, 0.15);
        display: flex;
        flex-direction: column;
        padding: 32rpx 24rpx;
        box-sizing: border-box;
        align-items: center;

        .shape-picker-title {
            font-size: 32rpx;
            color: #141414;
            font-weight: bold;
            text-align: center;
        }

        .shape-options-wrapper {
            margin: 34rpx 0;
            width: 100%;
            height: 670rpx;
            overflow-y: auto;
        }

        .shape-options {
            display: grid;
            grid-template-columns: repeat(3, 160rpx);
            gap: 38rpx;
            width: 100%;
            justify-content: center;
            padding: 6rpx 0;

            .shape-option {
                position: relative;
                width: 160rpx;
                display: flex;
                flex-direction: column;
                align-items: center;
                transition: all 0.2s ease;
                padding: 4rpx;
                border-radius: 8rpx;
                border: 1rpx solid #F2F2F2;
                box-sizing: border-box;
                box-shadow: 0px 8px 12px rgba(184, 210, 188, 0.2);
                overflow: hidden;

                .shape-svg {
                    width: 140rpx;
                    height: 140rpx;
                }

                .shape-name {
                    font-size: 24rpx;
                    color: #141414;
                    text-align: center;
                    line-height: 40rpx;
                    height: 40rpx;
                    margin-bottom: 4rpx;
                }

                &.selected {
                    border: 1px solid #93d333;

                    .shape-name {
                        color: #93d333;
                    }
                }

                .img-shape-selected {
                    position: absolute;
                    bottom: -2rpx;
                    right: -2rpx;
                    width: 48rpx;
                    height: 48rpx;
                }

                &.checked-disabled {
                    border: 1px solid #c2c2c2;
                }

                .img-shape-checked-disabled {
                    position: absolute;
                    bottom: -2rpx;
                    right: -2rpx;
                    width: 48rpx;
                    height: 48rpx;
                }
            }
        }
    }
}

.btn-area {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 10rpx 24rpx;
}