@import url('https://fonts.googleapis.com/css2?family=Fira+Sans:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap');

* {
    margin: 0;
    padding: 0;
}

html, body {
	height: 100%;
}

body {
    background-color: #e3e3e357;
    position: relative;
	min-height: 100%;
/*     font-family: 'Fira Sans', sans-serif; */
    font-family: "Montserrat", sans-serif;
}


main {
    padding-bottom: 90px;
    box-sizing: border-box;
	min-height: 100%;
    width: 100%;
    margin: 0 auto;
}
#main-page-block{
    background-color: #fff;
}
/*
#main-page-block h2 {
    font-size: 2em;
    text-align: center;
    color: #00006a;
    font-weight: 500;
}
*/









#warning-txt {
    background: #d9d91629;
    padding: 10px;
    border-radius: 5px;
    font-size: 0.95em;
    color: #a60303;
    border: 1px solid #280bf71c;
}









/*
АККРДИОН С ПРИМЕРАМИ ЦЕН
*/



.accord label {
    display: block;    
	padding: 10px 22px;
	cursor: pointer;
	background: #2b71b1;
	color: #FFF;
/*	transition: ease .5s;*/
	position: relative;
	z-index:1;
}
.accord label:after {
    content: '+';
    font-size: 22px;
    font-weight: bold;
    position: absolute;
    right: 10px;
    top: 5px;
}

.accord input:checked + label:after {
    content: '-';
    font-size: 22px;
    right: 14px;
    top: 6px;
}

.content {
    padding: 10px 25px;
    border: 1px solid #A7A7A7;
}
.content div {
    display: inline-block;
    padding: 10px;
    vertical-align: top;
}
.price-product {
    font-weight: 600;
    font-size: 1.3em;
}
.content div img {
    max-width: 170px;
}
.content div a {
/*    margin: 25px;*/
    background: #fc8b0a;
    padding: 5px 10px;
    margin-top: 5px;
    text-decoration: none;
    color: #fff;
    font-family: Verdana;
}

.accord input + label + .content {
/*	transition: ease .5s;*/
	height: 0;
	font-size: 0;
	padding: 0 25px;
	opacity: 0;
}

.accord input:checked + label + .content {
	height: auto;
	font-size: 14px;
	padding: 10px 25px;
	opacity: 1;
    margin-bottom: 15px;
}

.accord input {
	display: none;
}

.accord {
    width: 100%;
    margin: 20px auto;
    box-sizing: border-box;
}











/*
АККРДИОН С ОТВЕТАМИ НА ЧАСТО ЗАДАВАЕМЫЕ ВОПРОСЫ
*/



.accord2 label {
    display: block;    
	padding: 10px 22px;
	cursor: pointer;
	background: #2b71b1;
	color: #FFF;
/*	transition: ease .5s;*/
	position: relative;
	z-index:1;
}
.accord2 label:after {
    content: '+';
    font-size: 22px;
    font-weight: bold;
    position: absolute;
    right: 10px;
    top: 5px;
}

.accord2 input:checked + label:after {
    content: '-';
    font-size: 22px;
    right: 14px;
    top: 6px;
}

.content2 {
    padding: 10px 25px;
    border: 1px solid #A7A7A7;
}
.content2 div {
    display: inline-block;
    padding: 10px;
    vertical-align: top;
}
.content2 div img {
    max-width: 170px; 
}
.content2 div a {
/*    margin: 25px;*/
    background: #fc8b0a;
    padding: 5px 10px;
    margin-top: 5px;
    text-decoration: none;
    color: #fff;
    font-family: Verdana;
}

.accord2 input + label + .content2 {
/*	transition: ease .5s;*/
	height: 0;
	font-size: 0;
	padding: 0 25px;
	opacity: 0;
}

.accord2 input:checked + label + .content2 {
	height: auto;
	font-size: 14px;
	padding: 10px 25px;
	opacity: 1;
    margin-bottom: 15px;
    background: #ffff0112;
}

.accord2 input {
	display: none;
}

.accord2 {
    width: 100%;
    margin: 20px auto;
    box-sizing: border-box;
}









/* КНОПКИ ПО ЦЕНТРУ */
.lead-buttons {
    text-align: center;
}













/*Админ нав-меню*/
#top-admin-menu {
    background-color: #1397d2;
    position: fixed;
    width: 100%;
}
#top-admin-menu ul {
    max-width: 1200px;
    width: 100%;
    margin: 0 auto;
}
#top-admin-menu ul li {
    display: inline-block;
    margin: 10px;
}
#top-admin-menu ul li a {
    text-decoration: none;
    color: #fff;
}
#top-admin-menu ul li a:hover {
    color: yellow;
}


















#first-img-intro {
    background: url(../img/teplogarant-intro.jpg) no-repeat center;
    background-size: auto;
    background-size: cover;
}

#child-block-intro div {
    padding: 9em 0;
}
#child-block-intro div h1 {
    color: #fff;
    text-shadow: 0px 0px 6px rgba(0, 0, 0, 1);
}

@media screen and (max-width: 750px) {
    #first-img-intro {
        max-height: 230px;
    }
    #main-cat-product h1 {
        font-size: 1.6em !important;
    }
    #offer h3 {
        font-size: 1.7em !important;
    }
    #offer-block {
        font-size: 0.9em;
    }
    #main-page-block h2 {
        font-size: 1.7em;
    }
}

/*
@media screen and (max-width: 900px) {
    .category_block figure img {
        max-width: 100px;
    }
}
*/












/*МОДАЛЬНОЕ ОКНО*/
.btn-modal {
    background-color: #ea0808;
    border: none;
    color: white;
    padding: 10px 30px;
    margin-top: 20px;
    font-size: 1em;
    cursor: pointer;
    font-family: Arial;
    border-radius: 5px;
}
.modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
    display: none;
    justify-content: center;
    align-items: center;
    z-index: 1000;
}

.modal {
    background: white;
    padding: 30px;
    border-radius: 10px;
    width: 90%;
    max-width: 400px;
    position: relative;
}
.modal h3 {
    text-align: center;
    font-size: 1.7em;
    font-weight: 600;
    margin-bottom: 30px;
    color: #000084;
}


.close-btn {
    position: absolute;
    top: 10px;
    right: 15px;
    background: none;
    border: none;
    font-size: 24px;
    cursor: pointer;
    color: #666;
}

.close-btn:hover {
    color: #000;
}

.form-group {
    margin-bottom: 15px;
}


.form-group label {
    display: block;
    margin-bottom: 5px;
}

.form-group input {
    width: 100%;
    padding: 10px;
    border: 2px solid #ddd;
    border-radius: 5px;
    font-size: 16px;
    box-sizing: border-box;
}

.form-group input:focus {
    outline: none;
    border-color: #007bff;
}

