/* ===== ОСНОВНЫЕ СТИЛИ ===== */
.cstm_suppliers_partners .section_title {
    font-size: 28px;
    font-weight: 700;
}

/* Герой-блок */
.cstm_hero-block {
    align-items: center;
    background: url('images/block_1_4_bg.png') no-repeat 129px 67%/auto 91%;
    display: flex;
    min-height: 420px;
    padding: 0px;
    margin-top: -50px;
    margin-bottom: 50px;
}

.cstm_hero-content {
    flex: 1;
    max-width: 660px;
    padding: 0px 0;
    border-radius: 10px;
}

.cstm_hero-content h1 {
    color: #333;
    font-size: 32px;
    font-weight: 600;
    line-height: 1.2;
    margin-bottom: 20px;
}

.cstm_features {
    list-style: none;
    margin: 0 0 30px;
    padding: 0;
}

.cstm_hero-content .cstm_features {
    list-style: none;
    margin: 30px 0 50px;
    padding: 0;
}


.cstm_block_conditions__text1 .cstm_features {
    margin: 0;
}

.cstm_features li {
    align-items: center;
    color: #555;
    display: flex;
    font-size: 16px;
    margin-bottom: 10px;
}
.cstm_block_conditions__text1 .cstm_features li {
    font-size: 20px;
    margin-bottom: 20px;
}
.cstm_hero-content .cstm_features li {
    margin-bottom: 15px;
}
.cstm_block_conditions__text1 .cstm_features li:last-child,
.cstm_hero-content .cstm_features li:last-child
{
    margin-bottom: 0px;
}


.cstm_hero-content .cstm_features li,
ul.cstm_city-list li

{
    font-size: 20px;
}

.cstm_features li::before {
    background: center no-repeat;
    background-image: url('data:image/svg+xml;utf8,<svg width="31" height="31" viewBox="0 0 31 31" fill="none" xmlns="http://www.w3.org/2000/svg"><g filter="url(%23filter0_f_5530_489)"><circle cx="15.3672" cy="15.3672" r="10" fill="%23FF4246" fill-opacity="0.53"/></g><circle cx="15.3672" cy="15.3672" r="10" fill="%23FF4246" fill-opacity="0.4"/><circle cx="15.4666" cy="15.4627" r="6.06037" fill="%23F63E44"/><defs><filter id="filter0_f_5530_489" x="0.00117588" y="0.00117588" width="30.732" height="30.732" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend mode="normal" in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur stdDeviation="2.68301" result="effect1_foregroundBlur_5530_489"/></filter></defs></svg>');
    content: '';
    display: block;
    flex: 0 0 31px;
    height: 31px;
    margin-right: 10px;
    width: 31px;
}
.cstm_features.white li::before {
    background-image: url('data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2231%22%20height%3D%2231%22%20viewBox%3D%220%200%2031%2031%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20filter%3D%22url(%23filter0_f_5530_635)%22%3E%3Ccircle%20cx%3D%2215.3672%22%20cy%3D%2215.3672%22%20r%3D%2210%22%20fill%3D%22white%22%20fill-opacity%3D%220.53%22%2F%3E%3C%2Fg%3E%3Ccircle%20cx%3D%2215.3672%22%20cy%3D%2215.3672%22%20r%3D%2210%22%20fill%3D%22white%22%20fill-opacity%3D%220.4%22%2F%3E%3Ccircle%20cx%3D%2215.4666%22%20cy%3D%2215.4666%22%20r%3D%226.06037%22%20fill%3D%22white%22%2F%3E%3Cdefs%3E%3Cfilter%20id%3D%22filter0_f_5530_635%22%20x%3D%220.00117588%22%20y%3D%220.00117588%22%20width%3D%2230.732%22%20height%3D%2230.732%22%20filterUnits%3D%22userSpaceOnUse%22%20color-interpolation-filters%3D%22sRGB%22%3E%3CfeFlood%20flood-opacity%3D%220%22%20result%3D%22BackgroundImageFix%22%2F%3E%3CfeBlend%20mode%3D%22normal%22%20in%3D%22SourceGraphic%22%20in2%3D%22BackgroundImageFix%22%20result%3D%22shape%22%2F%3E%3CfeGaussianBlur%20stdDeviation%3D%222.68301%22%20result%3D%22effect1_foregroundBlur_5530_635%22%2F%3E%3C%2Ffilter%3E%3C%2Fdefs%3E%3C%2Fsvg%3E');
}
.cstm_features.white li{
    color: #ffffff;
}




