.avantages {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    align-content: center;
    justify-content: space-between;
    gap:20px;
}

.avantages > span {
    max-width: 250px;
    padding: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    background:#FFF;
    text-transform:uppercase;
}
.logo.mob {
    display:none;
}
.site-slogan {
    display:block;
    color: #fff !important;
    font: 700 12px/40px 'Montserrat', sans-serif;
    line-height: 16px;
}
.header-contacts {
    position: relative;
    top: -50px;
    line-height: 20px;
    display: flex;
    flex-wrap: wrap;
    max-width: 200px;
    justify-content: center;
    width: 100%;
    height:0;
}
.header-contacts > .phone {
        font-size: 20px;
        font-weight: bold
}
.header-contacts > .working-hours {
    color:#fff;
}
.swiper-slide-caption > .camera_caption > h1 {
    margin-top: 130px;
}
.swiper-slide-caption > .camera_caption > h1 > span, .page_header > h1 > span, .item_header > h1 > span {
    font: unset;
}
.moduletable > .module_container > .swiper-container {
    height: auto !important;
}
.swiper-slider .swiper-slide .swiper-slide-caption .camera_caption {
    margin-bottom: 60px;
}
@media screen and (max-width: 1200px) {
  h1, .swiper-slide-caption > .camera_caption > h1, .page_header > h1 {
    font-size: 42px; /* для экранов до 1200px */
  }
}

@media screen and (max-width: 992px) {
  h1, .swiper-slide-caption > .camera_caption > h1, .page_header > h1 {
    font-size: 32px; /* для экранов до 992px */
  }
}

@media screen and (max-width: 768px) {
  h1, .swiper-slide-caption > .camera_caption > h1, .page_header > h1 {
    font-size: 24px; /* для планшетов */
  }
}

@media screen and (max-width: 480px) {
  h1, .swiper-slide-caption > .camera_caption > h1, .page_header > h1 {
    font-size: 18px; /* для мобильных устройств */
  }
}


.modal_butoon {
    position: relative;
    float: left;
    display: flex;
    width: 100%;
    align-items: center;
    justify-content: center;
    top: -50px;
    z-index: 9999;
    max-width:150px;
    width:100%;
    left:50%;
    transform: translate(-50%, 0);
    height:0;
}
.modal_butoon > button {
    background:#FFF;
    border:none;
    text-transform:uppercase;
    padding:10px;
}
.modal_butoon > button:hover {
    color:#ffc80a;
}
.send_modal {
    
}
.close_modal {
    position: absolute;
    top: 20px;
    right: 20px;
    cursor: pointer;
    font-weight: bold;
    font-size: 22px;
}
.overlay {
    display:none;
}
/* Основные стили для оверлея (фона) */
.overlay.active {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.7);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 9999;
  padding: 20px;
  box-sizing: border-box;
}

/* Контейнер модального окна */
.overlay .col-sm-8 {
  background: #fff;
  border-radius: 12px;
  padding: 30px;
  max-width: 600px;
  width: 100%;
  box-shadow: 0 15px 35px rgba(0, 0, 0, 0.3);
  position: relative;
  max-height: 90vh;
  overflow-y: auto;
}
.item_content > .item_img > img {
    max-width: 100%;
    height: 250px;
    max-height: 250px;
    object-fit: cover;
}
@media (max-width: 767px) {
    .modal_butoon, .header-contacts {
        display:none;
    }
    .logo.mob {
        display:block;
        position: absolute;
          z-index: 9;
        max-width: 250px;
        right: 20px;
        top: 3px;
        background: #434350;
    }
    .avantages {
        justify-content: center;
    }
    .avantages > span {
        padding: 10px;
    }
    .mod-newsflash-adv.mod-newsflash-adv__services_1 .item > .item_content > h4, .mod-newsflash-adv.mod-newsflash-adv__services_1 .item > .item_content > .item_introtext {
        height:auto;
    }
    
    .swiper-slider .swiper-slide .swiper-slide-caption .camera_caption {
        margin-bottom: 20px;
        margin-top: 20px;
    }
}
/* === Task 1.3 (МАЙ): блок «УСЛУГИ» на главной === */
/* Кнопки «Подробнее» на жёлтых карточках: белая рамка/текст, при ховере — чёрные */
.mod-newsflash-adv.mod-newsflash-adv__services_1 .item.featured .item_content .btn,
.mod-newsflash-adv.mod-newsflash-adv__services_1 .lastItem .item_content .btn {
    border-color: #ffffff;
    background: transparent;
    color: #ffffff;
}
.mod-newsflash-adv.mod-newsflash-adv__services_1 .item.featured .item_content .btn:hover,
.mod-newsflash-adv.mod-newsflash-adv__services_1 .lastItem .item_content .btn:hover {
    background: transparent;
    border-color: #000000;
    color: #000000;
}
/* Тексты в карточках выравниваются по левому краю */
.mod-newsflash-adv.mod-newsflash-adv__services_1 .item .item_content .item_introtext,
.mod-newsflash-adv.mod-newsflash-adv__services_1 .item .item_content .item_introtext p {
    text-align: left;
}
/* === /Task 1.3 === */