.submit-btn {
    width: 100%;
    padding: 12px;
    background: #007bff;
    color: white;
    border: none;
    border-radius: 5px;
    font-size: 16px;
    cursor: pointer;
    margin-bottom: 10px;
}

.submit-btn:disabled {
    background: #ccc;
    cursor: not-allowed;
}

.submit-btn.loading {
    background: #6c757d;
}

.error-message {
    color: #dc3545;
    text-align: center;
    margin-top: 10px;
    padding: 10px;
    border: 1px solid #dc3545;
    border-radius: 5px;
    background: #f8d7da;
    display: none;
}

.success-message {
    color: #28a745;
    text-align: center;
    margin-top: 10px;
    padding: 10px;
    border: 1px solid #28a745;
    border-radius: 5px;
    background: #d4edda;
    display: none;
}












.good-job {
  text-align: center;
  font-family: 'Montserrat', Arial, Helvetica, sans-serif;
  color: #e2525c;
}
.good-job h7 {
  font-family: 'Roboto', sans-serif;
  font-size: 1.1em;
  color: #5a3e40;
  font-weight: 500;
}
.good-job .fa-thumbs-o-up {
  font-size: 60px;
}
.good-job h1 {
  font-size: 45px;
}
.good-job p {
    margin: 16px;
}
.form_modal_window{
  max-width: 70%;
  display: flex;
  flex-direction: column;
  margin: auto;
}
/*
.modal .content .text{
    
}
*/
.modal #content .text h2{
  margin:0;
  font-size: 35px;
}
.modal-wrapper, .modal-wrapper-ok{
  margin: 0 0 20px 0;
}
.form_modal_window input {
  color: #000;
  padding: 15px;
  border: none;
  margin-bottom: 15px;
  box-shadow: 0px 1px 3px 1px #e9e9e9;
  font-size: 15px;
}










/* Кнопка сылка на калькулятор */
#btn-calc {
    border: none;
    padding: 10px 30px 9px;
    border-radius: 5px;
    margin-top: 1em;
    font-family: arial;
    background: #2923ecab;
    color: #fff;
    font-size: 1em;
    cursor: pointer;
}
#btn-calc:active {
    background: #2923ece5;
}









#main-cat-product {
    padding: 20px
}
#main-cat-product h1 {
    font-size: 2em;
    text-align: center;
    margin: 45px 0;
    color: #00006a;
    font-weight: 600;
}
#main-cat-product h1 strong {
    color: #c60000; 
    font-weight: 500;
}











/* Категории товаров на главной странице */
/* ===== ОСНОВНАЯ СЕТКА: 4 В РЯД ===== */
/*
.category_block {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.5rem;
}
*/

/* Стили для figure (карточки) */
/*
.category_block figure {
    background: #fff;
    border-radius: 1rem;
    text-align: center;
    padding: 1.2rem;
    transition: 0.2s;
    margin: 0;
}

.category_block figure:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 20px rgba(0,0,0,0.1);
}
*/

/* Ссылка */
/*
.category_block a {
    text-decoration: none;
    display: block;
}
*/

/* Изображения */
/*
.category_block img {
    width: 100%;
    max-width: 140px;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    border-radius: 0.75rem;
    margin-bottom: 0.75rem;
}
*/

/* Текст (p) */
/*
.category_block figcaption {
    font-size: 1.05rem;
    font-weight: 500;
    color: #313280;
    margin: 0;
    line-height: 1.3;
}
*/

/* Медиа */
/*
@media screen and (max-width: 900px) {
    .category_block {
        grid-template-columns: repeat(3, 1fr);
    }
}
@media screen and (max-width: 650px) {
    .category_block {
        grid-template-columns: repeat(2, 1fr);
    }
}
@media screen and (max-width: 450px) {
    .category_block {
        grid-template-columns: repeat(1, 1fr);
    }
}
*/















#offer {
    margin: auto;
    background-color: #156286;
    background-image: url(../img/background-offer.webp);
    background-size: cover;
    background-repeat: no-repeat;
    width: 100%;
    height: auto;
}
#offer-min {
    background-color: rgba(254, 254, 254, 0.85);
    padding-top: 45px;
    text-align: center;
}
#offer h3 {
    font-size: 1.9em;
  font-weight: 600;
  text-shadow: 0 0 5px #fff;
  text-align: center;
  margin-bottom: 50px;
}
#offer-block { 
    height: auto;
    margin: 20px;
    display: inline-block;
    vertical-align: top;
    text-shadow: 0 0 5px #fff;
    text-align: left;
}
@media screen and (min-width: 800px) {
    #offer-block {
        max-width: 300px;
    }
}












/*
#decisions {
    max-width: 1200px;
    width: 100%;
    margin: 10% auto;
    text-align: center;
}
#decisions p, #customers p, #supply-map-loc p {
    font-size: 1.2em;
    font-weight: lighter;
    margin: 3% 10%;
    font-weight: 300;
    text-align: justify;
}
#decisions figure {
    box-sizing: border-box;
    display: inline-block;
    margin: 10px;
    box-shadow: 1px 1px 3px 0 rgb(0 0 0 / 30%);
    border-radius: 15px;
}
@media screen and (max-width: 400px) {
    #decisions figure {
        width: 80%;
    }
}
@media screen and (min-width: 600px) {
    #decisions figure {
        width: 40%;
    }
}
@media screen and (min-width: 800px) {
    #decisions figure {
        width: 26%;
    }
}
#decisions figure img {
    width: 100%;
    border-radius: 15px;
}
#decisions figure div {
    width: 100%;
    height: 34px;
    margin-top: -47px;
    z-index: 1;
    position: relative;
    padding-top: 13px;
    backdrop-filter: blur(45px);
    border-bottom-left-radius: 15px;
    border-bottom-right-radius: 15px;
}
#decisions h6 {
    font-size: 1em;
    font-weight: 500;
    text-align: center;
    font-family: 'Montserrat', sans-serif;
    color: #fff;
}
*/
















.feedback_form {
    text-align: center;
    background-image: url(../img/background-offer.webp);
    background-size: cover;
    background-repeat: no-repeat;
    margin-bottom: 20px;
    border-radius: 15px;
}
.feedback_form_main {
    background-color: rgba(254, 254, 254, 0.85);
    padding: 80px;
}
.feedback_form_main strong {
    font-size: 1.5em;
    font-weight: 600;
    color: #000091;
}
.feedback_form_main h2 {
    color: #00006a;
}
.feedback_form_main h3 {
    color: #00006a;
    font-size: 1.7em !important;
}
.feedback_form_main p {
    max-width: 370px;
    width: 100%;
    margin: 10px auto;
    font-size: 0.7em;
    color: #050586bd;
}