.cstm_features .cstm_dot {
    background: #ff3b3b;
    border-radius: 50%;
    display: inline-block;
    height: 12px;
    margin-right: 10px;
    width: 12px;
}

.cstm_buttons {
    display: flex;
    gap: 15px;
}

.cstm_buttons .cstm_btn.btn.btn-width-250 {
    max-width: none;
    min-width: auto;
    width: 230px;
}

.cstm_btn-primary {
    background: #ff3b3b;
    color: white;
}

.cstm_btn-primary:hover {
    background: #e63333;
}

.cstm_btn-secondary {
    background: #333;
    color: white;
}

.cstm_btn-secondary:hover {
    background: #222;
}

.mobile_only {
    display: none !important;
}

/* Статистика */
.cstm_stats-flex-container {
    background: #f8f9fa;
    border-radius: 20px;
    display: flex;
    gap: 30px;
    margin: 30px 0 40px;
}

.cstm_stats-left-column {
    align-items: stretch;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 25px;
    width: 370px;
}

.cstm_stats-right-column {
    background: #fff center right no-repeat url("images/block_2_bg.png");
    border-radius: 20px;
    box-shadow: 0 0px 5px #00000033;
    display: flex;
    flex: 1;
    gap: 20px;
    padding: 25px;
}

.cstm_stats-right-left {
    flex: 1;
    padding: 10px 0px 20px 40px;
}

.cstm_stats-right-right {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 20px;
    padding: 0px 30px;
    width: 300px;
}

.cstm_stats-item {
    align-items: flex-start;
    border-radius: 20px;
    display: flex;
    flex-direction: column;
    flex: 0 0 100%;
    justify-content: center;
    padding: 48px 70px 48px 95px;
    width: 100%;
}

.cstm_stats-right-right .cstm_stats-item {
    flex: 0 0 240px;
    width: 240px;
    padding: 10px 10px 10px 40px;
    height: 133px;
}

.cstm_stats-item.bg-white {
    background-color: white;
}

.cstm_stats-item.glow_dark,
.glow_dark {
    box-shadow: 0 0px 5px #00000033;
}

.cstm_stats-item--highlighted {
    box-shadow: 0 0 12px #FF4246cc;
}

.cstm_stats-number {
    color: #383A3B;
    font-size: 60px;
    font-weight: 700;
    line-height: 1;
}

.cstm_stats-label {
    color: #383838;
    font-size: 20px;
    font-weight: 600;
    line-height: 1.2;
}

.cstm_city-columns {
    display: flex;
    gap: 110px;
    margin-top: 50px;
}

.cstm_city-list {
    color: #555;
    font-size: 14px;
    list-style: none;
    margin: 0;
    padding: 0;
}

.cstm_city-list li {
    align-items: center;
    display: flex;
    margin-bottom: 10px;
}
.cstm_city-list li:last-child {
    margin-bottom: 0px;
}

.cstm_block_3{
    max-width: 1260px;

    margin: 40px auto;
    text-align: center;

}
.cstm_block_3 h2{
    font-weight: 700;
    font-size: 28px;
    line-height: 1.2;
    margin: 20px 0;
}
.cstm_block_3 h2.font_weight_500{

    font-weight: 500;
}



.cstm_block_3 p{
    font-weight: 500;
    font-size: 20px;
    line-height: 1.2;
    margin: 10px 0;
}
.cstm_block_map {
    max-width: 1200px;
    margin: 10px auto;
}
.cstm_block_map img{
    max-width: 100%;
    height: auto;
    margin: 10px auto;
}
.cstm_block_catalog{
    display: flex;
    flex-wrap: wrap;
    gap: 40px 40px;
    max-width: 1400px;
    margin: 50px auto 60px;
}
.cstm_block_catalog_item{
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 0px;
    flex: 0 0 calc(33% - 25px);
    box-shadow: 0 0px 5px #0003;
    background-color: white;
    padding: 10px 10px 0px 10px;
    border-radius: 20px;
}
.cstm_block_catalog_item.stick_image_to_bottom{
    align-items: flex-end;
}
.cstm_block_catalog_title{
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    line-height: 1.1;
    font-weight: 700;
    padding: 10px 30px;
    min-height: 50px;
    margin: auto;
    max-width: 200px;
    text-align: center;
}
.cstm_block_catalog_image{
    flex: 0 0 100%;
    max-width: 100%;
    min-height: 145px;
    padding: 0px 10px 0px 10px;
    display: flex;
    align-items: center;
}
.stick_image_to_bottom .cstm_block_catalog_image{
    align-items: flex-end;
}
.cstm_block_catalog_image img{
    max-width: 100%;
    display: block;
    margin: 10px auto 10px;
}

