.contacts_bg {
    max-width: 32.5rem;
    padding: 5rem;
    background: rgba(3, 20, 42, 0.6);
    border-radius: 1rem;
    box-shadow: 0 0 2.5rem rgba(64, 243, 247, 0.08);
    border: 1px solid rgba(64, 243, 247, 0.23);
    margin: 0 auto 2.5rem auto;
    box-sizing: content-box;

    @media (max-width: 767px) {
        padding: 2rem 1rem;
    }

    label {
        color: #fff;
        line-height: 1.25;
        font-size: 1rem;
        margin-bottom: 0.625rem;
        display: inline-block;
    }

    label.custom-checkbox {
        margin-bottom: 0;
    }

    input,
    textarea {
        width: 100%;
        appearance: none;
        border: 1px solid #40f3f7;
        border-radius: 1rem;
        font-size: 0.875rem;
        color: #fff;
        padding: 1rem 1.625rem;
        background: rgba(0, 0, 0, 0.05);
    }

    textarea {
        resize: none;
    }

    .input-wrap {
        margin-bottom: 1rem;
        position: relative;
    }

    .input-wrap * {
        box-sizing: border-box;
    }

    input::placeholder,
    textarea::placeholder {
        color: rgba(255, 255, 255, 0.5);
    }

    input.error,
    textarea.error,
    .checkbox.error span::before,
    .checkbox.error input:not(:disabled):not(:checked)+span:hover::before {
        border-color: #ff6900 !important;
    }

    

    input[type="submit"]{
        padding: 1rem 1rem;
        border-radius: 1rem;
        display: block;
        background: #40f3f7;
        margin-top: 2.5rem;
        color: #0f1b32;
        text-align: center;
        font-size: 1.125rem;
        font-weight: 700;
    }

    input[type="submit"].disabled{
        opacity: .5;
    }

    .jq-selectbox {
        width: 100%;
    }

    .jq-selectbox__select {
        border-radius: 1rem !important;
        color: #fff;
        border: 1px solid #40f3f7 !important;
        background: rgba(0, 0, 0,  0.05) url(/img/arrow_bottom.png) no-repeat 95% 50% !important;
        margin: 0;
        width: 100%;
        height: auto;
    }

    .jq-selectbox__dropdown {
        border-radius: 1rem !important;
        color: #fff;
        border: 1px solid #40f3f7 !important;
        left: 0;
    }

    .iti {
        width: 100%;
        /* intl-tel-input сам выставляет корректные пути к картинкам из его CSS.
           Локальные /public/img/intl-tel-input/... в проекте могут отсутствовать,
           поэтому переопределения тут ломали отрисовку флагов. */
    }

    .iti--inline-dropdown .iti__dropdown-content {
        box-shadow: none;
        border: 1px solid #40f3f7;
        background: #223358;
        border-radius: 1rem;
    }

    .iti__country-name {
        color: #fff;
    }

    .iti__selected-country-primary {
        padding-left: 1.5rem;
    }

    .iti__country-list li {
        padding-left: 1.5rem;
    }

    .custom-checkbox span::before {
        margin-right: 1rem;
    }

    .acceptance-text {
        color: #a6bbd3;

        a {
            color: #fff;
            text-decoration: none;
        }
    }

    .input-wrap.checkbox .msg-error {
        display: none;
    }

    .registration-true {
        display: none;
    }

    .registration-true.show-msg {
        display: block;
    }

    .phone-wrapper .iti {
        height: 3.25rem;
    }

    .phone-wrapper .iti__country-container {
        height: 3.25rem;
    }

    /* Общий `input { width:100% }` ломает flex-разметку intl-tel-input (флаг + поле). */
    .phone-wrapper .iti__selected-flag {
        z-index: 1;
        position: relative;
        display: flex;
        align-items: center;
        height: 100%;
        padding: 0 6px 0 15px;
    }

    .phone-wrapper .iti input {
        flex: 1 1 0%;
        min-width: 0;
    }
}

.phone-wrapper .iti__selected-flag {
    z-index: 1;
    position: relative;
    display: flex;
    align-items: center;
    height: 100%;
    padding: 0 6px 0 15px;
}

.new-select {
    ul {
        border: 1px solid #40f3f7;
        padding: 5px 10px 20px 10px;
        border-radius: 15px;
        margin-top: -50px;
    }

    .new-select-default-field {
        border-radius: 15px !important;
        color: #fff;
        border: 1px solid #40f3f7 !important;
        background: rgb(0 0 0 / 5%) url('../img/arrow_bottom.png') no-repeat 95% 50% !important;
        margin: 0;
        width: 100%;
        height: auto;
        padding-left: 25px;
        font-size: 14px;
    }
}

.cont_left {
	width: 100%;
	max-width: 540px;

}

.cont_left .rbc {
	display: block;
	text-align: center;
	color:#a6bbd3;
	text-transform: uppercase;
	line-height: 22px;
	margin-bottom: 25px;
	width: 100%;

    @media (max-width: 767px) {
        margin-bottom: 1rem;
    }
}

#contact_form_subject {
    border-radius: 1rem !important;
    color: #fff;
    border: 1px solid #40f3f7 !important;
    background: rgba(0, 0, 0, 0.05) url(/img/arrow_bottom.png) no-repeat 95% 50% !important;
    margin: 0;
    width: 100%;
    height: auto;
    font-size: .875rem;
    color: #fff;
    padding: 1rem 1.625rem;
}

input, textarea {
    &:focus-visible {
        outline: none;
        border-color: #40f3f7;
    }
}