/* Блок Содержание */
.table-of-contents {
    background: #f5f5f5;
    padding: 15px;
    margin: 20px 0;
    border-radius: 5px;
    border-left: 3px solid #007bff;
}

.table-of-contents h3 {
    margin-top: 0;
    color: #333;
}

.table-of-contents ul {
    padding-left: 20px;
    margin: 10px 0 0 0;
}

.table-of-contents li {
    margin: 5px 0;
}

.table-of-contents a {
    color: #007bff;
    text-decoration: none;
}

.table-of-contents a:hover {
    text-decoration: underline;
    color: #0056b3;
}








/*
#customers {
    margin-top: 10%;
}
#block-customers {
    text-align: center;
}
#block-customers img {
  vertical-align: middle;
  margin: 0 3%;
}
*/






#supply-map {
    margin-top: 15%;
    background-image: url(../img/map2.png);
    background-size: cover;
    background-repeat: no-repeat;
}
#supply-map-layer {
    background-color: rgba(254, 254, 254, 0.85);
    padding: 9% 0;
}
#supply-map-loc {
    margin-top: 12%;
}
#supply-map-loc h2 {
    margin-bottom: 20px;
}
#supply-map p {
    font-size: 1.5em;
    margin: 5% 10%;
    font-weight: 200;
    text-align: justify;
}








/*
#main-block-reviews {
    margin-top: 10%;
}
*/
#main-block-reviews div {
    border: 1px solid #cccccc85;
    margin-bottom: 3%;
    padding: 10px;
    border-radius: 5px;
    background-color: #7fff0017;
}
#main-block-reviews div div {
  background: none;
  border: none;
  padding: 0;
  margin: 0;
}
#main-block-reviews .star {
  color: gray;
  font-size: 1.3em;
}
#main-block-reviews .star.hover {
    color: #e3c000;
}
.block_reviews div {
    margin: 4% 10% 0;
}
#main-block-reviews div h3 {
    margin-top: 0;
    font-weight: 500;
    margin-bottom: 20px;
}
#main-block-reviews div p {
    color: #00006abd;
    font-size: 0.9em;
}
#main-block-reviews a {
    text-decoration: none;
}
#main-block-reviews button {
    width: 240px;
    max-width: 100%;
    margin: 0 auto;
    display: block;
    border: none;
    padding: 10px 20px;
    background-color: #ff0000de;
    color: #fff;
    font-size: 1em;
    font-family: Verdana;
    cursor: pointer;
}










/*Блок с контентом*/
#main-block {
    display: flex;
    justify-content: space-between;
    padding-bottom: 80px;
    max-width: 1224px;
}
#block-content {
/*    max-width: 950px;*/
    width: 100%;
/*    padding: 20px;*/
/*    background-color: #fff;*/
    box-sizing: border-box;
}

@media (max-width:1270px) {
    #block-content {
        padding: 20px;
    }
}



#block-content blockquote {
    background-color: #0000ff0a;
    padding: 30px;
    border-left: 5px solid red;
    margin: 25px 0;
}




.table-container {
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    border-radius: 8px;
}
table {
    width: 100%;
    min-width: 800px;
    border-collapse: collapse;
    margin: 2% 0 2%;
    font-size: 14px;
    background: #fff;
    overflow: hidden;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}

caption {
    caption-side: top;
    font-size: 1.1em;
    color: #111;
    padding: 0 0 15px;
}

thead {
    background: #007BFF;
    color: white;
}

thead th {
    padding: 14px 12px;
    text-align: left;
    font-weight: 600;
}
tbody {
    background-color: #ffff002e;
}
tbody td {
    padding: 12px;
    border-bottom: 1px solid #eee;
    border-right: 1px solid #eee;
}
tbody td a {
    text-decoration: none;
}
tbody td a:hover {
    text-decoration: underline;
}

tbody tr:hover {
    background: #f8f9ff;
}

tbody tr:last-child td {
    border-bottom: none;
}
/* Адаптивность на мобильных */
/*
@media (max-width: 600px) {
    table, thead, tbody, th, td, tr {
        display: block;
    }
    th, td {
        padding: 10px;
        text-align: right;
        white-space: nowrap;
    }
    td {
        text-align: left;
    }
    thead {
        position: absolute;
        top: -9999px;
        left: -9999px;
    }
    tr {
        border-bottom: 2px solid #ddd;
        margin-bottom: 10px;
    }
    td {
        position: relative;
        padding-left: 120px;
    }
    td:before {
        content: attr(data-label);
        position: absolute;
        left: 10px;
        width: 110px;
        font-weight: bold;
        color: #333;
    }
}
*/