.stick_image_to_bottom .cstm_block_catalog_image img{
    margin-bottom: 0px;
}




.cstm_align_center{
    display: flex;
    align-items: center;
    justify-content: center;
}
.cstm_block_conditions{
    display: flex;
    align-items: stretch;
    gap: 60px;
    margin: 60px 0 15px;
}
.cstm_block_conditions__left{
    flex: 0 0 570px;
}
.cstm_block_conditions__left img{
    max-width: 100%;
    display: block;
    margin: 30px auto;
}
.cstm_block_conditions__text1{
    padding: 30px;
    border-radius: 20px;
    background-color: var(--color-gray-darker2);
    color: #ffffff;
}
.cstm_block_conditions__text1 h2{
    font-weight: 700;
    font-size: 28px;
    margin: 0 0 15px;
}
.cstm_block_conditions__text2{
    margin: 40px 0;
    padding: 30px 20px 1px 30px;
    border-radius: 20px;
    background: #f4f4f4 center right no-repeat url("images/block_4_text2__bg.png");
}
.cstm_block_conditions__text2 h2{
    font-weight: 700;
    font-size: 28px;
    line-height: 1.2;
    margin: 0 0 15px;
    max-width: 530px;
}
.cstm_block_conditions__text2 .cstm_features li{
    font-size: 20px;
}

.cstm_block_form{
    display: flex;
    gap: 60px;
    align-items: stretch;
}
.cstm_block_form__left{
    flex: 0 0 calc(50% - 30px);
}
.cstm_block_form__right{
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 calc(50% - 30px);
}

.cstm_block_form h2{
    font-weight: 700;
    font-size: 28px;
    margin: 0 0 30px;
}
#button_fill_reqs_by_inn{
    height: 56px;
}

.cstm_block_form .inpf_button{
    margin: 20px 0;
}
.cstm_block_form .block_consent{
    margin: 20px 0;
}



.cstm_block_form a
{
    color: var(--color-blue2);
}

.cstm_block_form a:hover
{
    color: var(--color-blue-bright);
}
/* ===== АДАПТИВНОСТЬ (от desktop к mobile) ===== */

@media (max-width: 1400px) {
    .cstm_hero-block {
        align-items: center;
        display: flex;
        min-height: auto;
        margin-top: -30px;
        background: url('images/block_1_4_bg.png') no-repeat 100% 67%/auto 91%;
    }
    .cstm_suppliers_wrapper h2{
        font-size: calc(21px + 0.5vw);
        line-height: 1.1;
    }
    .cstm_block_conditions__left {
        flex: 0 0 calc(45% - 30px);
    }
    .cstm_block_conditions__right {
        flex: 0 0 calc(55% - 30px);
    }
    .cstm_city-columns {
        gap: 10%;
    }
}

@media (max-width: 1300px) {
    .cstm_block_conditions{
        gap: 20px;
    }
    .cstm_block_conditions__left {
        flex: 0 0 calc(50% - 10px);
    }
    .cstm_block_conditions__right {
        flex: 0 0 calc(50% - 10px);
    }
    .cstm_hero-block {
        align-items: center;
        display: flex;
        min-height: auto;
        padding: 10px 0px;
    }

    .cstm_buttons .cstm_btn.btn.btn-width-250 {
        font-size: 14px;
        height: 46px;
        line-height: 46px;
        padding: 0 30px;
        width: fit-content;
    }

    .cstm_hero-content h1 {
        font-size: calc(14px + 1vw);
        line-height: 1.1;
    }

    .cstm_stats-left-column {
        flex: 0 0 20%;
        width: 20%;
    }

    .cstm_stats-number {
        font-size: calc(20px + 2vw);
    }

    .cstm_stats-label {
        font-size: calc(14px + 0.56vw);
    }

    .cstm_stats-item {
        padding: 20px 20px 20px 40px;
    }

    .cstm_stats-right-left {
        flex: 1;
        padding: 20px 30px;
    }

    .cstm_stats-right-right {
        flex: 0 0 30%;
        padding: 20px 0;
        width: 30%;
    }

    .cstm_stats-right-right .cstm_stats-item {
        flex: 0 0 100%;
        width: 100%;
    }
}

