.price-calc {
    .price-calc-form {
        margin-top: 60px;
        display: flex;
        flex-direction: column;
        gap: 20px;
        width: 100%;
        .items {
            width: 100%;
        }
        .field {
            .label {
                margin-bottom: 10px;
            }
            &.input {
                input {
                    padding: 10px 20px;
                    border: 1px solid var(--white-50);
                    display: flex;
                    z-index: 999;
                    border-radius: 0;
                    width: 100%;
                    background: var(--dark);
                    transition: .2s linear;
                    font-size: 16px;
                    &:focus-visible {
                        border: 1px solid var(--blue);
                    }
                }
            }
            &.select {
                position: relative;
                .output {
                    padding: 10px 20px;
                    border: 1px solid var(--white-50);
                    display: flex;
                    justify-content: space-between;
                    position: relative;
                    z-index: 999;
                    background: var(--dark);
                    cursor: pointer;
                    transition: .2s linear;
                    &::after {
                        content: '\e915';
                        font-family: icon;
                        font-size: 14px;
                        line-height: 19px;
                        width: 8px;
                        transform: rotate(90deg);
                        transition: .2s linear;
                    }
                    &.error {
                        border: 1px solid var(--danger-b);
                    }
                }
                .items {
                    display: flex;
                    flex-direction: column;
                    position: absolute;
                    left: 0;
                    width: 100%;
                    z-index: 99;
                    background: var(--dark-b);
                    opacity: 0;
                    visibility: hidden;
                    top: 60%;
                    transition: .2s linear;
                    p {
                        width: 100%;
                        padding: 10px 20px;
                        background: var(--dark-b);
                        position: relative;
                        cursor: pointer;
                        transition: .2s linear;
                        &::after {
                            content: '';
                            position: absolute;
                            width: 100%;
                            height: 1px;
                            left: 0;
                            bottom: 0;
                            background: var(--white-20);
                        }
                        &:nth-last-child {
                            &::after {
                                display: none;
                            }
                        }
                    }
                }
                &.active {
                    .output {
                        &::after {
                            transform: rotate(-90deg);
                        }
                    }
                    .items {
                        opacity: 1;
                        visibility: visible;
                        top: 100%;
                    }
                }
            }
            &.radio {
                .items {
                    display: flex;
                    gap: 20px;
                    flex-wrap: wrap;
                }
            }
            &.check {
                .items {
                    display: flex;
                    flex-direction: column;
                    gap: 4px;
                }
            }
        }
        > .btn {
            align-self: start;
            span {
                width: 220px;
            }
        }
        .price-result {
            display: flex;
            flex-direction: column;
            gap: 20px;
            p {
                span {
                    color: var(--blue);
                    font-size: 22px;
                    font-weight: 600;
                }
            }
            div {
                display: flex;
                gap: 20px;
                align-items: center;
                button, a {
                    font-size: 14px;
                    padding: 10px 20px;
                    width: 200px;
                }
                .req {
                    background: var(--blue);
                    color: var(--dark);
                }
                .phone {
                    background: var(--pink);
                    color: var(--dark);
                }
            }
        }
    }
}
@media screen and (max-width: 767px) {
    .price-calc {
        .price-calc-form {
            > .btn {
                align-self: start;
            }
            .price-result {
                div {
                    flex-direction: column;
                    gap: 10px;
                    align-items: start;
                }
            }
        }
    }
}
@media screen and (hover: hover) {
    .price-calc {
        .price-calc-form {
            .field {
                &.select {
                    .output {
                        &:hover {
                            background: var(--dark-b);
                        }
                    }
                    .items {
                        p {
                            &:hover {
                                background: var(--bright-gradient);
                            }
                        }
                    }
                }
            }
            .price-result {
                div {
                    button:hover, a:hover {
                        box-shadow: var(--shadow-main);
                    }
                }
            }
        }
    }
}