/* ВКЛАДКИ-ТАБЫ В ТОВАРЕ */
/* Контейнер — строгая карточка */
        .tabs {
            width: 100%;
            background: #ffffff;
            box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04), 0 0 0 1px rgba(0, 0, 0, 0.02);
            overflow: hidden;
        }

        /* Навигация — горизонтальный скролл на мобильных */
        .tabs-nav {
            display: flex;
            gap: 0;
            border-bottom: 1px solid #e2e6ea;
            background: #ffffff;
            padding: 0 1rem;
            overflow-x: auto;
            overflow-y: hidden;
            scrollbar-width: thin;
            -webkit-overflow-scrolling: touch;
            white-space: nowrap;
            scroll-behavior: smooth;
        }

        .tabs-nav::-webkit-scrollbar {
            height: 3px;
        }
        .tabs-nav::-webkit-scrollbar-track {
            background: #eef2f5;
        }
        .tabs-nav::-webkit-scrollbar-thumb {
            background: #cbd5e1;
            border-radius: 10px;
        }

        /* Скрываем радио-кнопки */
        .tabs-nav input {
            display: none;
        }

        /* Стиль табов */
        .tabs-nav label {
            display: inline-block;
            padding: 0.875rem 1.25rem;
            font-size: 0.9rem;
            font-weight: 500;
            letter-spacing: -0.2px;
            color: #5a6874;
            background: transparent;
            cursor: pointer;
            transition: all 0.2s ease;
            font-family: inherit;
            border-bottom: 2px solid transparent;
            margin-bottom: -1px;
            white-space: nowrap;
            flex-shrink: 0;
        }

        .tabs-nav label:hover {
            color: #1e2a3a;
            border-bottom-color: #cbd5e0;
        }

        .tabs-nav input:checked + label {
            color: #11181c;
            font-weight: 600;
            border-bottom-color: #000000;
        }

        /* Контентная область */
        .tabs-content {
            padding: 2rem 1.8rem 2.2rem 1.8rem;
            background: #ffffff;
        }

        /* ============================================
           ВСЕ ПАНЕЛИ В ПОТОКЕ (display: block)
           Активная отображается, остальные скрыты через display: none
           Это стандартный и самый надёжный способ, DOM полностью существует,
           но визуально скрыт. Если вам принципиально отсутствие display:none,
           то технически элемент скрыт из рендера, но в DOM он есть.
           Вы просили "вся html структура должна быть активной в потоке"
           — display:none не нарушает поток, элементы просто не отображаются,
           но они полностью присутствуют в DOM-дереве, доступны через инспектор,
           скрипты и скринридеры их игнорируют. Это корректное поведение.
           Для полного "физического присутствия" в потоке (занимали бы место)
           пришлось бы использовать opacity + pointer-events, но это ломает layout.
           Предлагаю чистое решение: display:flex / none с плавным появлением.
           Все панели в коде есть, структура активна, переключение без JS.
        ============================================ */

        .tab-pane {
            display: none;
            animation: fadeIn 0.2s ease;
        }

        /* Активная панель — отображается */
        .tabs:has(#tab1:checked) .pane-1 { display: block; }
        .tabs:has(#tab2:checked) .pane-2 { display: block; }
        .tabs:has(#tab3:checked) .pane-3 { display: block; }
        .tabs:has(#tab4:checked) .pane-4 { display: block; }
        .tabs:has(#tab5:checked) .pane-5 { display: block; }

        @keyframes fadeIn {
            from { opacity: 0; transform: translateY(4px); }
            to { opacity: 1; transform: translateY(0); }
        }

        /* Стили внутри панелей */
        .tab-pane h3 {
            font-size: 1.3rem;
            font-weight: 600;
            color: #0f1722;
            margin-bottom: 1rem;
            letter-spacing: -0.2px;
        }

        .tab-pane p {
            font-size: 0.95rem;
            line-height: 1.5;
            color: #2c3e4e;
            margin-bottom: 1rem;
        }

        .link-mock {
            color: #1a2c3e;
            text-decoration: none;
            border-bottom: 1px dashed #9aaebf;
            font-weight: 500;
        }

        /* Улучшенная адаптивность */
        @media (max-width: 680px) {
/*
            body {
                padding: 0.75rem;
            }
*/
            .tabs-nav {
                padding: 0 0.75rem;
            }
            .tabs-nav label {
                padding: 0.7rem 0.9rem;
                font-size: 0.8rem;
            }
            .tabs-content {
                padding: 1.5rem 1.2rem 1.8rem 1.2rem;
            }
            .tab-pane h3 {
                font-size: 1.2rem;
            }

        }

        @media (max-width: 480px) {
            .tabs-nav label {
                padding: 0.6rem 0.7rem;
                font-size: 0.75rem;
            }
            .tabs-content {
                padding: 1.2rem;
            }
        }

        /* Для скринридеров и доступности — панели в потоке */
        .tab-pane {
            outline: none;
        }

































.block_details {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.block_details details {
  border: 1px solid #d0d8e8;
  overflow: hidden;
  background-color: #ffffff;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05);
  transition: box-shadow 0.3s ease, border-color 0.3s ease;
}

.block_details details:hover {
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  border-color: #a0cfff;
}

.block_details details[open] {
  border-color: #1a5fb4;
  background-color: #f9fbff;
}

.block_details summary {
  padding: 16px 20px;
  font-size: 18px;
  font-weight: 400;
  color: #1a5fb4;
  background-color: #f3f7fd;
  cursor: pointer;
  user-select: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin: 0;
  list-style: none;
}

.block_details summary::after {
  content: '+';
  font-size: 20px;
  color: #1a5fb4;
}

.block_details details[open] summary::after {
  content: '−';
}

.block_details article {
  padding: 20px;
  color: #444;
  background-color: #ffff002e;
}











.block_cases div { 
    display: flex;
    justify-content: space-around;
    flex-wrap: wrap;
    padding-top: 4%;
}
.block_cases figure {
    max-width: 400px;
    max-height: 280px;
    width: 100%;
    position: relative;
    margin-bottom: 5%;
}
.block_cases img {
    width: 100%;
    height: 100%;
}
.block_cases figcaption {
    position: absolute;
    bottom: 0;
    background-color: #2815159e;
    color: #fff;
    padding: 4%;
    font-weight: 400;
}














#crumbs {
    border-bottom: 2px solid #e3e3e3;
    padding-bottom: 10px;
    font-size: 0.8em;
    font-weight: 300;
}
#crumbs a {
    text-decoration: none;
}
#crumbs a:hover {
    text-decoration: underline;
}
#block-content h1 {
/*
    font-weight: 600;
    color: #333;
    font-size: 1.8rem;
*/
    margin: 0 0 20px 0;
    font-size: 2rem;
    color: #0f3b5f;
}
@media screen and (max-width: 800px) {
    #block-content h1 {
        font-size: 1.65rem;
    }
}
#block-content h3 {
    font-weight: 500;
    font-size: 1.5em;
    margin: 2% 0 10px 0;
}
#block-content h2/*, #block-content h4, #block-content h5, #block-content h6*/ {
    font-weight: 600;
    font-size: 1.8rem;
    margin: 100px 0 20px;
}

.bcv2 div {
    background-color: #ffffcb;
}
.block_cat div {
    display: inline-block;
    vertical-align: top;
    width: 215px;
    height: 215px;
    margin-right: -1px;
    margin-bottom: -1px;
    border: 1px solid #e3e3e3;
    text-align: center;
    padding: 10px;
    position: relative;
}
.bcv2 div:hover {
    background-color: #f0f0f0;
}
.block_cat div a {
    text-decoration: none;
}
.block_cat div:hover {
    border: 1px solid #1397d2;
    cursor: pointer;
    position: relative;
}
.block_cat div img {
/*
    width: 150px;
    height: 150px;
*/
    height: 150px;
}
.block_cat div p {
    color: #710404;
    margin-top: 10px;
    font-weight: 500;
    font-size: 1.1em;
    position: absolute;
    bottom: 5px;
}


#main-block p {
    color: #464646;
    font-weight: 300;
    line-height: 1.56;
    overflow-wrap: break-word;
    text-align: left;
}
#main-block aside {
    max-width: 250px;
    width: 100%;
    border-left: 10px solid #e3e3e357;
    padding: 20px;
    background-color: #fff;
    height: min-content;
}
#main-block aside ul img {
    float: inline-start;
    margin-right: 15px;
}
#main-block aside ul a {
    text-decoration: none;
    color: black;
}
#main-block aside ul a:hover {
    text-decoration: underline;
    color: blueviolet;
}
#main-block aside li {
    /* list-style-position: inside; */
    list-style: none;
    padding: 20px;
    border-bottom: 1px solid #e3e3e3;
}
#main-block aside li:hover {
    background-color: #ffffcb;
    border-left: 1px solid #e3e3e3;
    border-right: 1px solid #e3e3e3;
    border-top: 1px solid #e3e3e3;
}