@media (max-width: 1150px) {
    .cstm_hero-block {
        background: url('images/block_1_4_bg.png') no-repeat 100% 67%/auto 60%;
    }


    .cstm_stats-right-right .cstm_stats-item {
        padding: 10px 10px 10px 20px;
    }
    .cstm_buttons a.btn {
        font-size: 14px;
        height: 46px;
        line-height: 46px;
        padding: 0 15px;
        width: fit-content;
    }

    .cstm_hero-content {
        flex: 0 0 70%;
        max-width: none;
        padding: 30px 0px;
    }

    .cstm_hero-content h1 {
        font-size: calc(12px + 1vw);
        line-height: 1.1;
    }
    .cstm_block_catalog {
        gap: 20px;
    }
    .cstm_block_catalog_item {
        flex: 0 0 calc(33% - 11px);
    }
    .cstm_stats-item {
        padding: 20px 20px 20px 20px;
    }
    .cstm_stats-right-left {
        padding: 20px 0px;
    }
    .cstm_city-columns {
        gap: 30px;
    }
}

@media (max-width: 900px) {
    .cstm_hero-content .cstm_features li, ul.cstm_city-list li {
        font-size: calc(12px + 0.5vw);
        line-height: 1.2;
    }
    .cstm_city-columns {
        gap: 30px;
    }
    .cstm_block_form__left{
        flex: 0 0 100%;
    }
    .cstm_block_form__right{
        display: none;
    }
    .cstm_block_conditions__left {
        display: none;
    }
    .cstm_block_conditions__right {
        flex: 0 0 100%;
    }

    .cstm_hero-content {
        flex: 0 0 50%;
        max-width: none;
        padding: 0 15px;
    }

    .cstm_hero-content h1 {
        font-size: calc(1px + 2vw);
        line-height: 1.1;
    }
    .cstm_block_3 h2{
        font-weight: 600;
        font-size: calc(14px + 0.56vw);
    }
    .cstm_block_3 h2{
        font-weight: 700;
        font-size: calc(14px + 0.56vw);
    }
    .cstm_block_3 p,
    .cstm_block_conditions__text2 p,
    .cstm_block_conditions__text2 ul
    {
        line-height: 1.2;
        font-weight: 500;
        font-size: calc(12px + 0.56vw);
    }
    .cstm_block_catalog_item {
        flex: 0 0 calc(50% - 10px);
    }

}

@media (max-width: 800px) {
    .cstm_hero-block {
        margin-top: 0px;
    }
    .cstm_buttons a.btn {
        font-size: 14px;
        height: 46px;
        line-height: 46px;
        padding: 0 15px;
        width: fit-content;
    }

    .cstm_features li,
    .cstm_hero-content .cstm_features li,
    ul.cstm_city-list li,
    .cstm_block_conditions__text1 .cstm_features li
    {
        font-size: calc(12px + 0.56vw);
        line-height: 1.2;
    }




    .cstm_features li::before {
        background-size: contain;
        height: 20px;
        margin-right: 5px;
        width: 20px;
    }

    .cstm_hero-block {
        background: none;
        padding: 0;
        border-radius: 20px;
    }

    .cstm_hero-content {
        flex: 0 0 100%;
        max-width: none;
        padding: 15px 30px 30px;

    }


    .cstm_hero-content h1 {
        font-size: calc(16px + 0.56vw);
        line-height: 1.2;
    }

    .cstm_picture_mob {
        background: center/100% auto no-repeat url("images/block_1_bg_mob.png");
        border-radius: 20px;
        margin-bottom: 15px;
        min-height: 25vw;
        width: 100%;
    }
    .wrap_content .cstm_block_catalog_image img,
    .cstm_block_catalog_image img{
        max-height: 80px;
        height: auto;
        max-width: 150px;
    }
}

@media (max-width: 700px) {
    .cstm_block_3 {
        padding: 0 20px;
        margin: 10px auto;
    }

    .cstm_city-columns {
        flex: 0 0 auto;
        margin-top: 20px;
    }

    .cstm_city-list {
        width: 100%;
    }

    .cstm_city-list li {
        white-space: nowrap;
    }

    .cstm_features li::before {
        flex: 0 0 20px;
        margin-right: 5px;
    }

    .cstm_stats-flex-container {
        flex-direction: column;
    }

    .cstm_stats-item {
        flex: 0 0 calc(50% - 15px);
    }

    .cstm_stats-left-column,
    .cstm_stats-right-column {
        width: 100%;
    }

    .cstm_stats-right-column {
        flex-direction: column;
    }

    .cstm_stats-right-left {
        align-items: center;
        display: flex;
        flex-wrap: wrap;
        gap: 0 20px;
        justify-content: center;
        padding: 0px;
    }

    .cstm_stats-right-left .cstm_stats-label,
    .cstm_stats-right-left .cstm_stats-number {
        text-align: left;
    }

    .cstm_stats-right-left .cstm_stats-number {
        margin-left: 10px;
    }

    .cstm_stats-right-right {
        flex-direction: row;
        justify-content: space-between;
    }

    .mobile_only {
        display: block !important;
    }

    .pc_only {
        display: none !important;
    }
    .cstm_block_catalog_title {
        font-size: calc(10px + 1vw);
    }
}