/* === Task 2.1 (МАЙ): страница О НАС === */
/* Отступ сверху блока «О НАС», убрать лишний снизу */
.page-category__about + .position-1.wrap.t3-sl-1,
body:not(.body__home) .t3-sl-1 .moduletable.about_design {
    padding-top: 40px;
    padding-bottom: 40px;
}
body:not(.body__home) .t3-sl-1 {
    padding-top: 40px;
    padding-bottom: 40px;
}
/* Заголовок «О НАС» — большой, жирный, uppercase (защитно, на случай кеша) */
.mod-article-single.mod-article-single__about_design h1.item-title {
    font-size: 90px;
    line-height: 1.1;
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    color: #242424;
    margin: 0 0 30px;
    text-transform: uppercase;
    font-style: normal;
}
@media (max-width: 991px) {
    .mod-article-single.mod-article-single__about_design h1.item-title {
        font-size: 64px;
    }
}
@media (max-width: 767px) {
    .mod-article-single.mod-article-single__about_design h1.item-title {
        font-size: 44px;
    }
    body:not(.body__home) .t3-sl-1 {
        padding-top: 25px;
        padding-bottom: 25px;
    }
}
/* === /Task 2.1 === */

/* Task 3.1 — /services/remont-i-service: symmetric paddings around article */
body.view-article #t3-mainbody {
    padding-top: 40px;
    padding-bottom: 40px;
}
@media (max-width: 767px) {
    body.view-article #t3-mainbody {
        padding-top: 25px;
        padding-bottom: 25px;
    }
}

/* === Task 2 #3 (АПР): /contacts — H1 «Контакты» + отступы вокруг карты === */
body.view-contact h1.like-h2-custom {
    font-size: 90px !important;
    line-height: 1.1 !important;
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 700 !important;
    color: #242424 !important;
    text-transform: uppercase !important;
    margin: 40px auto 30px !important;
    padding: 0 15px !important;
}
@media (max-width: 991px) {
    body.view-contact h1.like-h2-custom {
        font-size: 64px !important;
    }
}
@media (max-width: 767px) {
    body.view-contact h1.like-h2-custom {
        font-size: 44px !important;
        margin: 25px auto 20px !important;
    }
}
body.view-contact .t3-sl-map {
    padding-top: 0 !important;
    padding-bottom: 40px !important;
}
@media (max-width: 767px) {
    body.view-contact .t3-sl-map {
        padding-bottom: 25px !important;
    }
}
/* === /Task 2 #3 === */

/* === Task 2 #5 (АПР): /about-us — блок «Миссия компании», список вправо ===
   Жёлтый круг — слева; справа: H1, основной текст и список (включая «Кратчайшие сроки/Честность/Надёжность»). */
.mod-article-single.mod-article-single__mission .item__module {
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 60px;
    row-gap: 0;
    align-items: start;
}
.mod-article-single.mod-article-single__mission .item__module > figure.item_img {
    grid-column: 1;
    grid-row: 1 / span 2;
    margin: 0;
    float: none;
    width: 100%;
    max-width: none;
    text-align: center;
}
.mod-article-single.mod-article-single__mission .item__module > figure.item_img img {
    width: 100%;
    height: auto;
    max-width: 560px;
}
.mod-article-single.mod-article-single__mission .item__module > h1.item-title {
    grid-column: 2;
    grid-row: 1;
    margin-top: 0;
}
.mod-article-single.mod-article-single__mission .item__module > .item_introtext {
    grid-column: 2;
    grid-row: 2;
    min-width: 0;
}
.mod-article-single.mod-article-single__mission .item__module > .item_introtext ul {
    margin-top: 20px;
}
@media (max-width: 767px) {
    .mod-article-single.mod-article-single__mission .item__module {
        display: block;
    }
    .mod-article-single.mod-article-single__mission .item__module > figure.item_img {
        margin: 0 0 20px;
    }
}
/* === /Task 2 #5 === */

/* === Task 2 #4 (АПР): /about-us — блок «Ценности компании» по границам контента === */
body.body__about .t3-sl-2 > .container.container-fullwidth {
    width: auto;
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 15px;
    padding-right: 15px;
}
@media (min-width: 992px) and (max-width: 1199px) {
    body.body__about .t3-sl-2 > .container.container-fullwidth { max-width: 970px; }
}
@media (min-width: 768px) and (max-width: 991px) {
    body.body__about .t3-sl-2 > .container.container-fullwidth { max-width: 750px; }
}
/* === /Task 2 #4 === */

/* === Футер: симметричные колонки + 2-колоночное меню + адаптив === */
.t3-sl-footer-4 .footer__row {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    margin-left: 0;
    margin-right: 0;
}
.t3-sl-footer-4 .footer__row > .col-sm-3,
.t3-sl-footer-4 .footer__row > .moduletable.quick-links,
.t3-sl-footer-4 .footer__row > .moduletable.col-sm-3.col-sm-offset-1 {
    float: none;
    margin-left: 0;
    padding-left: 15px;
    padding-right: 15px;
    box-sizing: border-box;
}
.t3-sl-footer-4 .footer__row > .col-sm-3 { flex: 0 0 30%; max-width: 30%; }
.t3-sl-footer-4 .footer__row > .moduletable.quick-links { flex: 0 0 40%; max-width: 40%; }
.t3-sl-footer-4 .footer__row > .moduletable.col-sm-3.col-sm-offset-1 { flex: 0 0 30%; max-width: 30%; }
.t3-sl-footer-4 .footer_logoimage img { max-width: 100%; height: auto; }
.t3-sl-footer-4 .moduletable.quick-links #q_links {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: repeat(5, auto);
    grid-auto-flow: column;
    column-gap: 40px;
    row-gap: 0;
}
.t3-sl-footer-4 #module_317 .item_introtext p { white-space: nowrap; }