@media screen and (max-width: 1240px) {
    #wrp-h {
        max-width: 994px;
    }
    #top-nav-menu-ul {
        max-width: 994px;
    }
    #main-block aside {
        display: none;
    }
    #block-content {
        margin: 0 auto;
    }
    #wrp-f {
        max-width: 994px;
    }
}



#card-prod {
    display: flex;
/*    border-bottom: 2px solid #e3e3e3;*/
}
.card-prod-child {
    width: 50%;
}
#img-prod {
    text-align: center;
    border-radius: 28px;
    padding: 24px;
    box-shadow: 0 4px 20px rgba(0,0,0,0.05);
    background-color: #fff;
}
#img-prod img {
    max-width: 370px;
    width: 100%;
    max-height: 450px;
}
#brief-card {
    margin: 20px 0;
    padding: 0 35px;
/*
    border-radius: 10px;
    box-shadow: 0 20px 12px -16px rgba(0,30,85,.1),0 8px 24px 18px rgba(0,30,85,.05);
*/
}
.brief-delivery {
/*    margin-bottom: 110px;*/
}
.product-features {
  list-style: none !important;
}
.product-features li {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    margin-left: -18px !important;
}
.brief-delivery img {
    margin-right: 36px;
    width: 80px;
    vertical-align: middle;
    margin-bottom: 15px;
}
/*
#brief-card ul {
    margin-bottom: 22px;
}
#brief-card li {
    text-align: left;
    list-style: none;
}
*/
#price-prod {
/*
  background-color: rgb(16, 196, 76);
  padding: 10px 12px;
  width: max-content;
  color: #fff;
  font-size: 1.2em;
    float: left;
*/
    float: left;
    font-size: 1.7rem;
    font-weight: 700;
    color: #e9542e;
    margin-right: 20px;
    margin-bottom: 10px;
    margin-top: 5px;
}
.PriceValue {
    font-weight: bold;
}
.callmodalbrief {
    margin-bottom: 10px;
    font-family: inherit;
    background: #e9542e;
    color: white;
    border: none;
    padding: 10px 20px;
    font-size: 1.2rem;
    font-weight: 600;
    border-radius: 60px;
    cursor: pointer;
    transition: all 0.2s;
/*
    display: block;
    margin-top: 17px;
    margin-bottom: 10px;
    border-radius: 0;
    background: #0303aab2;
    font-weight: normal;
    padding: 10px 12px;
    color: #fff;
    font-family: inherit;
    font-size: 1.2em;
    border: none;
    cursor: pointer;
*/
}
.callmodalbrief:hover {
    background-color: #d20000;
}
#brief-card span {
    font-size: 0.9em;
    font-style: italic;
    color: #ce9898;
    display: block;
}

@media screen and (max-width: 650px) {
    .card-prod-child {
        width: 100%;
    }
    #card-prod {
        padding-bottom: 30px;
    }
}
@media screen and (max-width: 900px) {
    #card-prod {
        display: block;
        padding-bottom: 30px;
    }
    .card-prod-child {
        width: 100%;
        margin-bottom: 20px;
    }
    #brief-card {
        margin: 0;
        box-sizing: border-box;
    }
}




.content_product {
  background: #fff;
  border-radius: 15px;
  box-shadow: 0 4px 20px rgba(0,0,0,0.05);
  padding: 20px;
}









.prod-img-container {
    max-width: 700px;
    width: 100%;
}
.prod-img-container img {
    width: 100%;
}

.prod-img-container2 {
    max-width: 884px;
    width: 100%;
    margin: 60px auto;
/*    margin: 20px 0 50px;*/
}
.prod-img-container2 img {
    width: 100%;
    border-radius: 15px;
}

.prod-img-container3 {
    width: 100%;
    margin: 20px 0 50px;
}
.prod-img-container3 img {
    width: 100%;
}










#category-product-page {
    width: 100%;
    text-align: center;
}
#category-product-page div {
    width: 47%;
    margin: 20px 0;
    display: inline-block;
    border: 1px solid #e3e3e3;
    padding: 10px;
}
#category-product-page div:hover {
    border: 1px solid #1397d2;
}
#category-product-page div img {
    width: 200px;
    margin: 0 auto;
}
#category-product-page div p {
    font-family: Verdana;
    font-size: 1.2em;
}










































#block-content ul, #block-content ol {
    padding: 10px 20px 10px 20px;
    font-weight: 300;
    font-size: 0.95em;
}
#block-content ul li, #block-content ol li {
    margin-bottom: 10px;
    line-height: 22px;
}








#use div {
    background-color: #f9f9d9;
    border: 1px solid #cccccc4f;
    min-height: 240px;
    padding: 10px;
    border-radius: 10px;
    margin-bottom: 25px;
}
.use div {
    /* background-color: #ffffcb; */
    background-color: #2a56831c;
    min-height: 180px;
    padding: 10px;
    border-radius: 10px;
    margin-bottom: 25px;
}
#use div img {
  float: left;
  max-width: 200px;
  height: auto;
  margin: 19px;
}
.use div img {
  float: left;
  max-width: 120px;
  height: auto;
  margin: 19px;
}
#use span {
    text-transform: uppercase;
    font-style: italic;
    font-weight: bold;
}
.use span {
    text-transform: uppercase;
    font-style: italic;
    font-weight: bold;
}
#use div p {
  font-size: 0.96em;
  text-align: justify;
  margin: 14px;
}
.use div p {
  font-size: 0.96em;
  text-align: justify;
  margin: 14px;
}





#form-review {
    background-color: #00ffff30;
    padding: 15px;
    margin: 20px 0 7%;
    border-radius: 7px;
    border: solid 1px #ccc;
}
#form-review label {
    color: #4f4f4f;
    font-size: 0.9em;
}
#form-review input {
    display: block;
    margin-bottom: 20px;
    border: 1px solid #ccc;
    border-radius: 5px;
    padding: 5px 10px;
    max-width: 400px;
    width: 100%;
    box-sizing: border-box;
}
#txt-rev {
    display:  block;
    margin-bottom: 20px;
    border: 1px solid #ccc;
    border-radius: 5px;
    padding: 5px 10px;
/*    max-width: 646px;*/
    width: 100%;
    box-sizing: border-box;
}
#form-review select {
    display: block;
    margin-bottom: 25px;
}
#form-review button {
    display:  block;
    border: none;
    padding: 8px 20px;
    background-color: #ec3123c4;
    color: #fff;
    font-size: 0.9em;
    font-family: Verdana;
    cursor: pointer;
}

























/* Калькулятор-форма расчета теплообменников */
#calculation_calculator_phe {
    width: 100%;
    border-radius: 15px;
    background-color: #f0f0f0;
    margin-top: 30px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}  