.hidden_mobile{
    display: block;
}
.hidden_pc{
    display: none;
}


@media (max-width: 600px) {
    .hidden_mobile{
        display: none;
    }
    .hidden_pc{
        display: block;
    }

    .cstm_block_catalog_image {
        min-height: 71px;
    }
    .cstm_block_catalog_item.stick_image_to_bottom img{
        margin-bottom: -10px;
        max-height: 110px;
    }
    .cstm_block_conditions__text1 {
        padding: 30px 15px;
    }
    .cstm_stats-right-column {
        padding: 25px 5px 25px 10px;
    }
    .cstm_stats-right-column .cstm_city-list:nth-child(2) {
        margin-left: 10px;
    }


    .cstm_city-columns {
        gap: 0px;
    }
    .cstm_stats-right-left .cstm_stats-number {
        margin-left: 0px;
    }
    .cstm_stats-right-left {
        gap: 0 10px;
    }
    .cstm_hero-block {
        align-items: center;
        display: flex;
        min-height: auto;
        padding: 0;
        border-radius: 0px;
        box-shadow: none;
    }
    .cstm_picture_mob {
        border-radius: 0px;
        margin: 0 -20px 0px;
        min-height: 30vw;
        width: calc(100% + 40px);
    }
    .cstm_block_3 p
    {
        font-weight: 400;
    }
    .cstm_hero-content {
        padding: 15px 0px 0px;
    }
    .cstm_suppliers_wrapper h2 {
        font-size: calc(14px + 0.56vw);
        line-height: 1.2;
    }
    .cstm_block_3 h2{
        font-size: 16px;
        margin: 15px 0;
    }
    .cstm_block_3 h2.h2_catalog{
        font-size: 18px;
        margin: 15px 0;
    }
    .cstm_block_catalog_item {
        padding: 10px 10px;
    }
    .wrap_content .cstm_block_catalog_image img,
    .cstm_block_catalog_image img{
        max-height: 70px;
        height: auto;
        max-width: 125px;
    }
    .cstm_block_3 {
        padding: 0 5px;
        margin: 30px 0 0;
    }
    .cstm_block_catalog {
        margin: 15px auto 30px;
    }
    .cstm_block_conditions__text2 .cstm_features li,
    .cstm_block_conditions__text2 li{
        line-height: 1.2;
        font-weight: 500;
        font-size: calc(14px + 0.56vw);
        flex-wrap: wrap;
    }
    .cstm_block_conditions__text2 li a{
        white-space: nowrap;
        flex: 0 1 auto;
        font-size: calc(14px + 0.56vw);
    }
    .cstm_block_conditions__text2 li span{
        font-size: calc(10px + 0.56vw);
    }
    .cstm_block_conditions__text2 {
        padding: 30px 10px 10px 30px;
        margin-top: 20px;
        margin-bottom: 0;
    }
    .cstm_block_conditions {
        margin: 30px 0 30px;
    }
    .cstm_stats-item {
        padding: 10px 20px 10px 20px;
        align-items: center;
        border-radius: 8px;
    }
    .cstm_stats-number,
    .cstm_stats-label {
        text-align: center;
    }
    .cstm_stats-right-column {
        border-radius: 8px;
    }
}
@media (max-width: 500px) {
    .cstm_hero-content .cstm_features {
        margin: 15px 0;
    }

    .cstm_block_catalog_title {
        padding: 0px 10px;
        min-height: 30px;
        margin: auto;
        max-width: 100%;
    }
    .cstm_block_catalog_item {
        flex: 0 0 calc(50% - 15px);
    }
    .wrap_content .cstm_block_catalog_image img,
    .cstm_block_catalog_image img{
        max-width: 100px;
    }
    .cstm_suppliers_wrapper .cstm_block_form h2 {
        font-size: calc(14px + 1vw);
        line-height: 1.1;
        margin-bottom: 10px;
    }

}

@media (max-width: 415px) {
    .cstm_buttons {
        flex-direction: column;
        gap: 15px;
    }

    .cstm_buttons .cstm_btn.btn.btn-width-250 {
        font-size: 14px;
        height: 46px;
        line-height: 46px;
        padding: 0 15px;
        width: 100%;
    }

    .cstm_city-columns {
        flex: 0 0 99%;
        margin: 20px auto 0;
    }

    .cstm_city-list li {
        white-space: normal;
    }


}