/* ==========================================================================
   Base & Reset Settings
   ========================================================================== */
.old_blog { 
    display: none !important; 
}

.nblog_full{}
.nblog_mob{display: none !important;}
@media(max-width:768px){
    .nblog_full{display: none !important;}
    .nblog_mob{display: block !important;}
}

.container:after, 
.cl:after {
    content: "";
    display: table;
    clear: both;
}

body > section.baner1_text .container { margin-top: 6px; }
body > section.nblog_quote2 .container { margin-top: 8px; }

/* Общие стили для заголовков и подзаголовков блога */
[id^="nblog_head_type"] h1,
.baner1_text h3,
#three_col h3 {
    font-family: "Times Newer Roman", "Times New Roman", serif;
    font-weight: 400;
    text-transform: uppercase;
}

[id^="nblog_head_type"] .dsc,
.nblog_content .text,
.baner1_text p,
.baner2_text .item .txt,
.baner3_text .text,
.nblog_quote2 .item .text,
#three_col p {
    font-family: HelveticaNeueCyr, sans-serif;
    font-weight: 400;
    text-transform: uppercase;
    color: #000;
}

/* ==========================================================================
   Header Types (1 - 5)
   ========================================================================== */

/* Type 1 */
#nblog_head_type1 { padding-bottom: 30px; }
#nblog_head_type1 .text { width: 50%; margin: 36px 0 0 64px; }
#nblog_head_type1 h1 { font-size: 60px; line-height: 63px; color: #000; }
#nblog_head_type1 img { margin-bottom: 15px; }
#nblog_head_type1 .dsc { font-size: 15px; line-height: 18px; color: #000; margin: 20px 0 8px; }

/* Type 2 */
#nblog_head_type2 .item {
    min-height: 780px;
    padding-top: 50px;
    position: relative;
    background: no-repeat center / cover;
}
#nblog_head_type2 .text { float: left; width: 50%; padding: 250px 0 50px 30px; }
#nblog_head_type2 .text h1 { font-size: 60px; line-height: 63px; color: #000; margin-top: 0; }
#nblog_head_type2 .text .dsc { font-size: 15px; line-height: 18px; color: #000; margin-bottom: 15px; }
#nblog_head_type2 .img { display: none; }

/* Type 3 */
#nblog_head_type3 .items .item { min-height: 950px; width: 50%; }
#nblog_head_type3 .items .right { background: #000; color: #fff; position: relative; float: right; }
#nblog_head_type3 .items .left { float: left; background: no-repeat center / cover; }
#nblog_head_type3 .items .right .text { position: absolute; bottom: 0; left: 0; width: 100%; padding: 30px 55px; }
#nblog_head_type3 .text h1 { font-size: 60px; line-height: 38px; color: #fff; padding-bottom: 20px;}
#nblog_head_type3 .text .dsc { font-size: 15px; line-height: 18px; color: #fff; }

/* Type 4 */
#nblog_head_type4 { padding: 0 0 100px; }
#nblog_head_type4 .breadcrumb { margin-bottom: 75px; }
#nblog_head_type4 .text h1 { font-style: italic; font-size: 48px; line-height: 110%; text-align: center; margin-top: 0; }
#nblog_head_type4 .text .dsc { font-size: 13px; line-height: 110%; text-align: center; }

/* Type 5 */
#nblog_head_type5 .items { display: grid; grid-template-columns: repeat(2, 1fr); align-items: stretch; gap: 5px; }
#nblog_head_type5 .item.img { display: flex; }
#nblog_head_type5 .item.img img { width: 100%; height: 100%; object-fit: cover; display: block; }
#nblog_head_type5 .item.text { display: flex; flex-direction: column; justify-content: center; padding: 10px; }
#nblog_head_type5 .item.text h1 { font-size: 20px; line-height: 110%; color: #EE0812; margin: 0; font-weight: 550; }
#nblog_head_type5 .item.text .dsc { font-size: 20px; line-height: 110%; color: #000; }

/* ==========================================================================
   Content Blocks & Banners
   ========================================================================== */