@media (max-width: 991px) {
    .t3-sl-footer-4 .footer__row > .col-sm-3 {
        flex: 0 0 100%; max-width: 100%;
        text-align: center; margin-bottom: 30px;
    }
    .t3-sl-footer-4 .footer_logoimage img { max-width: 280px; }
    .t3-sl-footer-4 .footer__row > .moduletable.quick-links { flex: 0 0 50%; max-width: 50%; }
    .t3-sl-footer-4 .footer__row > .moduletable.col-sm-3.col-sm-offset-1 { flex: 0 0 50%; max-width: 50%; }
    .t3-sl-footer-4 .moduletable.quick-links #q_links { column-gap: 25px; }
    .t3-sl-footer-4 #module_317 .item_introtext p { white-space: normal; }
}
@media (max-width: 767px) {
    .t3-sl-footer-4 .footer__row > .moduletable.quick-links {
        flex: 0 0 100%; max-width: 100%;
        margin-bottom: 30px;
        text-align: left;
    }
    .t3-sl-footer-4 .moduletable.quick-links .module_container {
        max-width: 320px;
        margin: 0 auto;
    }
    .t3-sl-footer-4 .moduletable.quick-links .page_header,
    .t3-sl-footer-4 .moduletable.quick-links .moduleTitle { text-align: center; }
    .t3-sl-footer-4 .moduletable.quick-links .mod-menu {
        padding-left: 30px;
    }
    .t3-sl-footer-4 .moduletable.quick-links #q_links {
        display: grid;
        grid-template-columns: 1fr 1fr;
        grid-template-rows: repeat(5, auto);
        grid-auto-flow: column;
        column-gap: 20px;
        row-gap: 0;
        justify-items: start;
        margin: 0;
    }
    .t3-sl-footer-4 .footer__row > .moduletable.col-sm-3.col-sm-offset-1 {
        flex: 0 0 100%; max-width: 100%;
        margin-bottom: 30px;
        text-align: center;
    }
    .t3-sl-footer-4 #module_317,
    .t3-sl-footer-4 #module_317 .moduleTitle,
    .t3-sl-footer-4 #module_317 .item_content,
    .t3-sl-footer-4 #module_317 .item_introtext,
    .t3-sl-footer-4 #module_317 .item_introtext p { text-align: center; }
    .t3-sl-footer-4 #module_317 .item_introtext p { white-space: normal; }
}
/* === /Футер === */


/* === Футер: «Контакты» — белый === */
.t3-sl-footer-4 #module_317 .moduleTitle,
.t3-sl-footer-4 #module_317 .moduleTitle a,
.t3-sl-footer-4 #module_317 .moduleTitle span { color: #ffffff !important; }
/* === /Футер «Контакты» белый === */

/* === Task 1.3 fix (МАЙ): «Услуги» — текст выходит за пределы желтых карточек === */
.mod-newsflash-adv.mod-newsflash-adv__services_1 .row {
    display: flex;
    flex-wrap: wrap;
}
.mod-newsflash-adv.mod-newsflash-adv__services_1 .row > .item {
    display: flex;
    flex-direction: column;
}
.mod-newsflash-adv.mod-newsflash-adv__services_1 .item > .item_content {
    flex: 1 1 auto;
    flex-direction: column;
    align-content: flex-start;
}
.mod-newsflash-adv.mod-newsflash-adv__services_1 .item > .item_content > h4 {
    height: auto;
    min-height: 0;
}
.mod-newsflash-adv.mod-newsflash-adv__services_1 .item > .item_content > .item_introtext {
    height: auto;
    flex: 1 1 auto;
}
.mod-newsflash-adv.mod-newsflash-adv__services_1 .item > .item_content > .btn,
.mod-newsflash-adv.mod-newsflash-adv__services_1 .item > .item_content .readmore {
    margin-top: auto;
}
/* === /Task 1.3 fix === */

/* Task 1.3 fix: «Услуги» — уменьшаем ширину кнопки «Подробнее» */
.mod-newsflash-adv.mod-newsflash-adv__services_1 .item .item_content .readmore {
    width: auto;
    align-self: flex-start;
    padding-left: 35px;
    padding-right: 35px;
}

/* Task 1.4 (МАЙ): форма «Заказать консультацию» на главной — без фона и отступов */
body.body__home:not(.view-article) .position-6.wrap.t3-sl-6 {
    background: transparent;
    padding-top: 0;
    padding-bottom: 0;
}
body.body__home:not(.view-article) .position-6 h1,
body.body__home:not(.view-article) .position-6 h2,
body.body__home:not(.view-article) .position-6 h3,
body.body__home:not(.view-article) .position-6 h4,
body.body__home:not(.view-article) .position-6 h5,
body.body__home:not(.view-article) .position-6 h6,
body.body__home:not(.view-article) .position-6 .pretext,
body.body__home:not(.view-article) .position-6 p {
    color: inherit;
}

/* Task: «Миссия Компании» — размер заголовка как у «Преимущества обращения к нам» (h2) + маркеры списка слева */
.mod-article-single.mod-article-single__mission .item__module > h1.item-title {
    font-size: 40px;
    line-height: 1.2;
    text-transform: uppercase;
}
@media (max-width: 991px) {
    .mod-article-single.mod-article-single__mission .item__module > h1.item-title {
        font-size: 32px;
    }
}
@media (max-width: 767px) {
    .mod-article-single.mod-article-single__mission .item__module > h1.item-title {
        font-size: 26px;
    }
}
.mod-article-single.mod-article-single__mission .item_introtext ul {
    list-style: disc outside;
    padding-left: 22px;
    margin-left: 0;
}
.mod-article-single.mod-article-single__mission .item_introtext ul li {
    list-style: disc outside;
    padding-left: 4px;
    line-height: 1.6;
}

