.subscription-block {
    padding: 40px;
    background-color: var(--gray-95, #EDF0F7);
    background-image: url('/img/skins/mobile2024/subscription-letter_dark.svg');
    background-repeat: no-repeat;
    background-size: 130px 100px;
    background-position: right 40px top 50px;
    border-radius: 24px;
    box-sizing: border-box;
}

.subscription-block_theme_dark {
    color: var(--white, #FFFFFF);
    background-color: var(--blue-4, #3E99ED);
    background-image: url('/img/skins/mobile2024/subscription-letter.svg');
}

.subscription-block_theme_subscribed {
    color: var(--white, #FFFFFF);
    background-color: var(--blue-4, #3E99ED);
    background-image: url('/img/skins/ll2024/subscription-letter_subscribed.svg');
}

.subscription-block__title {
    max-width: 76%;
    margin: 0 0 32px;
    padding: 0;
    font-size: 32px;
    font-weight: 600;
    line-height: 40px;
    text-wrap: balance;
    color: var(--white, #FFFFFF);
}

.subscription-block_theme_subscribed .subscription-block__title {
    max-width: 72%;
}

.subscription-block__form-wrapper {
    display: flex;
    gap: 16px;
    margin-bottom: 22px;
}

.subscription-block__form-label {
    width: 100%;
}

.subscription-block_theme_dark .subscription-block__form-submit-button {
    color: #3B91E0;
    background: var(--white, #FFFFFF);
}

.subscription-block__form-submit-button[disabled="true"] {
    color: #989A9C;
    background: #E4E4E4;
    cursor: default;
}

.subscription-block__form-remark {
    margin: 0;
    padding: 0;
    font-size: 14px;
    font-weight: 400;
    line-height: 16px;
}

.subscription-block__form-link {
    text-decoration: underline;
    color: var(--blue-4, #3E99ED);
}

.subscription-block_theme_dark .subscription-block__form-link {
    color: var(--white, #FFFFFF);
}

.subscription-block__success-block {
    position: relative;
    margin: 0;
    padding: 0;
}

.subscription-block__success-block::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    width: 24px;
    height: 24px;
    margin: auto;
    background-image: url('/img/skins/mobile2024/icons/success-black_icon.svg');
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
}

.subscription-block_theme_dark .subscription-block__success-block::before {
    background-image: url('/img/skins/mobile2024/icons/success-white_icon.svg');
}

.subscription-block_theme_subscribed .subscription-block__success-block {
    padding-left: 44px;
}

.subscription-block_theme_subscribed .subscription-block__success-block::before {
    width: 32px;
    height: 32px;
    background-image: url('/img/skins/ll2024/icons/success-white_icon.svg');
}

.subscription-block__success-text {
    display: flex;
    align-items: center;
    min-height: 78px;
    margin: 0;
    padding: 0 0 0 32px;
    font-size: 20px;
    font-weight: 600;
    line-height: 24px;
}

.subscription-block_theme_subscribed .subscription-block__success-text {
    min-height: auto;
    padding-left: 44px;
}

.ll-form {
    position: relative;
}

.ll-form__label {
    position: relative;
    display: block;
}

.ll-form__input {
    display: block;
    width: 100%;
    padding: 7px 37px 7px 15px;
    font-family: inherit;
    font-size: 16px;
    font-weight: 400;
    line-height: 24px;
    color: var(--dark-main, #252626);
    border-radius: 24px;
    border: 1px solid var(--gray-84, #D0D2D6);
    box-shadow: 0 0 0 1px transparent;
    outline: transparent;
    box-sizing: border-box;
    transition: all .3s linear;
}

.ll-form__input_state_focus {
    border-color: var(--blue-4, #3E99ED);
    box-shadow: 0 0 0 1px #3E99ED;
}

.ll-form__input_invalid {
    border-color: #C10026;
    box-shadow: 0 0 0 1px #C10026;
}

.ll-form__input::placeholder {
    font-family: inherit;
    font-size: 16px;
    font-weight: 400;
    line-height: 24px;
    color: var(--gray-55, #88898C);
}

.ll-form__reset-button {
    z-index: 3;
    right: 22px;
    bottom: 0;
    margin: auto;
}

.ll-form__input:placeholder-shown ~ .ll-form__reset-button {
    display: none;
}

.ll-form__input-error {
    position: absolute;
    top: calc(100% + 3px);
    left: 16px;
    min-height: 14px;
    font-size: 12px;
    font-weight: 400;
    line-height: 14px;
    color: #C10026;
}

.ll-default-button {
    align-self: normal;
    padding: 8px 24px;
    font-size: 18px;
    font-weight: 600;
    line-height: 24px;
    border-radius: 24px;
}

@media (max-width: 640px) {
    .subscription-block {
        padding: 32px 16px;
        background-size: 25%;
        background-position: right top 32px;
        border-radius: 16px;
    }
    .subscription-block__title {
        font-size: 26px;
        line-height: 34px;
    }
    .subscription-block__success-text {
        font-size: 18px;
        font-weight: 400;
    }
}

@media (max-width: 460px) {
    .subscription-block {
        padding-top: 110px;
        background-size: 90px 70px;
        background-position: center top 32px;
    }
    .subscription-block__title {
        max-width: 100%;
        margin: 0 auto 32px;
        font-size: 24px;
        line-height: 30px;
        text-align: center;
    }
    .subscription-block_theme_subscribed .subscription-block__title {
        max-width: 100%;
    }
    .subscription-block__form-wrapper {
        flex-wrap: wrap;
    }
    .subscription-block__form-input {
        padding-right: 37px;
        font-size: 16px;
        line-height: 24px;
    }
    .subscription-block__form-input::placeholder {
        font-size: 16px;
        line-height: 24px;
    }
    .subscription-block__form-submit-button {
        width: 100%;
    }
    .subscription-block__form-remark {
        text-align: center;
    }
    .subscription-block__success-block::before {
        right: 0;
        bottom: unset;
    }
    .subscription-block_theme_subscribed .subscription-block__success-block {
        padding-left: 0;
    }
    .subscription-block_theme_subscribed .subscription-block__success-block::before {
        top: unset;
        bottom: -56px;
        width: 24px;
        height: 24px;
    }
    .subscription-block__success-text {
        min-height: unset;
        padding-left: 0;
        padding-top: 32px;
        text-align: center;
    }
    .subscription-block_theme_subscribed .subscription-block__success-text {
        padding-left: 0;
        justify-content: center;
    }
    .ll-form__input {
        padding-right: 31px;
        font-size: 14px;
        line-height: 16px;
    }
    .ll-form__input::placeholder {
        font-size: 14px;
        line-height: 16px;
    }
    .ll-form__reset-button {
        right: 16px;
    }
}