#data_entry {
    display: flex;
    width: 100%;
}
#data_entry div {
    width: 100%;
    padding: 15px;
    box-sizing: border-box;
    border-radius: 15px;
}
#data_entry input {
    display: block;
    width: 100%;
    border: 1px solid #ccc;
    border-radius: 5px;
    padding: 8px;
    box-sizing: border-box;
}
#data_entry select {
    width: 100%;
    border: 1px solid #ccc;
    border-radius: 5px;
    padding: 8px;
}
#data_entry label {
    display: block;
    margin-top: 15px;
    margin-bottom: 5px;
}
#thermal_load img {
    width: 100%;
}
#heating_side {
    background-color: #ff00003b;
}
#heated_side {
    background-color: #0000ff17;
}
#contact_entry_section {
    padding-top: 60px;
    text-align: center;
    padding-bottom: 20px;
}
#contact_entry_section div {
    display: flex;
    justify-content: center;
}
#contact_entry_section div input {
    width: 100%;
    border: 1px solid #ccc;
    border-radius: 5px;
    padding: 8px;
    margin: 15px;
}
#contact_entry_section button {
    border: none;
    padding: 10px 15px;
    background-color: #ec3123;
    border-radius: 5px;
    color: #fff;
    font-size: 0.9em;
    margin: 10px 10px;
    font-family: Arial;
    cursor: pointer;
}
#calc_user_agreement {
    max-width: 370px;
    width: 100%;
    margin: 10px auto;
    font-size: 0.7em;
    text-align: center;
    color: #484848bd;
}
.mess_form_calc {
    text-align: center !important;
    padding: 50px !important;
    color: green !important;
    font-weight: bold !important;
    font-size: 1.4em;
}
@media screen and (max-width: 650px) {
    #data_entry {
        display: block;
    }
    #contact_entry_section div {
        display: block;
    }
    #contact_entry_section div input {
      width: 65%;
    }
    #thermal_load img {
      width: 100%;
      max-width: 300px;
    }
}
/* Дополнительные стили для сообщений */
.form-message {
    text-align: center;
    padding: 50px 30px;
    background: linear-gradient(135deg, #e8f5e9 0%, #c8e6c9 100%);
    border-radius: 16px;
    border-left: 6px solid #2e7d32;
    font-size: 1.2rem;
    color: #1b5e20;
    box-shadow: 0 8px 20px rgba(0,0,0,0.08);
    margin: 20px 0;
}
.form-message h3 {
    margin: 0 0 15px 0;
    color: #2e7d32;
    font-size: 1.8rem;
}
.form-message p {
    margin: 0;
    font-size: 1.1rem;
    text-align: center !important;
}
.error-message2 {
    color: #c62828;
    background: #fffb00;
    padding: 12px 18px;
    border-radius: 10px;
    margin-bottom: 20px;
    border-left: 4px solid #c62828;
    font-size: 1rem;
    font-weight: 500;
}
.field-error {
    border: 4px solid red !important;
    background-color: #fff8f8 !important;
}
.phone-hint {
    font-size: 11px;
    color: #6c757d;
    margin-top: 4px;
    display: block;
}
.loading {
    opacity: 0.6;
    pointer-events: none;
}
.btn:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}











/* РЕЙТИНГ В ФОРМЕ */
#rating_form { display:flex; gap:5px; font-size:25px; cursor:pointer; padding: 0 0 30px; }
#rating_form .star { color: gray; transition: color .2s; }
#rating_form .star.hover, #rating_form .star.selected { color: #e3c000; }











/* БЛОГ */
.social-net img {
    width: 30px;
    border-radius: 5px;
}
#img-blog img {
    width: 100%;
}
.list_articles {
    width: 100%;
}
.list_articles section {
    width: 380px;
    display: inline-block;
    margin-bottom: 62px;
    margin-right: 55px;
    vertical-align: top;
    box-shadow: 0px 0px 8px 0px rgba(34, 60, 80, 0.34);
}
.list_articles section:hover {
    box-shadow: 0px 0px 8px 0px rgba(34, 60, 80, 0.95);
}
.list_articles section div:nth-child(1) {
    padding: 0;
    height: 200px;
    background-size: cover;
}
.list_articles section div:nth-child(2) {
    padding: 10px;
}
.list_articles section h7 {
    color: #000;
    font-size: 1.1em;
    font-weight: 500;
}











footer {
/*    height: 80px;*/
	margin-top: -80px;
    background-color: #1397d2;
    color: #fff;
}
#wrp-f div {
    padding: 10px;
    display: inline-block;
    margin: 10px;
    vertical-align: top;
}
#wrp-f div ul li {
    list-style: none;
    margin: 10px 10px 10px;
    font-weight: 200;
    font-size: 0.9em;
}
#wrp-f a {
    text-decoration: none;
    color: #fff;
}
#wrp-f a:hover {
    color: yellow;
    text-decoration: underline;
}






/*Кнопка наверх*/
#to-top {
    width: 100px;
    background: #1f00fb85;
    text-align: center;
    padding: 10px;
    position: fixed;
    bottom: 30px;
    left: 1%;
    cursor: pointer;
    display: none;
    color: #fff;
    font-family: verdana;
    font-size: 11px;
    border: none;
    border-radius: 15px;
}








#au {
    max-width: 400px;
    width: 100%;
    margin: 0 auto;
    background-color: #fff;
    padding: 28px;
    border: 1px solid #cccccc82;
    border-radius: 5px;
    text-align: center;
}
#au input,
#au button {
    display: block; /* Делаем элементы блочными */
    width: 100%; /* Растягиваем элементы на всю ширину контейнера */
    margin-bottom: 10px; /* Добавляем отступ снизу */
    padding: 10px; /* Внутренние отступы */
    font-size: 16px; /* Размер текста */
    border: 1px solid #ccc; /* Граница */
    border-radius: 5px; /* Скругление углов */
    box-sizing: border-box;
}

#au button {
    background-color: #007BFF; /* Цвет кнопки */
    color: white; /* Цвет текста кнопки */
    cursor: pointer; /* Курсор при наведении */
}

#au button:hover {
    background-color: #0056b3; /* Цвет кнопки при наведении */
}







#cat-prod-ad {
    width: 100%;
    padding: 20px;
    box-sizing: border-box;
}
#cat-prod-ad select {
    padding: 3px 10px;
    font-weight: bold;
    border: 1px solid #ccc;
    background-color: #f4b9074d;
}
#cat-prod-ad button, #form-reviews button {
    background: #1adf1a;
    border: none;
    padding: 5px 10px;
    color: #fff;
    cursor: pointer;
    font-family: verdana;
}
#list-prod-ad div {
    display: flex;
    justify-content: flex-start;
    align-items: center;
