/* page-promo — акция «Идеальный дом — начало мечты!»
   Как на Tilda: белый фон, чёрный жирный заголовок, красные подзаголовки. */

.promo {
    padding-bottom: 0;
    background: #fff;
    color: #1a1a1a;
}

.promo__hero {
    padding: 120px 0 16px;
    text-align: center;
}

.promo__title {
    font-family: var(--font-sans);
    font-size: clamp(26px, 3.4vw, 40px);
    font-weight: 700;
    line-height: 1.2;
    color: #1a1a1a;
    max-width: 900px;
    margin: 0 auto 24px;
}

.promo__lead {
    max-width: 1100px;
    margin: 0 auto;
    font-size: 20px;
    line-height: 1.7;
    color: #1a1a1a;
    text-align: left;
}

.promo__body {
    padding: 16px 0 0;
}

.promo__body .container {
    max-width: 1100px;
}

.promo-list {
    margin-bottom: 40px;
}

.promo-form .lead-form__input {
    border: 1px solid rgb(0 0 0);
}

.promo-form .lead-form__submit {
    width: fit-content;
    padding: 18px 60px;
    background: #fff;
    color: black;
    border: 1px solid black;
    margin: 0 auto;
}

.promo-form .lead-form__submit:hover {
    background: black;
    color: #fff;
}

.promo-form .lead-form {
    padding: 28px 0 0;
}

/* Красные подзаголовки, как на оригинале */
.promo-list__title,
.promo-bonus__title,
.promo-terms__title,
.promo-form__title {
    font-family: var(--font-sans);
    font-size: 17px;
    font-weight: 700;
    color: #e02b20;
    margin: 0 0 14px;
}

.promo-list__items {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.promo-list__item {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    font-size: 19px;
    line-height: 1.55;
    color: #1a1a1a;
}

.promo-list__icon {
    flex: 0 0 auto;
    margin-top: 3px;
}

.promo-bonus {
    margin: 40px 0;
}

.promo-bonus__lead {
    font-size: 16px;
    line-height: 1.6;
    color: #1a1a1a;
    margin: 0 0 14px;
}

.promo-bonus__items {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding-left: 4px;
}

.promo-bonus__item {
    position: relative;
    padding-left: 20px;
    font-size: 16px;
    line-height: 1.55;
    color: #1a1a1a;
}

.promo-bonus__item::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.55em;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #1a1a1a;
}

.promo-terms {
    margin-bottom: 32px;
}

.promo-terms__items {
    display: flex;
    flex-direction: column;
    gap: 8px;
    list-style: disc;
    padding-left: 22px;
}

.promo-terms__item {
    font-size: 15px;
    line-height: 1.55;
    color: #1a1a1a;
}

.promo__closing {
    max-width: 1000px;
    text-align: center;
    font-weight: 700;
    margin: 0 auto;
    font-size: 20px;
    line-height: 1.6;
    color: #1a1a1a;
}

.promo-bonus__title2 {
    text-transform: uppercase;
    text-align: center;
    font-size: 22px;
    margin-bottom: 25px;
}

.promo-form {
    padding: 40px 0 16px;
    text-align: center;
    background: #fff;
}

.promo-form__text {
    max-width: 560px;
    margin: 0 auto 8px;
    font-size: 16px;
    line-height: 1.6;
    color: #1a1a1a;
}

@media (max-width: 1024px) {
    .promo__body .container {
        max-width: 900px;
    }

    .promo-form .lead-form__inner {
        max-width: 600px;
    }
}

@media (max-width: 768px) {
    .promo__hero {
        padding: 36px 0 12px;
    }

    .promo__body .container {
        max-width: 600px;
    }

    .promo__title {
        font-size: 36px;
    }

    .promo__hero {
        padding: 190px 0 12px;
    }

    .promo-bonus__lead,
    .promo-bonus__item,
    .promo-terms__item {
        font-size: 19px;
    }

    .promo-form .lead-form__submit {
        width: 100%;
    }
}

@media (max-width: 500px) {
    .promo__hero {
        padding: 100px 0 12px;
    }

    .promo__title {
        font-size: 30px;
    }

    .promo__body .container {
        max-width: 400px;
    }

    .promo-form .lead-form__inner {
        max-width: 400px;
    }

    @media (max-width: 400px) {
        .promo__body .container {
            max-width: 340px;
        }

        .promo-form .lead-form__inner {
            max-width: 340px;
        }
    }

    @media (max-width: 330px) {
        .promo__body .container {
            max-width: 290px;
        }

        .promo-form .lead-form__inner {
            max-width: 290px;
        }
    }