/* Task 2.5: форма заявки на /about-us — желтая рамка, без жёлтого фона */
body.body__about:not(.view-article) .position-6.wrap.t3-sl-6 {
    padding-top: 0;
    padding-bottom: 40px;
    background: transparent;
}
body.body__about:not(.view-article) .position-6:after {
    display: none;
}
body.body__about:not(.view-article) .position-6 h1,
body.body__about:not(.view-article) .position-6 h2,
body.body__about:not(.view-article) .position-6 h3,
body.body__about:not(.view-article) .position-6 h4,
body.body__about:not(.view-article) .position-6 h5,
body.body__about:not(.view-article) .position-6 h6,
body.body__about:not(.view-article) .position-6 p {
    color: inherit;
}
body.body__about:not(.view-article) .position-6 .moduletable.form_about_header {
    margin-bottom: 8px;
}
body.body__about:not(.view-article) .position-6 .moduletable.form_about_border,
.moduletable.form_yellow_border,
.mod_tm_ajax_contact_form.form_yellow_border {
    border: 3px solid #ffc80a;
    background: transparent;
    padding: 25px 30px;
    border-radius: 2px;
}
.moduletable.form_yellow_border + * { clear: both; }

/* Task 6.2 / выравнивание: заголовок «Выполненные работы» и др. molder-блоки — в границах основного контента */
/* Категорийные страницы (/gates, /remont-i-service и пр.) — t3-sl-2 содержит title в .container.container-fullwidth */
body.view-category .t3-sl-2 > .container.container-fullwidth {
    width: auto;
    max-width: 1200px;
    margin: 0 auto;
    padding-left: 15px;
    padding-right: 15px;
    box-sizing: border-box;
}
@media (min-width: 992px) and (max-width: 1199px) {
    body.view-category .t3-sl-2 > .container.container-fullwidth { max-width: 970px; }
}
@media (min-width: 768px) and (max-width: 991px) {
    body.view-category .t3-sl-2 > .container.container-fullwidth { max-width: 750px; }
}
/* Статейные страницы (/gates/*, /dveri/*) — t3-sl-* идёт без .container, .row фуллвидно */
body.view-article [class*="article-custom-"] > .row {
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 15px;
    padding-right: 15px;
    box-sizing: border-box;
}
@media (min-width: 992px) and (max-width: 1199px) {
    body.view-article [class*="article-custom-"] > .row { max-width: 970px; }
}
@media (min-width: 768px) and (max-width: 991px) {
    body.view-article [class*="article-custom-"] > .row { max-width: 750px; }
}

/* /remont-i-service: 3 фото-статьи в одну строку — фигуры на всю ширину колонки */
body.itemid-712 .items-row.cols-3 > .col-sm-4 {
    display: flex;
    flex-direction: column;
}
body.itemid-712 .items-row.cols-3 > .col-sm-4 > .item {
    width: 100%;
}
body.itemid-712 .items-row.cols-3 .item > figure.item_img,
body.itemid-712 .items-row.cols-3 .item > figure.item_img.img-intro,
body.itemid-712 .items-row.cols-3 .item > figure.item_img.img-intro__right,
body.itemid-712 .items-row.cols-3 .item > figure.item_img.img-intro__left {
    float: none;
    width: 100%;
    max-width: 100%;
    margin: 0;
    display: block;
}
body.itemid-712 .items-row.cols-3 .item > figure.item_img img {
    width: 100%;
    height: auto;
    display: block;
    object-fit: cover;
}

/* Fix: стрелки swiper (.swiper-button-prev/next) — закрепить к враппер-слайдеру */
.swiper-slider-wrapper {
    position: relative;
}

/* Task 4.2: «Наши работы» — 2 фото в ряд на /services/dveri-vhodnie */
.our-works-doors {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    margin: 24px 0 32px;
}
.our-works-doors .our-work-item img {
    display: block;
    width: 100%;
    height: 100%;
    max-height: 360px;
    object-fit: cover;
    border-radius: 2px;
}
@media (max-width: 600px) {
    .our-works-doors { grid-template-columns: 1fr; }
}

/* Task 7.5: Гаражные секционные ворота (itemid-713) */
body.itemid-713 .page-header h1.heading-style-3.like-h3-custom {
    font-size: 56px;
    line-height: 1.1;
    font-weight: 700;
    letter-spacing: 0;
    text-transform: uppercase;
    margin: 0 0 30px;
}
body.itemid-713 .page-header h1.heading-style-3.like-h3-custom span {
    font-size: inherit;
    letter-spacing: 0;
}
@media (max-width: 991px) {
    body.itemid-713 .page-header h1.heading-style-3.like-h3-custom { font-size: 40px; }
}
@media (max-width: 600px) {
    body.itemid-713 .page-header h1.heading-style-3.like-h3-custom { font-size: 30px; }
}
body.itemid-713 .item_fulltext h2 {
    font-size: 36px;
    line-height: 1.2;
    font-weight: 700;
    letter-spacing: 0;
    text-transform: uppercase;
    margin: 40px 0 20px;
}
body.itemid-713 .item_fulltext h2 span {
    font-size: inherit;
    letter-spacing: 0;
}
@media (max-width: 767px) {
    body.itemid-713 .item_fulltext h2 { font-size: 26px; }
}
body.itemid-713 .item_fulltext h5 { margin-top: 40px; }
body.itemid-713 .item_fulltext h5 + p { margin-top: 10px; }