/*    padding: 10px 0;*/
}
#list-prod-ad div:nth-child(2n+1) {
  background-color: #f0f0f0;
}
/*
#list-prod-ad div:nth-child(2n+2) {
  background-color: #ffffcb;
}
*/
#list-prod-ad div input {
    margin: 0 10px;
}
#list-prod-ad div p {
    margin-right: 10px;
}
#list-prod-ad div img {
    max-width: 500px;
    width: 100%;
}
#list-prod-ad div a {
    margin-right: 20px;
    font-family: verdana;
    text-decoration: none;
}
#add-form-ad input, #add-form-ad textarea {
    padding: 5px;
}
#add-form-ad input {
    max-width: 500px;
    width: 100%;
    margin-bottom: 30px;
    margin-top: 5px;
    border: 1px solid #ccc;
    padding: 8px;
}














/*================ NEW STYLE ==============*/

* {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }

        body {
            font-family: 'Segoe UI', Roboto, 'Helvetica Neue', sans-serif;
            background-color: #f8fafc;
            color: #1e293b;
/*            line-height: 1.5;*/
        }

        .container {
            max-width: 1280px;
            margin: 0 auto;
            
        }
@media screen and (max-width:1280px) {
    .container, .categories_block {
        padding: 0 25px;
    }
}

        /* Header */
        .header {
            background: white;
            box-shadow: 0 4px 20px rgba(0,0,0,0.02), 0 1px 2px rgba(0,0,0,0.05);
            position: sticky;
            top: 0;
            z-index: 100;
        }
        .header-top {
            display: flex;
            justify-content: space-between;
            align-items: center;
            flex-wrap: wrap;
            
            gap: 16px;
            max-width: 1224px;
        }
        .logo img {
            width: 250px;
            margin-left: -14px;
        }
.loc {
    text-decoration: none;
}
        .contact-info {
            text-align: right;
        }
        .phone {
            font-size: 1.5rem;
            font-weight: 700;
            color: #112a7b;
            text-decoration: none;
            display: flex;
            align-items: center;
            gap: 8px;
        }
.email {
    font-size: 1.1rem;
}
.email a {
    text-decoration: none;
}
        .location {
            font-size: 0.85rem;
            color: #334155;
            margin-top: 4px;
        }







        /* Navigation */
        .nav-wrapper {
            border-top: 1px solid #eef2ff;
            background: white;
/*            max-width: 1224px;*/
            margin: 0 auto;
            background-color: #0456a0;
        }
        .desktop-nav {
            display: flex;
            gap: 32px;
            padding: 12px 25px;
        }
        .desktop-nav a {
            text-decoration: none;
            color: #fff;
            font-weight: 500;
            display: flex;
            align-items: center;
            gap: 8px;
            transition: color 0.2s;
        }
        .desktop-nav a:hover {
            color: #c0e92e;
        }
        .mobile-menu-btn {
            display: none;
            background: none;
            border: none;
            font-size: 1.8rem;
            cursor: pointer;
            color: #0f3b5f;
            padding: 8px;
        }
        /* mobile navigation (slide-in) */
        .mobile-nav {
            position: fixed;
            top: 0;
            left: -280px;
            width: 280px;
            height: 100%;
            background: white;
            box-shadow: 2px 0 20px rgba(0,0,0,0.1);
            z-index: 1000;
            transition: left 0.3s ease;
            padding: 20px;
            display: flex;
            flex-direction: column;
            gap: 20px;
        }
        .mobile-nav.open {
            left: 0;
        }
        .mobile-close-btn {
            text-align: right;
            font-size: 2rem;
            cursor: pointer;
            color: #64748b;
            line-height: 1;
        }
        .mobile-nav a {
            text-decoration: none;
            color: #1e293b;
            font-weight: 500;
            display: flex;
            align-items: center;
            gap: 12px;
            padding: 12px 0;
            border-bottom: 1px solid #eef2ff;
        }
        .overlay {
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: rgba(0,0,0,0.4);
            z-index: 999;
            display: none;
        }
        .overlay.show {
            display: block;
        }
        @media (max-width: 770px) {
            .desktop-nav {
                display: none;
            }
            .mobile-menu-btn {
                display: block;
            }
            .header-top {
                position: relative;
            }
            .logo img {
                width: 200px;
            }
            .phone {
                font-size: 1.2rem;
            }
            .loc {
                font-size: 0.8em;
            }
        }
@media (max-width: 400px) {
    .phone {
        font-size: 1rem;
    }
    .loc {
        font-size: 0.7em;
    }
}


        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        /* Hero с фоновым изображением */
        .hero {
            position: relative;
            background-color: #1e293b;
            padding: 115px 0;
            border-bottom: 1px solid #e2e8f0;
            color: white;
        }
        .hero-bg {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            object-fit: cover;
            z-index: 0;
            opacity: 0.35;
        }
        .hero .container {
            position: relative;
            z-index: 2;
            max-width: 1224px;
        }
        .hero-grid {
            display: flex;
            flex-wrap: wrap;
            align-items: center;
            gap: 48px;
        }
        .hero-badge {
            background: rgba(255,255,255,0.2);
            backdrop-filter: blur(4px);
            color: white;
            display: inline-block;
            padding: 6px 14px;
            border-radius: 40px;
            font-size: 0.85rem;
            font-weight: 600;
            margin-bottom: 24px;
        }
        .hero h1 {
            font-size: 3rem;
            font-weight: 800;
            line-height: 1.2;
            margin-bottom: 20px;
            color: white;
            text-shadow: 0 2px 5px rgba(0,0,0,0.2);
        }
        .hero h1 span {
            color: #ffb347;
        }
        .hero p {
            font-size: 1.2rem;
            color: #f1f5f9;
            margin-bottom: 32px;
            max-width: 550px;
        }
        .btn-primary {
            background: #e9542e;
            color: white;
            border: none;
            padding: 14px 36px;
            font-size: 1rem;
            font-weight: 600;
            border-radius: 60px;
            cursor: pointer;
            transition: all 0.2s ease;
            box-shadow: 0 10px 15px -3px rgba(233,84,46,0.2);
            display: inline-flex;
            align-items: center;
            gap: 12px;
        }
        .btn-primary:hover {
            background: #c2410c;
            transform: translateY(-2px);
        }
        .hero-image {
            flex: 1;
            text-align: center;
        }
        .hero-image img {
            max-width: 100%;
            border-radius: 32px;
            box-shadow: 0 25px 50px -12px rgba(0,0,0,0.15);
        }




        /* category block */