/* Nblog Content */
.nblog_content { padding: 130px 0; }
.nblog_content .text { width: 540px; margin: 0 auto; font-size: 20px; line-height: 120%; color: #000; }
.nblog_content .text h3 { font-size: 20px; line-height: 120%; border-bottom: 1px solid #000; color: #000; font-weight: 550; }

/* Images Grids */
.four_img .item img { width: 100%; }
.four_img2 .items { display: grid; grid-template-columns: repeat(2, 1fr); gap: 5px; padding: 5px 0; }
.four_img2 .item img { width: 100%; height: auto; display: block; }

/* Banner 1 */
.baner1_text .item { position: relative; background-color: #f8f7f5; }
.baner1_text .item img { float: right; height: 780px; }
.baner1_text .text { position: absolute; width: 40%; text-align: center; bottom: 37%; left: 50px; }
.baner1_text .text h3 { font-size: 48px; line-height: 110%; color: #000; margin-bottom: 34px; text-align: center; }
.baner1_text .text p { font-size: 15px; line-height: 18px; color: #000; margin-top: 18px; text-align: center; }

/* Banner 2 */
.baner2_text .items { display: grid; grid-template-columns: repeat(2, 1fr); gap: 5px; padding: 5px 0; }
.baner2_text .item { display: flex; flex-direction: column; }
.baner2_text .item .img img { width: 100%; height: auto; display: block; }
.baner2_text .item .txt { padding: 34px 0; font-size: 18px; line-height: 110%; }
.baner2_text .item:last-child { text-align: right; }

/* Banner 3 */
.baner3_text .item { width: 50%; float: left; }
.baner3_text .text { padding: 20px 100px; font-size: 20px; line-height: 120%; color: #000;}
.baner3_text .text h3 { font-size: 20px; line-height: 120%; color: #000; border-bottom: 2px solid #000;}

/* Quotes */
.nblog_quote .item { background: #000; padding: 50px 0; margin: 10px 0; }
.nblog_quote .text { text-align: center; width: 65%; margin: 0 auto; font-family: "Times New Roman", serif; font-size: 30px; line-height: 110%; color: #000; }
.nblog_quote .text:before {
    content: "";
    display: block;
    width: 60px;
    height: 32px;
    margin: 0 auto 50px;
    margin-top: 20px;
    background: url(/image/qt.svg) no-repeat center / contain;
}

.nblog_quote2 { position: relative; }
.nblog_quote2 .item { width: 50%; float: left; position: relative; z-index: 1; padding: 226px 80px; }
.nblog_quote2 .items .item:first-child { background: #000; color: #fff !important; }
.nblog_quote2 .items .item:first-child * { color: #fff; }
.nblog_quote2 .items .item:first-child:after {
    content: "";
    display: block;
    position: absolute;
    z-index: 1;
    width: 44px;
    height: 50px;
    left: 85px;
    top: 145px;
    background: url(/image/qt2.svg) no-repeat center / contain;
}
.nblog_quote2 .items .item:last-child * { color: #000; margin-bottom: 42px; }
.nblog_quote2 .item .text { font-size: 15px; line-height: 18px; }
.nblog_quote2 .item h3 { font-family: "Times Newer Roman", serif; font-size: 48px; line-height: 93%; margin: 40px 0 10px; }

/* Misc Blocks */
#text_img { margin-bottom: 24px; }
#text_img .item { width: 50%; float: left; }
#text_img .text .txt { width: 345px; max-width: 100%; margin: 0 auto; padding: 125px 0; font-size: 15px; line-height: 18px; color: #000; }
#text_img .text .txt h3 { margin-top: 0; font-size: 32px; font-weight: 500; margin-bottom: 25px; font-family: sans-serif; text-transform: none; color: #000; }

.texts { margin-bottom: 110px; line-height: 23px; }

#three_col { padding: 20px 0; }
#three_col .item { width: 33.333%; float: left; padding: 75px 30px; text-align: center; }
#three_col .item h3 { font-size: 30px; line-height: 110%; color: #000; margin-top: 0; }
#three_col .item .dsc { font-size: 15px; line-height: 18px; color: #000; margin-top: 16px; }

.nproducts .swiper-nproducts { display: none; }
.nproducts .items { display: grid; grid-template-columns: repeat(5, 1fr); gap: 5px; }
.nproducts .product-thumb .image {
    position: relative;
    width: 100%;
    padding-top: 100%; 
    overflow: hidden;
}
.nproducts .product-thumb .image a {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: block;
}
.nproducts .product-thumb .image img {
    width: 100%;
    height: 100%;
    object-fit: cover; 
}
.nproducts .inf{
    padding-top: 16px;
}
.nproducts .inf .manuf{
    color: #000;
    text-overflow: ellipsis;
    font-size: 15px;
    font-style: normal;
    font-weight: 400;
    line-height: 22px;
    letter-spacing: 0.45px;
    text-transform: uppercase;
    margin-bottom: 0;
}
.nproducts .inf .name{
    color: #000;
    text-overflow: ellipsis;
    font-size: 13px;
    font-style: normal;
    font-weight: 400;
    line-height: 18px;
    letter-spacing: 0.65px;
}
.nproducts .inf .nprice span{
    height: 42px;
    line-height: 42px;
}


/* ==========================================================================
   Media Queries (Mobile - Max Width: 768px)
   ========================================================================== */
@media (max-width: 768px) {
    /* Header Adapts */
    #nblog_head_type1 .text { width: 100%; margin: 42px 0 0 8px; }
    #nblog_head_type1 h1 { font-size: 30px; line-height: 30px; }
    #nblog_head_type1 .dsc { font-size: 12px; line-height: 14px; margin-top: 16px; }

    #nblog_head_type2,
    #nblog_head_type2 .item { background: none !important; }
    #nblog_head_type2 .text { float: none; width: 100%; padding: 30px 15px 15px; }
    #nblog_head_type2 .text h1 { font-size: 30px; line-height: 30px; }
    #nblog_head_type2 .text .dsc { font-size: 12px; line-height: 14px; color: #000; }
    #nblog_head_type2 .img { display: block; width: 100%; }
    #nblog_head_type2 .img img { width: 100%; }

    #nblog_head_type3 .items .item { float: none; width: 100%; }
    #nblog_head_type3 .items .right { height: auto; min-height: 1px; }
    #nblog_head_type3 .items .left { height: 580px; min-height: 580px; }
    #nblog_head_type3 .items .right .text { position: relative; padding: 75px 15px 30px; }
    #nblog_head_type3 .text h1 { font-size: 30px; line-height: 30px; }
    #nblog_head_type3 .text .dsc { font-size: 12px; line-height: 14px; }

    #nblog_head_type4 { padding-bottom: 30px; }
    #nblog_head_type4 .breadcrumb { margin-bottom: 30px; }
    #nblog_head_type4 .text h1 { font-size: 30px; line-height: 30px; }
    #nblog_head_type4 .text .dsc { font-size: 12px; line-height: 14px; }

    #nblog_head_type5 .items { display: flex; flex-direction: column-reverse; }
    #nblog_head_type5 .item.text { justify-content: flex-start; padding: 15px 0; }

    /* Content & Banners Adapts */
    .nblog_content { padding: 30px; padding: 30px 40px;}
    .nblog_content .text { width: 100%; font-size: 12px; }
    .nblog_content .text h3 { font-size: 12px; }

    .baner1_text .item img {
        width: 100%;
        height: 560px;
        object-fit: cover;
        object-position: 82% center; /* Твое выравнивание с обрезкой лишнего фонового места */
    }
    .baner1_text .text { position: relative; width: 100%; bottom: 0; left: 0; }
    .baner1_text .text h3 { font-size: 30px; line-height: 30px; margin: 30px 0 0; }
    .baner1_text .text p { font-size: 12px; line-height: 14px; width: 75%; margin: 15px auto 0; }

    .baner2_text .items { grid-template-columns: 1fr; }
    .baner2_text .item { flex-direction: column-reverse; }
    .baner2_text .item .txt { padding: 10px 0; font-size: 12px; line-height: 110%; text-align: left; }
    .baner2_text .items.nowrap-mobile { grid-template-columns: repeat(2, 1fr) !important; }
    .baner2_text .items.nowrap-mobile .item { flex-direction: column-reverse; }

    .baner3_text .item { float: none; width: 100%; }
    .baner3_text .text { font-size: 12px; padding: 36px; }
    .baner3_text .text h3 { font-size: 12px; }

    .nblog_quote .item { margin: 4px 0 !important; }
    .nblog_quote .text { font-size: 20px; width: 96%; }

    .nblog_quote2:before { display: none !important; }
    .nblog_quote2 .items .item { width: 100%; float: none; padding: 30px 15px 10px; }
    .nblog_quote2 .items .item:first-child { padding: 162px 52px 75px; }
    .nblog_quote2 .items .item:first-child:after { width: 42px !important; left: 58px !important; top: 82px !important; }
    .nblog_quote2 .items .item:last-child * { margin-top: 6px; margin-bottom: 20px !important; }
    .nblog_quote2 .item h3 { font-size: 30px; margin-bottom: 10px; }
    .nblog_quote2 .item .text { font-size: 12px; line-height: 14px; }

    #text_img .item { width: 100%; float: none; }
    #text_img .text .txt { width: 100%; padding: 30px 15px; }
    #text_img .text .txt h3 { font-size: 25px !important; }

    .texts { margin-bottom: 30px !important; line-height: 15px !important; font-size: 12px; width: 84%; }

    #three_col { padding: 15px 0; }
    #three_col .item { width: 100%; padding: 38px 15px; }
    #three_col .item p { font-size: 12px; }

    .nproducts .items { display: none; }
    .nproducts .swiper-nproducts { display: block; }

    .nproducts .caption > h4 > a {font-size: 10px !important}
    .baner3_text {margin-top: 10px !important;}
}



.nproducts .caption > h4 > a {color: #000; font-weight: 400; width: 75%; display: block; text-transform: uppercase; font-size: 13px; margin-top: 8px;}
.baner3_text {margin-top: 90px;}

.product-thumb .price {justify-content: flex-end;}