/* Task 7.1: Скачать каталог button */
.btn-download-catalog {
    display: inline-block;
    padding: 12px 28px;
    border: 2px solid #000;
    color: #000;
    background: transparent;
    text-decoration: none;
    font-weight: 500;
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: 1px;
    border-radius: 2px;
    transition: all .2s ease;
}
.btn-download-catalog:hover,
.btn-download-catalog:focus {
    background: #ffc80a;
    border-color: #ffc80a;
    color: #000;
    text-decoration: none;
}

/* Task 7.4: swiper arrow positioning — both Выполненные работы and Отзывы */
.swiper-slider-wrapper { position: relative; padding-left: 0; padding-right: 0; }
.swiper-slider-wrapper .swiper-button-prev,
.swiper-slider-wrapper .swiper-button-next {
    top: 50%;
    margin-top: 0;
    transform: translateY(-50%);
    width: 44px;
    height: 44px;
    z-index: 10;
}
.swiper-slider-wrapper .swiper-button-prev { left: -22px; right: auto; }
.swiper-slider-wrapper .swiper-button-next { right: -22px; left: auto; }
@media (max-width: 767px) {
    .swiper-slider-wrapper .swiper-button-prev { left: 0; }
    .swiper-slider-wrapper .swiper-button-next { right: 0; }
}

/* Reviews swiper — arrows align with avatar (higher than center) */
.swiper-slider-wrapper.swiper-arrows-outside .swiper-button-prev,
.swiper-slider-wrapper.swiper-arrows-outside .swiper-button-next {
    top: 20% !important;
}

/* Task 9.1 — equal-size tiles on /avtomatika portfolio grid */
body.itemid-710 #isotopeContainer_320 .portfolio-item .item_img,
body.itemid-710 .portfolio-container li.portfolio-item figure.item_img {
    height: 360px;
    overflow: hidden;
    position: relative;
}
body.itemid-710 #isotopeContainer_320 .portfolio-item .item_img img,
body.itemid-710 .portfolio-container li.portfolio-item figure.item_img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
}
@media (max-width: 991px) {
    body.itemid-710 #isotopeContainer_320 .portfolio-item .item_img,
    body.itemid-710 .portfolio-container li.portfolio-item figure.item_img { height: 280px; }
}
@media (max-width: 600px) {
    body.itemid-710 #isotopeContainer_320 .portfolio-item .item_img,
    body.itemid-710 .portfolio-container li.portfolio-item figure.item_img { height: 220px; }
}


/* ===== /services/remont-i-service — article 180 content styling ===== */
/* Selector by content classes, since SEF resolves to itemid-101/home menu */

/* Article header & body — tighten paddings */
body.view-article.body__home .item-page,
body.view-article.body__home article.page-item {
    padding-top: 30px;
    padding-bottom: 40px;
}
body.view-article .item_header h1.item_title.like-h3-custom {
    font-size: 48px;
    line-height: 1.15;
    font-weight: 700;
    letter-spacing: 0;
    text-transform: uppercase;
    margin: 0 0 28px;
}
body.view-article .item_header h1.item_title.like-h3-custom span {
    font-size: inherit;
    letter-spacing: 0;
}
@media (max-width: 991px) {
    body.view-article .item_header h1.item_title.like-h3-custom { font-size: 36px; }
}
@media (max-width: 600px) {
    body.view-article .item_header h1.item_title.like-h3-custom { font-size: 26px; }
}

/* H2 inside article fulltext */
body.view-article .item_fulltext h2 {
    font-size: 30px;
    line-height: 1.2;
    font-weight: 700;
    letter-spacing: 0;
    text-transform: uppercase;
    margin: 40px 0 18px;
}
body.view-article .item_fulltext h2 span {
    font-size: inherit;
    letter-spacing: 0;
}
@media (max-width: 767px) {
    body.view-article .item_fulltext h2 { font-size: 22px; margin: 30px 0 14px; }
}

/* Paragraph spacing inside fulltext */
body.view-article .item_fulltext p { margin: 0 0 14px; line-height: 1.6; }

/* ----- Comparison table ----- */
.gates-compare-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 14px;
    margin: 8px 0 28px;
    background: #fff;
}
.gates-compare-table thead th {
    background: #ffc80a;
    color: #000;
    font-weight: 700;
    padding: 12px 14px;
    text-align: left;
    border: 1px solid #e6e6e6;
    text-transform: uppercase;
    font-size: 13px;
    letter-spacing: 0.3px;
    vertical-align: top;
}
.gates-compare-table tbody th {
    background: #fafafa;
    font-weight: 700;
    padding: 12px 14px;
    border: 1px solid #e6e6e6;
    text-align: left;
    width: 18%;
    vertical-align: top;
    font-size: 14px;
}
.gates-compare-table td {
    padding: 12px 14px;
    border: 1px solid #e6e6e6;
    vertical-align: top;
    line-height: 1.5;
}
.table-responsive { overflow-x: auto; -webkit-overflow-scrolling: touch; }
@media (max-width: 767px) {
    .gates-compare-table { font-size: 13px; min-width: 720px; }
}