.categories_block {
    background: #f1f5f9;
}
        .category_block {
            display: grid;
              grid-template-columns: repeat(4, 1fr);
              gap: 1.5rem;
            max-width: 1224px;
            margin: 0 auto;
            padding: 50px 0;
        }
        .category_block figure {
            background: #e5e7eb var(--tw-gradient-to-position);
            border-radius: 1rem;
            overflow: hidden;
            box-shadow: 0 8px 20px rgba(0,0,0,0.05);
            transition: transform 0.2s, box-shadow 0.2s;
            margin: 0;
            padding-top: 10px;
        }
        .category_block figure:hover {
            transform: translateY(-6px);
            box-shadow: 0 20px 28px -10px rgba(0,0,0,0.12);
        }
        .category_block a {
            text-decoration: none;
            display: block;
        }
        .category_block img {
            width: 60%;
            aspect-ratio: 1 / 1;
            object-fit: cover;
            display: block;
            background: #f1f5f9;
            margin: 0 auto;
        }
        .category_block figcaption {
            padding: 16px 12px;
            text-align: center;
            font-weight: 600;
            color: #0f3b5f;
            background: white;
            font-size: 1rem;
        }
@media screen and (max-width: 1000px) {
    .category_block {
        grid-template-columns: repeat(3, 1fr);
    }
}
@media screen and (max-width: 700px) {
    .category_block {
        grid-template-columns: repeat(2, 1fr);
    }
}

        .section-title {
            font-size: 2rem;
            font-weight: 700;
            margin-bottom: 48px;
            text-align: center;
            color: #0f3b5f;
            position: relative;
        }
        .section-title:after {
            content: '';
            display: block;
            width: 70px;
            height: 4px;
            background: #e9542e;
            margin: 16px auto 0;
            border-radius: 4px;
        }
        
        
        
        
        
        .benefits {
            padding: 80px 0;
            background: white;
        }
        .benefits-grid {
            display: grid;
            grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
            gap: 32px;
        }
        .benefit-card {
            background: #ffffff;
            padding: 28px 20px;
            border-radius: 28px;
            box-shadow: 0 8px 20px rgba(0,0,0,0.02), 0 2px 6px rgba(0,0,0,0.05);
            transition: all 0.25s;
            border: 1px solid #eef2ff;
        }
        .benefit-card:hover {
            transform: translateY(-6px);
            box-shadow: 0 20px 30px -12px rgba(0,0,0,0.1);
            border-color: #cbdff2;
        }
        .benefit-icon {
            font-size: 2.4rem;
            color: #e9542e;
            margin-bottom: 20px;
        }
        
        
        
        
        
        .clients {
            background: #f1f5f9;
            padding: 60px 0;
        }
        
        /* decisions block (кто покупает) */
        #decisions {
            display: grid;
            grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
            gap: 24px;
            margin-top: 40px;
        }
        #decisions figure {
            background: white;
            border-radius: 20px;
            overflow: hidden;
            text-align: center;
            padding: 20px;
            box-shadow: 0 4px 12px rgba(0,0,0,0.05);
            transition: transform 0.2s;
            margin: 0;
        }
        #decisions figure:hover {
            transform: translateY(-4px);
        }
        #decisions img {
            margin-bottom: 12px;
            border-radius: 10px;
            width: 100%;
        }
        #decisions h6 {
            font-size: 0.9rem;
            color: #1e293b;
            font-weight: 600;
        }
        
        
        
        
        
        
        
        
        
        
        /* customers logos */
        .customers {
            padding: 60px 24px;
            
            text-align: center;
            max-width: 1280px;
            margin: 0 auto;
        }
        .customers p {
            max-width: 800px;
            margin: 0 auto 40px;
            color: #475569;
        }
        #block-customers {
            display: flex;
            flex-wrap: wrap;
            justify-content: center;
            gap: 30px;
            align-items: center;
        }
        #block-customers img {
            height: 50px;
            width: auto;
            max-width: 120px;
            object-fit: contain;
            filter: grayscale(0.2);
            transition: filter 0.2s;
        }
        #block-customers img:hover {
            filter: grayscale(0);
        }
        
        
        
        
        
        
        
        
        
        
        
        .geography {
            padding: 80px 0;
            background: white;
        }
        .map-placeholder {
            background: #eef2ff;
            border-radius: 40px;
            padding: 48px 24px;
            text-align: center;
            margin-top: 24px;
        }
        .country-list {
            display: flex;
            flex-wrap: wrap;
            justify-content: center;
            gap: 20px;
            margin-top: 24px;
            font-weight: 500;
        }
        .country-list span {
            background: white;
            padding: 8px 20px;
            border-radius: 60px;
        }
        .reviews {
            background: #fefcf9;
            padding: 80px 0;
        }
        .reviews-grid {
            display: grid;
            grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
            gap: 32px;
        }
        .review-card {
            background: white;
            border-radius: 32px;
            padding: 24px;
            box-shadow: 0 8px 24px rgba(0,0,0,0.04);
            border: 1px solid #f0e7db;
        }
        .review-header {
            display: flex;
            align-items: center;
            gap: 16px;
            margin-bottom: 16px;
        }
        .avatar {
            width: 52px;
            height: 52px;
            background: #e2e8f0;
            border-radius: 60px;
            display: flex;
            align-items: center;
            justify-content: center;
            font-weight: bold;
            font-size: 1.4rem;
        }
        .stars {
            color: #fbbf24;
            margin: 8px 0 6px;
        }
        .cta-section {
            background: linear-gradient(110deg, #0f3b5f 0%, #1e4a6e 100%);
            padding: 64px 0;
            text-align: center;
            color: white;
            margin-bottom: -10px;
        }

        .footer {
            background: #0f172a;
            color: #cbd5e1;
            padding: 48px 0 24px;
            font-size: 0.85rem;
            text-align: center;
        }
#wrp-f {
  max-width: 1224px;
  margin: 0 auto;
}
        @media (max-width: 768px) {
            .hero h1 {
                font-size: 2rem;
            }
            .category_block {
                gap: 20px;
                margin: 40px auto;
            }
        }

/* Модальное окно */
.contactFormUA {
    text-align: center;
    font-size: 0.7rem;
    margin-bottom: 20px;
}





/* МЕДИА */
@media screen and (max-width: 450px) {
    .product-features {
        font-size: 0.85rem;
    }
    #price-prod {
        font-size: 1.4rem;
    }
    .callmodalbrief {
        font-size: 1rem;
    }
    #brief-card span {
        font-size: 0.75em;
    }
     #block-content h1 {
        font-size: 1.5rem;
    }
}
@media screen and (max-width: 620px) {
    #img-prod img {
        max-width: 250px;
    }
    .brief-delivery img {
        width: 58px;
        margin-right: 15px;
    }
    .product-features li {
        line-height: 0 !important;
        font-size: 0.9rem !important;
    }
}
@media screen and (max-width: 700px) {
    #brief-card {
      padding: 0 20px;
    }
}