
/* ==== hero2 BACKGROUND ==== */

.hero2 {
    background: linear-gradient(90deg, #0b6efd 0%, #074196 100%);
    padding: 80px 0 0px;
    color: #fff;
    position: relative;
    overflow: hidden;
}

@media (max-width: 1024px) {
    .hero2 {
        padding: 36px 0 0px;
    }
}

.hero2__decor1{
    position: absolute;
    z-index: 0;
    left: 0%;
    top: 0%;
}

.hero2__decor2{
    position: absolute;
    z-index: 0;
    right: 0%;
    top: 0%;
}

.hero2__decor3{ 
    position: absolute;
    z-index: 0;
    left: 37%;
    top: -8%;
}

.hero2__decor4{ 
    display: none;
}

@media (max-width: 1024px) {
.hero2__decor1{
    display: none;
}

.hero2__decor2{
    display: none;
}

.hero2__decor3{ 
    display: none;
}

.hero2__decor4{ 
    display: block;
    position: absolute;
    z-index: 0;
    right: 0%;
    bottom: 10%;
}
}

/* ==== CONTAINER ==== */

.hero2__content {
    display: flex;
    justify-content: space-between;    
    /*align-items: flex-end;*/
}

@media (max-width: 1024px) {
    .hero2__content {
        display: flex;
        justify-content: space-between;
        align-items: center;
        flex-direction: column;
        gap: 28px;
    }
}

/* ==== LEFT SIDE ==== */

.hero2__left {
    max-width: 480px;
    display: flex;
    flex-direction: column;
    gap: 80px;
}


@media (max-width: 1024px) {
    .hero2__left {
        max-width: 560px;
        display: flex;
        flex-direction: column;
        gap: 28px;
    }
}

.hero2__logo {
    width: 185px;
    margin-bottom: 25px;
}

.hero2__title {
    font: 700 50px/1.1 'Proxima Nova'Bold;
    margin-bottom: 20px;
}

.hero2__subtitle {
    font-weight: 700;
    font-size: 32px;
    line-height: 110%;
    color: #FFFFFF;
    position:relative;
    z-index:1;
}

@media (max-width: 567px) {
    .hero2__subtitle {
        font-size: 24px;
        line-height: 110%;
    }
}

.hero2__lower {
    display: flex;
    margin-top: 54px;
    justify-content: center;
    height: 67px;
    width: 100%;
    background: linear-gradient(90deg, #0853bf 0%, rgb(0 0 0 / 0%) 100%);

    align-items: center;
    position:relative;
    z-index:1;
}

@media (max-width: 567px) {
    .hero2__lower {
        display: none;
    }
}

.hero2__menu {
    display: flex;
    gap: 32px;
    z-index: 1;
}

.hero2__menu a {
    font: 400 20px 'Proxima Nova';
    color: #fff;
    text-decoration: none;
    opacity: 0.9;
}

.hero2__menu a:hover {
    opacity: 1;
}

/* ==== RIGHT SIDE CARD ==== */

/*.hero2__right {
    flex: 0 0 380px;
}*/

@media (max-width: 567px) {
    .hero2__right {
        flex: 0 0 0px;
    }
}

.hero2-card{
    position: relative;
}
.hero2-card img,
.hero3-card img{
    position: relative;
    z-index: 1;
}

/* Оранжевый стикер «Цены прошлого года» поверх монитора */
.hero2-sticker{
    position: absolute;
    top: -13%;
    left: -36%;
    z-index: 0;
    width: 220px;
    height: 220px;
    border-radius: 50%;
    background: #fb7a47;
    color: #2f3441;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    pointer-events: none;
}
.hero2-sticker__t1{
    text-align: center;
    font-size: 30px;
    line-height: 28px;
    font-weight: 800;
    margin-bottom: 16px;
    max-width: 150px;
    letter-spacing: -.01em;
}
.hero2-sticker__t2{
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    max-width: 150px;
}
.hero2-sticker__accent{
    font-size: 26px;
    line-height: 26px;
    font-weight: 800;
    letter-spacing: -.01em;
}
.hero2-sticker__sub{
    font-size: 15px;
    line-height: 16px;
    font-weight: 500;
    margin-top: 4px;
}
@media (max-width: 1200px){
    .hero2-sticker{
        transform: scale(.8);
        transform-origin: top left;
        left: -100px;
    }
}

.hero3__right,.hero2__right {
    position: relative;
    padding-top: 0;
}


.man_dl{
    font-size: 14px;
    line-height: 1em;
    font-weight: 600;
    color: #e5f2ff;
    width: 100%;
    max-width: 256px;
    text-align: right;
    position: absolute;
    bottom: 5px;
    left: 24px;
}
@media (max-width:1024px) {
.man_dl {
    max-width: 160px;
        font-size: 1.5vw;
        text-align: left;

}
}
@media (max-width:700px) {
.man_dl {
        font-size: 12px;
    bottom: 10px;
    left:0;
}
}
@media (max-width:400px) {
.man_dl {
        bottom: 11px;
}
}

.hero2-card-mob {
    display: none;
}

@media (max-width: 567px) {
    .hero2-card,
    .hero3-card {
        position: relative;
        max-width: 80%;
        margin: 40px auto;
        padding-left: 70px;
    }
    .hero2-sticker {
        left: -50px;
        top: -60px;
    }
}

@media (max-width: 479px) {
    .hero2-card,
    .hero3-card {
        max-width: 100%;
        padding-left: 30px;
        padding-top: 40px;
    }
    .hero2-sticker {
        left: -20px;
        top: -100px;
    }
}


.main_img_mob {
        display: none;
    }
@media (max-width: 567px) {
    .main_img_desc {
        display: none;
    }
    .main_img_mob {
        display: block;
    }
}










.hero3 {
    background: linear-gradient(90deg, #0b6efd 0%, #074196 100%);
    padding: 80px 0 0px;
    color: #fff;
    position: relative;
}

@media (max-width: 1024px) {
    .hero3 {
        padding: 36px 0 0px;
    }
}

.hero3__decor1{
    position: absolute;
    z-index: 0;
    left: 0%;
    top: 0%;
}

.hero3__decor2{
    position: absolute;
    z-index: 0;
    right: 0%;
    top: 0%;
}

.hero3__decor3{ 
    position: absolute;
    z-index: 0;
    left: 37%;
    top: -8%;
}

.hero3__decor4{ 
    display: none;
}

@media (max-width: 1024px) {
.hero3__decor1{
    display: none;
}

.hero3__decor2{
    display: none;
}

.hero3__decor3{ 
    display: none;
}

.hero3__decor4{ 
    display: block;
    position: absolute;
    z-index: 0;
    right: 0%;
    bottom: 10%;
}
}

/* ==== CONTAINER ==== */

.hero3__content {
    display: flex;
    justify-content: space-between;   
    align-items: flex-start;
}

@media (max-width: 1024px) {
    .hero3__content {
        display: flex;
        justify-content: space-between;
        align-items: center;
        flex-direction: column;
        gap: 28px;
    }
}

/* ==== LEFT SIDE ==== */

.hero3__left {
    max-width: 480px;
    display: flex;
    flex-direction: column;
    gap: 20px;
}


@media (max-width: 1024px) {
    .hero3__left {
        max-width: 560px;
        display: flex;
        flex-direction: column;
        gap: 28px;
    }
}


.hero3__title {
    margin-bottom: 0;
}

.hero3__title {
    font-weight: 700;
    font-size: 54px;
    line-height: 100%;
    color: #FFFFFF;
    position:relative;
    z-index:1;
}
.hero3__subtitle {
    color: #FFFFFF;
    font-size: 24px;
    position:relative;
    z-index:1;
}

@media (max-width: 567px) {
    .hero3__subtitle {
        font-size: 24px;
        line-height: 110%;
    }
}

.hero3__lower {
    display: flex;
    margin-top: 54px;
    justify-content: center;
    height: 67px;
    width: 100%;
    background: linear-gradient(90deg, #0853bf 0%, rgb(0 0 0 / 0%) 100%);

    align-items: center;
    position:relative;
    z-index:1;
}

@media (max-width: 567px) {
    .hero3__lower {
        display: none;
    }
.hero3__title {
    font-size:32px;
    line-height: 100%;
}
    .hero3__left {
        gap: 18px;
    }
    .tarif_biblioteka_hiden{display:none!important;}
    .tarif_biblioteka{width:100%;}
}
.hero3__menu {
    display: flex;
    gap: 32px;
    z-index: 1;
}

.hero3__menu a {
    font: 400 20px 'Proxima Nova';
    color: #fff;
    text-decoration: none;
    opacity: 0.9;
}

.hero3__menu a:hover {
    opacity: 1;
}

/* ==== RIGHT SIDE CARD ==== */

/*.hero3__right {
    flex: 0 0 380px;
}*/

@media (max-width: 567px) {
    .hero3__right {
        flex: 0 0 0px;
    }
}

.hero3-card{
    position: relative;
}


.hero3-card-mob {
    display: none;
}

@media (max-width: 567px) {
/*    .hero3-card {
        display: none;
    }

    .hero3-card-mob {
        padding-bottom: 35px;

        display: block;
    }*/
}

/* ============================================
   Промо-баннер «Месяц строителя» — в первом экране (hero2) и в секции тарифов (hero3)
   Фон-иллюстрация: images/promo_stroymonth.jpg
   Типографика внутри масштабируется от ширины баннера (cqw)
   ============================================ */
/* колонки должны уметь сжиматься: иначе широкий баннер не помещается
   в строку и вылезает за .container */
.hero2__left, .hero3__left,
.hero2__right, .hero3__right { min-width: 0; }
.hero2__right .promo,
.hero3__right .promo {
    position: relative;
    z-index: 1;
    width: 620px;
    max-width: 100%;
    aspect-ratio: 1.22 / 1;
    container-type: inline-size;
    border-radius: 14px;
    overflow: hidden;
    background: #FFFFFF;
    box-shadow: 0 22px 46px -20px rgba(3, 24, 60, .45);
}
/* иллюстрация прижата в правый нижний угол: её правый и нижний края совпадают
   с краями карточки, а верхний и левый — белые, поэтому стыка на белом фоне нет.
   В широком формате масштаб задаётся по высоте — картинка квадратная и заняла бы
   слишком много ширины, если тянуть её по горизонтали */
.hero2__right .promo::before,
.hero3__right .promo::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    background: url(../images/promo_stroymonth.jpg) right bottom / auto 100% no-repeat;
}
/* лёгкий скрим — страхует текст, если иллюстрация окажется контрастнее ожидаемого */
.hero2__right .promo::after,
.hero3__right .promo::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    background: linear-gradient(100deg,
        rgba(255,255,255,.6) 0%,
        rgba(255,255,255,.22) 40%,
        rgba(255,255,255,0) 62%);
}
.promo__inner {
    position: relative;
    z-index: 2;
    height: 100%;
    padding: 4.4cqw 4.6cqw 4.2cqw;
    display: flex;
    flex-direction: column;
    color: var(--text-color);
    line-height: 1.15;
}

/* заголовок */
.promo__head { margin-bottom: 2.4cqw; }
.promo__crossed {
    position: relative;
    display: inline-block;
    font-size: 3.6cqw;
    font-weight: 700;
    color: #9AA5B1;
    letter-spacing: -.01em;
}
.promo__crossed::after {
    content: "";
    position: absolute;
    left: -6%;
    right: -6%;
    top: 52%;
    height: .43cqw;
    min-height: 2px;
    background: #F1361D;
    transform: rotate(-5deg);
    border-radius: 2px;
}
.promo__title {
    display: block;
    margin-top: .5cqw;
    font-size: 7cqw;
    font-weight: 800;
    line-height: .92;
    letter-spacing: -.03em;
    text-transform: uppercase;
    color: var(--header-color);
}

/* скидка */
.promo__offer {
    display: flex;
    align-items: center;
    gap: 2.7cqw;
    margin-bottom: 2.8cqw;
}
.promo__badge {
    flex: 0 0 auto;
    width: 16.8cqw;
    height: 16.8cqw;
    border-radius: 50%;
    background: #F1361D;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.28);
    color: #fff;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    animation: promo_pulse 3.4s cubic-bezier(.4, 0, .6, 1) infinite;
    will-change: transform;
}
.promo__badge_label {
    font-size: 2.35cqw;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .06em;
    opacity: .92;
}
.promo__badge_value {
    font-size: 7cqw;
    font-weight: 800;
    line-height: .9;
    letter-spacing: -.04em;
}
.promo__offer_text {
    font-size: 3.45cqw;
    font-weight: 700;
    line-height: 1.12;
    letter-spacing: -.01em;
    color: var(--text-accent-color);
}

/* подарки — колонка сужена, чтобы не наезжать на каску в правом нижнем углу */
.promo__gifts { margin-bottom: 12px; max-width: 51%; }
.promo__gifts_title {
    display: block;
    margin-bottom: 1.6cqw;
    font-size: 2.75cqw;
    font-weight: 600;
    color: var(--text-light-color);
}
.promo__gifts_list {
    display: flex;
    flex-direction: column;
    gap: 1.4cqw;
    margin: 0;
    padding: 0;
    list-style: none;
}
.promo__gifts_list li {
    display: flex;
    align-items: flex-start;
    gap: 1.6cqw;
    font-size: 2.7cqw;
    font-weight: 500;
    line-height: 1.25;
}
.promo__gifts_list b {
    font-weight: 700;
    color: var(--text-accent-color);
}
.promo__ico {
    flex: 0 0 auto;
    width: 4.7cqw;
    height: auto;
    margin-top: .1cqw;
    color: var(--prime-color);
}

/* кнопка */
.promo__btn {
    position: relative;
    overflow: hidden;
    align-self: flex-start;
    flex: none;
    margin-top: 2.4cqw;
    padding: 2.2cqw 5.5cqw;
    border-radius: 4px;
    background: #F1361D;
    color: #fff;
    font-size: 3.15cqw;
    font-weight: 600;
    letter-spacing: -.02em;
    text-decoration: none;
    transition: all 0.3s;
}
.promo__btn:hover { background: #fe5a45; color: #fff; }

@keyframes promo_pulse {
    0%, 100% { transform: scale(1); }
    50% { transform: scale(1.035); }
}
@media (prefers-reduced-motion: reduce) {
    .promo__badge { animation: none; }
}

/* хиро схлопывается в колонку — карточка по центру.
   До 1200 баннер в строке слишком узкий для широкого формата — портретный вид */
@media (max-width: 1200px) {
    .hero2__right, .hero3__right { padding-top: 0; }
    .hero2__right .promo,
    .hero3__right .promo {
        width: 400px;
        margin: 0 auto;
        aspect-ratio: 1 / 1.14;
    }
    /* иллюстрация мельче — освобождает строку под текст */
    .hero2__right .promo::before,
    .hero3__right .promo::before { background-size: 55% auto; }
    /* на узком экране баннер снова портретный — типографика крупнее,
       чем в широком десктопном формате */
    .promo__inner { padding: 6cqw 6cqw 5.5cqw; }
    .promo__head { margin-bottom: 3.2cqw; }
    .promo__crossed { font-size: 4.6cqw; }
    .promo__crossed::after { height: .55cqw; }
    .promo__title { margin-top: .6cqw; font-size: 9cqw; }
    .promo__offer { gap: 3.4cqw; margin-bottom: 3.6cqw; }
    .promo__badge { width: 21.5cqw; height: 21.5cqw; }
    .promo__badge_label { font-size: 3cqw; }
    .promo__badge_value { font-size: 9cqw; }
    .promo__gifts_title { margin-bottom: 2cqw; }
    .promo__gifts_list { gap: 1.8cqw; }
    .promo__gifts_list li { gap: 2cqw; }
    .promo__btn { margin-top: 3.4cqw; padding: 2.8cqw 7cqw; }
    /* баннер узкий — поднимаем мелкий текст до читаемого кегля */
    .promo__gifts { margin-bottom: 20px; max-width: 72%; }
    .promo__gifts_title, .promo__gifts_list li { font-size: 4.1cqw; }
    .promo__ico { width: 5.2cqw; height: 5.2cqw; }
    .promo__offer_text { font-size: 5.2cqw; }
    .promo__btn { font-size: 4.7cqw; }
}
/* .hero2__right / .hero3__right на этой ширине схлопнуты в flex: 0 0 0 — возвращаем ширину */
@media (max-width: 567px) {
    .hero2__right, .hero3__right { flex: 0 1 auto; width: 100%; }
    /* карточка сузилась до ширины контейнера — добавляем высоты под текст */
    .hero2__right .promo,
    .hero3__right .promo { width: 340px; aspect-ratio: 1 / 1.22; }
    .promo__gifts { margin-bottom: 10px; max-width: 64%; }
    /* на узкой карточке иллюстрация в 55% терялась — увеличиваем,
       текстовая колонка взамен сужена, чтобы не наезжать на каску */
    .hero2__right .promo::before,
    .hero3__right .promo::before { background-size: 72% auto; }
    /* меню hero2__lower на этой ширине скрыто — без него карточка упирается в низ хиро */
    .hero2 { padding-bottom: 40px; }
}