/* ----- Advantages grid ----- */
.advantages-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    margin: 8px 0 32px;
}
.adv-card {
    background: #fff;
    border: 1px solid #e6e6e6;
    border-radius: 4px;
    padding: 26px 22px 22px;
    transition: box-shadow .2s ease, border-color .2s ease, transform .2s ease;
}
.adv-card:hover {
    border-color: #ffc80a;
    box-shadow: 0 6px 20px rgba(0,0,0,.06);
    transform: translateY(-2px);
}
.adv-card .adv-num { display: none; }
.adv-card h4 {
    font-size: 16px;
    font-weight: 700;
    text-transform: uppercase;
    margin: 0 0 10px;
    letter-spacing: 0.3px;
}
.adv-card p { margin: 0; font-size: 14px; line-height: 1.55; color: #444; }
@media (max-width: 991px) { .advantages-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px) { .advantages-grid { grid-template-columns: 1fr; } }

/* ----- Reasons + how-to-order lists ----- */
.reasons-list, .how-to-order {
    padding-left: 22px;
    margin: 8px 0 24px;
}
.reasons-list li, .how-to-order li {
    margin-bottom: 8px;
    line-height: 1.6;
}

/* ----- FAQ accordion (details/summary) ----- */
.faq { margin: 8px 0 30px; }
.faq-item {
    border: 1px solid #e6e6e6;
    border-radius: 4px;
    margin-bottom: 10px;
    background: #fff;
    overflow: hidden;
}
.faq-item summary {
    cursor: pointer;
    padding: 16px 56px 16px 20px;
    font-weight: 600;
    font-size: 15px;
    position: relative;
    list-style: none;
    user-select: none;
    display: block;
    line-height: 1.4;
}
.faq-item summary::-webkit-details-marker,
.faq-item summary::marker { display: none; content: ""; }
@media (max-width: 600px) {
    .faq-item summary { font-size: 14px; padding: 14px 50px 14px 16px; }
    .faq-item .faq-body { padding-left: 16px; padding-right: 16px; }
}
.faq-item summary::-webkit-details-marker,
.faq-item summary::marker { display: none; content: ""; }
.faq-item summary::after {
    content: "+";
    position: absolute;
    right: 16px;
    top: 50%;
    transform: translateY(-50%);
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: #ffc80a;
    color: #000;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
    font-weight: 400;
    line-height: 1;
    font-family: Arial, sans-serif;
    transition: transform .25s ease, background .2s ease;
}
.faq-item[open] summary::after {
    content: "−";
    background: #000;
    color: #ffc80a;
}
.faq-item:hover { border-color: #ffc80a; }
.faq-item .faq-body {
    padding: 0 20px 18px;
    color: #444;
    line-height: 1.6;
}
.faq-item[open] .faq-body { padding-top: 6px; }
.faq-item .faq-body p { margin: 0 0 10px; }
.faq-item .faq-body p:last-child { margin-bottom: 0; }
@media (max-width: 600px) {
    .faq-item summary { font-size: 14px; padding: 14px 54px 14px 16px; }
    .faq-item .faq-body { padding-left: 16px; padding-right: 16px; }
}

/* /dveri — remove duplicate category title H2 */
body.itemid-709 .page-category > header.category_title { display: none; }

/* Yellow border for ALL contact forms across the site */
.mod_tm_ajax_contact_form {
    border: 3px solid #ffc80a;
    background: transparent;
    padding: 25px 30px;
    border-radius: 2px;
    box-sizing: border-box;
}
@media (max-width: 600px) {
    .mod_tm_ajax_contact_form { padding: 18px 16px; }
}


/* h2 inside molder modules (Выполненные работы, Отзывы, Заказать консультацию, Похожие услуги) */
body.itemid-709 .mod_custom__molder h2 {
    font-size: 32px;
    line-height: 1.2;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0;
    margin: 0 0 6px;
}
body.itemid-709 .mod_custom__molder h2 span { font-size: inherit; letter-spacing: 0; }
@media (max-width: 767px) { body.itemid-709 .mod_custom__molder h2 { font-size: 24px; } }

/* "Смотреть все ..." link spacing */
body.itemid-709 .mod_custom__molder p { margin: 0; }
body.itemid-709 .position-4 .mod_custom__molder a,
body.itemid-709 .position-7 .mod_custom__molder a {
    color: #ffc80a;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}



/* ===== Compact paddings for content pages (no :has, broad-browser safe) ===== */
/* Default — every .wrap.t3-sl gets 8/8 instead of 90/40 */
body:not(.body__home) #t3-mainbody .wrap.t3-sl,
body.body__home.view-article #t3-mainbody .wrap.t3-sl {
    padding-top: 8px !important;
    padding-bottom: 8px !important;
}
/* Reset some template-specific overrides */
body:not(.body__home) #t3-mainbody .t3-sl-5,
body:not(.body__home) #t3-mainbody .t3-sl-6,
body:not(.body__home) #t3-mainbody .t3-sl-1,
body:not(.body__home) #t3-mainbody .t3-sl-2,
body:not(.body__home) #t3-mainbody .t3-sl-3,
body:not(.body__home) #t3-mainbody .t3-sl-4,
body:not(.body__home) #t3-mainbody .t3-sl-7,
body:not(.body__home) #t3-mainbody .t3-sl-8,
body:not(.body__home) #t3-mainbody .t3-sl-9 {
    padding-top: 8px !important;
    padding-bottom: 8px !important;
}

/* Hide empty wraps */
#t3-mainbody .wrap.t3-sl[class*="position-"]:empty,
#t3-mainbody .wrap.t3-sl[class*="article-custom-"]:empty {
    display: none !important;
}

/* Section heading molder blocks — more top, no bottom */
#t3-mainbody .wrap.t3-sl .mod_custom__molder h2 { margin: 0 !important; padding: 0 !important; }

