.cp_custom_fields select {
    border-right: 27px solid transparent;
    outline: 1px solid #d5d5d5;
    border-radius: 20px;
    padding: 0px 20px !important;
    height: 40px;
    background: #ffffff;
    width: 99%;
    margin: 10px 2px;
}

.cp_custom_fields select:focus,
.cp_custom_fields input[type=text]:focus,
.cp_custom_fields input[type=number]:focus {
    background-color: #ffffff;
    color: #000;
    border-color: #fff;
    outline: 1px solid #d5d5d5;
}

.cp_custom_fields label {
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    font-family: "Outfit", sans-serif;
}

.cp_custom_fields .cp_helper, .descr {
    text-transform: none;
    display: block;
    font-size: 12px;
    font-weight: 400;
    font-style: italic;
    margin-left: 0px;
    margin-top: -3px;

}

.cp_custom_fields input[type=text],
.cp_custom_fields input[type=number] {
    border-radius: 20px;
    outline: 1px solid #d5d5d5;
    padding: 8px 20px !important;
    margin: 10px 2px;
    background: #ffffff;
    border: none;
    display: block;
    width: 99%;
}

.cp_radio_product .wrap_labels,
.cp_input_checkbox_product .wrap_labels
{
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
}

.cp_radio_product .cp_product_radio_block,
.cp_input_checkbox_product .cp_product_radio_block {
    display: block;
    width: 24%;
    margin: 7px;
    overflow: hidden;
    border:  1px solid #d5d5d5;
    border-radius: 20px;
    padding: 15px;
    cursor: pointer;
}

.cp_radio_product .cp_prod_name, .cp_input_checkbox_product .cp_prod_name {
    font-size: 10px;
}

.cp_radio_custom, .cp_input_checkbox_custom {
    margin-bottom: 15px;
}

.cp_custom_radio_block input{
    margin-right:7px;
}

.cp_radio_custom label, .cp_input_checkbox_custom label{
    margin-right: 15px;
    display: inline-block;
    margin-top:5px;
}

.inline {
    display: inline-block !important;
    vertical-align: top;
}

.width-50 {
    width: 48% !important;
}

.mr-20 {
    margin-right: 20px !important;
}

.ml-20 {
    margin-left: 20px !important;
}

.mb-20 {
    margin-bottom: 20px !important;
}

.error {
    color: red;
    font-style: italic;
    font-size: 12px;
    margin: 5px 0 10px 0;
    display: none;
}

.cp-min-price-note {
    font-size: 13px;
    font-weight: 500;
    color: #868686;
    padding-left: 3px;
    padding-top: 2px;
}

.section_block {
    padding: 20px;
    background: #f9f9f9;
    margin-bottom: 20px;
    border: 1px solid #dedede;
    border-radius: 10px;
    margin: 20px 0;
}

.section_block h4 {
    margin-bottom: 10px !important;
    font-size: 18px;
}

.cp_field {
    margin-bottom: 10px;
}

.cp_required {
    color: red;
    display: inline-block;
    margin-left: 5px;
}

/**
 * Total summary
 */
.cp-total-summary .header h4 {
    font-size: 17px;
    color: #64254b;
    font-weight: 600;
    font-family: "Outfit", sans-serif;
    margin-bottom: 0;
}
.cp-total-summary .section-item {
    padding-top: 7px;
}

.cp-total-summary .section-price {
    font-weight: 600;
    font-family: "Outfit", sans-serif;
    letter-spacing: 0.5px;
}

.cp-total-summary .section-name {
    color: #323232;
    font-weight: 600;
    font-size: 14px;
    font-family: "Open Sans", sans-serif;
}

.cp-total-summary .section-name span,
.cp-total-summary .section-price span {
    display: block;
    font-weight: 500;
    line-height: 15px;
    font-size: 12px;
    padding: 0px;
    margin-top: 5px;
    color: #323232 !important;
}

.cp-total-summary .section-total {
    padding: 10px 0;
    border-top: 1px solid #ededed;
    margin: 10px 0;
}

.cp-total-summary .section-total .section-name {
    font-size: 22px;
    line-height: 30px;
    font-weight: 600;
}

.cp-total-summary .section-total .section-price {
    font-size: 22px;
    line-height: 30px;
    font-weight: 600;
    color: #d63494;
    text-align: right;
}

.cp-total-summary .header {
    padding-bottom: 7px;
    border-bottom: 2px solid #64254b;
    margin-bottom: 10px;
}

.cp-total-summary .sections-list .section-item, .cp-total-summary .sections-list .section-total {
    display: flex;
    justify-content: space-between;
}

.woocommerce-Price-currencySymbol {
    font-size: 14px;
}

/**
 * Spinner
 */

/* HTML: <div class="loader"></div> */
.loader_overlay {
    width: 100%;
    height: 100%;
    background-color: rgba(255, 255, 255, 0.5);
    text-align: center;
    vertical-align: center;
    position: absolute;
    z-index: 20;
}
.loader_cust {
    width: 50px;
    margin: 50px auto auto auto;
    aspect-ratio: 1;
    display: grid;
    border-radius: 50%;
    background:
            linear-gradient(0deg ,rgb(0 0 0/50%) 30%,#0000 0 70%,rgb(0 0 0/100%) 0) 50%/8% 100%,
            linear-gradient(90deg,rgb(0 0 0/25%) 30%,#0000 0 70%,rgb(0 0 0/75% ) 0) 50%/100% 8%;
    background-repeat: no-repeat;
    animation: l23 1s infinite steps(12);
}
.loader_cust::before,
.loader_cust::after {
    content: "";
    grid-area: 1/1;
    border-radius: 50%;
    background: inherit;
    opacity: 0.915;
    transform: rotate(30deg);
}
.loader_cust::after {
    opacity: 0.83;
    transform: rotate(60deg);
}
@keyframes l23 {
    100% {transform: rotate(1turn)}
}
/**
 * Mobile version
 */
@media (max-width: 768px) {
    .cp_radio_product .cp_product_radio_block {
        width: 100%;
        min-width:250px;
    }

    .width-50 {
        width: 100% !important;
    }

    .mr-20 {
        margin-right: 0 !important;
    }

    .ml-20 {
        margin-left: 0 !important;
    }
}

