.request-horizontal {
    margin: clamp(3.75rem, 1.691rem + 7.84vw, 8.75rem) 0;
    border-radius: 20px;
    background: var(--Brand-Sunset-gardient, linear-gradient(180deg, #3A18B5 0%, #3B47B7 50%, #8072FF 100%));
    ;
    padding: 40px 60px;
    text-align: center;
    color: var(--text-icon-primaryInverted, #F6F6F9)
}

.request-horizontal-study_page {
    background: var(--Brand-Warm, #FFE2C5);
    color: #1E1753;
}

.request__form {
    position: relative;
}

.request-horizontal .request__form {
    display: flex;
    gap: 32px;
    flex-direction: column;
    margin-top: 76px;
}

.request-horizontal .block__title,
.request-horizontal .block__subtitle {
    max-width: unset;
}

.form__block {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.form__inputs-block {
    display: flex;
    flex-direction: row;
    gap: 16px;
}

.form__inputs-block_vertical {
    flex-direction: column;
    gap: 20px;
}

.form__agreement-block {
    display: flex;
    gap: 12px;
}

.request__button {
    min-height: 52px;
    padding: 0 16px;
    gap: var(--SPx2, 8px);
    flex: 0 1 0;
    border: none;
    border-radius: var(--button-large, 18px);
    background-color: var(--Brand-Dark-blue, #1E1753);
    color: var(--text-icon-whitePrimaryConst, #FFF);
    text-align: center;
    font-family: var(--Font-family, "ALS Hauss VF");
    font-size: var(--Font-Size-action, 17px);
    font-style: normal;
    font-weight: 550;
    line-height: var(--Font-Line-height-action, 20px);
    cursor: pointer;
    transition: background-color 0.2s ease-in-out;
}

.request-horizontal .request__button {
    flex: 1 1;
}

.request__button:hover {
    background-color: #251B78;
}

.request__button_disabled {
    pointer-events: none;
    background-color: #403D4B;
    color: var(--text-icon-secondary, #8F8FA3);
}

.input__text {
    display: flex;
    min-height: 52px;
    padding: 0 16px;
    align-items: center;
    border-radius: var(--BRx5, 20px);
    border: 1px solid var(--input-stroke-default, rgba(255, 255, 255, 0.00));
    background: var(--input-bg-default, #F6F6F9);
    color: var(--Brand-Dark-blue, #1E1753);
    font-family: var(--Font-family, "ALS Hauss VF");
    font-size: var(--Font-Size-action, 17px);
    font-style: normal;
    font-weight: var(--Font-Font-Weight-regular, 450);
    line-height: var(--Font-Line-height-action, 20px);
    outline: none;
    width: 100%;
}

.input {
    position: relative;
    flex: 2 1;
}

.error {
    position: absolute;
    text-align: left;
    bottom: -30px;
    font-family: var(--Font-family, "ALS Hauss VF");
    font-size: 12px;
    color: red;
    display: none;
}

.error_visible {
    display: block;
}

.input__text_type_error {
    border: 1px solid red;
}


.input__text::placeholder {
    color: var(--text-icon-secondary, #8F8FA3);
}

.policy {
    text-align: left;
    color: var(--text-icon-primaryInverted, #F6F6F9);
    font-family: "ALS Hauss VF";
    font-size: var(--Font-Size-description, 13px);
    font-style: normal;
    font-weight: var(--Font-Font-Weight-regular, 450);
    line-height: var(--Font-Line-height-description, 17px);
}

.policy_jetBrains {
    color: var(--text-icon-primaryInverted, #F6F6F9);
    font-family: "JetBrains Mono";
    font-size: var(--Font-Size-action, 17px);
    font-style: normal;
    font-weight: var(--Font-Font-Weight-regular, 450);
    line-height: var(--Font-Line-height-action, 20px);
}

.policy_study {
    color: inherit;
}

.policy_ref {
    color: inherit;
    font-family: inherit;
    font-size: inherit;
    font-weight: inherit;
    text-decoration: underline;
}

.visually-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    white-space: nowrap;
}

.new-checkbox {
    cursor: pointer;
    display: block;
    inline-size: 20px;
    block-size: 20px;
    padding: 2px;
    border-radius: var(--b-rx-15, 6px);
    border: 2px solid var(--checkbox-bg-off-default, #E0E0EB);
    transition: background-image 0.2s ease-in-out;
}

.new-checkbox_study {
    border-radius: var(--b-rx-15, 6px);
    border: 2px solid var(--Brand-Blue, #3A18B5);
}

.input__text-checkbox_input:checked+.new-checkbox {
    background: var(--checkbox-bg-off-default, #E0E0EB);
}


.input__text-checkbox_input_study:checked+.new-checkbox_study {
    background-image: url('../assets/mark.svg');
    background-position: center;
    background-repeat: no-repeat;
    background-color: var(--Brand-Blue, #3A18B5);
    object-fit: contain;
}




input[type='checkbox']:checked+span:not(.new-checkbox_study) {
    background-image: url('../assets/checkmarkBold.svg');
    background-position: center;
    background-repeat: no-repeat;
    object-fit: contain;
}


.request-vertical {
    display: flex;
    flex-direction: column;
    border-radius: 24px;
    background: var(--Brand-Blue, #3A18B5);
    padding: 32px;
    flex: 1 0 50%;
    color: var(--text-icon-primaryInverted, #F6F6F9)
}

.request-vertical .request__form {
    height: 100%;
    display: flex;
    gap: 24px;
    flex-direction: column;
    margin-top: 80px;
    justify-content: space-between;
}

.request-vertical .block__title {
    font-size: var(--Font-Size-title1, 32px);
    line-height: var(--Font-Line-height-title1, 34px);
    font-weight: 450;
}


.form__agreement-container {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.request-vertical .policy {
    margin-top: auto;
}

.request-vertical .block__subtitle {
    margin-top: 16px;
}

@media (max-width:1024px) {
    .form__inputs-block {
        flex-direction: column;
    }

    .request-vertical .block__title,
    .request-vertical .block__subtitle {
        text-align: center;
    }

    .request-vertical .block__subtitle {
        margin-top: 20px;
    }

    .request-vertical .block__title {
        font-size: var(--Font-Size-title1, 34px);
        line-height: var(--Font-Line-height-title1, 38px);
        font-weight: 550;
    }

    .request-horizontal .request__button {
        margin-top: 8px;
    }
}

@media (max-width:768px) {
    .request-horizontal {
        padding: 32px 20px;
        margin: 60px 0;
    }



}

@media (max-width:480px) {
    .wrapper-banner {
        padding: 0 8px;
    }

    .request-horizontal .request__form,
    .request-vertical .request__form {
        margin-top: 40px;
        gap: 24px;
    }
}