/* Swiper containers — kill extra vertical padding */
#t3-mainbody .swiper-slider-wrapper {
    margin: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}
#t3-mainbody .swiper-slider,
#t3-mainbody .swiper-container { margin: 0 !important; }

/* First slot — small top gap */
body:not(.body__home) #t3-mainbody .wrap.t3-sl:first-child,
body:not(.body__home) #t3-mainbody .wrap.t3-sl.position-1,
body:not(.body__home) #t3-mainbody .wrap.t3-sl.t3-sl-1 {
    padding-top: 20px !important;
}

/* Section headers (positions 2, 5, 8 typically) — bigger top, near-zero bottom */
body:not(.body__home) #t3-mainbody .wrap.t3-sl.position-2,
body:not(.body__home) #t3-mainbody .wrap.t3-sl.position-5,
body:not(.body__home) #t3-mainbody .wrap.t3-sl.position-8 {
    padding-top: 28px !important;
    padding-bottom: 0 !important;
}
/* Sliders/content right after headers — flush */
body:not(.body__home) #t3-mainbody .wrap.t3-sl.position-3,
body:not(.body__home) #t3-mainbody .wrap.t3-sl.position-6 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}
/* "Смотреть все..." link blocks (4 and 7) — close to slider, gap below */
body:not(.body__home) #t3-mainbody .wrap.t3-sl.position-4,
body:not(.body__home) #t3-mainbody .wrap.t3-sl.position-7 {
    padding-top: 4px !important;
    padding-bottom: 24px !important;
}
/* Form (9) */
body:not(.body__home) #t3-mainbody .wrap.t3-sl.position-9 {
    padding-top: 4px !important;
    padding-bottom: 32px !important;
}

/* Big H1 for view-article pages where template applies heading-style-3 / like-h3-custom */
body.view-article .page-header h1.heading-style-3.like-h3-custom,
body.view-article .item_header h1.like-h3-custom,
body.view-article h1.like-h3-custom {
    font-size: 48px !important;
    line-height: 1.15 !important;
    font-weight: 700 !important;
    letter-spacing: 0 !important;
    text-transform: uppercase !important;
    margin: 0 0 24px !important;
}
body.view-article h1.like-h3-custom span {
    font-size: inherit !important;
    letter-spacing: 0 !important;
}
@media (max-width: 991px) {
    body.view-article h1.like-h3-custom { font-size: 36px !important; }
}
@media (max-width: 600px) {
    body.view-article h1.like-h3-custom { font-size: 26px !important; }
}

/* Padding above "Похожие услуги" block on view-article pages */
body.view-article #t3-mainbody .article-custom-0.wrap.t3-sl,
body.view-article #t3-mainbody [class*="article-custom-"].wrap.t3-sl:first-of-type {
    padding-top: 40px !important;
}

/* /contacts H1 big like other pages */
body.itemid-142 h1.like-h2-custom,
body.view-contact h1.like-h2-custom {
    font-size: 48px !important;
    line-height: 1.15 !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0 !important;
    margin: 0 0 24px !important;
}
body.itemid-142 h1.like-h2-custom span,
body.view-contact h1.like-h2-custom span {
    font-size: inherit !important;
    letter-spacing: 0 !important;
}
@media (max-width: 991px) {
    body.itemid-142 h1.like-h2-custom { font-size: 36px !important; }
}
@media (max-width: 600px) {
    body.itemid-142 h1.like-h2-custom { font-size: 26px !important; }
}

/* /contacts compress vertical spacing between phones / email / work time */
body.itemid-142 .contact h5,
body.view-contact .contact h5 {
    margin: 12px 0 6px !important;
    padding: 0 !important;
}
body.itemid-142 .contact .contact_address,
body.itemid-142 .contact .contact_details_telephone,
body.itemid-142 .contact .contact_details_emailto,
body.itemid-142 .contact .contact_details_work_time,
body.view-contact .contact .contact_address,
body.view-contact .contact .contact_details_telephone,
body.view-contact .contact .contact_details_emailto,
body.view-contact .contact .contact_details_work_time {
    margin: 0 0 4px !important;
    padding: 0 !important;
}
body.itemid-142 .contact .contact_details_telephone p,
body.itemid-142 .contact .contact_details_emailto p,
body.itemid-142 .contact .contact_address p,
body.view-contact .contact p {
    margin: 0 0 4px !important;
    line-height: 1.4 !important;
}

/* /contacts H1 big like other pages */
body.itemid-142 h1.like-h2-custom,
body.view-contact h1.like-h2-custom {
    font-size: 48px !important;
    line-height: 1.15 !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0 !important;
    margin: 0 0 24px !important;
}
body.itemid-142 h1.like-h2-custom span,
body.view-contact h1.like-h2-custom span {
    font-size: inherit !important;
    letter-spacing: 0 !important;
}
@media (max-width: 991px) {
    body.itemid-142 h1.like-h2-custom,
    body.view-contact h1.like-h2-custom { font-size: 36px !important; }
}
@media (max-width: 600px) {
    body.itemid-142 h1.like-h2-custom,
    body.view-contact h1.like-h2-custom { font-size: 26px !important; }
}

/* /contacts compress vertical spacing between phones / email / work time */
body.itemid-142 .contact h5,
body.view-contact .contact h5 {
    margin: 12px 0 6px !important;
    padding: 0 !important;
    line-height: 1.2 !important;
}
body.itemid-142 .contact .contact_address,
body.itemid-142 .contact .contact_details_telephone,
body.itemid-142 .contact .contact_details_emailto,
body.itemid-142 .contact .contact_details_work_time,
body.view-contact .contact .contact_address,
body.view-contact .contact .contact_details_telephone,
body.view-contact .contact .contact_details_emailto,
body.view-contact .contact .contact_details_work_time {
    margin: 0 0 4px !important;
    padding: 0 !important;
}
body.itemid-142 .contact p,
body.view-contact .contact p {
    margin: 0 0 4px !important;
    line-height: 1.4 !important;
}


/* Pretext above each contact form */
.mod_tm_ajax_contact_form_wrap .pretext,
.moduletable .pretext,
div.pretext {
    margin: 0 0 20px !important;
    padding: 0 !important;
    color: #2b2b2b !important;
    font-size: 16px !important;
    line-height: 1.55 !important;
    max-width: 900px !important;
}
div.pretext a {
    color: #ffc80a;
    text-decoration: none;
    font-weight: 600;
}
div.pretext a:hover {
    text-decoration: underline;
}


/* /contacts H1 — keep .container centering */
body.itemid-142 h1.like-h2-custom.container,
body.view-contact h1.like-h2-custom.container {
    margin-left: auto !important;
    margin-right: auto !important;
}


/* /dveri close gap between "Заказать консультацию" and form */
body.itemid-709 #t3-mainbody .position-8.wrap.t3-sl,
body.itemid-709 #t3-mainbody .position-8.wrap.t3-sl-8 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    margin: 0 !important;
}
body.itemid-709 #t3-mainbody .position-9.wrap.t3-sl,
body.itemid-709 #t3-mainbody .position-9.wrap.t3-sl-9 {
    padding-top: 8px !important;
    padding-bottom: 24px !important;
    margin: 0 !important;
}
body.itemid-709 .position-8 .mod_custom__molder p {
    margin: 0 0 8px !important;
    font-size: 30px !important;
    font-weight: 700 !important;
    text-transform: none !important;
}


/* /contacts — reduce gap between H5 labels (Телефоны/Email/Время работы) and content under them */
body.itemid-142 .contact_details h5:has(+ .contact_details_telephone),
body.itemid-142 .contact_details h5:has(+ .contact_details_emailto),
body.itemid-142 .contact_details h5:has(+ .contact_details_work_time),
body.view-contact .contact_details h5:has(+ .contact_details_telephone),
body.view-contact .contact_details h5:has(+ .contact_details_emailto),
body.view-contact .contact_details h5:has(+ .contact_details_work_time) {
    margin-bottom: 6px !important;
}
body.itemid-142 .contact_details .contact_details_work_time p,
body.view-contact .contact_details .contact_details_work_time p {
    margin-top: 0 !important;
}
/* /contacts — Время работы: P is a direct sibling of H5 (no wrapper), so reach it via adjacent selector */
body.itemid-142 .contact_details h5:has(+ p),
body.view-contact .contact_details h5:has(+ p) {
    margin-bottom: 6px !important;
}
body.itemid-142 .contact_details h5 + p,
body.view-contact .contact_details h5 + p {
    margin-top: 0 !important;
}
/* /contacts — add breathing room above Email and Время работы groups */
body.itemid-142 .contact_details > h5:nth-child(8),
body.itemid-142 .contact_details > div:nth-child(10),
body.view-contact .contact_details > h5:nth-child(8),
body.view-contact .contact_details > div:nth-child(10) {
    margin-top: 20px !important;
}
/* /contacts — Адрес: small gap below heading */
body.itemid-142 .contact_details > h5:nth-child(1),
body.view-contact .contact_details > h5:nth-child(1) {
    margin-bottom: 6px !important;
}

/* "Оставить заявку" modal form — remove yellow border, tighten spacing */
#contact_344,
#contact-form_344 {
    border: none !important;
    padding: 0 !important;
}
#contact_344 .control,
#contact-form_344 .control {
    display: flex;
}

/* /remont-i-service — collapse vertical section paddings */
body.itemid-712 .t3-sl {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}
body.itemid-712 .t3-sl-5 { padding-top: 0 !important; }
body.itemid-712 .t3-sl-6 { padding-top: 0 !important; }

/* /gates — collapse vertical section paddings */
body.itemid-713 .t3-sl {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}
body.itemid-713 .t3-sl-5 { padding-top: 0 !important; }
body.itemid-713 .t3-sl-6 { padding-top: 0 !important; }

/* /dveri — small vertical section paddings */
body.itemid-709 .t3-sl {
    padding-top: 16px !important;
    padding-bottom: 16px !important;
}
body.itemid-709 .t3-sl-5 { padding-top: 8px !important; }
body.itemid-709 .t3-sl-6 { padding-top: 8px !important; }

/* /avtomatika — collapse vertical section paddings */
body.itemid-710 .t3-sl {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}
body.itemid-710 .t3-sl-5 { padding-top: 0 !important; }
body.itemid-710 .t3-sl-6 { padding-top: 0 !important; }

/* /about-us — remove main body vertical padding */
body.itemid-584 #t3-mainbody {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}
/* /about-us — H1 "Миссия компании" styled as level-2 heading */
body.itemid-584 #item_191 > h1 {
    font-weight: 600 !important;
    line-height: 60px !important;
}
/* /about-us — form_about_border moduletable: remove yellow border & padding */
body.itemid-584 .position-6 .moduletable.form_about_border.col-sm-12.no-edit {
    border: none !important;
    padding: 0 !important;
}
